网站总结
最代码目前支持一周30牛币可以购买一周的公告区文字链,牛牛们有需要的可以私信最代码官方
另外广告点击很少,也希望大家可以多点击下和自己相关的广告以帮助网站得到一部分运营费用。
资讯精选
生于忧患而死于安乐:程序员如何走出自己的安逸环境
过去的几个月里发生的几件事情,让给政府做软件开发的人感受到压力的陡增,从奥巴马的医保网站饱受诟病到美国退伍军人事务部官方网站的预约系统从1985年起就没有更新过,这些事情让我回忆起曾经作为政府程序员的经历,以及这段经历如何变成一种一直督促我努力工作的思想动力。
我曾在某个政府部门维护过一个写于1990年代的老系统。当一个新的系统启动开发来替代部分的老系统功能时,很多的程序员对开发新系统的工作产生的严重的抵制心里。起初,我并不知道为什么他们会有这么大的反感。对这个系统维护一段时间之后,我才慢慢明白,有些程序员是专门维护系统,时间长达15年之久。当被邀请开发新系统时,他们对新事物和新技术都感到心里没底。
这让我警醒:这种事情也会很容易发生在我的职业生涯中。我可能会安逸的干着某一种工作,安逸的年年维护着某个系统。当这个系统长岁数时,我对它也变的更有价值,我的角色会最终变成专职维护它。我的余生也就整天执行相同的任务,直到退休。而当有一天,当这个系统不再被人需要时,我会发现外面的世界已经日新月异,我需要从头学起。
这可不是我希望的生活轨迹;我作为程序员喜欢的方式是学习新思路来解决新问题,而不是安于现状。我们程序员很容易迷住某一项技术而将全部精力都放在上面,对于其它的毫不关心。虽然这样可以让你在某一个领域成为专家,但你却得不到探索其它领域获得的更多好处。当意识到这种目光狭窄会扼杀我的进取心后,我开始避免让所有鸡蛋都放到一个篮子里,我开始走出自己职业仕途中的安逸环境。
学习新技术
你一直在用PHP编程吗?尝试一下使用Rails或ASP.NET。也许尝试一种新的语言或框架会让你感到受挫和沮丧,但探索的趣味也就在这里。至少,你应该看看同一种功能用其它语言是如何实现的。如何你只会用锤子,那你眼里所有的东西看起来都像钉子。
不惧怕老代码
虽然上面我举例的那个老代码的例子有些极致,但我并不认为所有的老代码都应该立刻替换掉、删掉。在如今的软件中,有很多稳固的、良好设计的程序代码,它们对那些只会使用集成开发组件的现代程序员来说是很好的学习教材。如果你的公司里有老项目、老代码需要你去维护,研究一下!你会吃惊于从中学到那么多的编程知识以及公司的业务规则。还会发现一些当前正在研究的问题,其实几年以前就有人已经解决了。
了解你的敌人
程序员很容易对某种语言或框架产生宗教式的虔诚。如果你发现自己曾经痛恨或鄙视某种技术(参看Jeff Atwood的一篇经典文章),也许你应该强迫自己去研究一下它们。最不济,至少你能证明讨厌它们是有理由的。最好的情况是,你会从它们中学到很多东西。不要让你的偏见阻挡了你的探索道路。
不要太贪心
程序员很容易被各种层出不穷的新平台、新语言、新工具、新类库吓倒。你很容易产生一种恐惧心理,感觉自己已经落后——那些程序员谈论的技术我怎么从来没有听说过?当你发现一种新技术看起来很有用或很有趣时,做个笔记,几周或几月后在回来看看它,如果人们还在谈论它,那么,你就应该进一步研究它。事实上很多热门新技术都是昙花一现,你完全可以忽略它,不要让它们浪费了你的大脑。
学无止境
程序员都有着一种天生的好奇心,这种好奇心引导着我们的编程生涯。写几行代码,装载到计算机里,让它按照你的思路工作,这是非常有趣的事情。但随着开发的东西越来越多,我们变的越来越忙,这种好奇心会慢慢的减退。我们应该时不时的用一些新思路挑战自己,让自己的思想保持锋锐和专注,提醒自己为什么当初选择码农这条道路。
关于选择,关于职业发展
最近,有很多同学询问我关于毕业后职业生涯发展和工作选择的问题。其实作为人生中最重要的一个决定,的确可能有时候非常纠结,难以做决。我在这儿谈谈我的经验和看法:
1、 有选择是好事情,今年找工作情况整体来看不是非常好,很多同学还没有offer,所以应该意识到手握两个以上、还值得选择的offer其实代表了你获得了足够认可,有不错的起点。
2、 做合适的判断和决定需要多个条件,例如了解事情的全部信息、有充足的决策时间、理性分析。做决定永远都是很难的事情,每个人的情况千差万别,我不了解事情的全部信息,所以不能代下判断和结论,只能给出有限的建议和分析方法,帮助你去做更合适的决定。
3、 具体情况该如何分析?做决定取决于几个方面:
1) 你的性格:你的性格适合开拓进取还是因循守旧?你的性格是积极外向还是沉默寡言?你喜欢生活充满激情还是波澜不惊?这决定了你在哪里更容易得到认可、获得成就感,决定了你适合技术还是销售岗位,适合创业还是打工,适合国企还是外企,适合体制内还是体制外。
2) 你的优势(与劣势):你的优势包括内在的和外在的两个方面,内在的优势来自于来自于你的专业技能、你的实习经验、你的学习能力,而外在的则包括你的大学、你所认识的朋友、你同学的就业情况等等。这决定了你在哪份工作中会更快上手,或者未来能更好的获得竞争优势。
3) 你的周围环境:你的家境情况如何?你有没有来自于女朋友买房的压力?这决定了你现实的压力有多大。如果你没有女朋友、家境尚可,选择创业团队的压力会小一些。如果你现实压力比较大,例如要偿还组学贷款,选择薪酬比较高的互联网公司可以解决当前的很大问题。
4) 你的个人目标和理想:有人想过安稳的生活,有人想成为李嘉诚马云。有人想踏实稳定,有人想过不一样的人生。你选择攀登哪座山峰,你就应该选择哪条山脊上的路。
所以,最重要的是你要做一个全面的分析,分析自己、了解自己,对自己的情况做一个最准确的认识。关于性格,你可以看看《九型人格》一类性格分析的书籍;关于优势,你可以看看《现在,发现你的(职业)优势》一类对了解自己优势有帮助的书籍。
许多人在水木上争吵哪个职业好,哪个收入高,哪个稳定,其实不具有普适性。每个人有适合自己的职位,适合别人的,不一定适合你。每个人需要做到的只能是走好每一步,在达到自己最终目标的过程中尽量少走弯路,实力足够了,运气自然就会来。
最后,人生是一步一步的台阶,在职业生涯的不同阶段,以上条件都是可能变化的,你需要根据具体情况随时调整和修正。
祝大家都能找到理想的工作!
管理与技术的另类关系之我见
人们总说:“做技术的吃的是青春饭,做到一定年龄,那就得转行或转岗。其中,转管理岗位是一个不错的选择,只是,很多做技术出生的人!都不太适合做管理。”每每听到这样的话语,心底里总感觉酸溜溜的。
最近看了一个成功的创业故事,具体的故事情节已经很模糊,但主人翁的某些精神让我有种焕然一新的感觉!也让我对开篇的话语有了新的认识,现在我把它写下来,希望与大家一起探讨。
那就是“做管理其实也是在做技术,只是它是一种更深层次的、更高境界的技术。单纯地做技术,那它的影响有限,收获有限,要想真正实现技术人生的目标,必须通过更深层次的、更高境界的技术活动才能实现。或者说是做管理。当然,我相信喜欢技术的人,都很擅长更深层次、更高境界的技术活动。”
具体的说是这样的,做技术的人热爱代码,他要求代码必须简洁易懂,模块清晰,代码执行情况容易跟踪,开发出来软件能给别人带来价值。
单纯地做技术只能做好以上的部分工作,因为每个人的时间有限,一天8个小时,而且现在的软件规模又都是很大的。他最多也只能保证热爱自己写的代码,保证自己写的代码简洁易懂,模块清晰,代码执行情况容易跟踪。他无法保证热爱整个软件的代码,更无法保证整个软件的代码简洁易懂,模块清晰,代码执行情况容易跟踪。更谈不上开发出来的软件能给别人带来价值。
所以,要想实现技术人生的目标,那就开始更深层次的、更高境界的技术活动吧。那就是带领整个团队的所有成员写出简洁易懂、模块清晰、代码执行情况容易跟踪的代码,从而你就热爱上你整个软件的代码,从而你就开发出给别人带来价值软件。
最近发起了最代码的推广活动,希望每个支持zuidaima的都可以帮忙推广下,活动地址:最代码推广活动,有你参与更牛币。
最代码每周都很精彩,有你会更精彩,请访问http://www.zuidaima.com。欢迎转载分享该文章, 欢迎推荐给身边的小伙伴们
欢迎关注最代码的官方微信账号zuidaima,最代码官方新浪微博:http://weibo.com/zuidaima,最代码官方腾讯微博:http://t.qq.com/zuidaima