我是一名10年开发经验的中龄程序员,正在走程序生涯的后半部分

我是一名中龄程序员,几个月前刚过完三十一岁生日。某个星期六的早晨,我参加了一个某公司的大型技术交流会,演讲者正在竭力说服我们为什么它会成为移动开发领域真正的下一个大事件。但对我来说,它有点像5年前的php ,将所有的逻辑都放在演示代码里面。但我“老”了,我认为这是因为自己还没有完全理解它。

演讲者展示完 ppt 后,现场进行编码,还展示了大约半打我没听说过的配套开发工具,这些都让我感到有点惊讶但是也有些沮丧。

 

当然,我并不是真的惊讶。在过去10年里,我也掌握了一些比较流行的技术,并享受驾驭它们的乐趣。新的知识总能给编程带来一丝激动的体验,并且能让事情变得更容易、更快和更清楚(效率更高,感觉自己很牛掰)。

 

但是在这个特别的早晨,在30岁的这个门槛上,我不得不承认我感觉有些落伍。我知道如果想跟上节奏,我得继续付出,抛弃一些已经充分吸收的知识,吸收一些新的知识,为下一次旅程做准备。

 

有时候我在想,我的程序生涯能不能其他行业的专业人士,比如医生到了40岁不用担心他对血管系统的知识会蒸发,同样的,律师、水管工、会计、英语老师,也是如此。他们积累的知识是相对稳定的,并随着年龄会给予他们相应的尊重和补偿。但是在编程领域,10年的经验,似乎并没有赋予同样的优势。

 

再过10年,我的40岁会成为什么样子,我不敢想象,我现在还有车贷,房贷......各种贷,我有自己的父母和自己的孩子要养。

 

作为程序员,我们不得不面对两个问题。

 


 

一,知识衰退。

 

我们所知道的一切,不仅仅是编程,都有一个有效期,过了这个期限将不再有用。我 16 岁学会了开车,到现在依然用的很好,这种技能可以认为有一个相对较长的半衰期 。医生的知识会越来越渊博,是因为他学习的每一件事情都是基于他以前的知识。而在编程领域,无论好还是坏,我认为:

 

程序员所积累的编程知识在十年后将有一半没用。

 

这可能有些偏激……但起码对我来说,似乎是正确的。如果我在这个期限中不学任何其他的东西,我敢打赌,只有大约一半的知识我可以在2028年继续使用(比如长期活着的php),另一半可能都是没用的(html5,也许?) 。当然,我会不断获得新的知识来取代要死掉的那些东西,但这足够吗? 2028年我会比现在知道更多(有用的)知识吗?

 

二,知识积累速度。

 

在所有领域,必须满足一定的知识门槛才能获得“认证”(或至少可聘用),职业生涯的早期通常都是在努力获取知识。然而,在编程领域,由于知识的快速衰减,似乎我们从来没有真正度过“学生时期”,我们必须永远一直学习。但是随着年龄的增加,精力的减少我们永远是比不过比我们年轻10岁的程序员。也许到时候也就剩下那点可怜的经验了。

 

作为一个中龄程序员,我们应该怎么办?

 


 

确定未来的目标

 

我们不是大龄程序员,对比大龄程序员来说,我们还有更多机会,对于年轻程序员来说,我们更成熟(经验更丰富)。人是从历练中成长的,古人云:三十而立,形容的不是一个人的社会地位,经济来源,而是形容一个人对未来的目标,对人生的意向。要成为一个成功人,就应该早日为自己定下长期的发展目标,作为一个开发者也当如此。随着人的性格,取向各有不同,大家为自己所选择的路也有不同:

 

1.自立门户,勇敢创业

 

30岁了,很多人会认为要想真正赚得了钱,就应该自立门户,为自己创业建立一个基础。像北京、上海、广州这些一级城市,要买房子,一手楼基本要在 2万~4万元/平方米左右,而在一家普通的IT公司当上一个项目经理,基本收入一般都在1.5万~3万之间(除非在大型的跨国企业内工作,那另当别论),要买一间100平方米左右的房子,就算不吃不喝也几乎要10年的年薪,所以选择自主创业,是很多IT开发人员的一个未来目标,想要达到这个目标,就应该更多地把业务作为重点。

 

不可否认的一件事,在中国社会里很多时候讲的是“关系”,即使这30年的改革开放使中国的经济蓬勃地发展起来,但老祖宗几千年来留下的“遗产”还是不能完全的磨灭。所以想要创业的人事建议你要多跟客户打好关系,与合作伙伴保持互利互动的模式,这将有利于日后事业的发展,为自主创业打下夯实的基础。

 

2. 急流勇退,退居二线

 

这也是不少人的选择。很多人在有了家庭以后,感觉到压力太大,人的一生并非只有事业,他们想把更多时间用于对亲人的照顾,对孩子的关心上。所以很多人会选择一份像系统分析、系统维护、高校教师、专业学院讲师这一类的工作。收入稳定,而且往往没有一线开发人员那么大的压力。

 

3. 不懈努力,更进一步

 

不管你是一个程序开发者或者是项目经理,如果你想继续晋升一级,那还是会两极分化的。从一个普通员工成长到一家公司的管理层,那所面对的事件会有很多变化。一个公司的总经理,要管理的不再是一到两个项目的成本,而是整个部门的运作,整间公司的业务流程,所以要肩负的任务的会更重。

 

如果要从程序员上升为一个技术总监,那工作的方向也有所改变。像之前所说:一个程序开发者可能重视的是技术层面,讲求与团队之间的互动合作性,更注重的是开发的完善。而一个技术总监就无需要直接参加某个项目的开发,而注意的是开发的效率与成果,如何合理使用有限的开发资源,控制开发的风险和可能带来的效果。

 

4,学习可以更持久使用的知识

 

如果您依然热爱编程,对于我们考虑到时间有限,我们可以试图去学习那些耐用的知识。也就是说,把精力投入在那些有更长的衰减期的知识上,比如,算法逻辑、应用安全、性能优化和架构。

 

原文地址:https://mp.weixin.qq.com/s/shNDxWfvt45aM1QQNSQLMA

你可能感兴趣的:(杂谈,杂谈)