当前位置: 首页 > news >正文

记第一次出差得出的经验

文章目录

    • 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:背景 由于上家公司的某种原因,离职来到了新公司,内中原因不足道也。新公司业务方向暂且不说,入职后,个人看着以前的产品视频学习了不到两周&#xf…...

第12章:视图

一、视图 1.常见的数据库对象 ①表table:表是存储数据的逻辑单元,行和列形式存在。列是字段,行是记录。 ②数据字典:系统表,存放数据库相关信息的表。系统表的数据通常是数据库系统维护。 ③约束constraint&#x…...

Word控件Aspose.Words教程:操作 XPS 和 EPS 文档

Aspose.Words 是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word。 Aspose API 支持流行文件格式处理,…...

java并发-Exchanger

## 简介 Exchanger是Java并发包中提供的一个用于线程间数据交换的工具类。它允许在两个并发任务之间进行交换对象,当第一个任务调用exchange()方法时,它会阻塞等待另一个任务也调用这个方法,然后双方交换对象,并返回结果&#xf…...

毫米波雷达系列 | 传统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,但是在具体应用的时候,我们还是针对一条记录返回了一行数据(多个字段的一行,也还是一行),并没…...

刚入职,就想跑路了...

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

如何让技术架构师具有预知未来业务发展的能力

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

卷麻了,新来的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,其设计目标是在虚拟化环境…...

[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解

突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 ​安全措施依赖问题​ GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...

OpenLayers 可视化之热力图

注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

.Net框架,除了EF还有很多很多......

文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

ESP32读取DHT11温湿度数据

芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)

设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

自然语言处理——循环神经网络

自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM&#xff09…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

前端中slice和splic的区别

1. slice slice 用于从数组中提取一部分元素,返回一个新的数组。 特点: 不修改原数组:slice 不会改变原数组,而是返回一个新的数组。提取数组的部分:slice 会根据指定的开始索引和结束索引提取数组的一部分。不包含…...

数据结构第5章:树和二叉树完全指南(自整理详细图文笔记)

名人说:莫道桑榆晚,为霞尚满天。——刘禹锡(刘梦得,诗豪) 原创笔记:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 上一篇:《数据结构第4章 数组和广义表》…...