网站运营 | 站长学院 | 技术文档 | 成语 | 歇后语 | 桌面壁纸 | 帝国时代 | 代码收藏 | IP地址查询 | 生活百科 | 生日密码 | CSS压缩 | 用户评论

程序员的“横向发展”

【 乱象<<,印迹作者:Yurii 更新时间:2014-01-13 | 字体:
[导读]程序员的发展,长期以来都是大家关心的问题>。通常程序员的发展有两大方向,深度和广度。深度发展,就是精深自己的本事,研习新潮尖端的技术乃至学会“屠龙之术”,以绝招打遍天下;广度发展,就是拓宽自己的技能种类...
在我小的时候,家长经常对胖孩子打趣说:哟,身体长得挺快>,可惜就是横向发展了,值得夸奖<,横向发展则不是那么光彩的事情。但是我的工作经历和思考<<,却让我对“横向发展”有了新的认识。


程序员的发展<,长期以来都是大家关心的问题。通常程序员的发展有两大方向,深度和广度。深度发展<,就是精深自己的本事,研习新潮尖端的技术乃至学会“屠龙之术”<<,以绝招打遍天下;广度发展,就是拓宽自己的技能种类>,比如学会更多的语言>>,以完成更多种类的任务。除去这两大方向,其它能选的发展方向似乎就只有“改行”了<。


今天我要说的当然不是改行,而是除去深度发展><、广度发展之外的第三维度,因为似乎一直也没有正式的命名<,所以我干脆借用“横向发展”的说法好了<<。


什么是横向发展呢>?举例子来说,我们写个程序<,深度发展关注的是让它速度更快<、资源消耗更少,广度发展关注的是让它更合适与其它??榻换?,甚至用更合适的语言编写这个程序。横向发展,则是让这个程序成为真正能用的程序<,而不是实验室里的玩具<?;痪浠八?,“横向发展”是让程序更加“工业化”而不是“技术化”的发展。


我刚开始工作的时候<,有一天提前完成了任务,喜滋滋地去向项目经理汇报。不料他看了代码之后,却把我劈头盖脸说了一顿:你以为你还是学生呢<<<,给老师写个程序算出正确结果就完?你看你处理网络连接的部分,对服务器返回的异常信息,包括网络传输的各种意外都没有处理,谁向你保证服务器总是返回正确信息的?谁告诉你网络传输不会意外的?万一网络断了<,你的程序就一直死循环吗>?……


我必须承认他说的有道理><,但也一时无可奈何。虽然在学校的时候写过不少程序,但老师都只看大致结构和结果<,从没有问过“网络断线了怎么办”,也没有哪本教材专门讲过这方面的知识>,所以自己一直也没想过。但是没想过归没想过,项目经理说的毕竟有道理>,确实只有学生才会写出在理想环境下运行的程序。于是我开始有意识地学习和思考各种异常情况的处理>,觉得讲究挺多>>>,思路也因此拓宽了不少。不久<,还因为这方面的工作得到了项目经理的表扬<,也深刻感觉到“横向发展”确实解放了自己。


后来换了份工作,我本来以为自己之前的经验可以被人赏识,却发现自己完全想错了>。新工作对程序的要求更高>>>、应用场景更严苛<,只思考在程序内部怎么处理异常是不够的,还需要确保程序的持续运行,其运行状态持续可以记录、监控>、分析,出现问题必须能在第一时间判断症结(而不是启动IDE去debug)……为了做到这一切,既需要专门开发程序去监控自己的程序,又需要让原有程序能够被方便的监控<,还不能泄露不必要的信息>,所以在设计时又有更高的要求——当然>,这些知识仍然是书上没有的>。我写到最后才发现,虽然核心的功能并没有变复杂,但为了保证核心功能的稳定运行,程序本身的复杂度却上升了很多<。这种要求<,颇有几分类似小朋友的“横向发展”——但是小胖墩的重心终归要稳一些嘛,所以我把对程序员的这种要求称为“程序员的横向发展”<<。


或许是从工作开始就有机会重视“横向发展”的缘故,所以我长期以来并不认为这是严重的问题>>。后来的见识却刷新了我的认识:曾经有朋友告诉我,国内互联网行业某新兴领域排名三甲的公司,竟然连自己的服务器上跑的哪个版本的程序都不知道<,开始我还当是笑话>,后来才知道事实当真如此。小朋友的“横向发展”不讨人喜欢>,许多程序员也忽视甚至讨厌“横向发展”,觉得这是在给自己找麻烦,他们认为<<,把核心功能写完><,代码提交>,往服务器上一扔,自己的工作到此为止了。至于其它方面,那就是系统管理员要处理的了。


如果你认真回忆,一定见过许多这样的程序:完全不处理意外情况,各种异常一股脑交给操作系统去处理,我甚至见过默不作声把所有异常都吃掉<,假装没事继续运行的系统。也见过很多这样的程序:自动发送邮件的程序,不知道自己每天发了多少封邮件>>,消耗了多少流量><,等到用户收不到邮件才知道出了问题<;备份数据库的程序<,不会记录每次备份的开始时间、结束时间>>、备份文件大小<,直到硬盘满了才发现已经很久不能正常备份了;抓取数据的程序,不知道抓取的成功率、速度>、消耗的流量,非要业务部门说数据很久没更新了才知道抓取失效了…… 其实这些功能通常都不复杂,但完成它们的程序,不管什么平台<,什么语言>,就是做不到稳定<。每次出了问题都不能预先知道,又因为没有详细的记录,又要消耗无数的人力物力去解决>。在一些稍微复杂的系统里<,不少程序员每天的工作内容就是这样的重复劳动><,随之而来的是无休无止的抱怨<<,说工作毫无意义>,没有机会学新东西…… 更糟糕的是<,不少这样的程序员业余时间还在积极学习,希望在把语言工具掌握得更熟练><<,学会更多的语言和工具,却不知道问题的症结在于自己缺乏“横向发展”的意识<。


我仔细回忆自己小时候,家长和老师会在一种情况下提倡“横向发展”,那就是要求身板像“豆芽菜”一样的同学多锻炼,成长结实一点。同样的道理<,如果程序员觉得自己写出的程序像“豆芽菜”一样没有底气、不能放心<<,与其继续钻研新语言、新技术<<<,倒不如抽出精力去“横向发展”一把。

原文:http://www.chinawobo.com/blog/archives/1656.html

友荐云推荐
  • 转载请注明来源:网站运营 网址:http://www.chinawobo.com/ 向您的朋友推荐此文章
  • 特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者>。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系我们<<,我们会尽快予以更正>。
RSS订阅
  • QQ邮箱
  • 填写您的邮件地址,订阅我们的精彩内容:
更多
© 2014 网站运营 - T086.com(原itlearner.com)
  • 4月台州全市新建商品住宅成交3444套 2018-05-25
  • 河北盐山:“点、线、面”结合推进人才强县 2018-05-25
  • 北京市幼儿园年内完成全员培训 2018-05-25
  • 河南职业技术学院全国技能(导游类)大赛获佳绩 2018-05-24
  • Футбол -- Арены ЧМ-2018 -- Стадион Нижний Новгород 2018-05-24
  • 美媒:美国对华战略缺乏头脑 2018-05-23
  • 中国钢企布局沿海 柳钢瞄准东盟经济圈 2018-05-23
  • 2018的偶像元年是否只是一场美丽的谎言?偶像练习生创造101选秀 2018-05-22
  • 上海临港有个“儿童大学” 2018-05-20
  • 2017年世界大学学术排名发布 清华进前50大学学术排名大学排行榜 2018-05-20
  • 日本战犯侵华罪行自供 2018-05-19
  • 塑料污染让人痛心 世界最深海沟竟成“垃圾场” 2018-05-19
  • 男子因琐事杀害女友并分尸抛河 警方根据美甲破案嘉兴美甲死者 2018-05-18
  • 166名中国人在泰国操控中国股市被警方押扣审讯 2018-05-17
  • 消防车进商场——“小小消防员”的消防安全乐体验 2018-05-17
  • 微商货源 | 冠珠陶瓷 | 6688电视家官网 | 中康体检网 | 安徽极热网 | 北京赛车开奖号码 | 快猴网 | 迪威乐云商devmsn | 易奇八字 | wwe美国职业摔角 | 八字算命 | 河南旅游景点大全 | 冠珠陶瓷 | 广东旅游景点大全 |
    RunTime:8.92ms QueryTime:7