首页 > 代码库 > 那么多技术,作为一个freshman,该学习什么?

那么多技术,作为一个freshman,该学习什么?

学技术,该从何学起?

       最近有几个师弟问我:“如何学习技术?”。说实话,其实我自己也只是一个大四师兄,对于这个答案,回答起来本身是比较吃力的。但是,既然比师弟们多吃了几年饭,还是有一定的个人见解。下面说说我自己现在是如何看待这个问题的吧。
       1明确自己的定位。
       很多人,或许和大一的我一样,压根不明白自己的定位指的是啥。在学校,老师们讲了N+1次,说本上这个词出现过M+1次,实际上多少人能够明白呢?现在的90后,据我观察都是相当乐观和自信的,压根就不在乎未来的人生会往哪个方向发展,但是心中都会有一个信念,自己一定会成功。有了这个坚强的信念,还会害怕未来找不到工作?未来做不了他人高攀不起的人?这个信念,是对的,充分体现了我们90后的活力与自信。但是仅有信念,没有付诸行动,也是竹篮打水一场空。所以在大学,一定要花时间去好好思考,未来自己想要的生活什么是怎样子的。如果哪天你能够明确说出自己想要的生活,那么基本上你已经找到自己的定位了。在软件开发中,一般技术定位分为很多种类型。从大的方向上看,有前端工程师,以及后端工程师。
  • 前端工程师指的是:html + javascript + css + android(界面) + ios(界面)这些,也就是如何与客户直接交互的部分
  • 后端工程师指的是后台数据的逻辑处理,在java方向上,经常使用ssh + 数据库等
      在一些企业里面,一般前后端是明确分工的。所以前后端工程师的待遇其实都不差,所以不用担心哪个方向的待遇会更好。所以面对这些,我们该如何学起呢?其实我们在大学里面,最主要的不是明确区分的职业路线,而是应该打下坚实的编程基础。那么哪些知识属于编程基础范畴呢?
  • 软件开发流程
  • 面向对象思想
  • 数据结构与算法(这里不需要去啃算法导论先,可以把图论、树、排序这些搞懂先)
  • 一门开发语言(可以选择java,php,c,c++,object-c等)
  • 离散数学
  • 设计模式
  • 英语
  • 基础数学
      在上面的列表中,数学跟英语是非常重要的。我当初曾经太年轻,以为过了4级就一切万岁,其实不然,如果你哪天想要进入外企,你的英语将会帮助你从N多位应聘者中脱引而出。不仅如此,英语更能帮助你写出更好的代码,更快的理解新技术文档等,反正英语很重要很重要...这个给出一个小小建议,每天早上一开电脑就背诵单词20个,这种方式将会大大提高你的英语。我大三最长坚持时间是4个月左右,英语听力一级词汇量上都进步巨大。然后数学就不多说了,一切都离不开数学。然后这里重点要谈谈编程语言。在市场上,目前c,java,c++都是使用量比较多的语言,其中java主要擅长开发web项目以及移植性较高的项目,c基本都是操作系统的基础语言,c++擅长游戏开发。所以大学期间,大家可以选择以java为主要语言。软件开发流程,面向对象思想这些就需要在实战中得到提升啦,千万不要以为看书可以得出结论,那根本是天荒夜谈。所以学习完一些技术之后,记得实践啦。恩,这里再谈安卓开发与java的关系。其实大学一开始,可以学习java在先,然后安卓在后。学习期间,不需要担心自己落后于他人,只要你java学好了,安卓自然不在话下。
      当基础打好了,然后就可以按照自己的职业规划去做某个特定领域的扩展啦。前端的继续研究前端相关技术,后端的赶紧学习后端的流行技能。如果发现自己不适合软件开发行业,那就赶紧撤吧。但是有的人在一开始就说不适合,其实那根本就是屁话,一种逃避而已。对于某个行业,你压根就不懂,然后别人问你为啥不好好学习时,就说不敢兴趣...你这娃其实就是懒!!!

      2想进大企业还是小型创业公司呢

      过来广州四个月时间了,在这期间投了不少简历,参加了不少面试。在面试中,我将公司主要划分为两类:小型外包项目,大企业。小型企业希望你是全能通,直接可以参加工作。大企业则希望你拥有扎实的基本功。为啥呢?大家可以自己稍稍思考下啦,这里我就不多说了。这里重点谈谈的是:小企业给的工资很低!大公司资金充裕,相对工资高很多。哈哈,所以,从钱上考虑,一定要把基础打扎实。大企业不看重你做过多少项目,会多少编程语言。

     总结:不要在大学就希望掌握最前沿的技术,不要分散太多精力到不一样的编程语言,心中牢牢抓住,自己目前虽然走的慢,但那是为了以后的飞跃在做充分准备。下面分享一个连接,大家可以找相关一些书籍看看:http://blog.jobbole.com/5886/

      
       
     

那么多技术,作为一个freshman,该学习什么?