计算机涉及的知识非常广泛,不可能在短时间内全部学完,即使公司的CTO也不可能样样精通,初学者要选定一个方向,不要想着把客户端软件、网站、APP都开发出来,这在短时间内是不现实的。

1)Windows开发: 主要是开发客户端(PC机上的软件),如QQ、迅雷、360等,需要学习C/C++、Windows API、操作系统原理、数据结构、算法等。

2)游戏开发: 需要你有Windows开发的基础,再学习DirectX图形编程、Socket通信、游戏服务器架设等。

3)Web开发: 也就是做网站,分前端和后台。后台主要负责服务器端的编程,需要学习Java、PHP、Python等一门Web开发语言;前端主要负责网页的设计,需要学习HTML、CSS、JavaScript等。随着互联网的崛起,人才需求量大,工资高,很大一部分程序员都在从事Web开发。

4)底层服务: NB 的程序员都在搞这些,例如编写一个线程池为上层提供服务。工资比普通的程序员高。

5)算法: 也是NB的程序员在搞,一般不注重编程语言,而是侧重解决问题的方法和效率。工资比普通的程序员高。

6)移动开发: 包括IOS和Android,你可以开发APP,也可以开发游戏,需要学习Java(针对Android)、Objective-C(针对IOS)、Swift(针对IOS)等。

7)软件和硬件结合: 包括嵌入式和单片机,不仅要会写代码,还要了解硬件,所以入门门槛比较高,知识也比较庞杂,学习时间长。选择该方向最好有数字电路、模拟电路和汇编的基础,非常适合电子信息工程专业的同学。

这个方向的同学,大部分去了中兴、华为等以生产电子产品为主的公司,工资虽然没有一般的程序员高,但是还说得过去。不过随着智能硬件的崛起,这部分工程师的春天或许就要到来了。

8)测试(QA): 一款产品问世需要大量的测试才能投放市场,QA(Quality Assurance,译为“品质保证”)人员就是为程序员把关的,如果程序员的作品不符合产品需求或者Bug太多,QA有权驳回,这时就会影响程序员的绩效。QA不但要能看懂代码(大概理解什么意思),还要掌握一定的测试技巧,更重要的是心思缜密,有耐心有毅力,女生比例很高。

转载:http://blog.csdn.net/czg13548930186

results matching ""

    No results matching ""