行业寒冬:程序员怎样优雅度过 35 岁中年危机?跳槽薪资翻倍
前言
作为一个程序员,如果你在新知识、新技术面前仍一无所知,依然吃着十多年前的老本,那你在知识技术上肯定落伍,如果又未能进入管理层面,那你肯定就会被长江的后浪拍在沙滩上了。
而不少与时俱进、善于学习的程序员他们仍是行业的中坚力量。这只是说明当今世界靠一招鲜走遍天下,吃终身的时代已经过去了,一个人必须得活到老学到老才能行走于天下。
我在平时的工作之余也会翻一翻大厂的面试题,让自己时刻保持面试技能,同时也能了解大厂对技术的需求,以备不时之需,“生于忧患,死于安乐”,古人诚不欺我啊。
下面给大家分享一个我自己工作几年以来总结的系统性成长进阶路线,分享给大家做一个参考。
第一:首先弄清楚自己岗位晋升(转型)路线
大多数程序员的晋升路径无非以下几种:
技术型:初级工程师->中级工程师->高级工程师->架构师(技术专家)->技术总监->CTO
管理型:工程师->项目组长->项目经理->项目总监->技术总监->CTO
交叉型:初级工程师->中级工程师->项目经理->技术总监->CTO(此路线技术和管理交叉进行,每个阶段做的事情不固定)
转行型:初级工程师->转行产品、设计、销售、运营等
第二:跳出自己的舒适区,对自己喜欢的事情投入 100%的热情
很多程序员都会下意识的标榜自己是一名 c++程序员,java 程序员,ios 开发,安卓开发,php 程序员等等,但是他们往往忽略了一个事实,就是你首先是一名程序员,有意无意的将自己绑定在某个领域或者某一个语言上是非常危险的事情。
做某个事情的时候,投入 100%的热情,并持之以恒,我知道这是非常难的事情,也正因为如此,技术专家,资深大牛才那么稀缺。
第三:站在巨人的肩膀上,适当说“不”
另外一点提高自己瓶颈的方法就是借鉴前人的代码,程序员这个行业,并不一定非要什么都不看直接写,也许你在有基础的情况下,直接开始写,遇到问题在查找问题会来的更加容易上手。
但是正因为这样,你写出来的代码往往质量非常差,优化性不够,语法啰嗦,不够优雅,因此我们要学会多从其他人的代码中汲取优点,多逛逛开源社区,针对自己感兴趣的方向去学习别人的代码,也是进步的一种方法。
在团队中,经常会遇到需求方给你提出某个需求,也许你觉得这个需求不合理,但是还是碍于同事的面子抽时间给他完成这个需求,这个时候你在同事的眼里也许就是负责的好同事,但是也许你遇到的只是一个不动脑子,或者压根只是抱着试一试态度的产品经理,没有经过完整的调研,只是拍拍脑袋觉得用户可能会喜欢这个产品,没有做出需求调研就话了一个 prd 给你扔了过来,如果项目表现不错,你的努力受到了大家的认可,那么皆大欢喜,但是如果这个项目最后还是失败了。那么你付出的努力也会白白浪费。
在需求方提出需求的时候,你一定要问他,做这个功能的意义是什么? 你有数据做出支撑么? 这个功能对我们现有的产品会有什么影响以及正面作用? 没有数据支撑的需求一律说不!
第四:搞好人际关系,提高沟通能力
学会处理人际关系,以及表达自我想法,沟通能力,也是程序员需要掌握的一件事情,因为你的上司看重你的表现的,往往不是 你实现某个功能的细枝末节,而是你对于整个项目的把控,以及沟通,他需要的只是结果,而不是过程,因此往往沟通能力强的资 深程序员,最后都会往高层去发展,慢慢转为管理层,而如果你只是想要安静的写代码,不想被这些无聊的事情干扰的话,那么你可以忽略。
这个行业很多资深大牛往往都是沟通能力强,技术高深的体现,随着年代发展,团队式工作已经是主流,你无法一个人去单一的实现某个任务或者功能。
团队式开发效率,项目进度,复杂度,以及成本控制都比单一人员要好,而团队式协作就表明,你必须要有最基本的沟通能力。
最后我还整理了很多 Android 中高级的 PDF 技术文档。以及一些大厂面试真题解析文档。需要的朋友都可以点击GitHub直接获取方式
Android 高级架构师之路很漫长,一起共勉吧!
评论