以下是给一名大一学生的回信,贴在这里希望能对后来的新人有所帮助。
XXXX,你好:
请原谅拖了很久才给你回邮件。首先是因为前段工作很忙,晚上也要加班到很晚。再者感觉诚惶诚恐,害怕我的某些个人偏见会误导你。
从你的邮件中我可以感觉到你是一个有目标且有很强执行力的人。很多人进入大学之后就像无头的苍蝇,没有目标。相比较你的目标很清晰。坚持下去并不懈努力,相信你会实现自己的目标。
夯实基础
大学的前几年都是夯实基础时候。基础不牢,无异于浮沙筑高台。因此一定要学好相关基础课:比如操作系统、数据结构、网络,然后熟悉并精通一门编程语言。很多技术都是相通的,具备夯实的基础之后再学习其他技术是很容易的一件事情。那么多的技术你是学不完的,找一个方向有所突破就可以。很多技术都要学最终的结果可能就是都半途而废。
没有过时的技术,只有跟不上时代的人
因为我个人一直使用C++开发底层库,对Java web后台不甚了解,所以不能给你有用的建议。但我要说的是,没有过时的技术,只有跟不上时代的人。熟悉或精通一个领域之后,哪怕这个领域以后不再流行,你也可以很快的转向其他行业。有了相关的基础,很短的时间之后,你仍会成为这个领域的牛人。所以目前的阶段,没有必要纠结这个行业是不是有好的就业前景或是钱景,踏踏实实学习才是王道。
养成主动学习的习惯,成为天才
程序员的工作性质决定需要毕生不断学习。我见过很多人,从毕业之后就抛弃了读书学习的习惯。每天应付工作后也就无所事事。磕磕碰碰学习到的知识都是零零碎碎,不成体系。很多三五年的程序员,其实很多都是仅仅具有一两年的水平,然后重复三五年而已。系统的学习经典的技术书籍就是与牛人思想碰撞的过程。我们都希望有一个大牛来指导,但大牛都很忙或是根本就不屑于指导我们。而读书就是与大牛零距离接触的比较好的方式。希望你能成为一个天才:每天读书学习,为自己的才华增砖添瓦的天才。刚开始学习,所处的位置决定有太多太多的东西看不懂、学不会。但没有关系,随着年龄、阅历、经历的增加,你的视野会不断扩大,终有一天你会有一览众山小的感觉。
程序员的核心竞争力
我认为 程序员核心竞争力 = 坚实的基础 + 主动学习能力 + 保持足够的兴趣。坚实的基础不仅是你进入BAT、Google、Microsoft的敲门砖,也是你沿着目标不断发展的基石。主动学习的能力或许是大学教给我的最有用的技能。不断主动学习,你会越走越远。足够的兴趣是驱使你不断前进的动力。虽然我早已不像在学校那样将编程看的多么神圣,但励志成为架构师一直是我的梦想。
不甘做代码工人
软件开发是高强度的脑力活动,所谓的代码工人只是程序员的自嘲。嘲讽那些做重复且没有技术含量的工作的人。为避免成为代码工人,首先要有清晰的职业目标。你要成为项目经理还是成为架构师或是甘于每天无所事事。有了自己的目标,就要沿着这个目标努力。
从当下做起,不好高骛远
为了更深的了解你,我打开了你的博客,发现转载了大量关于如何学习、如何成长的文章。没事的时候多看看别人的经验固然好,但也要结合自己的实际情况。选择太多可能会让自己无所适从。与其问别人以后的路该如何走,不如努力做好当下的事情。如今天的操作系统课你有没有课前提前预习、课上与老师互动、课后温故知新。引用一句老掉牙但很实在的话:不积跬步无以至千里。大家都是一步步走来的,谁也不是生而就会。戒骄戒躁、谦虚、谨慎。很多人学了两年编程,确实比同龄人多学了点东西。但勿要沾沾自喜,以为自己无所不能。你的东西也都是学来的,并不是不学就会。压力不是自己不够努力,而是比你牛逼百倍的人仍在不断努力。比你牛逼百倍的人仍在努力的学习,你哪有狂妄的资本。当然,并没有针对你,只是希望在你以后小有成绩时仍旧谦虚好学。
每个人的成长轨迹都不同,大家给你的建议只是参考自己的经历给你的建设性的意见。你可本着拿来主义的精神做取舍。觉得好的接纳,不好的大可一笑置之。
这封邮件在邮箱里趴了好久,迟迟没有发出。一个朋友对我说他收到了一个大学生的来信,后来发现也是你发的。他应该回复你了,而且回复的很详细,所以这里我就只简单说一下,希望能对你有一点点用。
于浙江杭州2015.6
原文地址:http://blog.csdn.net/ithzhang/article/details/46473083