给想当程序员的大二学生的建议

groupon

背景:最近我在Groupon公司的一项新职务是为公司招募优秀的开发人员。我是Groupon开发团队的代言人,负责发布招聘信息、回答问题等。过去的一周,我对两个询问夏季实习工作的学生进行了回复。

下面是我在回复他们的邮件中的感觉值得公开发表的一些建议:

  1. 如果你在大二的时候就已经开始接触外面的公司,我认为你做的很对,你就应该这么早为你今后的职业生涯打基础。很多人都是等到毕业的前两个月(甚至更晚)才考虑这个问题。即使你没有实习的机会,你也要获得一些外面的工作印象。
  2. 如果你想学习一种成熟的技术,先看书仍然是推荐的做法。理论和实践之间是相互平衡的,书本上是经过完善的符合实际的描述,会让你对一种技术有一个全面的连贯认识了解。如果你想学Rails,Web开发敏捷之道——应用Rails进行敏捷Web开发 这本书会教会你如何在一周内开发出一个功能齐全的电子商务网站。当然,有时候实践是先于理解的(甚至有时候你不实践就无法理解)。
  3. 千万不要寄希望于在课堂上学习一种新语言新技术。计算机专业的课程有自己的目标,是要给你一个广泛的理论基础,是针对某些特殊的课题。很多的技术(如源代码管理,服务器管理,nginx配置等)和语言(很多学校只教C和Java)永远不会出现在课堂上。在公司里,你经常会根据业务的需要或个人事业的需要即时学一些新东西,所以,如果你想以后事业上有所斩获,现在你就要开始学习一些课外的知识。
  4. 不要只关注一些特殊的语言和框架,要学一些多样的编程技术。像计算机程序的构造和解释 (免费在线阅读 http://mitpress.mit.edu/sicp/full-text/book/book.html) , 代码整洁之道程序员修炼之道 等就是这样的好书。
  5. 如果你对上面一条只是一眼掠过,最好还是再读一下!读读SICP,看看视频讲解,这些训练会让你成为一名出色的程序员。
  6. 至少学一种“冷僻”的语言。它会让你学到很多从像Java这样主流的语言中学不到的东西。我个人喜欢Lisp这种语言,而Land of Lisp这本书是一个非常好、非常有趣的学习这种语言的教材。
  7. 做一个工程。这个工程不必非常有意义或非常重要,只是为了实践!比如写一个能找到离你最近的星巴克的搜索器。为你的学习小组开发一个小组事物管理系统网站。开发一个能完成拼图任务的自动机器人软件。只是为了动手去做,把工程发布到网上,把代码放到GitHub上,把你做的事情写出来,发表在你的博客上。这会让你留下一个对编程感兴趣的公众形象,这对一些招聘单位具有非常非常大的吸引力,尤其是在面试的时候。这也是你锻炼写作的机会,让你知道你每过一年都有哪些进步。
  8. 接触自己领域里的开发人员。感谢Google的存在,如果有你的研究领域的研讨会,5秒钟内就能搜到它们。如果你找不到,也许是这些事情太耗时或难于组织。你可以作为一个志愿者为这样的会议出把力,如寻找会议地点等,或你来组织。这种事情并不是很难,只是要你付出很多时间,要有信心。这种事情会让你获得很好的信誉,和他人保持联系,一起工作,一起进步。

要说的就是这些。买100块钱的书,做一年的课余练习,你会变成一个对招聘单位来说比最优秀的学生还更具有吸引力的大学生!

[英文原文:Advice to a college sophomore programmer ]
分享这篇文章:

26 Responses to 给想当程序员的大二学生的建议

  1. zoujia says:

    要是在俺上学的时候看到这样的文章该多好啊\(^o^)/~

  2. DustooKK says:

    今年大二了.. 大道理都懂,压力也很大 但不知道到具体应该怎么做..

    • zoujia says:

      一边学习学校教授的计算机基础,操作系统,算法,网络,C,C++等;一边买本实践性比较强的书,照着书敲代码,先不要管代码啥意思,先看看代码运行之后的效果,你会很有“成就感”!
      当你的代码敲到一定数量的时候,有些东西你就会领会了,这个时候再去学习相关的基础知识,就更能明白之前敲的代码是啥意思了!个人意见\(^o^)/~

    • limite says:

      个人认为,培养对程序的兴趣莫过于从游戏开始了

    • fallen0002 says:

      从翻开一本书开始即可:)

  3. abc881858 says:

    学习directx 找不到中文视频教程

  4. Beecoldfish says:

    悲剧啊。。大四了才知道这些事情

  5. 加油!做一个真正的程序员!

  6. SoaringSnake says:

    我对程序的兴趣起自于红白卡游戏机,后来接触了PC游戏以后,尤其是网络游戏的外挂,就更加深了我的兴趣。虽然对外挂的运行方式只有一些初步了解,但是目前已经了解了钩子~~~

  7. matriz says:

    程序员修炼之道和代码整洁之道算是非常好的必读的书?恐怕还没上升到那个程度吧

  8. owlman says:

    今年大二了,真的觉得没有做个项目,真的不知道很多原本以为了解的原理,却自己写的时候有点难。实践真的可以学到很多东西

  9. 1 对这篇文章的反应是俺的神呀
  10. 束佳佳 对这篇文章的反应是赞一个
  11. 马健 对这篇文章的反应是赞一个
  12. kaka says:

    大三,已经工作两个月了 下个月转正 接触实际项目提高很快 但要顶的住压力

  13. 朱卫国 对这篇文章的反应是俺的神呀
  14. 工科狗 says:

    机械大类想转行cs 毕竟都是苦熬还不如干收益快的

  15. says:

    大三了,技术不是很好,大一大二没有意识,下学期去实习,做ssh开发,算是个起步,求大神们指导一个方向,想成为一个优秀的程序猿,要怎么做

  16. 李建利 对这篇文章的反应是赞一个
  17. 李曼飞 对这篇文章的反应是赞一个俺的神呀
  18. 曹斌 对这篇文章的反应是赞一个
  19. 朱锐 says:

    代码破万行,下指如有神。

  20. kohna says:

    我也是大二,表示说锝很合理,我自己也有一些在接触,大二正是浮躁的时候,需要静下心来学的东西太多了,

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.