35岁程序员有话说,那些年,我走过的弯路

背景

疫情尾声,结束在家办公的日子,开展新的一年的工作计划,我接到朋友的微信电话,找我聊天。

他们部门进行调整,虽然最后他留了下来,但还是很焦虑。人无远虑必有近忧,他这次被深深的影响到了,想提高一下自己,防止类似的事情。如何提高呢?

程序员首要考虑的就是技术能力,但现在真不知道学什么了:干了三四年的开发,手头的工作马马虎虎都没有什么问题了。就算有问题,也是业务逻辑上问题,系统太复杂,吃不透;或者系统里一些已经过时的/生僻的技术,反正觉得没必要花时间花精力去研究,能应付就行了,是这样的,反正下家公司很小的可能会用到这种东西的的。

那就是新技术问题了。新技术是非常杂的,不知道学什么,实际上框架类库没有什么技术含量,一两周里,你就能上手,之后呢?研究更深?事实上又会遇到旧技术一样的问题,谁知道与它没有用得上接下来的工作!和沉闷,可能是因为没有挑战吧,反正在路上,可以咋做?

35岁程序员有话说,那些年,我走过的弯路

学习瓶颈

一直聊到这里,我都非常容易理解。其实我们稍微干上一些年头,就是这个样子,看起来像是“学习工作热情不断下降”“懒得进行学习”,但本质上呢,两个主要原因:

1.自身技能提升,能应付日常工作,没有入职时那种压力..

2.学习的效益降低,所以开始 投资/收入比的思考。

刚入行的时候,技术一小点的进步,都可以带来非常大的成就感,至少能少挨点骂,积累到一定的时候,就可以跳个槽涨点工资啥的。但三五年过后,

我已经会了:

  1. 数据库:MySQL , Redis, MongoDB ( Progress ,Sqlite 也会用,但不多)
  2. 运维技能:Docker , Nginx, Apache (主要在Linux 系统,常用Debian 或者 Ubuntu)
  3. 后端web框架: Flask , Tornado, Django, Bottle (主要 flask, 看过flask 的源代码,其他的也能用)
  4. 前端技能: html, css, js, jquery 等 (Pure.css,Bootstrap ,RequireJs ,Jcrop, CodeMirror, Layerui 等都能用起来, 能自己写轮播图)
  5. 爬虫技能:lxml,Scrapy, BeautifulSoup, PyQuery 都能用起来(爬过不少数据(百度 ,淘宝, 天猫,京东, 谷歌,bing, pinterest, instagram 等),也会做分布式爬虫系统。)
  6. 其他:Elasticsearch, Zabbix , chrome 浏览器插件等

学会优雅转身

接下来和大家分享我这么多年的转型发展之路。姑妄听之:

1、转型技术管理

2008年下半年至2010年初,我慢慢转向技术管理职务,管理研发部门。我走的路线是“技而优则管”。

简单地说,就是你要是技术牛X,轻松搞定各种问题,开始带人,下管项目团队,那么接下来,公司将力推你到技术管理人员转型。

这种路线,也是大多数技术企业管理者走过的路线。如果你想转型技术管理,可以考虑这种。

“技优”的要点是:有余力

这是什么意思,也就是你能高效的完成你的任务同时还能有多余的时间。这样领导就会给你更多更难的任务。当你还能高效搞定,还看起来有余力,领导就会再给你更重要的任务……

如此良性循环,你就越来越具有重要,就会自己带人、带项目的机会。

如果你不能高效完成你的工作,你就不能走那条路。 但还有其他路线。

2、加入创业者行列

2015年9月,我是某种机会离开了公司工作了七年,重新考虑自己的方向。到了年底接受了好友邀请,和他一起创业。

我之所以愿意尝试,是因为:

创业和上班的可能性大不相同.. 如果成功,你的影响力和财务回报将上升到一个更高的水平。

一起做事的人靠谱。

制造的产品,清晰的盈利模式。

当然,不幸的事总会不断发生——我们失败了。

我个人不后悔这样的失败经历,因为当你站在更高的角度对公司负责时,你对工作的理解,会有很大的改变!! 这一变化将对后续的工作和生活产生重要的积极影响。

3、 重回开发岗位

我在20010年开始做技术管理,到2016年底创业失败,7年时间。 但在众多更好的管理机会面前,我毅然选择回到技术岗位继续做开发..

为什么?

这是因为我们的工作,除了钱,以及自我实现的价值。

自我实现包括几方面:

成长

成就

意愿

成长是指你做一件事我们之前和之后,有你想要的、积极的变化。

假如你一个做了十年开发,技术水平、解决问题的能力,还是和刚入行时差不多,那就叫没成长!

成就意味着你已经取得的成绩,并获得了相关的干系人的认可。

你负责进行一个管理模块,用了最新的技术最牛逼的设计,也能 run ,实现了用户信息需求。你个人觉得很有成就,可是你用的技术研究框架过于复杂,维护企业成本过高,运维团队、二次开发项目团队都不认可,那就不是真正的成就。

意愿很好理解,就是你愿意在什么事情上投入你的时间和精力、你做什么事情时会感到开心

很多开发者都会遇到要不要转管理、要不要一直做技术这种问题,怎么可以选择答案,关键就在于你的个人意愿和你做某件事的感受。

有人可能会问,如果你继续发展,年龄大了,如何与年轻人斗?

我画了一幅画,贴出来给大家看看:

35岁程序员有话说,那些年,我走过的弯路

由这张图可以通过看到,开发者做软件分两次创造,第一次创造在头脑中完成,属于思考层面;第二次创造,是编码技术实现,是脑力劳动体力化。

如果你想超越年龄,就要多在第一次创造所需要的能力上下功夫,必要的:

  • 构建自己的业务特定知识体系
  • 提炼想象,抽象,归纳,分析,整合,设计等..

这样你就能进行思考得更多、做得少、做得非常关键、做得好,就可以实现超越年龄的限制。否则企业看到你整天和年轻人一样只是噼里啪啦敲代码,肯定没价值,很快被清退。

所谓的高级工程师就是逐渐沉淀在技术上,逐渐系统掌握核心技术..

而想要成为python高级工程师,就要肩负技术和组织两个层面的重任,构建属于自己完整的技术体系就很重要。

当然从结果来论,能力突出python高阶工程师薪资也同样会水涨船高,一个python高阶工程师能够拿到40万的年薪都再正常不过了。

35岁程序员有话说,那些年,我走过的弯路

程序员职业路线图

对于python高阶工程师职责的介绍,网上已经铺天盖地,就不再赘述。今天我主要给大家分享一下成为一名python高阶工程师应该掌握的技术能力。


35岁程序员有话说,那些年,我走过的弯路


1、Python基础与Linux数据库

掌握Python基础语法,具备基础的编程能力;掌握Linux基本操作命令,掌握MySQL进阶内容。知识点包括Python基本语法规则及变量、逻辑控制、内置数据结构、文件操作、高级函数、模块、Python常用标准库模块、函数、异常处理、MySQL使用、协程等。

2、WEB全栈

掌握WEB前端技术内容,掌握WEB后端框架,熟练使用Flask、Tornado、Django。涉及的知识点有HTML、CSS、JavaScript、jQuery、BootStrap、Web开发基础、VUE、Flask Views、Flask模板、数据库操作、Flask配置等。

3、数据分析+人工智能

掌握爬虫、数据采集、数据机构与算法,掌握人工智能技术。涉及的知识点有数据抓取、数据提取、数据存储、爬虫并发、动态网页抓取、scrapy框架、分布式爬虫、爬虫攻防、数据结构、算法等。

4、高级进阶

掌握自动化运维与区块链开发技术,具备自动化运维项目以及区块链项目经验。涉及的知识点有项目开发流程、部署、高并发、性能调优、Go语言基础、区块链入门等。

最后

题外话,我在一线进行互联网技术企业管理工作十余年里,指导过不少同行后辈。帮助他们很多人得到了自己学习和成长。

我意识到有很多社会经验和知识都是值得分享给大家,也可以同时通过我们的能力和经验解答大家在IT学习中的很多学生困惑,所以在教学工作繁忙的情况下企业还是需要坚持中国各种数据整理和分享。但苦于知识信息传播发展途径有限,很多程序员朋友之间无法及时获得一个正确的资料能够得到提高学习不断提升,故此将并将具有重要的python进阶资料主要包括django,flask框架、阿里面试题精编汇总、常见源码分析等录播视频免费分享出来。

35岁程序员有话说,那些年,我走过的弯路

python进阶视频


35岁程序员有话说,那些年,我走过的弯路

Python基础视频


需要的朋友,可以点击关注转发私信“学习”免费领取!

我希望我可以用我的力量来帮助更多的迷茫,困惑的朋友,助大家在IT道路上学习和发展~


分享到:


相關文章: