程序员:如何高效地达到年入50万水准
我目前看到的是,在上海,一些能力比较强的人(大约10%),在具有5年工作经验后,就达到了这个水准,在具有8年经验的人群里,大约三成到一半人能达到这个水平。所以大家的目标应当是,8年内把自己的收入提升到这个水平。下面我提些可执行的措施。
1 给自己制定一个目标,比如我当前是高级开发,但两年后,我得具备架构实践方面的能力,能胜任架构师的角色。这还不算,然后得给自己列个学习和实践的清单,比如该学哪些,该操练哪些。
人无远虑必有近忧,目标虽然可以是虚无缥缈的,但没目标,一定是一事无成。
2 不仅得了解架构组件的实现和配置方式,还得了解该组件的部署和配置方式,而且出了问题还得知道如何调试和排查问题。就拿kafka组件举例,不能仅仅了解怎么用,而且还能编写部署集群的脚本,一旦出了问题,还得知道通过日志甚至debug底层代码排查问题。
3 在第2点的要求,尽可能多地掌握高并发场景下的技术点,比如数据库分库分表,消息缓存等。
4 目前不少系统是部署在Linux上的,所以Linux技能也是必备项,不仅会通过linux命令部署应用,而且还得编写部署脚本,最好还能在Linux配置各类集群。
如上是技术方面的需求,其实说起来非常简单,要达到上述要求不容易。下面列些实践中的经验。
1 积累上述技能时,得靠踩坑来积累经验,尤其是高级开发往架构方面升的阶段。这时可能会发现自己欠的债太多,或者工作压力本身就大,出了问题又很难排查,往往这个时候就得靠咬牙坚持了。(本人目前就处于这个阶段)
2 最好进一个大厂,比如BAT或互联网企业,不是说外企等其它公司就无法提升自己了,但毕竟互联网公司提升自己的效率更高。如果发现在当前公司虽然舒适,但无法给自己更好的发展前景时,那可能就得为自己多加考虑了。
这里也说个笑话,一个人的提升速度和1 踩坑率(踩坑数量除以天数)2 平均加班时间 3 身边牛人的数量 这三点成正比,哪些公司能同时满足上述三点呢?
3 不断总结积累,至少把在工作中用到的技能点吃透,比如最近我在用线程,那么就得把诸如volatile等的细节搞明白。又如,最近我会在linux部署和排查项目,那么就得不断掌握linux各种相关的命令。
4 先做学徒再做师傅,刚开始总是不可能有实践机会,总是会跟在架构师后面打零工,这时就得多琢磨架构师是如何分析和解决问题的。比如我最近在跟着一些大牛在做数据库分库分表,当程序调通后,我没有就事论事,而是再进一步去了解相关组件的底层细节以及集群配置方式,所以最近我感觉在架构层面,进步不少。
5 同时锻炼自己分享,和别人沟通,执行力和时间管理等方面的领导方面的能力。
6 平时不能光埋头干,得定时到外面找些活,比如写书做软件做培训等等,这样挣钱是一方面,另外能见识到更多的人,这样自己视角就更广泛了。 当自己人脉广了以后,小到找活,大到换工作,都有帮助。