搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
weixin_40725706
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
大模型新贵还是绕不过云计算大佬
2
video2frames - 把视频切割成一帧帧的图片_video2frame-frame2video
3
简单的自我介绍_简历自我介绍怎么写 csdn
4
数据结构:链表经典算法OJ题
5
【TS】TypeScript声明文件:打通JavaScript和TypeScript的桥梁_.ts typescript
6
如何将数据从Android传输到 iPhone 15 Pro/14/13?完整指南_coolmuster mobile transfer
7
Python常用模块大全_python模块库大全
8
electron vue 多开窗口,新开窗口_electron 多开browserwindow
9
Servlet调用操作业务时显示请求的资源不可用_servlet请求资源不可用
10
手把手带你从0开始搭建个人网站,小白可懂的保姆级教程_怎么创建网站免费建立个人网站
当前位置:
article
> 正文
暮然回首:我的10年软件开发生涯_软件技术我的生涯故事
作者:weixin_40725706 | 2024-08-07 13:36:30
赞
踩
软件技术我的生涯故事
前言
我是个码农,在职场干了多年,在超过10个公司服务过,遇到过各种怪现状,拍案惊奇葩,不吐不快,太想写篇文章吐槽一下。
这篇文章汇集了我10多年来的工作中遇到的各种经历,总结的心得,分别讨论了团队与协作(同事/领导/客户的交流)、技术与质量(学习、技术选择、质量)、职业与事业(现实、追求、老油条、职业道德、典故、事业/经验)、找工作(猎头/中介、应聘、简历、面试别人)、辞职(原因/理由、信任)等,干货满满的,里面还夹带了我的很多秘密和典故,如果你认真看,会回来找我赞的!!!
如果你非要叫我跑龙套码农,请不要在前面加个死字,谢谢。
本文是我的个人经历和意见,请取滤网三钱,温水煎,和着服用,谢谢。
协作与交流
入职
不管你在以前多厉害,有多丰富的经验,去到新公司,都要重新学习,撇开业务逻辑,我们还需要学新的编码规范(不管你是否认同)、开发流程与守则、工具等等,更耗时的,是理解他们的开发框架,每个公司都有自己的一套(很多可能重复发明了了轮子)。
心态很重要,没有端正心态,很容易造成失衡。一些人一夜暴富(如中奖),然后大肆挥霍,最后比暴富前更穷困潦倒。入职新公司,可以放低身段,毕竟你掌握的技术是一回事,学习公司各种文化、流程、规范、业务逻辑等等都要花一段时间,不能一蹴而就,否则落差太大,事与愿违,如牛入泥潭,强烈的无力感。
一张厕纸,都有它的作用。每个技术公司都有过人之处,我们要关注的,不是那些不行的地方(有待后续解决),而是寻找那些有营养的干货,学习之,提高自己。20/80法则,20%的公司牛,那就算差的公司里,也有20%的人尤为突出的,要向他们学习,看他们写的高质量代码。
从一个公司角度来看,评估员工的表现,不是看他以前多厉害,经验多丰富,而是看现在为公司的贡献。所以,一些时候出现的情况是:“我自认水平很好,为什么公司给我的回报没有我想象中那么多?”
去到一个新公司,心态要摆好,低头做人,努力学习。或许,有一些同事,觉得你空降过来,不会持有热烈欢迎的态度,所以,做好本分的事情,不需要奉承别人,也更加不要得罪别人,平常心看待。
每去到一家公司,我会尝试笑着面对每个遇到的人,甚至说一声Hi,如果对方没兴趣,那没关系,我不会因此脸黑或者不爽。笑着面对各种问题,自己写的烂代码,含着泪也得把它重构好。
同事/领导/职场
林子大了,什么鸟都有,公司大了,什么人都有。有人的地方就有江湖,有利益的地方,就有冲突。
澳洲,跟美国一样,是移民国家,一般每家公司都有各色人种。文化的差异,语言的沟通,总会造成各种矛盾。
根据这些年来的观察,冲突一般有:1、邀功,当你辛苦干完活,别人把功劳拿走了;2、推卸责任,不是你造成的问题,别人强加于你身上;3、小圈子排挤外人。
说到底,工作就只是一份养家糊口的事情,其它都是不重要的,把这个想通了,一切都好办了。把心态摆正,把事情做好了,就行了,很多事情无法控制,当然,我们要懂得不要给别人留有藉口揪你小辫子。
每个公司都有各种问题,进新公司之前,大家习惯设想新公司怎么怎么好,自己的计划如何顺利开展,现实,往往不是如你所愿。所以,要做好最好的准备,最坏的打算。
办公室不是找朋友的地方,必须时刻提防各种办公室政治,披着羊皮的狼,是最危险的,越天真越容易中招,不大有人会踢一只死狗,枪打出头鸟,你越出色,越容易招惹是非,要混得开,低头做人很重要。
对美女来说,“天生丽质难自弃”,想突出自己把自己的优势最大化。职场,大部分人都想出人头地,努力往上爬,加薪升职。然而,事与愿违,总有“老子干得很不爽,去你大爷的!”的时候,如果你真有心有力,确实是可以去创业,不需要受各种非人的委屈。
一言蔽之,要干得爽,还是需要自己创业。
公司S,心累,现在公司部门和部门之间有严重的斗争,各自为政,根本就不是想干活的,恶心的事情很多,譬如部门老大不干活,让小弟干,小弟工作繁忙压力大就爆脾气,说话不像人样,然后部门老大就各种推卸责任,还美化之,去它大爷的 。
公司B,三个印度码农在印度,一个大胡子孟加拉国的,一个刚来澳洲两天的伊朗人,一个来了澳洲很多年但口音极重的越南人,一个还在马来西亚下个月才来报道的码农,加上来自黎巴嫩的上司,还有我,真的是联合国。
公司K,精神分裂的部门女同事,菲律宾大妈,在公司呆了18年,在CTO背后联合她的两个马来西亚小弟直接跟CTO的上司说CTO各种坏话,在CTO面前老装很友好地狂笑,对待客户是一样的做法。
公司T,当年很纯真,但已经目睹了各种利益纠纷。公司和别的公司协作做的GSP系统,一个医药销售系统,产品做得差不多了,各种纠纷,后来产品就烂尾了。
公司T,我离职,老板请大家吃酱板鸭,味道特别棒,至今难忘,离职后还和老板保持了多年的联系,每年春节还发祝贺短信,很精短,都是手写的。
工欲善其事,必先利其器。开发工具,是开发中重要的资源,公司不应该在这块上有任何吝啬。
公司S,我入职后发现开发部的机器,最老的7年了,新的也有3年老了,没改一行代码,重新编译,需要5分钟以上。跟我一起入职的有4个新同事,公司给我买的电脑是给其它同事买的3倍价钱,IT部经理一脸正经地跟我说:你丫的应该觉得庆幸拿到这么贵的电脑。但我一脸无奈地跟他说:“虽然你买的是我要求的ThinkPad,我我希望是t4xx,你却买了exxx,我才不想要呢!”。新来的项目经理对公司安排给他的新手提电脑很不满意,一大早打开的时候就已经用力噼噼啪啪了,还吐槽连HDMI接口都没有什么的,下班快走的时候还吐槽这i3 CPU配置都8年老的了。首先,讲道理,每次i3换代都有新版本,不能刻舟求剑,但是,省这几百块不值得。
客户
客户是不讲理的上帝。
你的代码写得那么烂,你的客户知道么?
公司S,做IT的同事告诉我几个真实的故事,忒搞笑了,其中一个是:客户说电脑不正常,同事远程协助,很客户说:“close all the windows",然后客户说“done",同事说我这里看见还没有关闭啊,客户坚持已经关闭。争论半天,最后发现客户关闭了的不是“窗口”,是“窗户”。
公司S,有一个潜在客户发来合同,要求我们的系统一年365日,100%在线,如果服务down了,按分钟赔钱[允悲]。
客户的需求,没有明确目标的居多,需要逐步引导,按优先度和难度分期实现,否则很容易烂尾。
技术与质量
学习
只为一家公司卖命一辈子的,少数。即便只为一家公司干活,始终会有产品改进甚至更新换代的一刻,不管是用户量上去了,还是用户需求变更了,那总要学习新技术。一些公司,系统多年不改进,员工就无欲无求了。等离开公司的一刻,才发现自己与社会脱节了,这种如温水煮蛙,所以早就了很多养老心态的老油条 。
公司C,一个资深码农,离职之前,考高级程序员证,恶补,拿到证之后,离职了。
我不是喜鹊码农(The Magpie Developer),不贪新厌旧,确实太多东西需要学,数据量太大了,每天太多东西可以学,时间不够。举个例子,基本的日常使用的工具,如开发工具,譬如Visual Studio,即便你每天用,很多有用的东西我就是没留意,举个栗子:你知道怎么快速复制、剪切、删除整行代码吗?删除一个词呢?再举个粒子,SSMS(SQL Server Management Studio)里面,怎么快速查看一个对象的相关信息,如一个表,显示所有字段、主键、索引、约束等等?
最近看越来越多的网络资源,一些要收费,如一个网站提供了专业面试国际大公司的一对一指导服务,全程真题,还有全球20多个著名Web2.0公司的系统设计详解,也就几十刀,值得买。
说到这里也给大家推荐一个架构方面的交流学习群:650385180,也是听之前的同事提起过的,看了一下,内容技术点讲解还不错,里面也会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,相信对于已经工作和遇到技术瓶颈的码友,在这个群里会有你需要的内容。
看过很多技术文章,一些网站追求一些非常入门的内容,譬如怎么做个多级菜单,动画效果,等等,放在首页,而一些干货文章却被忽视了,悲哀。
大部分码农都只擅长一种技术,所以选择的时候应该选择一种不容易被淘汰的技术(中期还是主流的),譬如.net,现在各大平台都能用而且生命力很强,在上升阶段。前端,脏乱差,但学好JavaScript不愁吃穿,围绕js的各种框架可以学一下主流的。
技术是相通的,不同的技术栈,技术思想是相仿甚至一样的,所谓一理通百理明,所以,有全栈的开发人员,从Web前端一直到后台、数据存储,还有所有之间的技术如安全、日志、队列等等。
即便不睡觉,也不够时间学习可以学的东西。所以,只能挑食,笼统地学一下大部分新技术,最关键核心的,可以深入学一下。
技术选择
前端、后台、数据存储,都有乱象。
前端尤其乱,对日新月异的那些前端技术无力吐槽,简单来说,就是脏乱差,可惜,技术负责人,没有把好关,选择了错误的技术。
技术选型,决定因素很多,譬如技术带头人,譬如技术储备,公司现有情况,等等。著名云程序日志记录提供商raygun,几个月之前扔掉node.js改用.net core,性能提升20倍。但就是有些公司的技术人为了反对而反对,选择一些不切实际的解决方案[摊手] 。
举个栗子,譬如SOA家的微服务的设计与使用。网上诸多最佳实践,在多数公司里面都没有、也不会实现 ,不管是决策者、财力资源、还是人力资源等限制 。大家审视一下现在公司的系统, 你连现有系统的的基本的模块化做到了吗?如果没有,凭啥你就觉连模块化就做不到就能把微服务做好? 甭想微服务了。微服务不大适合初创或小公司,Martin Fowler说过,上微服务需要现有的流程、监控、快速发布基础, 而且发布的成本和复杂度比单系统服务高,服务间的网络数据交换成本额外高,本地开发测试复杂度和成本也高。 遇到异常,还是看业务,一些transactional的该怎么样就怎么样,一般流程化操作,如用sagas,容易导致死流程,这种怎么监控和解决具体问题具体分析。一般做法是有机制重试n次后还不行就escalate到IT,还有日志这块也是很多坑的。
继续这个栗子,微服务的基础
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/weixin_40725706/article/detail/942804
推荐阅读
article
如何优雅的从
Hugging
Face
下载
repo
中的部分目录下的文件_
hugging
face
如何下...
从
Hugging
Face
上下载模型是作为深度学习开发者每天都要面对的问题。但是作为非图形页面的开发者而言,Huggin...
赞
踩
article
Mac
安装
svn
...
首先感谢这位博主:https://www.jianshu.com/p/b3fd26cbef46其次感谢这位博主:http...
赞
踩
article
AI2.0
:十年之后
我们
还
能
做
什么
...
AI大模型展现惊人
能
力,有望成为下一代通用技术平台。2010年,麻省理工大学阿齐跌鲁教授等提出了科技发展如何影响人类就业...
赞
踩
article
jupyter
下载
部署以及简单
显示
_
jupter
下载
...
jupyter
下载
部署以及简单
显示
_
jupter
下载
jupter
下载
一.
下载
jupyt...
赞
踩
article
想用
计算机
编程
画图
的看过来-
Python
-
turtle
海龟
画图
模块_
编程
怎么
画图
...
本文介绍如何使用
Python
的
turtle
模块进行
计算机
编程
画图
。通过
turtle
,你可以变身设计师或画家。首先导入tu...
赞
踩
article
代码
随想录
算法
训练营
第七天|454.
四数
相加II 383. 赎金信
15
. 三数之
和
18
.
四数
之...
不同的三元组是 [-1,0,1]
和
[-1,-1,2]。今天的题好难,写了很长时间,这还是在公交车上提前看过了的。我真...
赞
踩
article
智能
车
竞赛:提问与回答
_
参加
了
两届
智能
车
都
没
进国赛
...
我
参加
了
去年和前年的恩智浦
智能
车
比赛,很可惜最后
都
没有
进国赛
,可是这两年的时光里,我结识
了
一群可以一起奋斗的朋友,锻炼
了
...
赞
踩
article
Yapi
安装
配置
过程(
Windows
版)...
ypai详细
安装
及
配置
Windows
版
Yapi
安装
配置
过程(
Windows
版) yapi...
赞
踩
article
SpringBoot3.0
迁移
_
spring
boot3
配置
迁移
指南...
最近Spring
boot3
.0正式版发布了,Spring Framework也升级到了6.0,JavaEE也由旧的Ora...
赞
踩
article
安利
10
个
Intellij
IDEA
实用
插件
...
点击上方蓝色“程序猿DD”,选择“设为星标”回复“资源”获取独家整理的学习资料!来源 |公众号「码农小胖哥」1. 前言从...
赞
踩
article
浅析近十年来
后
端
技术
发展
_
后
端
前沿
技术
...
本文作者回顾了过去十年
后
端
开发
技术
的三大变化:微服务和三高架构的成熟,开发框架的
发展
,以及运维部署的便捷化。讨论了Spr...
赞
踩
article
电脑
插上
U盘后
,
无线
鼠标
无法使用或者反应
不灵敏
_
插上
u
盘
无线
鼠标
不能用...
如果方法一不管用
,
考虑是主板USB接口供电不足的问题。这与电脑的主电源供电没有任何关系。大多的USB接口都是主板独立提供...
赞
踩
article
【
数据结构
】
实现
大小
堆
也叫
二叉
堆
(类似
c
++中
的
优先队列)_
二叉
堆
c
语言链表
实现
...
二叉
堆
:是一种特殊
的
堆
,依赖于完成完全
二叉
树和向量
实现
的
。分为最大
堆
和最小
堆
。最大
堆
:父节点
的
键值总是大于或等于任何一个...
赞
踩
article
HarmonyOS
开发
里
的
知识:
命令行
工具-Command Line Tools_将解压后comma...
该
命令行
工具集合了
HarmonyOS
应用
开发
所用到
的
系列工具_将解压后
command
-
line
-
tools
文件夹
的
bin
...
赞
踩
article
Open
cv
打印显示
Mat
方法_
cv
::
format
...
Open
cv
打印
Mat
几种方法1:使用CV:
format
函数使用
Open
cv
提供的
format
()API接口:stat...
赞
踩
article
基于
YOLO
v10
/
YOLOv9
/
YOLOv8
深度
学习
的蔬菜目标
检测
与
识别系统
【
python
源码+P...
基于
YOLO
v10
/
YOLOv9
/
YOLOv8
深度
学习
的蔬菜目标
检测
与
识别系统
【
python
源码+
Pyqt5
界面+数据集...
赞
踩
article
Ubuntu16.04
无界面环境下安装
qmake
_
linux
自启动
qt
无
显示器
...
sudo apt-get install cmake
qt
5-default
qt
creator_
linux
自启动
qt
...
赞
踩
article
SpringSecurity
——
Web
权限方案
用户
认证
方式之二(
查询数据库
完成
认证
)_
web
查询数据...
本文详细介绍了如何在
SpringSecurity
中使用数据库进行
用户
认证
,包括配置数据源、自定义UserDetailsS...
赞
踩
article
2024
湖南省
研究生
数学
建模
A题详细思路代码成品文章:
使用
智能手机
记录
人体
活动状态
_第九届
湖南省
研究...
首先,我们需要对附件1中提供的3名实验人员的运动数据进行分类,这些数据包含每名实验人员的每种
活动状态
的5组加速度计和陀螺...
赞
踩
article
MySQL
JDBC
编程_
mysql
jdbc
编程...
本章目标掌握
JDBC
的概念和工作原理学会如何使用java中的
JDBC
编程数据库编程必备条件编程语言,如Java,C、C+...
赞
踩
相关标签
深度学习
百度
jupyter
学习
python
少儿编程
Python
turtle
海龟画图
智慧猿
算法
数据结构
mongodb
数据库
node.js
java
springboot
spring cloud
计算机外设
数据结构堆
优先队列
大小堆
前端
harmonyos