记第一次出差得出的经验
文章目录
- 1:背景
- 2:过程
- 3:心得
1:背景
由于上家公司的某种原因,离职来到了新公司,内中原因不足道也。新公司业务方向暂且不说,入职后,个人看着以前的产品视频学习了不到两周,被带教老大告知有新项目,问我要不要参与。
说实话,对公司产品不了解的我,当时有些抵触。但是,为了表现自己的积极性,还是说可以的,还好带教老大跟我说,不让我做主力,多以学习为主(我上套了),我满心高兴,答应了。后面就是出发去佛山,路程很远,可能时第一次来到这么远的地方,陌生且孤单。当天晚上,见到了项目的其他人,同组内的一个前端,其他的都不了解。但是,问题来了,我当时忽略了一个重要的问题,做主力的后端没到,我太天真,没发现。次日,办理入场手续,开始进入办公地方(什么地方,什么项目可忽略)
2:过程
来到电脑旁,内部员工给输入了登机密码,虚拟机密码,经过几道程序,见到了所谓的开发代码(没错,此次是二次开发)。打开古老的 eclipse,main 方法启动的项目,注释和文档都没有(不要提什么接口文档,数据库文档,架构图),问就是没有,自己克服。默默接受,许久不用 eclipse,真的难受(还有一个问题就是内网没有网络,无法下载,外面的东西拷不进去,内部的东西拿不出来,想更新 jar 包,想下载 IDEA,想什么呢)。
随着时间的推移,第一阶段开发的差不多了,发现打不了包(不要说什么我菜,人家使用某个收费工具打的,我在代码中发现的文档),公司和原开发商也不提供。我们首先想到的是替换原 jar 包中的 class 文件,经过一个下午的尝试,成功了。演示后,被告知,这是一种投机的方式,他们后续不接受,让我们探索新的方法,同时,原厂商给了一般新的代码,让我们基于新的开发(底层代码被封装成了 jar 引入,看不到核心逻辑,同时,打开源码包进行了加密。打包也遇到很多问题,上一篇博客就说了这个问题)。
进入二阶段后,开发到年前,被告知,开发时间要求被提前两个多月,需要赶上他们的演练进度,当时就我一个后端,我不得不救助公司,派来了一个新的后端(就是原本主开发,我不是来给他当小弟的吗?这个是怎么回事?)。给的新版代码,底层核心逻辑我们看不到,被封装了,但是要求我们摸清他们的实现逻辑,并且给客户说清楚,我们当时无比的难受,我觉得要不是我理性的控制自己,我能和他们干起来。原代码中,有两种方式,脚本和人工,现在需要添加 api 方式,但是调度逻辑代码不知,我们就不能直接去修改调度逻辑,首先采用的是,将 api 调用前封装在一个脚本里,脚本调用后再去调用 api ,我们都做完了,年前汇报被否定了,给的理由也很奇葩,要 api 有什么用?我们僵持不下,随后问到,转化成人工是否可行,他们也没给出回复,也没说行,也没说不行,就是说存在风险。
年后,我们没办法,只能再次将api 转化成人工,中间还有解释各种逻辑,开发到联调到测试到上线演练,只有一周,结果很明显,我们翻车了,演练出现了问题,我们被客户一顿狠批(ps:前端同事受不了,年后离开了)。没办法,我们又只能再去测试,修改代码。没想到,客户来了一个新的玩法,他们联系到了原开发商,让他们来实现 api 的调度逻辑,让我们合并代码,还要保证我们的开发功能正常,距离下一次演练有三周,给原厂商两周事件,给我们一周事件,我们合并代码,测试是否可用,上线不要时间的吗?没办法,我们又加班加点,好不容易成功上线,演练当天确实出了一些问题,但是也证明了api 可用 (后面我问过原厂商的人,他们怎么做的,竟然是把 api 封装成脚本,我就知道,底层的自动化怎么可能会因为一个项目去修改,偏偏客户还接受了),但是暴漏了几个问题,后面慢慢处理,同事,后端帮忙的同事也走了,就剩下我和项目经理,干成了主开发,干成了运维。中间无数次要走,项目经理无数个理由等着你。
后面就是一次演练,又一次演练,原厂商带来的几个问题他们也不管了,说是都交付了,如果有新的需求需要走公司关系。但是,客户在不断提出现有调度逻辑满足不了的 api 需求,给你一个批量返回接口,让你根据数据分别去执行,你怎么搞?给你返回多个 Cookie,让你全部传递?客户可不管这些,原厂不合作,我们就只能折中再折中,中间加接口,使用真实ip等等,中间还出现了好多了问题,不想提了,想着都好气。最主要的是,绩效被打了差,原因是组织架构做了调整,我被分到了新的组,换了老大,老大认可我的辛苦,但是对部门没有产生效益,我有什么理由,我当时也很无奈,但是老大说,第一次他可以处理,不扣工资。我只能默默答应。
回来了,五一。参与到了新的产品项目中,在培训学习中,中间原来的项目经理多次联系我,我不想理他,我开发的工作做完了,凭什么还要给你做运维,你绩效拿优秀,我就是最差,什么一起扛,你在想什么?还想着10月份让我去支持,想什么呢?(不是我个人想法偏激,一起合作的一个前端,另一个本应该是主开发的后端都觉得此人不行)
3:心得
1:吃了无数的亏,加了无数的班,得出的第一个经验教训,永远不要相信任何人说的话,不要相信别人给你的承诺
2:做程序员,能不出差最好别出差,出差是没有时间概念的;就算出差了,不要做二次开发的工作,不仅对技术没有任何提升,还有无数的坑等着你
3:只做自己分内的事情,开发不要做运维的事情,态度要强硬,做着做着你就逃不掉了。不是所有的付出都是有回报的
4:以自己部门的工作为主,最好不脱离,其他的工作做的再好,别人只会夸项目经理,而你的直属上级会让你绩效最差
5:不要害怕提离职,不要害怕找不到工作,你越是这样想,他们越是压榨你
6:一个项目有没有大坑,别人都知道,可就是不告诉你?你气不气?默默接受,慢慢成长,你的心态会得到进步的
相关文章:
记第一次出差得出的经验
文章目录 1:背景2:过程3:心得 1:背景 由于上家公司的某种原因,离职来到了新公司,内中原因不足道也。新公司业务方向暂且不说,入职后,个人看着以前的产品视频学习了不到两周…...

第12章:视图
一、视图 1.常见的数据库对象 ①表table:表是存储数据的逻辑单元,行和列形式存在。列是字段,行是记录。 ②数据字典:系统表,存放数据库相关信息的表。系统表的数据通常是数据库系统维护。 ③约束constraint&#x…...
Word控件Aspose.Words教程:操作 XPS 和 EPS 文档
Aspose.Words 是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word。 Aspose API 支持流行文件格式处理,…...
java并发-Exchanger
## 简介 Exchanger是Java并发包中提供的一个用于线程间数据交换的工具类。它允许在两个并发任务之间进行交换对象,当第一个任务调用exchange()方法时,它会阻塞等待另一个任务也调用这个方法,然后双方交换对象,并返回结果…...

毫米波雷达系列 | 传统CFAR检测(自适应类)
毫米波雷达系列 | 传统CFAR检测(自适应类) VI-CFAR [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dV34CKJt-1684215839850)(毫米波雷达系列 传统CFAR检测(自适应类).assets/image-20230516131206695…...

【2023/05/19】NFA
Hello!大家好,我是霜淮子,2023倒计时第14天。 非确定有限状态自动机(NFA)是一种模拟复杂系统行为的数学模型 目录 一、基本概念和理论 二、优点和缺点 三、应用场景 四、问题和挑战 五、重要性、作用和使用价值 …...

汽车功能安全
前言 近些年来,功能安全在汽车传统底盘域和动力域的应用已较为成熟,各大汽车企业功能安全意识也逐渐增强。在辅助驾驶和自动驾驶爆发式增长的大趋势下,现代汽车的功能安全在目前尤为复杂的电子电气系统中就显得更为重要,功能安全…...

【Python】数据分析与可视化实践:收支日统计数据可视化的实现
Python数据分析与可视化实践:收支日统计数据可视化的实现 Author:萌狼蓝天 Date:2023-5-7 数据读入与基本处理 上图是原始数据的一部分,存放于excel中,首先使用pd读入数据。读入数据后,删除不是收入&#x…...
Halcon 中_xld算子的概念与应用? select_shape_std 和 select_shape_xld区别?
文章目录 1 halcon中XLD的概念与应用1.1 halcon中什么是XLD?1. 2 XLD相关算子1.2 XLD的应用1.2.1 生成XLD的操作1.2.2 选取特定xld1.2.3 3.3 XLD的合并操作2 select_shape_std 和 select_shape_xld区别2.1 select_shape_std 算子介绍2.2 select_shape_xld算子介绍2.3 select_s…...

[pgrx开发postgresql数据库扩展]7.返回序列的函数编写(3)多行表序列
前文再续,书接上一回。 上一回我们解析了如何通过pgrx编写srf,返回一个TableIterator,但是在具体应用的时候,我们还是针对一条记录返回了一行数据(多个字段的一行,也还是一行),并没…...

刚入职,就想跑路了...
刚入职一家公司,想离职又怕找不到新工作。 说实话,这个问题还是蛮常见的,很多时候,入职的公司并不是自己最满意的,即使是最满意的,入职后总会遇到各种各样的不顺心,公司制度不规范啊࿰…...

如何让技术架构师具有预知未来业务发展的能力
大家好,今天我们来分享业务架构,但是我们并不是以产品经理角度讲述一个业务架构是什么以及如何做?而是以一个技术架构师的角度,讲述如何承接业务架构或在没有业务架构的时候,如何判断业务变化趋势而对系统架构提前做出…...

卷麻了,新来的00后实在是太卷了...
在程序员职场上,什么样的人最让人反感呢? 是技术不好的人吗?并不是。技术不好的同事,我们可以帮他。 是技术太强的人吗?也不是。技术很强的同事,可遇不可求,向他学习还来不及呢。 真正让人反感的,是技术平平&…...

单片机--实战练习
目录 【1】GPIO 1.定义 2.应用 I - Input - 输入采集 O - Output - 输出控制 编辑编辑 3.GPIO结构框图 4.功能描述 输入功能 输出功能 5.相关寄存器 【2】点亮一盏LED灯 1.实验步骤 2.编程实现 3.编译下载 4.复位上电 练习:实现LED灯闪烁…...

Go Etcd 分布式锁实战
1 分布式锁概述 谈到分布式锁,必然是因为单机锁无法满足要求,在现阶段微服务多实例部署的情况下,单机语言级别的锁,无法满足并发互斥资源的安全访问。常见的单机锁如Java的jvm锁Lock、synchronized,golang的Mutex等 对…...

Windows环境下pcl点云库 安装配置教程
本文为Windows配置点云库pcl步骤,具体win10、visual studio 2019、pcl1.11.1。 【1】下载安装包 Releases PointCloudLibrary/pcl GitHub 其中,AllInOne是一个包含了PCL库所有模块的单独下载包,方便快速获取整个PCL库,而pdb则…...
岗位分析与可视化系统(三)
五、可视化 5.1薪资页面 在views,编写薪资分析的代码 def salary(request): uname = request.session[username] userInfo = User.objects.get(username=uname) edus, workexps = getSalary.getPageDt() defaultedu = 不限 defaultworkexp = 不限 if request.G…...
unity进阶学习笔记:json和xml
1早期的数据格式 在早期程序开发中一个简单且常用的数据格式为CSV。该格式单纯依靠逗号来分割数据。目前windows的office依然支持CSV解析,我们可以试着新建一个txt文件,在里面加入逗号分隔的信息: a, 1, 15, 30, true 将txt文件后缀改为csv&…...

数据结构之初识树与堆
前言:前面学习了顺序表,队列,栈,链表,我们知道他们都是一种线性表,是一种线性结构,而除此之外,仍有许多我们还没认识的结构,比如树形结构,不同于线性结构&…...
虚拟化技术 — VirtIO 虚拟设备接口标准
目录 文章目录 目录VirtIOVirtIO 虚拟设备接口标准VirtIO 的前后端分层架构标准VirtIO 的数控路径分离架构标准VirtIO 的传输层标准VirtIO 标准在 Linux 中的实现VirtIO VirtIO 由 Rusty Russell 开发,最初是为了支持自己开发的 lguest Hypervisor,其设计目标是在虚拟化环境…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)
HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

通过Wrangler CLI在worker中创建数据库和表
官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
2024年赣州旅游投资集团社会招聘笔试真
2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...
ffmpeg(四):滤镜命令
FFmpeg 的滤镜命令是用于音视频处理中的强大工具,可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下: ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜: ffmpeg…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...
06 Deep learning神经网络编程基础 激活函数 --吴恩达
深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...

Map相关知识
数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...