目录:
一.职位介绍
1、什么是程序?
2、什么是互联网程序员?
3、人才需求情况
4、目前薪酬情况
二.入职及晋升能力要求
5、程序员究竟要做些什么?
6、程序员需要具备哪些能力?
7、程序员的成长阶段
三.学习资源
8、线上资源
9、阅读书籍
10、研究牛人
一.职位介绍
1、什么是程序?
在互联网行业,程序专指计算机程序,即为了得到某种结果由计算机等具有信息处理能力的装置执行的代码化指令序列,或能被自动转换成代码化指令序列的符号化指令序列和符号化语句序列。
2、什么是互联网程序员?
程序员(Programmer)是从事程序开发、维护的专业人员。即书写制作代码化指令序列程序的人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。软件从业人员分为初级程序员、高级程序员、系统分析员,系统架构师,测试工程师五大类。
3、人才需求情况
程序员岗位相对互联网其他职位门槛相对高一些,百度指数从2012年开始就一直稳居高位平均在1857左右。从网上盛传的各种黑程序员的段子,足见程序员这个职位一直相当热门且不愁找工作。尤其是在知乎,程序员相亲贴基本上来自HR(莫名辛酸的喜感)。
4、目前薪酬情况
截至2015.7.23的调查统计,程序员的平均薪资达8004,并随着工作经验的积累,涨幅会越来越大。工作能力超强的程序员薪资可达到100k/月。
二.入职及晋升能力要求
5、程序员究竟要做些什么?
1)、对项目经理负责,负责软件项目的详细设计、编码和内部测试的组织实施,对小型软件项目兼任系统分析工作,完成分配项目的实施和技术支持工作。
2)、协助项目经理和相关人员同客户进行沟通,保持良好的客户关系。
3)、参与需求调研、项目可行性分析、技术可行性分析和需求分析。
4)、熟悉并熟练掌握交付软件部开发的软件项目的相关软件技术。
5)、负责向项目经理及时反馈软件开发中的情况,并根据实际情况提出改进建议。
6)、参与软件开发和维护过程中重大技术问题的解决,参与软件首次安装调试、数据割接、用户培训和项目推广。
7)、负责相关技术文档的拟订。
8)、负责对业务领域内的技术发展动态进行分析研究。
岗位分类
世界上第一位程序员是英国著名诗人拜伦的女儿AdaLovelace,曾设计了巴贝奇分析机上解伯努利方程的一个程序。她甚至还建立了循环和子程序的概念。由于其在程序设计上的开创性工作,AdaLovelace被称为世界上第一位程序员。美国国防部开发的ADA语言就是为纪念这位世界上的第一位程序员而命名的。
计算机科学发展到今天(21世纪初期),程序员从事的人群很多,分工也不相同,从大的方面可以分为以下几类:asp程序员、jsp程序员、delphi程序员、php程序员、powerbuilder程序员、C程序员、linux程序员、net程序员、vb程序员、java程序员、javascript程序员、C++程序员、Python程序员、android程序员、iOS程序员。
6、程序员需要具备哪些能力?
选择合适的工具
JAVA、C#、PHP、C++、VB……10多种热门的开发语言,哪一种最有发展潜力呢?与其分散进攻,不如全力一击。无论是哪一种开发语言,只要您全力地去学习,到有了一定的熟悉程度的时候,要学习另一种的语言也是轻而易举的事情。开发语言主要分为三大类:
1)、网络开发
现在网络已经成为世界通讯的一座桥梁,好像Javascript、PHP、Ruby这几类开发语言大部分是用作网络开发方面。
2)、企业软件开发
JAVA、C#、VB这几类开发语言都实现了面向对象开发的目标,更多时候用于企业系统的开发。
3)、系统软件
C语言、C++、Object-C这些软件更多是用在系统软件开发,嵌入式开发的方面。
当然,这分类不是绝对,像JAVA、C#、VB很多时候也用于动态网站的开发。在很多开发项目都会使用集成开发的方式,同一个项目里面针对不同使用终端使用多种开发语言,各展所长,同步开发。所以在刚入门的时候,建议您先为自己选择一种合适的开发语言。专注地投入学习,全力一击。
7、程序员的成长阶段
明确发展方向,归纳一下,可从下面几项里选择适合自己的一条道路:
1. 从技术向业务(项目经理PM)过渡
一个PM主要的工作是组织团队,控制成本,管理业务,控制项目进度,与客户进行沟通,协调工作,定期进行工作报告等。所以要成为一个成功的PM更要重视组织能力,PM必须能提高团队的积极性,发挥团队所长,在有限的开发资源前提下为公司得到最大程度上的利润。要成为一个成功PM最重视的是管理能力,但对技术也应该有足够的了解,因为这是与团队成员沟通的桥梁,只有这样才能与整个团队的成员有着紧密的结合,让团队成员感觉到他们自己存在的意义,从而调动团队的积极性,而不是漠视技术人员的存在。技术并非成为一个成功PM的充分条件但却是必要条件!
2. 从程序员向技术管理(Team Leader)发展
其实一个Team Leader的职责与PM相像,但Team Leader更着重于技术开发方面,通常一个大型项目都会有一两个开发团队由Team Leader带领,负责开发核心部分,而其它部分分派给不同开发小组或者分派给外包公司。领导是引领、引导,它激励人们达成目标。领导力是带有强烈个人感情色彩的,它不是你能命令的,也不是你能测量评估和测试的。”
3. 单方面向技术发展
技术开发尖端人才,对技术有着浓厚兴趣的人,往往会深入地研究某一项技术,成为技术上的精英。要想成为尖端的开发者,必须对C、C++、汇编语言、嵌入式开发、Windows API、Linux API这些底层技术有着深入的了解。要知道解JAVA、.NET……等这些之所以称为高级开发语言,并不是指它们比C、C++、汇编语言更高级,而是指它们封装了C、C++等等的功能,更适合用于企业软件的开发,使开发变得简单。但如果要开发一些底层的软件,大型的系统的时候,就必须用到C、C++、汇编等开发语言,这是成功尖端人才的一个条件。
三、学习资源
8、线上资源(点击直达)
编程社区:
自学教程:
Stack Overflow不会的百分之九十都可以在这里找到答案。
英文自学网站:
edX | Free online courses from the world's best universities
IBM developerWorks : IBM's resource for developers and IT professionals
Coursera - Free Online Courses From Top Universities
9、阅读书籍
想做高层为未来做准备,来点战略思考及做事思维
结网——偏重商业战略和思维,理论性较强总结了产品经理知识体系。豆瓣评分:8.0
精益创业——一个系统的流程来快速检查各种产品理念,提高做事成功率。如何快速开发最精简的产品得到对用户最有价值的认知。李开复推荐。豆瓣评分:8.5
重来——小成本创业起步必看,周鸿祎等不少大佬都推荐过。豆瓣评分:8.4
创业时,我们在知乎聊什么——知乎三年创业问答精华大集结。豆瓣评分:7.6
激荡三十年——吴晓波,社会以不可逆转的姿态向商业社会转轨。豆瓣评分:8.6
程序猿你不仅仅要懂代码
IT不再重要——云计算与信息整合,蔡文胜强力推荐(购买了数千本送人)。豆瓣评分:7.6
人月神话——软件工程经典著作。豆瓣评分:8.5
锦绣蓝图:怎样规划令人流连忘返的网站——Web信息架构必读。豆瓣评分:8.0
(互联网最全热门岗位电子书,以上书单在内。百度云盘下载地址:http://pan.baidu.com/s/1jHxGHG6 提取码:i2qc)
10、研究牛人
Linus Torvalds Linux系统之父
Ken Thompson 创造了Unix
Adam D'Angelo 问答SNS网站Quora的创办人之一
国内:
百度李彦宏,纽约州立大学计算机硕士
QQ马化腾,深圳大学计算机专业
360周鸿祎,西安交大计算机学士
网友评论