首页 > 其他 > 详细

编程漫谈(十二):谈谈编程职业

时间:2017-01-07 12:10:22      阅读:214      评论:0      收藏:0      [点我收藏+]

  

      回想一下, 选择编程开发作为职业对于我这样不善交际的人是比较幸运的。

      第一,编程不需要高精尖的科学学术背景和高大上的设备,而对逻辑分析思维和语言表达能力要求很高,需要深且广的计算知识体系和条理清晰的语言表达才能写出像样的不被同行骂的程序(事实上只有顶尖技术大牛写的程序不被骂),能够持续理解和完善日益复杂的大型逻辑系统,编程行业所需的知识壁垒可以过滤80%的人类同行竞争,—— 让我安静滴做个写程序的魅男子吧!
     
      第二,编程需要细致耐心严谨的处事个性,多或少一个分号或逗号或括号就会让人盯着屏幕看花眼掉下若干截美发;这可以迫走一部分无法忍受无法坚持的职业同行;我的个性相对细心平稳,尚且无碍;
 
      第三,由于计算行业日新月异,编程需要持续地学习和应用新技能。当用新思路去解决旧问题时会发现许多技术工程挑战,而不是大量的体力活,如果存在很多体力活,说明要转换思路来做,比如写单测花时间,试着自动化生成单测,会迫使学习大量高级语言特性和编译器相关的知识才能做到,甚至会反过来优化程序的设计和实现方式;如果要清洗大量脏数据,试着去改进领域模型、数据存储设计和前端设计;当需求过多要加班时,不妨从整体上思考产品的设计以及用户的真实需要,从架构和模型上优化实现的通用和可扩展性,实现具有内在系统逻辑性的产品和容易复用可扩展的软件,而不是功能堆砌的摇摇欲坠的臃肿实体。这也是智力的高度挑战。如果智力不够用,就需要大量体力和时间精力来补偿。而这些体力和时间精力本可以用于创造更强大自动化的系统。如果搬不动大石块,试着找一些支点去撬动它。这涉及到对事物原理的理解和应用,而不是无章法的蛮力。说因为体力跟不上干不过35岁根本是鬼话。根本原因是基础不扎实智力不够用体力又无法补偿。那些基础扎实智力跟得上的人活得不要太好。
 
     编程开发是一个智力中高度密集型的职业(但不像科学研究那样需要超高度专业型智力才能做出成就)。我理解的智力包括“专业型”、“情商型”和“社交型”智力,智力泛指理解和应对信息变化的意识能力,并不限于专业知识技能的理解和掌握。它与体力相对,体力指移动物理实体克服地心引力并保持活力所需的力量。编程开发需要保持脑力思考问题和双手敲键盘的持久活力,因此需要大量脑力性体力和一定的简单操作性体力,但不需要操作机器的复杂操作性体力和大量移动自身或物体的奔波性体力(嗯,可以针对不同职业探究其智力与体力成分及分类)。编程开发越来越需要多人的协作,需要很多交流和协调,是80%的智力+20%的交流,并不像人们想象的坐在屏幕前一天到晚敲键盘。这也比较接近我理想中的职业模型:64%的安静深研+36%的社会活动。
 
     综上所述,编程是一个具有持续增长型智力壁垒的职业,可以自然地过滤98%的人类同行竞争,唯一的要求是,你要喜欢和享受智力的挑战,能通过这个职业设置的智力考验,具备日益精深的计算功底和友好的交流技能,持续精进,才能长久地生存下去,享受这份职业带来的安宁和红利。事实上,我并不是非常擅长编程开发,与编程开发职业的契合度大约是80%,与人类异常极客黑客还存在不少差距。不过这已经很不错了。特别要注意的是,多注意身体的活力和健康,懂一点情商和社交,学一些人文,找一位看得顺眼的异性伴侣,生一个聪明的小宝宝,再加上一份契合度88%的职业,人生从此幸福啦!
 
    PS: 要除掉bug,就必须移除错误源。错误源就是报bug的人。程序员的使命是,创造一个强大的AI,移除所有报bug的人!
 

编程漫谈(十二):谈谈编程职业

原文:http://www.cnblogs.com/lovesqcc/p/6258889.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!