程序员如何走出自己的安逸环境

过去的几个月里发生的几件事情,让给政府做软件开发的人感受到压力的陡增,从奥巴马的医保网站饱受诟病到美国退伍军人事务部官方网站的预约系统从1985年起就没有更新过,这些事情让我回忆起曾经作为政府程序员的经历,以及这段经历如何变成一种一直督促我努力工作的思想动力。

我曾在某个政府部门维护过一个写于1990年代的老系统。当一个新的系统启动开发来替代部分的老系统功能时,很多的程序员对开发新系统的工作产生的严重的抵制心里。起初,我并不知道为什么他们会有这么大的反感。对这个系统维护一段时间之后,我才慢慢明白,有些程序员是专门维护系统,时间长达15年之久。当被邀请开发新系统时,他们对新事物和新技术都感到心里没底。

这让我警醒:这种事情也会很容易发生在我的职业生涯中。我可能会安逸的干着某一种工作,安逸的年年维护着某个系统。当这个系统长岁数时,我对它也变的更有价值,我的角色会最终变成专职维护它。我的余生也就整天执行相同的任务,直到退休。而当有一天,当这个系统不再被人需要时,我会发现外面的世界已经日新月异,我需要从头学起。

这可不是我希望的生活轨迹;我作为程序员喜欢的方式是学习新思路来解决新问题,而不是安于现状。我们程序员很容易迷住某一项技术而将全部精力都放在上面,对于其它的毫不关心。虽然这样可以让你在某一个领域成为专家,但你却得不到探索其它领域获得的更多好处。当意识到这种目光狭窄会扼杀我的进取心后,我开始避免让所有鸡蛋都放到一个篮子里,我开始走出自己职业仕途中的安逸环境。

学习新技术

你一直在用PHP编程吗?尝试一下使用Rails或ASP.NET。也许尝试一种新的语言或框架会让你感到受挫和沮丧,但探索的趣味也就在这里。至少,你应该看看同一种功能用其它语言是如何实现的。如何你只会用锤子,那你眼里所有的东西看起来都像钉子。

不惧怕老代码

虽然上面我举例的那个老代码的例子有些极致,但我并不认为所有的老代码都应该立刻替换掉、删掉。在如今的软件中,有很多稳固的、良好设计的程序代码,它们对那些只会使用集成开发组件的现代程序员来说是很好的学习教材。如果你的公司里有老项目、老代码需要你去维护,研究一下!你会吃惊于从中学到那么多的编程知识以及公司的业务规则。还会发现一些当前正在研究的问题,其实几年以前就有人已经解决了。

了解你的敌人

程序员很容易对某种语言或框架产生宗教式的虔诚。如果你发现自己曾经痛恨或鄙视某种技术(参看Jeff Atwood的一篇经典文章),也许你应该强迫自己去研究一下它们。最不济,至少你能证明讨厌它们是有理由的。最好的情况是,你会从它们中学到很多东西。不要让你的偏见阻挡了你的探索道路。

不要太贪心

程序员很容易被各种层出不穷的新平台、新语言、新工具、新类库吓倒。你很容易产生一种恐惧心理,感觉自己已经落后——那些程序员谈论的技术我怎么从来没有听说过?当你发现一种新技术看起来很有用或很有趣时,做个笔记,几周或几月后在回来看看它,如果人们还在谈论它,那么,你就应该进一步研究它。事实上很多热门新技术都是昙花一现,你完全可以忽略它,不要让它们浪费了你的大脑。

学无止境

程序员都有着一种天生的好奇心,这种好奇心引导着我们的编程生涯。写几行代码,装载到计算机里,让它按照你的思路工作,这是非常有趣的事情。但随着开发的东西越来越多,我们变的越来越忙,这种好奇心会慢慢的减退。我们应该时不时的用一些新思路挑战自己,让自己的思想保持锋锐和专注,提醒自己为什么当初选择码农这条道路。

时间: 2024-08-06 03:37:44

程序员如何走出自己的安逸环境的相关文章

软件开发从业者如何走出自己的安逸环境[转]

过去的几个月里发生的几件事情,让给政府做软件开发的人感受到压力的陡增,一些事情让我回忆起曾经作为政府程序员的经历,以及这段经历如何变成一种一直督促我努力工作的思想动力. 我曾在某个政府部门维护过一个写于1990年代的老系统.当一个新的系统启动开发来替代部分的老系统功能时,很多的程序员对开发新系统的工作产生的严重的抵制心里.起初,我并不知道为什么他们会有这么大的反感.对这个系统维护一段时间之后,我才慢慢明白,有些程序员是专门维护系统(如crm系统),时间长达15年之久.当被邀请开发新系统时,他们对

程序员如何写出一份好的文档?(转)

程序员如何写出一份好的文档? 分类: 杂谈2015-06-10 16:37 1249人阅读 评论(6) 收藏 举报 在实际的软件开发工作中,除了编写代码之外,程序员还会花大量的时间来编写相关的研发文档,这些文档包括:详细设计文档.单元/集成测试文档.软件版本开发报告.软件安装说明.软件升级指导书等. 在<程序员既要写好代码,又要写好文档>(http://www.zhouzhaoxiong.com/142.html)一文中,我提到过:“代码”和“文档”就像是一个人的左膀右臂,一定要让两者均衡发展

程序员如何写出一份好的文档?

写文档的重要性 对于软件相关行业,在学校或单位大家也许都已经注意到了,除了要编写的程序.绘制设计图之外,还有一个重要的工作便是写文档.为什么要写文档呢?因为我们要把自己做的东西展示出来,不光展示给同行看,可能还要展示给其他岗位上的工作人员看,甚至展示给用户看.如果我们只是会写程序,不会在文档中恰当且优雅地描述自己的想法,那么就真正的成为“码农”了. 我注意了一下,周围的同事会写高质量文档的确实很少.李开复老师在<浪潮之巅>的序言中说到:“我认识很多顶尖的工程师,但具备强大叙事能力的优秀工程师,

当一个程序员写不出代码了,该怎么办?(转载)

翻译作者:码农网-小峰 转载地址:http://www.codeceo.com/article/what-to-do-programming-sucks.html 原文标题:What Do You Do When Programming Sucks ? 原文地址:https://blog.klimczyk.pl/2017/05/04/what-to-do-when-programming-sucks/ 你已经对着电脑 N 个小时了.不知道该写什么代码,或者一种摔键盘的冲动正在你的胸中酝酿. 咖啡

一线城市程序员薪资数据出炉,你属于哪一档?

? 来源:码农有道 PS:本公众号最近已开通留言功能,欢迎各位读者参与留言 工资分布 ? 中国大陆一线城市程序员的平均工资为11770元,工资中位数为10000元,其中95%的人的工资位于3000到25000之间. ? 教育水平 ? 受教育水平对工资有着显著的影响.看下图. ? 经过Oneway Anova Test,证明从大专到博士,学历每提高一级,工资都有显著的提高.当然,数据当中只有16个博士的职位,样本太少,不足以支持结论. 大专,本科,硕士,博士的平均工资分别是9788, 14114,

【Python】Java程序员学习Python(二)— 开发环境搭建

巧妇难为无米之炊,我最爱的还是鸡蛋羹,因为我和鸡蛋羹有段不能说的秘密. 不管学啥,都要有环境,对于程序员来说搭建个开发环境应该不是什么难题.按顺序一步步来就可以,我也只是记录我的安装过程,你也可以滴. 一.准备Java环境 我已经说过了,其实我是一个Java程序员,所以学习过程中会有很多Java相关的内容和对比.先介绍下我的基本情况 jdk1.8 eclipse即可,版本最新的 怎么安装java,配置环境变量什么的,我都不会再说了,我这不是小白教程,我相信具备一定的能力. 二.准备Python环

java程序员自学python day01 认识python及环境搭建

一丶初来乍到: 首先感谢大家能来看我的博客,因为第一次写博客,之前没有经验,所以有不好的地方请大家指出来,当然初来乍到,肯定先要做个小小的自我介绍,本人是今年刚毕业的学生,在大学时期,因为当时看到学长学姐们找工作,都说java比较火,需求量大,所以自学了java,在java学习上,整整花费了两年的时间,现在也即将入职的是一份工作.作为一个程序员,想必大家都知道只会一门语言是远远不够的,因此,下定决心在业余的时间去学习python,把它当做自己的第二门语言,来丰富自己,提高自己的技能. 二丶认识p

Java全栈程序员之02:Ubuntu下Java环境安装、配置、测试

在上文讲完之后,我们手里的ubuntu只能算是一个上网机,什么也干不了,本篇我们将折腾它为开发机. 这里,我们这里假定你对linux体系是初级选手,所以本篇会讲的啰嗦一点,高手就出门左转吧. 1.安装 首先我们确定下我们安装的Ubuntu系统是否已经安装了java环境. 进入终端,敲入命令su,进入root模式(当然也可以省掉这一步),敲入命令java -version.如果看到这个界面,说明尚未安装Java环境, Ps:我们的课程中曾经讲过如何删除一个老的jdk,这里就略过不讲了. 继而,让我

好玩的数学--程序员篇

第1章 0的故事--无即是有 需求--问题:为什么我们需要发明计数法呢? 数越大就越难处理,将大问题分解成小"单元": 方法论之一:"问题分解法": 数字本身即是容器,并无实际意义:真正有意义的在于使用者: 进制 2进制:机器数字:逢二进位:两种数字: 10进制:阿拉伯数字:常用进制,适用我们使用手指个数: --60进制:罗马数字:逢60进位:实例:时间应用60进制: 应用:进制数转换: 0 大多数机器对于0的处理都有自己的一套方法论,会进行特殊处理: 指数--10