程序员的成长焦虑

2018 年 12 月 29 日 CSDN

作者 | 黄峰达


技术在进步,人也得成长。打开社交媒体,无处都不在贩卖焦虑:

  • 震惊!90 后的程序员,至今都没有一个活过 30 岁?

  • 为什么 35 岁的 85 后程序员,都找不到工作了?

  • ……

那些写稿的人,有一天突然自己焦虑了——是不是这真的就是一种趋势?年底了,也得按照惯例 “焦虑” 一下成长。照旧,作为每年年底的复盘(Review),这仍然是一篇对于未来的思考和总结。


职业发展 vs 个人发展


国内大部分的组织,哪怕是大型的公司、企业里,都缺乏有效的技术人员发展路线。或许是国内的程序员都比较 ”年轻“,或者是现有的大部分程序员都停滞在现有的阶段——资深阶段。这无论是 BAT 里的 P7、P8,T2.3、T3.1,还是 ThoughtWorks 里的 Senior Consultant,这都是一个很长的关卡。

原因,除了这是一个等坑期,还是一个迷茫期。坑位只有有限的几个,而等坑的人却有那么多。而往往不是一个光靠技术就能往上走的坑,为了更高的 Grade/Title,需要的都是技术 + 业务。这样一看,呀,纯技术路线在哪都发展不下去。那样一来,我们需要往何方走呢?

资深的下一个 Grade 就是 Lead Programmer,如 Basecamp(37signals,创造了 Ruby on Rails 的公司)在 GitHub 上标明的 Lead 程序员的要求:

  • 在多种编程环境中拥有深厚的专业知识

  • 能够为大型项目运行和指导小团队

  • 能够跨多个领域执行项目(例如,需要 API 后端的原生应用)

  • ……

换句话来说,我们要能够完成站在整个系统的角度来看待问题。作为一个资深的程序员,或者 Tech Lead,我们往往从自己的那部分前端、后端出发,来考虑整个系统的问题。而作为一个更高级别的程序员,需要拥有更好的功能,来掌握更多的技能。但是,这一点让我又考虑去了程序员的专与广的问题:

  • 作为一个 Junior 级别的程序员的时候,我们要追求广度,它能让我们找到适合的方向。

  • 作为一个 Senior 级别的程序员的时候,我们要追求深度,它能让我们证明自身的价值。

  • 作为一个 Lead 级别的程序员的时候,既需要广度而又需要深度。

这大抵算是对于大部分人来说,如我,会有一个更清晰的方向。


定位:工程 or 研究


从长期来看,作为一个软件开发工程师、咨询师、前端工程师等,我们不得不为自己在职业上定一个位:WHO AM I ?在不同的职业生涯里,我们的定位都是不同的。

从 IT 领域上,大抵上可以分为:工程师 + “科学者”/研究员。前者偏向于工程,后者偏向于理论研究。看笔者文章的人,大抵都属于前者。但是吧,又得投入后者。

一旦,我们找到了合适自己目前的位置,便得去关心所在领域的最佳实践。如对于工程来说,我们要关注的东西是:

  • 可演进式架构

  • 编写可维护的代码

  • 更好的工程实践

对于理论来说,我们关注于原理与设计。要合理的分配两者的学习比例。

若你和我一样是一个工程师,又喜欢研究理论。日常的编程中,多数的研究相关的内容是用不上的,往往是工程上用的东西比较多。不过只靠实践,往往也是不够的,还需要进行一定的理论和创建研究。在合适的时候,需要适当地分配一下比例,如 80:20 的比例。

在职业阶段的不同,又需要对编程领域细分,如前端、后端、原生应用、blabla。只是这点细的分类,并没有太多的差异。从笔者的经验来看,能用一个语言编程的人,再换个语言编写业务代码,并不是一件困难的事。唯一麻烦的地方,角色的转变——你可能没有意识到现在的位置,它需要你去做什么,而不是抗拒它。


靠持续投入,而依赖才华


职业生涯的早期,写代码靠的是才华。但是随着时间的变化,若是没有持续地投入,也有才尽的时间。就这一点上,就 IT 行业,又或者是不同行业中,我们都可以看到一些端倪。

今年劳动节,我和花仲马去马来西亚玩的时候,我们买了本春上村树的《身為職業小說家》,即《我的职业是小说家》的繁体版本。繁体版本是传统的坚版,由右到左的排版方式,我便又饶有兴趣的看了一遍。最大的体会便是:越有造诣的人,则越投入得越多越长。

如村上春树,上班族打卡,早上起来雷打不动坐在写字台前写作 5、6 个小时,每天必须完成四页稿纸。三十年来天天坚持跑步,真是一点儿也不浪漫。

如若我们看待编程的方式是,它不仅仅是收入的来源,还是乐趣的来源。那么,我们会持续不断地投入。而这种投入,依靠的还是一定自律。如若只是每天完成工作上的代码,怕也算不是投入。除非,它能为我们带来更多的乐趣。对于工作能否带来真正的乐趣,智者见智吧。

我害怕的一种生活状态,便是每天加完班,加到家里,再也不想写代码。哪怕是再好的才华,再高的兴致,也容易被磨灭开来,成为别人家的机器。

而所谓的才华,大抵便是悟性。而悟性这种东西,往往不是练出来的,更可能是看出来的,或者是对话出来的。才华,便也是笔者最讨厌的玄学——说了,我自己也不懂所以。而这种才华,便也算是运气,有时候是在非自己的工作领域中领悟出来的。

自律、体力、耐性,就是这么不佛性的三要素。


适当地输出


在 IT 行业里,做得有声有色,得是能拿出一些作品。或是借助于公司的产品,来体现自己的出色;或是创造自己的项目,来展现自己的乐趣;又或者是写自己的文章,表达自己的编程观点。

输出,大抵是到目前为止,我使用得最好、广泛、有效的技术。因为看到它对自己带来的一系列成长,便也将它作为自身技能的一部分,持续不断地磨炼。输出的内容可以是:演讲、代码、开源软件、文章。

而输出有一个大前提是输入,如编程实践、阅读书籍等等。如此说来,这种活,倒也不是阿猫阿狗能轻轻松松做到的,还得经过一系列的思考,。但是总有一些人吧,总是可以轻松地复制和粘贴别人的观点。若没有加以实践,有些东西还是经不得推敲的。在阅读的时候,只需要细微地思考一下,也便能识别出来一些端倪。

如我擅长的写作,对于自己而言,还有别的技能提升:

  • 系统性思考

  • 逻辑思维

  • 观察能力

在写文章的过程中,会不断强化这些技能。如果我们想快速进入一个领域,便可以以输出来强化知识输入的能力。

这输出不仅仅是一个能力提升的话题,还在持续不断地提高你的影响力。再好的技术,没有方式和能力对外展示出来,就不要怨天尤人。从技术实力上来说,我大抵是比同龄人的平均水平,多一点点。但是多了这份影响力,便多了不止一点点。它可以用在扩大团队规模上,提升整体的技术水平。


持续的挑战


持续的挑战,在这里指的是:尝试新的可能性,学习新的技术。

若是每年都安安逸逸地,没有一点新的气息,再好的斗志,也会被岁月磨去。这样一看,学习什么东西,似乎一点儿也不重要。我们要的是一种心态,它能让我们接受新的事务——虽然我们可能并不认同,但是也能接受它的存在。

哪怕是随着年龄的增大,其它事务的不断增多,学习的时间越来越少。我们只有持续不断地学习,保持一种学习的心态。面对一些新的事务,便也不会有害怕的心里。

到底也是这些年,看到越来越多的技术人员,因为各种原因,荒废了技术。便也意识到这方面的战略意义,你呢?是不是也存在这样的问题呢?


领域知识


某个框架,某个语言,只是解决问题的方式之一,而非是唯一的解。

不讨论框架,不讨论语言,我们只讨论领域。而我们讨论领域的时候,指的是技术及非技术相关的领域。而技术只是其中的一个领域,但是是非常小的一个领域。不过,从技术的角度来看,跨领域的工程师机会比较多,可能性也比较高。一旦如此,我们也越能解决跨技术领域的问题。又如我们在开头所说,它有助于我们成为更好的程序员。

与此同时,我们会发现,我们往往缺少技术以下的领域知识,如金融、物流。而这是这些领域知识,它可以为我们的职业生涯带来更多的价值。越是我们平时觉得不起眼的东西,在我们寻找工作的时候,有相应的背景,反而能为我们带来更多的价值。

作者简介:黄峰达(Phodal),ThoughtWorks Senior Consultant,CSDN 博客专家。长期活跃于 GitHub、CSDN,专注于物联网和前端领域。出版著作《自己动手设计物联网》,以及《Growth:全栈增长工程师指南》等六本电子书,并译有《物联网实战指南》。

本文经授权转自作者公众号「Phodal」。

 热 文 推 荐 

☞ 为什么 ofo 彻底凉了?| 畅言

☞ 12306 承认用户信息被卖;比特大陆两 CEO 均卸任?苹果又被起诉 | 极客头条

☞ 12 月 Web 服务器调查:“王者” nginx 增长最快!

☞ 无业务不技术:那些誓用区块链重塑的行业,发展怎么样了?

☞ 下一次 IT 变革:边缘计算(Edge computing)

☞ 12306 脱库 410 万用户数据究竟从何泄漏?

☞ 年度重磅:《AI聚变:2018年优秀AI应用案例TOP 20》正式发布

☞ 老程序员肺腑忠告:千万别一辈子靠技术生存!

print_r('点个好看吧!');
var_dump('点个好看吧!');
NSLog(@"点个好看吧!");
System.out.println("点个好看吧!");
console.log("点个好看吧!");
print("点个好看吧!");
printf("点个好看吧!\n");
cout << "点个好看吧!" << endl;
Console.WriteLine("点个好看吧!");
fmt.Println("点个好看吧!");
Response.Write("点个好看吧!");
alert("点个好看吧!")
echo "点个好看吧!"

点击“阅读原文”,打开 CSDN App 阅读更贴心!

喜欢就点击“好看”吧!
登录查看更多
0

相关内容

程序员可以指在程序设计与互联网某个专业领域中的专业人士或是从事软件撰写,程序开发、维护的专业人员。
商业数据分析,39页ppt
专知会员服务
159+阅读 · 2020年6月2日
德勤:2020技术趋势报告,120页pdf
专知会员服务
190+阅读 · 2020年3月31日
【干货书】流畅Python,766页pdf,中英文版
专知会员服务
224+阅读 · 2020年3月22日
Python数据分析:过去、现在和未来,52页ppt
专知会员服务
99+阅读 · 2020年3月9日
《代码整洁之道》:5大基本要点
专知会员服务
49+阅读 · 2020年3月3日
【2020新书】数据科学:十大Python项目,247页pdf
专知会员服务
212+阅读 · 2020年2月21日
每个架构师都应该培养业务思维
InfoQ
3+阅读 · 2019年4月21日
我在知识星球这一年
码农翻身
10+阅读 · 2019年2月28日
AI产品经理从业指南
产品经理读书会
5+阅读 · 2018年8月11日
薪水你自己填-番外篇
待字闺中
4+阅读 · 2018年6月13日
在公司一直“涨薪”的程序员都关注了这些......
2年Java经验,真的就拿不到30万年薪吗?
程序员观察
3+阅读 · 2018年4月8日
机器学习小白如何成长为业内专家?
深度学习世界
4+阅读 · 2017年12月4日
荐号 | 如何快速成长为优秀工程师,这7个公号告诉你
机器学习算法与Python学习
3+阅读 · 2017年11月12日
TResNet: High Performance GPU-Dedicated Architecture
Arxiv
8+阅读 · 2020年3月30日
Arxiv
5+阅读 · 2018年12月18日
Physical Primitive Decomposition
Arxiv
4+阅读 · 2018年9月13日
Arxiv
6+阅读 · 2018年2月6日
VIP会员
相关VIP内容
商业数据分析,39页ppt
专知会员服务
159+阅读 · 2020年6月2日
德勤:2020技术趋势报告,120页pdf
专知会员服务
190+阅读 · 2020年3月31日
【干货书】流畅Python,766页pdf,中英文版
专知会员服务
224+阅读 · 2020年3月22日
Python数据分析:过去、现在和未来,52页ppt
专知会员服务
99+阅读 · 2020年3月9日
《代码整洁之道》:5大基本要点
专知会员服务
49+阅读 · 2020年3月3日
【2020新书】数据科学:十大Python项目,247页pdf
专知会员服务
212+阅读 · 2020年2月21日
相关资讯
每个架构师都应该培养业务思维
InfoQ
3+阅读 · 2019年4月21日
我在知识星球这一年
码农翻身
10+阅读 · 2019年2月28日
AI产品经理从业指南
产品经理读书会
5+阅读 · 2018年8月11日
薪水你自己填-番外篇
待字闺中
4+阅读 · 2018年6月13日
在公司一直“涨薪”的程序员都关注了这些......
2年Java经验,真的就拿不到30万年薪吗?
程序员观察
3+阅读 · 2018年4月8日
机器学习小白如何成长为业内专家?
深度学习世界
4+阅读 · 2017年12月4日
荐号 | 如何快速成长为优秀工程师,这7个公号告诉你
机器学习算法与Python学习
3+阅读 · 2017年11月12日
相关论文
Top
微信扫码咨询专知VIP会员