有下面两种说法:

一种是“程序员到了35 岁就要被裁员了”。

还有一种是“程序员是4D工种:dirty,difficult, dangerous, dreamless”。

但这些说法,并不是所有人都认同,比如我们的一个韩国作者。

这些说法与我的经历大不相同,所以我完全不能理解为什么会有这样的传言。

我并不认为程序员这个职业比其他职业更辛苦。韩国自然资源缺乏,更要通过人才去创造附加价值。我认为,劳动密集型产业使得大部分行业无比辛苦。韩国的代表性产业是制造业,为了提高制造业的效率,只能通过延长工作时间来实现。韩国制造业的中心从轻工业转变为重工业,现在,IT 产品制造业成为新一代的出口主导产业。在韩国主要产业变化的进程中,软件和程序员起到了支持作用,工作环境也通常会随着甲方的变化而变化。

在中小企业工作的程序员对恶劣的工作环境颇有不满,但我不认为韩国代表性大企业——三星电子或LG 电子的工作环境有多好。通常身处甲方位置的都是主业务,而负责软件开发的总是乙方,所以仅能追随甲方的脚步而已。

但现在,软件行业的处境正在改变,原因可以总结为以下几点。

软件业转变为甲方

为了在全球竞争的时代存活下来,韩国业界必须快速适应市场变化。行业趋势已经从以前的以硬件制造为中心,转变为以“苹果”和谷歌主导的软件为中心。竞争方式也正在转变为硬件业务外包、软件提供平台。

韩国的软件行业虽然还没有发展到主要产业的程度,但现在也已经占据了无比重要的地位。如今的软件行业不再是硬件的附属品,人们已经开始认识到,注重软件品质才能将产品销售出去。

除此之外,工作环境有望逐步改善。每个公司的管理层只有在向软件开发人才强调加班对制造业的重要性后才会明白,这对提高效率和提升品质并没有什么作用。如果将软件开发视为单纯的制造业,那么最终只能被市场淘汰。因为软件开发不是体力劳动,而是脑力劳动。当程序员压力大或感到厌烦时,开发出的产品品质只会下降。现在越来越多的公司都认识到了这一点,程序员的整体工作环境将会得到提升。

需求增长

伴随着产业的发展,软件行业站在了竞争的中心,对程序员的需求也迅速增长。企业为了寻找高质量人才而常年开展招聘,谋求具有相关经验的人、有实力的“大牛”。人才储备短缺,但需求却在不断增长,造成的结果就是成本增加。比如,具备相当水平的程序员的储备量不断下降,需求量却不断上升,导致一直稳定的软件程序员的人工成本从2009 年开始上涨。

从发达国家相关产业的发展中,可以看出这个职业的前景。就韩国来说,人们喜欢的职业通常是医生、律师等,但未来可能发生改变。国际竞争机制正在变化,随着产业的不断升级优化,韩国也会顺应时代的发展逐步变化。三星电子新设立了软件部门并开始大规模招聘,正是为了应对这种变化而做的准备。当产业结构发生变化时,人们对职业的喜好也会随之改变。通过美国现在的职业喜好度排名,可以预测韩国未来的职业喜好趋势。下表中的分数分别代表了各行业的工作环境和人们的喜好程度。

美国2013 年“最受欢迎的工作”

我认为,程序员这个职业前途无量。虽然支柱产业的归属总是“三十年河东,三十年河西”,但至少在这个年代,程序员的上升空间非常大,因为正是程序员才使得我们梦想中的未来逐渐实现。无论主流软件怎样改变,最基本的软件是不会衰退的。只要在市场发展的进程中坚持努力、不被淘汰,就一定能享受到“程序员”这个职业带来的红利。而专家更是如此。

程序员者,专家也

程序员熟知编程语言、算法、数据结构、计算机系统专业知识,对欲创建的对象进行分析、设计、调试、实现UI 并正式运行。光看这些名词就知道,这并不是一个容易上手的领域。所以程序员需要不断扩充自己的知识储备,对技术有更深入的了解,与时俱进,然后一步一步成为专家。只有成为专家,才能在艰苦的环境中获得较好的待遇。

专家并不一定从事某个特定的领域,我们只需要在自己当前从事的领域内做到最好,积攒经验并能灵活运用。重要的是,要认为自己就是专家,具备向其他人推销自己的信心,不断提升自我实力。

瑞典斯德哥尔摩大学的安德斯·埃里克森教授提出了“10 年法则”:要想在任何领域成为大师,至少需要10 年的不懈努力。此处重要的是,10 年间的努力是“用心”还是只“用力”。

决定做一件事情时,大部分人都会在初期下定决心、付出全部,但随着时间的流逝,由于未能在短期内达到预期目标,很多人便会失去信心和积极性。如果不能跨过这道坎而只满足于现状,那么就会原地踏步。这样的人数不胜数。至少要付出哪怕比这些人稍微多一点点的努力,才有可能在自己的领域中冒尖。要想成为在10 年间不断发展、成长的程序员,必须将自己置于艰苦的环境,不断积累经验教训,只有这样才可能成为专家。

在同一行业或同一家公司工作3 年后,基本可以掌握成为技术人员所需了解的98% 的知识。从业3 年的程序员和从业10 年的程序员做出的软件在外观上看不出什么差别,只有实际使用时,才能体会到二者的稳定性和维护便利性存在很大不同。这是决定项目成败的核心要素。从业时间长的程序员具备积攒多年的实力和经验,只懂技术的人无法与之相提并论。技术员与专家的距离只有2%,但这2% 却需要用7 年以上的经验去填补。为了那2% 的空缺,专家需要用至少7 年的时间去创造只属于自己的独家秘诀,总结个人经验,提高实力。也许有人会想:“就为了那区区的2%,有必要花费这么长的时间吗?”若想成为被认可的专家,必须付出比这更多的努力。

我们耳熟能详的那些成功人士,无一不是经过长时间的磨炼才获得今日成就的。他们不只致力于98% 的技术,而是将更多的时间和精力用在了那欠缺的2% 上,为了达到甚至超越100%,他们无惧一天一天近乎残忍的磨炼,最终获得了成功。这种积攒实力的过程正是在自己的领域出人头地的保证。

神经学家丹尼尔·格拉德威尔也提出了相似的理论。他认为,要成为某个领域的专家,需要10 000 小时。10 000 小时是什么概念呢?我们可以这样计算,如果每天工作3 小时,每周工作20 小时,那么成为一个领域的专家至少需要10 年。这就是“10 000 小时定律”。

这个时代需要的是有实力的专家,如果你是一名具有100% 技术能力的专家,那么机会自然会找上门来。从我们羡慕的专家身上不难看出,他们都在自己的职业中有着突出的业绩。这些人正是通过工作和职业发掘自身才能的,他们不是为了挣钱才工作,而是为了实现自己的理想和抱负而努力。也就是说,如果只是为了维持基本生计而工作,那么很有可能半途而废。

让我们看看美国计算机科学家、Sun 公司(已被“甲骨文”收购)创立者之一比尔·乔伊的事例。乔伊在20 世纪70 年代初开始学习编程。当时的计算机可谓庞然大物,一台计算机可以占满一个房间,而价格也超过100 万美元,且内存容量和CPU 运算性能非常不尽如人意。在那个年代,能接触到计算机本来就不是一件容易的事,编程更是难上加难。当时的编程是在穿孔卡片上打孔实现的,所有代码都用打孔机打孔来记录。如果想编一个复杂的程序,就需要几百甚至数千张穿孔卡片。可以想象在这种环境中,要成为一名程序员该多不容易。一位计算机科学家这样描述当时的环境:“用穿孔卡片编程,这不是在学习如何编程,而是在培养耐心和纠错能力。”计算机就在这样的条件下慢慢发展,直到计算机科学家们开发了计算机共享系统。

从此,计算机共享系统取代了穿孔卡片,乔伊也开始使用共享系统进行编程。幸运之神再次眷顾,校方为他24 小时开放计算机室,从那时起,乔伊开始了夜以继日的编程生活。通过坚持不懈的反复尝试,当重新开发Unix 代码的需求浮出水面时,乔伊最终得以胜任。乔伊日后回忆起最开始编程的那段时光时说,他花了10 000小时,也就是10 年的时间。写程序的人都知道,熬夜写代码是家常便饭。但如果像乔伊这样享受编程,就能将永不枯竭的精力转换为对工作的热情。

成为编程专家的条件

通过整理不难看出,成为专家最重要的因素便是“10 年法则”和“10 000 小时的努力”。看到这里,如果各位立志于成为专家,那么必须全身心地实践“10 年法则”和“10 000 小时的努力”。

“现在再去实践‘10 年法则’已经太晚了吧?”如果各位有这样的想法也不要放弃,你需要的只是加倍的努力。什么时候开始并不重要,有意义的是“已经开始了”。此外,从觉醒的那一瞬间起,之后10 年要如何度过则更为重要。如果已经具备足够的经验,那么不一定需要10 年。

我还想强调一点,在这10 年时间里,不能只专注于编程而完全不涉猎其他领域。换句话说,不要成为一个除了编程什么都不会的“傻瓜程序员”。

这是一个学科交叉、领域交互的时代,编程也会与各种各样的领域产生联系。只有对相应领域有足够认识,才能编写出正确的程序。史蒂夫·乔布斯曾经说过:“‘苹果’正是借助了技术与人文学的交叉点,才创造出了具有革命性的产品。”我们不知道何时会为何种领域编程,所以我建议大家,平时广泛涉猎各个领域的书。这个建议是最现实的,也最容易实现。在现实生活中,我们经常能见到只专注于编程的程序员,我个人觉得非常可惜。如果你看美国情景喜剧《生活大爆炸》时,觉得主人公身上有自己的影子,说明你需要改变。那么,现在开始去涉猎更多的书吧。

一个组织中,会有一种“30-40-30”法则,意思是30% 的人对该组织有贡献,40% 的人维持现状,剩下的30% 需要他人帮助。其中,对组织有帮助的30% 的人就是专家。现在是专家急缺的时代,一名好的程序员也必须是这个行业的专家。各位准备好成为一名优秀的编程专家了吗?

我们需要警惕的并非不知何时会发生变化的外部条件,而是安于现状的自己。如果10 年如一日坚持不懈地充实自我,终有一日,你必将成为优秀的编程专家。

站在巨人的肩上

初级程序员接到自己不知道的内容的程序开发任务时,会感到相当尴尬。即使有一些基本的知识储备,但因为经验不足,哪怕业务并不完全陌生,也会因为找不到开发方向而手足无措。此时,处境尴尬的初级程序员就会紧急求助互联网,进入编程相关的网站参考,需要时也会直接“获取”(Ctrl+C,Ctrl+V)源代码。有些网站设有问答板块,十分便利。但是,我并不推荐这种编程方法。

对于程序员来说,编程既是“业务”,同时也是“学习的延伸”。面对雨后春笋般出现的新技术,程序员一定要不间断地学习,从学习中掌握。相较于“明白就好”,更优秀的做法是,通过学习达到可以进一步发展的程度。这样说会让人认为是“死心眼儿、不知变通”,但程序员从业5 年、10 年后,不可能依然只找寻简便方法。若想顺利处理事务,必须具备优质信息。现在的问题不是信息不足,而是如何在低质信息的洪水中寻找优质信息。最有用、得到最广泛认可的获取方式就是——书本。

人们有自己希望得到的知识或想做好的事情时,就会去书本中寻找答案,从单纯的兴趣爱好,到与从事的工作相关的专业知识,都想涉及。比如说,如果想做好理财,需要阅读沃伦·巴菲特、罗伯特·清崎等在该领域取得杰出成果的大师的著作,从中寻找理财秘诀。只知道秘诀还不够,还要学习他们的理念和哲学。即使不能完全照搬,但可以以他们的方式为蓝本,帮助自己制定计划。

与编程相关的书也是一样的。编程界的大家有史蒂夫·麦克康奈尔、查尔斯·彼佐尔德、斯科特·梅耶斯、本贾尼·斯特劳斯特鲁普等,阅读这些大师的著作可以间接获得他们从业多年总结的秘诀。

学习需要好的老师,书本就是老师的替代品。专业大师的著作就是他们一生的缩影,我们可以以低廉的价格获取他们的秘诀和信息的精髓。需要时可以随时翻书,给后辈讲授自己熟悉的知识时也很方便。不仅如此,学习当下需要的知识的同时,还可以接触其他各种主题和内容。自己知道的主题越丰富,接触其他类型的业务时,就越能比之前更加游刃有余。

除了书本,我还希望大家从公司经验丰富的前辈那里请求指点。如果不方便询问编程知识的方方面面,可以从开发技巧、减少错误的方法、设计的诀窍等开始提问,也可以询问能否直接使用从编程网站上获得的内容。

编程的学习方法

不仅限于技术方面,程序员无法找到符合自己的正确发展方向时,也可以就这一问题向经验丰富的程序员请教。确定发展方向后,再深入研究相关领域,进而成为该领域的专家。这种在特定领域中成为专家的人叫作“I 型人才”,此后不断扩大知识面,便可成为“T型人才”。自己亲自请求到的指点是量身定做型的,与网上那些片面的知识有很大不同,所以可以帮助我们更上一层楼。

但由于时间和环境的制约,我们并不容易见到大师。此时,通过拜读他们的著作,间接学习秘诀并付诸实践,不失为一个好方法。

任何事都没有捷径。即使走上最慢、最绕的路,最终也会通往正途,这才能走得更远。总是纠结于“走哪条路更快”“哪种方法才正确”,最终将一事无成,这种情况屡见不鲜。与其胡乱翻过很多本书而犹豫不决,不如精读一本。认真“啃”下一本书后,阅读下一本时可能会产生一些变化。所见即所知,从书中看出的东西越多,自己的知识储备就会越丰富。

本文内容选自《程序员进阶之路:从码农到中层管理者》。

程序员未来必将成为中层管理人员,此时感到欠缺的就是“领导力”。本书讲解了高级程序员、项目管理人员必须具备的领导力,以及如何具备。

书中介绍的不是枯燥的理论,而是作者运行项目时积累的实际经验,通过多种角度讲述自身感受。读者可以通过本书可以了解程序员的特性,详细学习能够获得程序员支持的领导力。

“程序员并不是“只写好代码”就万事大吉了,还必须是 “管理团队”的一把好手。所以,如果一个程序员不能成为中层管理者,那么就只能被淘汰

既然不能一直做一线程序员,那么就应该以最快的速度适应。其实不只是“适应”,而是应当下定决心做好管理。虽然我满腔热血想做的是一线程序员,但还是要暂时放下代码,走上管理之路。从一线程序员转型为管理者并非一蹴而就,而是需要不懈地努力,并总结和学习各种经验教训。我在这一过程中并没有得到过来人的指导,也是自己经历了一切后,触发了将这些故事写下来与他人分享的想法。在本书中,我希望能与读者分享自己在成为一名出色的管理者这条道路上积累的知识、付出的努力以及收获的经验。

本书会告诉你,高效管理程序员需要树立的战略和成功所必备的要素。程序员出身的我们也许对管理方面的基础知识了解不多,但对程序员的心理和业务了如指掌。熟知团队成员的业务和特征为我们成为中层管理者铺平了道路,也是我们最有利的出发点。因此,我认为,以现有的经验加上管理方面的知识,各位一定能成为优秀的程序员领导。

程序员进阶之路-京东

程序员进阶之路-当当

☟ 程序员软技能

程序员到了35 岁就要被裁员?相关推荐

  1. 谁说程序员过了35岁之后就要去“送外卖”、“跑滴滴”?这几种发展走向照样解除焦虑

    前段时间在技术交流群里聊天,无意间说到了程序员35岁之后的未来规划,说到未来,大多数人都是"跑滴滴"."送外卖",虽是玩笑话,但的确是很迷茫. 说到程序员,在外 ...

  2. 为什么有些程序员悄无声息渡过35岁中年危机

    原文地址:http://blog.csdn.net/csdnsevenn/article/details/78909434 为什么有些程序员悄无声息渡过35岁中年危机? 今天分享是一些已经渡过中年危机 ...

  3. 程序员如何跳出35岁魔咒,史上最全思维图收集解救你

    时常有人在知乎.百度等平台抛出问题:程序员过了 35 岁或 40 岁是不是就失去了竞争力,要转管理岗了吗? 100offer 在2017年对其平台上的5844 位技术岗位求职者做了一个抽样调查,得出了 ...

  4. 年薪40W+,2018年程序员如何跳出35岁“失业”怪圈?

    时常有人在知乎.百度等平台抛出问题:程序员过了 35 岁(或 40 岁)是不是就失去了竞争力,要转管理岗了吗? 当然不是. 2018年程序员们将有更多的机会和前景. 2018年是新技术爆发年,大数据. ...

  5. 程序员到了35岁真的会失业吗?

    前言 程序员到了35岁真的会失业吗? 无论谁是领导,无论公司怎么调整,你是不是需要能出活的人?需要能够搞定事情的人?年轻人能加班?如果只靠加班.拼体力就能搞定,很多公司会让你加班加的怀疑人生. (文末 ...

  6. 程序员到了35岁就会失业吗?三位程序员UP主这样说……

    Q: 你自己也是 up ,然后会接触很多程序员群体,你觉得你在跟这些程序员沟通下来,他们会有一些关于年龄方面的焦虑嘛? A: 很多人都有,而且很多人都是,还没入行就开始焦虑了,就开始问我" ...

  7. 为什么说程序员过了35岁就退休的说法?

    现在大多数人都会问为什么程序员过了35岁就退休的说法?你知道吗?答案其实是这样的 不是说一个程序员35岁就老了,而是35岁的程序员在接收新的技术上不是那么的了如指掌了,而是开始变得琢磨不想现在在学校里 ...

  8. 我,程序员,马上35岁...

    每过一段时间,总能看到大家讨论程序员35岁的问题(所谓的程序员中年危机).笔者今天从员工自身发展的角度再来做一些思考和分享. 出路一:成为终身程序员 有一位程序员,1952出生.12岁就在编程界崭露头 ...

  9. 谁说程序员干到 35 岁就不行了?

    程序员干到35就不行了! IT行业普遍存在这种说法, 而且还有各种年龄版本, 有的说到30岁:有的说到35岁:有的说到40岁, 达到这个年龄上限就必须要调整方向去做管理.产品.业务等岗位的工作, 反正 ...

最新文章

  1. APK 本地化和去广告
  2. duilib入门简明教程 -- VS环境配置(2) (转)
  3. lnmp环境搭建:Centos7 + Nginx1.12.2 + Mysql-5.6.38 + PHP7.2.0
  4. linux关于mysql_Linux关于MySQL的常用操作
  5. 线粒体和叶绿体的基因组特点_如何组装植物叶绿体基因组
  6. mybatis plus 插入生成id_早点下班陪女朋友系列之Mybatis-plus代码生成器
  7. Linux下C++开发系列(一)序——我是如何开始linux下C++开发的
  8. APK反编译JAVA源码
  9. 计算机管理格式化没有顺利完成,内存卡无法格式化
  10. vb adodc连接mysql_VB中用ADODC控件连接ACCESS数据库
  11. 基于遗传算法的TSP算法(附代码)
  12. php hprose,基于 hprose/hprose-php开发的Laravel扩展:laravel-hprosed的介绍
  13. 【Visual C++】游戏开发笔记四十一 浅墨DirectX教程之九 为三维世界添彩 纹理映射技术 一
  14. python元编程的书_C++模板元编程 PDF 超清版
  15. Eloquent: 修改器
  16. ios代码中的内存泄露,内存检测工具leaks 检测不出来
  17. 2020省赛总结与反思
  18. Android通过WebSocket建立一个长连接(带心跳检测)从服务器端接收消息
  19. 入门级用户福音,阿里云推轻量应用服务器新流量包套餐,成本最高可降50%
  20. 迭代加权多元变化检测(IRMAD) python实现

热门文章

  1. 如何调整按钮里的文字的位置android_UI设计中按钮场景分析
  2. 【c语言】简单计算器
  3. php获取搜索框的函数,php获取搜索引擎入站关键词的函数
  4. HTML5 服务器发送事件(Server-Sent Events)介绍
  5. 堪称为经典游戏设计帖整理20个点击回复超高的精品贴
  6. Java 中 Comparable 和 Comparator 比较
  7. 书评与访谈:the Scrumban [R]Evolution
  8. 熟练Linux ,先从这 26 个命令开始吧
  9. [深入理解Android卷一全文-第九章]深入理解Vold和Rild
  10. 【C】——线程引入 pthread_self 和 pthread_equal 原因 ——解决不同平台的问题!