程序员除了做网站,做app外,都在做啥比例又各占多少

谢邀~
刚刚查看了一下百度百科词条,维基解释太奇葩了,看不出什么东西,就只上百度词条了:
程序员除了做网站,做app外,都在做啥比例又各占多少

所以程序员就是写程序的。

那么回到题主问题「除了做网站,做APP外,都在做什么?」我先简单地描述一下做网站和APP中,程序员到底做了什么。
(最近在走鹅厂实习招聘,我简单暴力贴出腾讯招聘的要求就可以窥见斑斓了~)
一/后台开发
编程基本功扎实,掌握C/C++/JAVA等开发语言、常用算法和数据结构;熟悉TCP/UDP网络协议及相关编程、进程间通讯编程;了解Python、Shell、Perl等脚本语言;了解MYSQL及SQL语言、编程,了解NoSQL, key-value存储原理;全面、扎实的软件知识结构,掌握操作系统、软件工程、设计模式、数据结构、数据库系统、网络安全等专业知识;了解分布式系统设计与开发、负载均衡技术,系统容灾设计,高可用系统等知识。二/Web开发
熟练掌握html/css/javascript等前端技术,有jQuery、node.js等js框架使用及扩展编写经验者为佳;熟悉java/c++/python/php等主流web编程语言,接触过相应的框架并有一定的理解;了解redis/memcache等缓存中间件者优先考虑;能熟练使用MySQL/MongoDB等数据库,如有查询优化方面的经验为佳;有较强的学习能力、分析及解决问题能力,具备良好的团队合作意识,心态好,有责任心。三/数据分析
1、本科及以上学历,应用数学、统计学、数量经济学、应用经济学、运筹学等数据科学相关专业;2、严谨的逻辑思维能力和扎实的数理专业知识基础;3、较强的动手实现能力,熟练使用R/Python/Matlab等相关统计数学软件的一种;4、具备自我驱动的研究热情,有学术研究成果发表者优先考虑。四/游戏
计算机科学/工程相关专业本科或以上学历,热爱编程,基础扎实,理解算法、数据结构、软件设计相关知识;至少掌握一种游戏开发常用的编程语言,具 C++/C# 编程经验优先;具游戏引擎(如 Unity、Unreal)使用经验者优先;了解某方面的游戏客户端技术(如图形、音频、动画、物理、人工智能、网络同步)者优先考虑;对于创新及解决具有挑战性的问题充满激情,有较强的学习能力、分析及解决问题能力,具备良好的团队合作意识;具阅读英文技术文档能力;热爱游戏。当然,还有很多比如「测试」、「运营」、「移动客户端、PC客户端」开发这些我就不细贴出来了。
上面都是软件开发范畴的内容,我们再看除了软件开发,还有哪些是程序员或者广义上来说是计算机科学从事人员在做的?
五/安全
热爱互联网,对操作系统和网络安全有狂热的追求,专业不限; 熟悉漏洞挖掘、网络安全攻防技术,了解常见黑客攻击手法; 掌握基本开发能力,熟练使用C/C++语言; 对数据库、操作系统、网络原理有较好掌握; 具有软件逆向,网络安全攻防或安全系统开发经验者优先。六/计算机视觉
1、 计算机、应用数学、模式识别、人工智能、自控、统计学、运筹学、生物信息、物理学/量子计算、神经科学、社会学/心理学等专业,图像处理、模式识别、机器学习相关研究方向,本科及以上,博士优先;2、 熟练掌握计算机视觉和图像处理相关的基本算法及应用;3、 较强的算法实现能力,熟练掌握 C/C++ 编程,熟悉 Shell/Python/Matlab 至少一种编程语言;4、 在计算机视觉、模式识别等学术会议或者期刊上发表论文、相关国际比赛获奖、及有相关专利者优先。七/机器学习
1、 计算机、应用数学、模式识别、人工智能、自动化控制、统计学、运筹学、生物学、物理学/量子计算、神经科学等专业,本科及以上,博士优先;2、 熟悉常用机器学习算法,尤其是深度学习、增强学习等相关领域,对模式识别,概率统计、最优化等算法原理及应用,有扎实的基础,深入的理解和浓厚的兴趣;3、 精通C/C++、Java、Python等至少一门编程语言,有较强动手能力。了解目前常见的机器学习或者深度学习框架中的一个或者多个:Spark,XGBoost,Caffe,Tensorflow等……4、 在计算机科学学术会议和期刊如NIPS、ICML、IJCAI、AAAI、UAI、KDD、SIGIR……等发表过论文,或者有相关的开源项目贡献经验;5、 乐于动手,有良好的逻辑思维能力和数据敏感度,能够熟练阅读和编写英文论文,具有优秀的新技术研究能力。八/语音处理


推荐阅读