一、程序员的发展方向
计算机涉及的知识非常广泛,不可能在短时间内全部学完,即使公司的CTO也不可能样样精通,初学者要选定一个方向,不要想着把客户端软件、网站、APP都开发出来,这在短时间内是不现实的。相信我,你不是神! 1)Windows开发: 主要是开发客户端(PC机上的软件),如QQ、迅雷、360等,需要学习C/C++、WindowsAPI、操作系统原理、数据结构、算法等。 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(QualityAssurance,译为“品质保证”)人员就是为程序员把关的,如果程序员的作品不符合产品需求或者Bug太多,QA有权驳回,这时就会影响程序员的绩效。QA不但要能看懂代码(大概理解什么意思),还要掌握一定的测试技巧,更重要的是心思缜密,有耐心有毅力,女生比例很高。 二、程序员的待遇 IT行业的待遇比很多行业要高,程序员尤为突出,刚刚毕业的大学生,进入百度、腾讯、阿里巴巴等这些大企业,年薪一般在15万以上,经验丰富的可以拿到20多万,30万的就是神一样的存在,有,但是极少。 拿到融资的创业公司、规模不大的公司、一些国企等给的待遇也不错,年薪也可以超过10万。 很多小公司,老板一个人说了算,也没有融资,待遇一般都不会高,一个月几千块钱。这样的公司招人难,进入的门槛低,对学历的要求也可以忽略,能干点活就行。但是往往是这样的公司最折磨人,你什么都需要做,涨薪没有明文规定,老板经常画饼,还会威胁你说完不成任务就走人。 每个城市的待遇也不一样,北京、上海、广州、杭州这些一线城市都有大公司,待遇最高;成都、大连、南昌这些二三线城市的待遇略低。