对即将步入软件行业的师弟师妹们的忠告
关键词:方法,态度,恒心
软件行业的发展越来越快,每年都有许多软件公司的崛起,又有许多公司不断的扩张,因此,只要你是个人才,只要你有能力,会有很多公司需要你,因为公司的发展需要你来掌控(^_^说的有点过).
下面我来说一下怎样一步步成为一个软件人。首先,我觉得兴趣是最重要的,如果没有兴趣,只是看重那一份薪水(软件行业薪资差别很大的,如果你不能提升自己的技术,你的工资....).如果你对软件有兴趣,每当自己写出一段优异的代码感到高兴,并且有点沾沾自喜(貌似有点贬义~),那么我希望你能成为一个软件人,因为,当一个人的爱好和工作合二为一时,那么他将在他的生活中得到无穷乐趣,而且他的生活质量一定是高水平的。
进入软件行业首先要把基础打牢,否则,将来你也要补回来的,而且花费更多的精力。说道基础,我个人认为(纯属一家之言),掌握一门基础语言是很重要的,我说的掌握就是你对这门语言非常熟悉,以至于当你要解决一个问题时,你第一想到的就是用这门语言。在这里我不为各位推荐哪门语言了,只要你能够深入了解并掌握就行。光学语言是远远不够的,否则你只是一个coder,只是在不断地编码,而不知道自己编写的目的,编写的方法。
算法和数据结构——编程的灵魂(恕我斗胆)
作为一个软件人,不懂算法和数据结构,请您不要自称自己是软件人。因为要想一个程序执行时间短,占用空间少,你就离不开算法和数据结构。好的算法可以让你的收益增倍。百度为什么可以做的这么大,因为他有自己的搜索引擎算法,就这一点,就可以让他在搜索行业不断前行。所以如果想深入软件行业,算法,数据结构你不得不会。
学习任何东西,方法都是最重要的,这就是为什么很多高考状元并不是班里最刻苦用功的,但他一定是最会学习的,因为他有自己的一套独特的学习方法。软件行业也是,你要有自己的方法。有的人刚入门的时候,喜欢自己研究,有的人喜欢看视频,有的人喜欢自己编写代码,有的人喜欢逛论坛等等。每个人都有自己的方法,但是你必须找到最适合自己的方法,有时候你需要综合多种方法后,才能找到一条适合你的学习之路。
态度——做任何事情态度是最重要的,米卢曾说过:态度决定一切。当你决定做一个软件人的时候,你就需要静下心来,认真思考自己需要哪些品质去作为一个合格的软件人。不能这边想做一个软件人,这边又天天聊天,打游戏,看电影等等。软件行业是辛苦的,因为你的娱乐时间很少,软件行业也是幸福的,因为当你设计出好的作品来,你的心在跳动,你的血是沸腾的,你在为之奋斗的过程中你是快乐的,有时候你在写代码的时候,一天的时间瞬间就过去了,而你却全然不知。因为,幸福的时光,人们总是感觉短暂。
软件,软件——软件工程就是门很重要的课程,很多同学上这门课的时候感觉一点用没有,而参加工作后,又后悔自己没有认认真真地学习这门课程。这是你们教你怎样设计产品,做项目的。不要认为做软件就是编程,编程只是一部分,有时候设计才是主要的,编程只占%30,或者更少。因为,我相信,也始终坚信未来会出现这么一种语言,当你告诉他怎么做时,他就会生成代码。比如,你告诉他我要做一个循环,循环100次,可能他就已经帮你生成代码了,而这时我们的主要工作就是设计了,设计怎样做出一个方便,高效的产品了。
恒心——做软件有的时候你要耐得住寂寞。当别人高谈阔论的时候,你应该在思考如何才能实现这个问题,如何才能有更好的解决办法。进入软件行业,你将不得不读大量书籍,因为软件行业是不断发展的,而且是高速发展的,你的半点迟滞,有可能就会被甩在身后,而一步慢,则会步步慢,你将用尽全力去追赶,而不一定能够追赶上。
专注:软件行业是非常庞大的,一个人的精力是有限的,因此,你只能选择从一个方面入手,把一个方面做的精了,你也就成功了。很多人都说过我很牛,我懂得10多种语言,我告诉你这不是大牛,真正地大牛是——我只会一门语言,但是我能够用这门语言做出任何我想要的东西来。而且,如果要我用别的语言,我可以不到1周的时间就可以使用它。这就是一通百通的道理。
最后,总结一下,下面这些课程是你必须,而且一定要掌握的:
数学 (计算机的源泉,计算机就是计算的),算法,数据结构,软件工程,组成原理,操作系统,网络。(还有你自己感兴趣的,书籍越多越好,因为最后你会发现万物归宗,任何事物是有联系的,可能操作系统的东西,就对网络的深入了解有很大的帮助)。