【软件工程师之路一】咸鱼翻身之自学软件开发

给大家推荐一个网站,主要是给在校学生提供资料和交流的平台,也希望社会人士能进来给与一些经验和建议,把这个网站维持下去。

阳光沙滩 http://bbs.sunofbeaches.com/?fromuid=9791


“做人如果没有梦想,跟咸鱼有什么分别?”

我们的梦想就是如何从零基础去学习软件开发,最后达到我们心目中的高度,首先我按自己的理解大致将各个阶段进行划分,每个公司都有自己评定的标准,但大致都差不太多。


学习模式

我将学习分为两种模式

一、项目驱动型

以软件项目开发为导向,先暂时绕过基础知识的学习,起初只求会用,过程中慢慢去补足计算机相关的知识。这种方式在早期对于定力不强,容易退缩的同学是非常有效的学习方式,早早地能进行软件开发无形中会增加成就感,产生驱动力继续去深入学习,这种方式缺点也比较的明显,就是瓶颈出现的时候会比较的明显,不过如果能持之以恒,坚持不懈的学习,瓶颈也会跨过去的。我身边有不少同事,大学的专业跟计算机都没什么关系,毕业后自己转行,也一样能把软件开发做得很好。

二、系统学习型

按部就班,这种比较适合本专业,也建议有恒心的同学采用这种方式。这种方式怎么讲,就跟学功夫,天天扎马步,打桩一样。平时没什么感觉,一旦遇到难题,瓶颈时就能体现出稳扎稳打的优势,时常会因为以前的一个知识点让你灵光一闪。这种方式缺点就是比较枯燥,所以我建议采用这种方式的同学,阶段性的结合方式一去获取一些成就感。比如学习C、C++或者研究算法到一定程度,去写一些简单的单机游戏,或者去参加一些算法竞赛。

学习路线

第一种学习模式比较简单,主要是在挑选书籍的时候以项目案例类的书籍为主即可。

第二种学习模式,学业中的数学,物理,高数、现代、图形学、计算机组成原理,微机原理、语言类C、C++、Java等都别落下,这是打基础的阶段,别挑食学得越扎实越好。
下面会列举目前公司比较常见的开发语言,框架等需要掌握的一些东西共大家参考学习。
  • Android学习
    • 开启Java之门,学习OOP、泛型、IO操作、多线程、网络、序列化、反射、注解等
    • 熟悉数据库,QSLite、MySQL,Oracle
    • AndroidUI/四大核心组件,网络通讯,动画等
    • 在深入则学习JNI,NDK编程
    • 如果往游戏开发走还需要学习Cocos2d-x等框架
    • 现在HTML5开始火起来了,有精力的话这个方面也可以学习一下
  • IOS学习,IOS开发我没有做过,仅在MAC下做过Qt的开发,这里我只粗略提一下
    • OC目前还是IOS主流,这个是一定要掌握的
    • Swift已经在慢慢热起来,学习完OC这个还是去学习一下
  • PC桌面应用开发
    • C、C++、C#等
    • Qt 首推Qt框架,跨平台
    • WPF Windows下的利器,新项目别去学MFC,早该丢弃的框架,目前只有维护旧项目有用
  • 大数据
    • linux基础,大数据离不开linux,这个是要优先学习的
    • Hadoop 
    • HDFS
    • MapReduce
    • ......太多了,如果选择这行,要做好心里准备,都是难啃的茬
通用的一些书籍,如设计模式、架构、性能调优、软件工程、项目管理等参杂于其中,反复的看。
希望各位看官留言交流心得。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值