美文网首页实用技巧开发工具管理
给年轻程序员们的10点启示

给年轻程序员们的10点启示

作者: 技匠 | 来源:发表于2016-04-14 06:16 被阅读17941次

    最近,陆续在51CTO和CSDN上看到好几篇写程序员如何成长,如何拿到高薪的文章。文章都很不错,一些观点也很实用,但整片文章读下来,我总觉得意犹未尽,感觉还应该再给年轻的程序员们说些什么似的。

    我其实离开正式的程序员岗位(当时我是一名架构师)已经快3年了,现在我仍然在业余时间做一些感兴趣的开源或个人项目。但我发现恰恰是最近几年,让我能够从不同的角度和视野,对程序员这个职业有了更深入的理解和认识。当我成为一名IT管理者,我从更多的程序员的身上看到他们身上的一些特质对其职业生涯所产生的影响;当我开始自学设计,我从一些设计大师们那里得到很多极具启发性的观点,发现这些观点对那些程序员同样具有很大的价值;而当我开始写作时,每一篇文章过后与年轻程序员读者们进行交流的过程中,我的想法和观点又得到了进一步的完善和提升。

    因此,我迫不及待地将这些记录下来,希望从一些不同的角度给予年轻程序员朋友们一些启发:

    1. 正确地认识自己

    我听到过很多用来形容程序员的网络词汇,码农,程序猿,软件工程师,张江男,屌丝程序员等等。其中大部分都略带贬义,有些甚至是程序员们自己发明出来用于自嘲的。其实这些称呼对你来说并不重要,关键是你自己内心中用了哪一个词汇来描述自己。当你仅仅将自己定位成一个码农,那你可能就是那个整天用着相同的工具,写着相似代码的码农;你把自己看作是一个屌丝程序员的话,那你也可能就是那个衣食不愁,但整天浑浑噩噩、无所追求的屌丝。

    我更愿意用技匠这个词来形容像程序员,就像我给自己起的花名一样。程序员应该是那些不断追求更高技术,并有着自己产品梦的工匠。当你通过对自己技术不断打磨,一次又一次做出那些优秀产品的时候,你会发现你不再是他人口中的码农或是屌丝,而更多被称为了大师、大神,而受到大家的尊重。

    我相信没有一个真正的程序员是愿意将自己视为码农或屌丝的,那么不妨也像我一样找到一个能真正反应你内心的词汇来描述你自己,通过努力,你会慢慢变成你想象的样子

    2. 比一般人更加努力

    我曾看到一个关于天才与普通人的有趣漫画(很遗憾我没能找到原图,只能用文字进行描述):
    图1:。一个普通人每天都很努力,他头顶上显示的能力槽也在慢慢地增长。而图中的另一个天才,则整天不务正业,当然他头上的能力槽也几乎没有增长。
    图2:经过了长时间的努力,普通人头顶上的能力槽慢慢接近了满格,此时图中的那个天才醒悟并开始了努力。
    图3:又过了一段时间,普通人头顶上的能力槽终于满格了,但此时天才头顶上的能力槽却早已爆表,高出了那个普通人很大一截。那个努力的普通人只好无奈地抬头仰望着那位天才。
    图4:但当普通人默默回过头来,却惊讶地发现有更多的人正同样充满敬意地仰望着他,因为此时的他也早已成为了大多数人眼中的那个佼佼者。

    这组漫画非常发人深省,优秀的程序员往往会被同天才或高智商的人联系在一起,但是我想告诉你,你周围所看到的那些天才(身边的优秀程序员)只是在你没看到的时候花了更多时间工作或者学习而已,当你也坚持这么做时,你也会和他们一样变得非常优秀的。

    3. 适时建立个人权威

    我以前有一个美国同事,是个东欧人,在公司里负责一个非常老旧系统的开发和维护工作,用的技术也是几乎快被淘汰的Power Builder,因此他在公司里是个不怎么被重视的人。然而有一天,他突然拿着笔记本电脑敲开了老板办公室的门,并且给老板展示了一个非常漂亮而且易用的Web系统。原来他利用业余时间自学.NET技术,将他所负责的那个系统整个重写了一遍。这个焕然一新的系统一下子让老板和整个公司惊呆了,大家由衷地对他报以敬佩之情。不久,他便被提拔为了开发团队的负责人,而他的那套系统也很快作为公司的拳头产品推出了。

    我经常听到一些程序员抱怨自己的职业生涯毫无起色,或者在工作了几年之后就担忧自己遇到了瓶颈。其实造成这些的原因往往是他们已经习惯了听命于人,而缺少自己的观点和主张,久而久之便成了那个在他人眼中可有可无的平庸之人。你不妨也学一学我的那位美国同事 ,选择合适的时机去表现自己,建立个人权威,这能让其他人看到你的不同之处,并为你在公司或团队内部构建起良好的影响力。当然,这一切的前提首先是你需要通过努力积累自己的实力,并在恰当的时候去展现它

    4. 遵从那些最佳实践,因为它们往往是有效的

    技术总是在不断发展,我们每年都能看到很多新的开发语言、工具和框架的出现,而每隔几年又会有一些大的技术变革产生。那么作为程序员,如何才能适应适应这种变化呢?其实,就像每年都会有新的流行设计趋势,然而设计的本质和原则却始终不变一样。作为一名程序员,你也需要尝试去理解那些软件领域最本质的东西,而我的建议是就是学习那些最佳实践。

    当你理解了GOF的那些经典设计模式,你会知道使用一个单例来最有效地实现一个Logger组件;当你理解了SOA或是最新的微服务架构,你能够通过架构使你的企业IT治理更加有效;当你理解了DEVOPS这种新的运维文化和理念,你能使企业IT运维效率得到显著的提升。你还需要理解在网络安全、性能调优、代码优化等各个方面的最佳实践,使你写出更高质量的代码和做出更优秀的产品来。

    这些最佳实践或由此衍生出来的框架、工具都是那些有经验的程序员通过大量实践总结出来最优秀的软件开发思想,通过理解和对它们的有效实践,能够让你站到前人的肩膀之上,对软件开发本身获得更深入的理解和认识。

    5. 保持好奇心并乐于探索新的事物

    好奇心可能是优秀程序员与普通程序员之间最明显的区别之一。那些优秀的程序员往往不满足于对手头工作的认识和理解,他们有很强的意愿去了解那些更深入的东西。比如他们会通过研究公司的框架(甚至是更底层的框架)源代码,去了解它们具体的实现原理和设计思想。这对提升程序员的技术深度是非常有帮助的。

    另外,优秀的程序员们也往往非常乐于探索那些看似与工作无关的技术,比如做后端的程序员去学习前端的技能,前端工程师则去学习UI设计等等,这些不会让他们成为那一个领域的专家,但技术往往是相通的,当你在探索这些新鲜事物的同时,你会发现原有的技能也得到了提升

    (最近,我在自学一些简单的机器学习语言,从中就受到了一些很有价值的启发,我也希望后面能通过几篇文章来分享给大家。)

    6. 抛开代码与人沟通

    “紧盯着电脑屏幕,不断敲击键盘,目光有些呆滞。”这可能是程序员给人的印象。而我所看到的那些优秀的程序员却都不是这样的,他们往往兴趣广泛,并且都非常乐于与人沟通交流。

    程序员们很容易会忽视与人的沟通,这其实对他们的职业生涯发展是不利的。我很支持那些年轻的程序员们坚持去走技术路线,但这不应该成为你排斥与人沟通的理由。你需要与人沟通来获得他人的帮助;你需要与人沟通来建立良好的工作关系;当你的能力不断提升,被赋予更多职责时,你更需要与人沟通来管理好自己的团队,以及与老板或客户进行有效的沟通等等。

    尝试离开你的电脑桌去与人沟通,相信我,这会给你的工作和生活带来积极的变化

    7. 不要为愚蠢的人工作,否则你会变得和他们一样

    还记得我面试过的那位优秀的UI设计师吗(给职场新人的10点职涯建议 中提到的)?当问到他的离职原因时,他告诉我,当他每天听到他的老板和同事们聊天内容的大多是股票、育儿、游戏时,他就下定决心要离职了。

    环境对一个人的影响是巨大的,而最可怕的是当你身在其中的时候很难意识到你正在变得越来越糟。我之前带过一些不错的程序员,他们中的一些人去到了一些整体氛围或环境不是太好的公司。当过了一段时间,再次与他们碰面聊天时,我发现他们的思维观点相较之前并没有提升,有些甚至反而下降了。

    我其实并不鼓励程序员盲目跳槽,但当你发现所在的环境和周围的人已经无法让你获得提升时,不妨学一下我提到的那位设计师,选择一个更好的环境,尽可能与那些优秀的人一起工作

    8. 生活、睡眠、旅行

    我们时常听到关于程序员因疲劳过度而猝死的新闻,我非常为他们感到惋惜。但这里所反映的一个问题却值得深思,那便是程序员不懂得生活。我希望每个程序员都能明白工作、技术、写代码这些都不是你存在的本质,而生活才是,你需要懂得生活,并且学会生活:

    生活:尝试有节制和有规律的生活,程序员生涯绝不是一次冲刺跑,而更像是一场马拉松。你需要合理规划自己的时间分配(学习、阅读、写代码)并持之以恒地去做。另外,不要忽视你的家庭,扮演好你在家庭中的角色,无论你是与父母还是与妻儿住在一起,不要将自己隔离起来,尝试融入其中,做一个快乐有爱的程序员

    睡眠:有很多人觉得睡眠是弱者的表现,他们往往会长时间熬夜,其实我觉得这是一种恶性循环,反而会使你的工作效率变得更低。充足的睡眠往往能使你更有效率地投入到新一天的工作中,你也会变得更有创造力。请记住,保证充足的睡眠将使你变得更加强大

    旅行:去任何一个新的地方都可以称之为旅行,旅行不是为了放松,因为你需要坐飞机,开车,走路,这些都会使你产生压力,但你仍需要去旅行,因为这能让你发现和感受新的东西,而这些是从电脑屏幕上无法获得。

    9. 相信自己的天赋和创造力

    做到以上这些,你已经是一名优秀的程序员了,但你离杰出还差了一点。你需要依靠你的天赋和创造力,让你更进一步。天赋和创造力绝不是那些天才的专利,每个人的身上都有属于他自己的天赋和创造力,但它们也绝不是与生俱来的,你需要在生活中不断地培养和发掘它们。下面是我觉得一些行之有效的方法。

    • 读那些优秀的书籍:好的想法绝不是凭空产生的,尝试从书中去寻找那些能激发你创意和灵感的优秀内容
    • 记录和收集:尝试用一本小本子,将你转瞬即逝的好想法记录下来,它们可能并不直接有效,但下一个更好的想法可能就是从这些你记录下来的想法中产生的
    • 尝试动手:光有好的想法是不够的,你需要成为一个有工匠精神的人,通过亲自动手去尝试和实践,你会不断从中得到新的创造力。

    10. 如果上面提到的其他建议都对你无效的话,那么就请坚持第2点建议吧“比别人更努力地工作”,因为它将成为你最大的竞争优势。


    技匠,以上内容欢迎大家分享到朋友圈/微博等。如需转载,请通过简信联系授权。谢谢大家!

    相关文章

      网友评论

      • 书山学海:꧁收录恭喜꧂恭喜作者!本文已被由「小潘大大」主编的〖科技圈那些事〗专题和〖简书文章精选集〗专题收录!!!!!期待作者创作出更加优秀的作品,也期待各位围观的朋友关注我们的专题和「小潘大大」!…………
      • 可可西里的可乐:不写代码,但是能感受到写代码才能得到的乐趣。我是一名网络技术的爱好者
      • 8324a7eda376:不错不错,收藏了。

        推荐下,源码圈 300 胖友的书单整理:http://t.cn/R0Uflld


        12a033ef755a:写的不错,谢谢博主;已收藏~
      • 欧巴冰冰:我写的代码很帅,我和我写的代码一样。
      • YHBlucky:软件工匠
      • 爱金毛:感谢!
      • CooperNiu:欢迎大家关注我的专题:程序员成长计划,那里会有很全面的干货文章,也欢迎大家投稿
      • 2f004849eb48:技匠之心!向闪闪发光的前辈看齐!
      • JGF:谢谢,收获颇多:+1::+1:
      • e3df0cbfb007:赞,干货
      • 4c397cb8afc7:因为一篇面试文章而知道简书,还一直担心简书没有我想要的干货,没想到简书的好文章还是很好的。以前习惯在csdn看论坛和写博客。
      • 19f530421f2f:收藏,说的太对了。自己要学习的还有很多
      • iFaithFreedom:学而不思则罔,思而不学则殆。

        做程序员也一样
      • 向上生长的小王子:说的太好了
      • 洋芋和叶子的故事:坚持自己所思所想的吧!一个团队的环境确实会影响一个人,一定要坚持和优秀的人一起工作这个原则
      • mini_moo:何为愚蠢的人呢?远离初心算吗?
      • 9e4f390cd675:来自年轻程序员的感谢
      • 61049690b112:来自年轻程序员的感谢
      • 虚心若愚:很不错。程序员都该看看
      • 天边de云彩:可以帮忙找找那个图片吗
      • 天边de云彩:想要那个图片
      • 天边de云彩:好想要那个图片
      • 天边de云彩:你说的那个你找不到的图片,能再找找吗
      • 4503e01fe851:技匠,这个词用得真好,匠人精神,马拉松,十年如一日,天赋和创造力,自己优秀的作品
      • 青米央:有效地努力工作
      • 月亮的光是借来的:学生党求助,目前大一,专业软件工程,非常鸡冻\(≧▽≦)/终于在简书上面遇到大神了!准备大一结束了,老师笼笼统统的教了我们c和c++。我个人的情况就只是掌握了框架,能完成一些作业实验而已。反正觉得自己学的很渣😂可是问题来了,我发现这行有好多语言😂根本不知道选择哪一个来深入,周围的同学说java好,又有人说linux好,,,,反正什么都有,搞得好乱😂我自己是上大学才学的编程,之前根本没接触过,兴趣也不大,结合自己的情况考虑后,我只能选择一门语言来深入学习,也是以后毕业求职所需,如果什么语言都学的话,大学四年肯定什么都学不好😂我也不太了解这个行业,所以想向各位大哥了解一下,我到底应该选择哪个方向比较好?很希望得到各位大哥的回复!小弟在此先谢谢各位大哥
        月亮的光是借来的: @一问3不知 谢谢大哥
        568ddbfcbfeb:@月亮的光是借来的 个人建议,在大三大四的时候深入专业学习,开始两年是基础学习,很重要
      • Gadore千里:Great words ! Now I have something new.
      • 简单的土豆:好文,正准备跳槽ing
      • eb743f495316:慢慢积累
      • 阿龙欧巴:感动!
      • 7700475cd846:做程序猿好难,我是个听障人,程序猿必须写代码,写代码写不来,我觉得白帽黑客不用写程序,就看漏洞的,有奖励比较好,我就学白帽黑客
        d2416ab917d4: @告别小李 我也是听障人
      • 90dcb517f536:好厉害
      • kange:好,主要是行动实践
      • liujf:好
      • 4d9fc23948b8:指明了一个程序员前进的方向,摆正了一颗即将倾斜的心?
      • 3493646c2bf2:不能更赞!提高效率而不是一味的延长工作时间,很赞同作者的观点,程序员理应有一种工匠心,以一种手艺人的心态去对待自己写的代码。
      • 请叫我班长:值得大家深思
      • 660c7b025443:说的好!
      • 7emini:仅仅热爱编程。
      • 鬼晓晓:太励志了 一定会坚持下去
      • 清平湖水浪打蛋:IT之路已经走了3年了,期间有迷茫,有惊喜,有做出新功能的自信心爆棚…虽然现在年纪还不是很大,但也会停下来想想,年纪大了以后是否还有精力去码代码,是否还有现在的逻辑思维…看了作者的文章,突然也觉得何必想那么多,自己热爱着这份工作,虽然有压力,但业余的时间多学习其他的知识,努力提升自己的技术水平,毕竟这个行业是靠技术说话,就像文章所说,做一个快乐的程序猿…
      • a136143e853f:挺好,时间多的时候多学习
      • 8e368c614db0:知易行难,知行合一实乃正道
      • 上海王尔德:正在学的是R语言? :smile:
        4a4d96373b3b:@上海王尔德 pyrhon其实用起来很简单方便,现在我少用c/c++。干什么都行,比如论坛里面有人要一万楼爆照,写个脚本自动回复10000楼,很方便
        上海王尔德:@技匠 学完数据结构,对c++的向量切分累觉不爱,看到python简直泪崩。下学期争取旁听machine learning
        技匠:@上海王尔德 python在machine learning 中的一些应用,关键是思路挺受启发的:smile:
      • b7fa1ba1eb76:我是一个正在路上的程序员,,,我喜欢技匠这个名字,谢谢
      • GuaKin_Huang:启发了
      • 88cda84e186d:路漫漫~!
      • Mr_Alpha:太励志了,敢问现在从事什么行业
      • 邵奈一:"我迫不及待地将这些记录下来,希望从一些不同的角度给予年轻程序员朋友们一些启发" 刺骨了
      • 查苏的吉古勒:best wishes for you
      • 刘勇虎:做起来总是没有那么简单
      • Mr_嗨:有时候要践行起来真的不容易啊……生活中有很多事……实在不好平衡……并没有那么简单
      • sky琪仔:深受启发!!!大赞!!! :pray:
      • 00e7666d6986:听说程序员喜欢看爱情动作片,是么?😁
      • 卖女孩小火柴:和优秀的人在一起 能让你变得更优秀 赞
      • 0bc8048ee9ce:写的很好,有所启发
      • 0f53ce776257:我也快要成为一名程序员了,我在努力的寻找快乐。程序员不光是敲代码,最喜欢的话:你的双手,拥有改变世界的力量。
        夏暮:@了身 程序员是拥有创造力的人。
      • 梦华芳秋:很荣幸自己是一位程序员,对于它我很热爱,对于技术很好奇,热衷于去学习!我会坚持的,坚持学习,乐于沟通!
      • peipeiguo:感同身受
      • 奔跑的大橙子:感谢分享,受教了
      • 言西小熊:满满的干货!
      • 牛晓伟:受用纯干活
      • ec5f4c017aec:很实在 照做下去会见效
      • 93a06e7cc763:学习了!
      • Ertsul:环境的因素确实很重要!
      • a18cc1ffd2d4:鸡蛋灌饼,醍醐灌顶
      • 后端沉思录:感谢分享!
      • cfb87111d521:赞一个
      • 罗同学_:加油
      • FindCrt:第3点和第4点比较实用,其实写博客、开源都是为了第三点
      • FindCrt:你好,第四节那个最佳实践具体指什么?有什么系统的书籍或资料可以看吗?
      • Mariemiss:虽然文章开头就写到 这是写给程序员的启示和观点,但是认真读完后对于我这位文员办公室的小女孩也一样很受用,里面的10个建议我受益良多。谢谢 :blush:
      • dbf25c7dc4d1:醍醐灌顶啊 是不是该找工作了 优秀的团队需要我这样的技术渣吗 心中只是有个打不死的小强
      • 再见代码: 干了这碗鸡汤
      • 夏暮:@SOmeONee 我也觉得1%的灵感是很重要的,但我渐渐发现那1%的灵感也并不是只有先天才能具备,后天通过某些努力和机遇一样可能获得。
        夏暮: @技匠 哈哈😁大概因为我成为前端er还是经历了一些努力,也感到过无力然后突破,然后有所领悟。所以我会认为天赋是努力后也能得到的,即使不是独一无二,但同样可能强过很多人。
        技匠:谢谢补充,一直等着你的这条回复,因为从别人嘴里说出来,会更有说服力:smile:
      • Figo_OU:受益了。"不要为愚蠢的人工作,否则你会变得和他们一样"。但“愚蠢的人“和“你认为愚蠢的人”差别有很大了。
      • 58d62c6628c0:程序猿(° ロ °)✧˖°宝宝方了
      • d1661c87e8e2:棒棒哒
      • 8d41846b2da6:不错的文章,每隔一段时间 都需要这样的文章。
      • Inlight先森:不说话,吻你!
        技匠:@Dalla尹 :heart_eyes:
      • 格式化齑默:鸡汤啊😊
        技匠:@格式化齑默 成为一名干湿兼备的程序员作者是我奋斗的目标,哈哈:smile:
      • 天下无贼:看完了 我要更努力的给老板干活了 :smiley:
        6e552f581a61:@天下无贼 这样老板就有钱换新车啦
      • Bill_Chow:很赞,默默努力

      本文标题:给年轻程序员们的10点启示

      本文链接:https://www.haomeiwen.com/subject/hawvlttx.html