那些35岁的程序员都去哪了

阅读本文大概需要11分钟。

大家好,我是findyi,前段时间写过一篇关于大龄程序员的文章:那些40岁的程序员都去哪了,引发了大家的思考和讨论,不少读者私聊问:除了这些出路,还有没有其他可能?

最近想起身边有一位年过35岁的朋友:军哥,军哥最初混迹小公司,薪资只有1000多,但通过勤奋和选择成长为贝壳的技术总监,而他应对35岁危机的方式更是有些独特性。

下面是军哥的自述:

1.程序人生

从2005 年进入程序员行业,截止到 2010 年,我一共呆了 3 家公司,前两家都是程序员不到 10 人的小公司,另外一家是中兴通讯。

在职场的初期,我跳槽算是很频繁了,主要原因就是穷,第一份工作保持温饱都成问题,这也是起点低的无奈。

如果要去总结这五年,我的一些改变,我总结了以下三点:

a、起薪低

刚工作时,就 1800 的工资,除了吃饭房租基本没有剩余的。那个时候也想过搞副业,接私活说实话也真接到过,不过你怎么赚钱,为期三个月的一个项目才 5000,搞的自己累死累活。

于是,我就在思考怎么赚钱,我想了一下只能提升自己的编程能力,然后跳槽。

b、不懂的技术很多,工作上经常遇到难题

在工作中遇到很多的技术难题,我记得当时上csdn、Javaeye发帖求解,还认识了左耳朵耗子和南京一位技术大神,之后我有搞不定的技术难题,就找他们问,不过为了感谢他们,我也多次去他们城市见他们并请吃饭。于是建立了深厚的感情。

c、我坚信下班后的时间安排,可以改变一个人的未来

曾经在csdn认识的一位朋友告诉我,你下班后的时间安排决定你的未来,我对此很不解,他就说你以后就明白了。

在他的鼓舞下我开始买各种技术书籍,还有各种学习视频,经过如痴如醉的学习之后终于工资有了不错的涨幅,也跳到了当时还算不错的公司——中兴通讯,彼时的月薪终于达到7000元。

曾经看过的书单:

2.架构之路

2010年3月,我加入 PC 电商 1 号店,这一待就是四年,这四年我从刚入职的高级开发、做到技术经理、然后做到公司架构师,真是以肉眼可见的速度在成长。

但刚入职的时候,真的是非常困难,第一、公司使用的框架技术从没有用过,第二、我负责的业务我也是第一次接触。

怎么办?我觉得唯有勤奋和方法了。

基本早上第一个到,最后一个下班,不懂就问老同事和业务人员并多次去业务现场,晚上回来还要坚持读技术书 1 小时,周末也是如此,就这样坚持了三个月,我逐渐上手了并且可以加速,负责的模块不但开发速度快,质量还很高,几乎没有什么线上 bug。 

又过了三个月部门老大找到我,说有一个开发 team 缺一个负责人,问我愿意试试不?

说实话有这样的机会既开心又担心,开心的是可以带领团队打战了,担心的是怕做不好,毕竟管人我还是一个小白。

那一夜失眠了,想了很久,第二天找到了老大说:“我愿意接受挑战”。

从此我成了 TMS (物流系统)的技术负责人(共 3 人),然而刚上任不到 1 月,团队里仅有的 2 个小伙就要离职了,这让人哭笑不得。

经过两周痛苦的反思,才发现是我自己事无巨细了,让下属没有了发挥空间。

由于物流订单(5w 到 20w)激增,需要开发更多的业务功能和系统,只能疯狂招聘,那时候一边招人一边恶补管理知识,终于在半年后搭建了一只10人左右的技术团队。

这期间发了一起比较大的事故,那次事故我和兄弟 team 的同事整整排查了一天一夜,一开始我认为是他们系统的问题,我只是来帮忙的,后来定位是我们系统的问题,原因是在数据库某张表过百万数据时,数据查询没有走事先建好的索引而走了全表查询,导致我们系统某个接口的耗时从 10 毫秒延长到 500 毫秒。

这次事故让我对技术的复杂性有了新的认知。

接下来又花了一年的时间,我把老的系统重构升级,从之前的单点系统改成分布式系统,数据库重新设计,核心业务流程重新设计,还给中国平安开发了新的 TMS 系统,那段时间真的充实。

当团队和业务进入稳定状态后,我却陷入迷茫,虽然对 B 端系统经验逐渐丰富了,可是我对 C 端高并发还是很陌生,我想每一位技术人都很憧憬 C 端的海量用户带来的技术挑战吧。

另外我感觉自己太年轻就走向了管理岗,而各种底层技术比如高并发、高可用却并不深入。

我毅然决定放弃管理岗位,内部应聘 C 端核心交易部门的架构师,在经过与负责人面谈并和 CTO 面试后,终于如愿以偿。

刚转过去的三个月那种焦虑感又回来了,第一、C 端业务不熟悉,第二、对 C 端的技术架构说实话只是停留在看书水平,第三,很多开发同事还会找我问各种技术问题、线上问题需要我来协助排查。

焦虑之余静下心来把 C 端的核心代码都看了一遍,包括会员体系、SSO、购物车、订单、库存、商品、营销和第三方接口服务等等,核心代码 3 万行以上,这让我对 C 端技术有了深刻的认识和实践的机会,之后开始负责秒杀架构设计、订单分库分表改造设计、用户库和订单库拆分、分布式缓存优化等设计。

也正是这一次历练,让我的技术视野(总结一下就是异步 + 消息 + 队列 + 缓存 + 高可用/高并发)和 C 端产品的理解和业务有了飞速的提升。

回顾这四年,我的职位从高级开发——技术经理——架构师,经历了太多事和人。

不断走出舒适区,不断挑战自己,人生不就是这样吗?一直在路上......

3.再回管理岗

2014 年初,1号店管理层变动频繁,工作也越来越不开心,经朋友介绍,离职加入一家 P2P 公司任首席架构师。

在这家公司我把之前积累的技术输出了一次,技术没什么提升,值得说的就是这家公司比较传统,老板把人当成工具,在经历多次内斗、站队之后,我选择退出:玩不过他们只能选择跑了。

2015 年 4 月,我加入饿了么担任技术总监,入职之际只有自己一个人,堪称光杆司令,随后不断组建招募团队,在半年后组建了几十人的技术团队。

在饿了么经历过三次组织架构调整,三次换领导,每换一次领导如同再过一次试用期,如履薄冰,不过这些经历让我成长加速。

2018年三月我因为个人原因离开饿了么,这 3 年多的经历,让我在技术和产品广度、深度、商业思维等方面都提升很大,对于管理团队也有了自己的经验和方法论沉淀。

我非常感恩,曾经的 CTO 如此信任我,让我有机会从 0 到 1 操盘公司多个战略级的产品,也认识了众多优秀同事(他们来自腾讯、滴滴、阿里、facebook、linkedin),从他们那学到了很多经验让我受益终身。

4.从贝壳到自由职业之路

我的最后一份职场的工作是在贝壳担任技术总监,在贝壳待了一年多时间,同样经历了公司各种组织架构调整。

这个时期,我在技术、产品、管理上都已经有了很不错的积累,薪资收入也挺不错。

在其他人眼里看起来,这个人应该知足了,但一种痛苦、焦虑感却开始折磨我。

在职场经历了这么多之后,我发现职场的沉浮真的是完全不受控制的,商业、业务、领导、政策有一点点变化,带给打工人的可能就是推倒重建了。

在贝壳工作不到两年,我选择了离职单干,想在人生的下半场能扼住命运的咽喉。

我做的事情是自媒体+商业咨询+产品创业尝试,算是自由职业吧。

关于自由职业,我有三点与你分享:

1、通过自己的爱好或者其他优势,至少要找到两件可以持续赚钱的事

我通过自己写作和爱思考的优势,通过写公号一年多时间做到了五万粉丝,光这块的收入已经超过我当总监的现金收入了。

另外我还给一家上市公司做技术和产品咨询,一周就去一次,但是收入比之前当总监还高,这两项加起来就是以前打工时工资的 double 了。

同时我还在奈学教育当兼职讲师,希望自己的知识、经验可以传授给更多人,让更多人受益。

这个过程我发现离开大公司也可以获得相同甚至更多的收入,真正的能力完全可以不依赖于任何公司或平台。

2、多读书、多向优秀的人学习

我平时喜欢读书,一周至少要看一本书。而且我看书都是喜欢带着问题去看书,而不是随意找一本来消磨时间。

看完书后,我会写读后感并把书的主要内容用思维导图来加深记忆,之后就是将知识进行实践。

另外通过写作我认识了很多优秀的人,比如易总、右导等大佬,更开阔了视野,他们都身在大厂且积极分享自己的知识和见解,并且他们副业收入都非常可观。

总之就是不断向牛人靠拢,不断进步就对了。

3、技术不是唯一,技术要么是我们的兴趣、要么是赚钱工具

程序员也罢,架构师也罢,技术总监也罢,我都有所涉足。我非常怀念当程序员的日子, 让我有了很好的逻辑思维和结构化思维能力,让我可以很好的去解决很多确定性的问题。

当我负责产品之后,又不断补充自己的产品思维、商业思维的能力还有对人性的洞察力,从而一次次面对很多不确定性的问题并将其转化为确定性问题。

这个过程挺让人兴奋,一旦一位程序员的拥有了这样(产品和商业)的思维,可以说就是拥有了更广阔的天地。

未来我大概率还会自己创业,目前已经在筹划自己的产品,未来的日子,邀请大家一起见证。

写在最后:

受易总邀请,回顾了自己亲身经历四个重要节点,总结一下:

1、职业规划很重要,找到自己喜欢的方向,然后坚持才能拿到结果,这可能需要的 10 年时间。

2、技术只是起点,不是我们技术人的终点,想要往上爬,请注入产品和业务思维,并且我们每个阶段需要的能力并不一样。

3、一般来说,要想「成长」就必须经历「痛苦」,经历的越多成长越快。

4、不断走出舒适区,坚持终身成长,另与优秀的人为伍或学习,做一个靠谱的、真诚的人!

一直在路上,共勉!

洋哥唠叨:

军哥在技术层面和管理层面都做的很不错,但我更佩服的是军哥敢于不断挑战自己的那份勇气。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/298232.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Sharepoint学习笔记---如何在Sharepoint2010网站中整合Crystal Report水晶报表(显示数据 二)...

在Sharepoint学习笔记---如何在Sharepoint2010网站中整合Crystal Report水晶报表(显示数据一)中,解释了如何把Crystal Report整合到Sharepoint2010并把报表数据显示出来,但这样并不完整,因为我们在开发时是以系统帐户进…

那些拧不开瓶盖的女生全都是装的?理工男这样想......

全世界只有3.14 % 的人关注了爆炸吧知识昨天,超模君我正在思考人生,八岁的表妹突然提着一瓶矿泉水站在了我的面前。她可怜兮兮的说:“我想喝水,但是拧不开”。我:“........."超模君我明明亲眼见过她一口气拧开过…

java 代码同步_Java同步代码块 转

Java 同步块(synchronized block)用来标记方法或者代码块是同步的。Java同步块用来避免竞争。本文介绍以下内容:Java同步关键字(synchronzied)实例方法同步静态方法同步实例方法中同步块静态方法中同步块Java同步示例Java同步关键字(synchronized)Java中的同步块用s…

Office 2010 64位版本

最新的Office 2010有了x86和x64两种不同的版本,众所周知的使用x64版本具有可以支持更大的内存等特点,但是也会出现一定的兼容性问题。其中感觉影响比较大的是Access的32位版本和64位版本创建的数据库无法通用,这样以前创建的Access文件就无法…

JUnit 测试

Junit 使用 1、忽略测试方法。在使用Test的方法上使用Ignore,将不会对此方法进行测试 2、测试套件 解决的问题: 1、对测试类进行统一测试,而不必在单独测试类上一个一个进行测试。 使用JUnit的RunWith以及SuiteClassses注解,Suite…

【另类见解】秒杀并非高不可攀

“一提到秒杀很简单这个话题,我知道要被别人鄙视了:你不懂高并发... 这年头开头不画个思维导图都觉得掉价image谈到秒杀,网络上不少于几千片文章,但是大多大同小异。如果你的微信当中关注了几个编程技术类的公众号,我敢…

我又相信爱情了!

1 圣诞限定款的肥宅快乐水更好喝了吗?不!更贵了2 周边鬼才!这手机壳我爱了3 你以为是个王者,其实是个大脸......4 高温超导材料达到临界温度后能使物体悬浮在不同位置5 火山爆发你见过吗?6 我又相信爱情了!…

opencv计算两数组的乘积_#剑指Offer#12. 构建乘积数组

题目描述:给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1]。其中B中的元素B[i]A[0] * A[1]... * A[i-1] * A[i1]... * A[n-1]。不能使用除法。解题思路:首先,仔细理解题意,B[i]是A数组所有元素的乘积,但是没…

python引用numpy出错_使用numpy时出错

我尝试使用pandas python进行excel操作。在每当我尝试使用pandas库时,它都会给我错误的提示:numpy没有安装。在现在,当我尝试安装pip install numpy和pip安装pandas时,它说需求已经满足了。在但是当我尝试做一个简单的numpy教程时…

中国移动:面向全业务运营的安全管理平台

在2008年的一个电信运营支撑系统论坛上,来自中国移动的集团网络部的安全副处长周智先生做了一个题为《面向全业务运营的安全运行管理系统定位及建设思路》的报告。 在这个报告中,周处首先分析了全业务运营环境下的安全挑战,然后提出了在全业务…

记一次 .NET 某桌面奇侠游戏 非托管内存泄漏分析

一:背景 1. 讲故事说实话,这篇dump我本来是不准备上一篇文章来解读的,但它有两点深深的感动了我。无数次的听说用 Unity 可做游戏开发,但百闻不如一见。游戏中有很多金庸武侠小说才有的名字,太赏心悦目了。000000df315…

成年人的数学公式

1 成年人的数学公式2 唯一对我说过“别走好吗”的人3 主人发起疯来有多可怕4 别人家的狗看到主人有危险▼你家的……▼5 蜘蛛捕食瞬间6 蜡烛重燃(冒的白烟是固态小颗粒的石蜡蒸汽,可燃)你点的每个赞,我都认真当成了喜欢

ubuntu运行python ide_在Ubuntu-16.04中安装Python可视化IDE——Spyder

Spyder是Python(x,y)的作者为它开发的一个简单的集成开发环境。和其他的Python开发环境相比,它最大的优点就是模仿MATLAB的“工作空间”的功能,可以很方便地观察和修改数组的值。Spyder的界面由许多窗格构成,用户可以根据自己的喜好调整它们的…

Linux查看系统信息的一些命令及查看已安装软件包的命令(转)

系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # hostname # 查看计算机名 # lspci -tv # 列出所有PCI设备 # lsusb -tv # 列出所…

日历签到 java_我的Android案例―签到日历

public class MainActivity extends Activity {//Log标签private static final String TAG "SIGN";//声明对象private Button sign;private TextView show;private GridView myDate;//获得本地时间Time nowTime new Time();//1个月内的天数private int dayMaxNum;p…

phpMailer 配置 企业邮局 163

phpMailer的两种配置,记录一下,差别在一个要写完整邮件地址,一个只要填前面的部分。一、自己的企业邮局发信$mail new PHPMailer();//$body file_get_contents("mail/".$date.".html"); //$bo…

Linux运维实战之DNS的高级配置(转发器、视图等)

上次博文我们具体配置了一台DNS服务器并实现了主辅之间的区域传送,本次博文我们来看看DNS的一些高级配置。 在进行DNS的高级配置之前,必须要理解DNS的原理(参见http://sweetpotato.blog.51cto.com/533893/1596973) 并且对DNS的基础…

POJ1269 Intersecting Lines 计算几何 C语言

题目:http://poj.org/problem?id1269 题目大意:给出四个点确定两条直线。如果是一条线输出“LINE”,如果平行输出“NONE”, 如果有交点输出交点坐标。 思路:注意是直线,不是线段啊。 用两点式推出两条直线…

史上最烧脑的学习方法,看完瞬间涨姿势!

▲ 点击查看 在美国,有一个天才儿童计划,选拔一批“天才”儿童进入天才班。这个计划是为了保证每个人接受平等教育机会的同时,也为精英成长提供合适的土壤。美国所谓的天才和精英是怎样的标准呢?进入天才班的儿童首先要通过一个叫…

WPF轮播图实现方式(二)

WPF开发者QQ群: 340500857 | 微信群 -> 进入公众号主页 加入组织欢迎转发、分享、点赞、在看,谢谢~。 01—效果预览02—代码如下一、EmphasizerCarousel.cs 代码如下using System; using System.Collections.Generic; using System.Collections.Obj…