我在Groupon的其中一项工作就是帮助公司招聘一些优秀的开发人员,因此我也可以算是Groupon开发团队的代言人,主要任务是发布一些招聘信息、解答疑问等。在上周,我对两个来咨询夏季实习工作的大学生进行了回复。
我认真回顾了在邮件中回复的内容,并总结了8点我认为有价值的建议,送给梦想成为程序员的大学生们:
1、如果你在大二的时候就开始接触外面的公司,那么你这种做法是值得表扬的。很多大学生都要等到毕业前两个月(甚至更晚)才去考虑找工作的问题。即便你不能获得实习的机会,那也要经常去面试接触一些企业,争取给别人留下好印象。
2、如果你对一种成熟的技术感兴趣,你可以先从书本上去了解相关的基础知识。要注意理论知识和实践练习相结合,书本上的知识都是通过精心编辑的,会教 给你一整套系统的学习要点。但是也不能只看书,要动手做里面的练习。比如你要学Rails,可以阅读《Agile Web Development with Rails》,它会教你如何在一周内开发出一个完整的电子商务网站。有时候实践往往先于理解(或者更确切的说,不实践就无法理解)
3、关于这一点我想说,请不要坐等课堂上来教你新的编程语言或者前沿技术,学校里开设的计算机课程的目标是让你学会编程的理论基础以及一些规则和特殊 的课题。但是像很多技术(像代码管理、服务器管理,nginx配置等)和编程语言(学校课程只会教C和JAVA)都不会覆盖在学校的课程里。但是在公司 里,你往往会根据自己的职业规划和业务需求来针对性的学习新技术。所以,如果你以后想在事业上有所收获,那现在尽量去学一些课程以为的新知识。
4、不要只关注一些特殊的编程语言和框架,要让自己的技术技能多样化,像《Structure and Interpretation of Computer Programs》(免费在线阅读 http://mitpress.mit.edu/sicp/full-text/book/book.html)、《Clean Code》和《The Pragmatic Programmer》这些书籍都比较好。
5、如果你对上面一条只是一眼掠过,最好还是再读一下!读读SICP,看看视频讲解,这些训练会让你成为一名出色的程序员。
6、至少要学一门冷僻的编程语言,它会让你学到很多从像Java这样主流的语言中学不到的东西。我自己比较偏向于Lisp语言,《Land of Lisp》这本书非常棒,为你提供一种有趣的方式来学习Lisp。
7、找一个项目做做,你并不需要做一些很有意义或者很重要的项目,只要能够实践就可以了。写一个可以搜索离你最近的星巴克的小软件,给你的学习小组开 发一个统一管理网站系统,开发一个能完成拼图任务的自动机器人软件。仅仅是为了实践学习,并且将项目发布到网上,将源代码放到Github上,也可以经常 写一些自己的学习心得,放到博客上。这样你做的项目就会公诸于众,好处就是今后能让招聘单位对你有好的印象,尤其是在面试的时候。同时,这也给了你锻炼写 作能力的机会,让你能够知道每一年自己的进步在哪里。
8、多接触一些和自己领域相关的开发者,感谢Google,如果你的领域中有相关的会议和活动,你可以在5秒钟搜索到它们。如果你找不到任何会议,说 明它太耗时或者太难组织了。你也可以作为一名志愿者来为这些会议出把力,比如寻找会议地点等。做这些事并不很难,关键是要花时间,而且要有信心。这些事情 会让你获得很好的信誉,和他人保持联系,一起工作,一起进步。
最后我想说,每年花100块钱买书看,并勤加练习,你一定会成为一个对招聘单位来说比任何人都优秀的大学生。
英文原文:Advice to a college sophomore programmer 译文:html5tricks 作者:蒋丽丽
相关推荐
针对想要成为程序员的朋友,作者提出了以下几点建议,帮助他们评估自己是否适合这个职业: 1. **基本技能**:首先,你需要具备一定的逻辑思维能力和解决问题的能力。 2. **学习态度**:作为一名程序员,你必须保持...
对于那些想要踏入这个行业的朋友,作者提出了几点建议:第一,理解编程的本质,这是一项需要不断思考和实践的工作,而非轻松获取高薪的职业。第二,无论文理科背景,都需要培养逻辑思维和严谨的态度。第三,对新技术...
第一章“大学四年应这样度过”着重讲述了在大学期间如何为成为一名优秀的程序员做准备。它可能涵盖了基础课程的学习,如计算机科学、数据结构、算法等,以及如何通过实践项目提升编程技能。此外,这一章可能还强调了...
标题中的“程序员之路——一个老程序员对刚上大学的学弟学妹的忠告”旨在为初入大学的计算机科学专业的学生提供经验分享和指导,避免他们在学习过程中走入误区。以下是对这部分内容的详细解读: 1. **技术风潮的...
在职业规划方面,演讲提出了短期、中期、长期和终生规划的概念,建议大学生制定时间坐标,设定职业方向和目标,分析社会与职业环境,进行行业和企业分析,并寻找职业道路上的贵人。规划过程中还包括目标的分解、选择...
书中的建议是,大学生不应该等待大公司的项目机会,而是要主动出击,利用课程作业、假期实习和毕业论文等机会,体验项目流程。将课程作业视为小型项目,进行需求分析、编码、测试和验收,这样不仅能提升技能,还能在...
最后,作者还介绍了自己的职业经历,孔文过毕业于北京某大学材料系,但后来从事了IT行业的工作,并成为微软(中国)有限公司的顾问。他在书中也分享了自己的面试经验,强调了面试准备的重要性,以及在面试中如何放松...
- **职业生涯初期**:温伯格的职业生涯始于1956年,最初是一名软件开发员,后来成为系统设计师、软件项目经理、大学教授,并最终成为IBM公司的软件课程设计者。 - **咨询事业**:1969年后,温伯格与其身为人类学家的...
- **详解**:大学生应该积极参与实际项目,无论是学校的课程作业还是课外的小项目,这些实践可以帮助他们积累经验,增强解决实际问题的能力。此外,实习是了解社会运作方式的重要途径,通过实习,学生可以提前适应...
分为“初级程序员之磨刀不误砍柴工”、“高级程序员之抽象能力模型”、“软件架构师之架构能力模型”三个阶段,每个阶段都有具体的技能要求和建议,帮助程序员逐步积累专业能力和管理经验,最终转型成为技术领导者。...
\n\n【理工科大学教育的缺憾和改进建议】指出,当前的教育体系可能偏重于理论知识的传授,而在实践技能和软技能培养上存在不足。学校应加强与企业的合作,提供实习机会,让学生提前接触实际工作环境,同时加强表达、...
通过对比一个即将毕业的大学生与一家软件公司对Java软件工程师的具体需求,我们可以深入理解如何才能成为一名优秀的Java程序员。 #### 二、求职者的困惑 首先,我们来看一个求职者的案例。这位求职者拥有丰富的...
【程序员简历模板10.doc】是一个为程序员量身定制的简历样本,旨在帮助应聘者突出其在编程领域的技能和经验。这份简历包含了重要的个人信息、教育背景、实习经历、自我评价和校园经历,全面展示了候选人的专业能力和...
本文档针对即将成为或已经是Java程序员的朋友们编写,旨在帮助他们更好地理解Java程序员的职业特点、市场需求以及如何提升自身竞争力。通过深入分析案例和个人经历,本书提供了一系列实用建议和策略。 #### ...