年薪百万的程序员是怎样的存在?

年薪百万的程序员是怎样的存在?


DATA: 2018年10月29日 17:48:57

滚滚长江东逝水,浪花淘尽英雄。

高校和培训机构每年都有成千上万的准程序员杀入职场,然而不消数载就会有大量的精英分流在项目管理、团队管理、售前售后或HR等重要的研发支撑岗位。留在开发一线的程序员们有些人苦苦没有转型机会,也有些人不忘初心主动选择了继续沉静在Coding的世界。

无论是管理也好,研发也好,作为或者曾经作为一名程序员,让我们一起看看百万年薪的Coding岗位是怎样的存在。

本文统计了猎聘百万年薪的开发岗位,去除总监、CTO、架构师等高级Title,只保留工程师称谓的职位。即,只统计Title是工程师的职位。如:Java工程师、Android工程师等。

摘取几款百万悬赏令如下:

资深java软件工程师

国内知名互联网公司(深圳)
90-120万

统招本科5年以上普通话28-40岁

工作职责:
1、负责设计、维护、调整互联网相关业务的技术架构,以适应业务的发展;
2、负责组织技术研究和攻关工作,解决系统关键问题;
3、对系统框架相关技术和业务进行培训,指导日常开发,制定开发规范。
任职要求:
1、本科及以上学历,5年以上J2EE/Web系统架构相关的互联网工作经验;
3、深度理解SOA、微服务等分布式架构的原理和思想,对互联网高性能、高负载应用系统架构设计有丰富经验;
4、有很强的业务理解能力和沟通能力,能将业务良好的转化为软件架构、化解技术风险;
5、有很强的架构演进实践,能够平滑的处理现有架构到理想架构的演进;
6、深度理解HTTP、TCP/IP、RPC协议,熟悉分布式、缓存、消息系统等机制;
7、精通MYSQL的基本理论和调优方法。"    

Android软件工程师

东南亚知名独角兽公司(新加坡)
80-110万

统招本科2年以上语言不限24-35岁

从头脑风暴到工程参与全生命周期
在移动应用程序开发的背景下探讨各种主题,包括图像处理、动画、流媒体
对趋势技术进行研究并在工程组内倡导

工作要求

计算机或相关专业工作经验;
深入理解CS基本原理
与java / Kotlin Android开发经验
对移动设备的应用程序生命周期、内存管理和网络化有自己的见解
主动行动,用批判性思维解决问题
与同事有效地用英语交流
(可选)具有反应本土化的经验
(可选)高级音频/视频工程经验

Java高级软件工程师

某互联网知名创业公司(上海)
70-100万

统招本科4年以上语言不限28-35岁

职位描述
1、参与在线架构设计和优化,支撑实时、大规模、高可靠系统的研发; 
2、负责推荐系统、广告系统的设计和优化,提升系统的灵活性、稳定性; 
3、参与构建基础数据仓库、计算和传输平台,流式计算,离线挖掘系统,机器学习系统等。
任职要求
1、5年或以上相关工作经验,熟练掌握至少一种编程语言:C/C++、Java、Python、Shell; 
2、基础知识扎实,例如:数据结构、网络编程、多线程编程、分布式架构; 
3、丰富的后台架构开发经验,例如:推荐系统、广告系统、搜索引擎等; 
4、具备Hadoop、MapReduce、Spark、Storm、HBase、Kafka等开发经验者优先; 
5、具备创新思维,在专利和论文方面积累较多经验者优先。

AI软件工程师(深圳)

世界500强 ICT公司
80-110万

硕士及以上3年以上英语28-42岁

职位描述
作为AI软件工程师/科学家,您将负责:
    跟踪业界新进展,了解那些有可能改变业务,工作团队,或者消费者体验的可能的技术突破
    与团队成员和业界专家紧密合作,设计和实现能够展示团队想法潜力的原型
    在与早期运用客户一起运行试点项目时,提供支持,来证明项目的实际影响能力
    开发支持AI的解决方案,并整合SDLC,包括需求,功能规格,设计,定制化开发,集成,测试和部署
    预测客户需求并为客户问题制定解决方案
    审查项目交付的准确性和质量

岗位要求
必须:
    博士或硕士学位,至少3年软件开发或相关行业经验
    自主,独立的工作能力
    具有根据Deadline和工作目标,高效的确定工作优先顺序的丰富经验。能够超越当前工作目标进行思考并采取主动行动。
    能够与技术和商业受众进行清晰有效的沟通
    精通Python,GO,R,Scala,LISP,JavaScript或Java中的至少一种编程语言
    了解有监督和无监督机器学习算法和现代人工神经网络,如CNN,RNN,LSTM或GAN
    拥有深度学习开发库或框架的先前经验,包括Tensorflow,Theano,Torch,Caffe,CNTK,MXNet,Keras或Scikit-learn
    敏捷软件开发方法的经验,混合敏捷方法,系统开发生命周期(SDLC)

有如下技能更好:
    计算机科学(CS),电子和计算机工程(ECE)或相关技术相关领域的学位
    能够将需求转化为设计规范和开发设计文档的经验
    能够使用数据源来训练和部署AI模型
    API设计和软件开发工具包(SDK)的经验
    与业务用户合作来收集需求,编写功能和技术规范,以及技术需求沟通的能力
    在使用AI技术解决实际业务问题方面拥有成功的记录
    有GPU,FPGA和其他加速硬件的经验
    在包括图像识别,NLP / NLU,预测分析,BOT,智能推荐,风险自动检测或自驾车在内的认知项目中的亲身实践经验。

java架构师/高级软件工程师

互联网支付行业领导品牌(北京)
70-100万

统招本科5年以上语言不限25-40岁

职位描述:
一、高级Java开发工程师:
职责描述:
1、参与业务需求评审;
2、参与系统架构,包括相关方案的设计和评审工作;
3、进行网联交易/对账/差错/清算系统的代码开发及性能优化;
4、指导其他开发人员提升代码质量;
5、负责系统的生产变更和故障分析等;
任职要求:
1、全日制本科或以上学历,计算机软件或相关专业; 
2、具有5年以上的金融支付研发经验;
3、精通io、多线程、集合等基础框架,能熟练使用spring、mybatis、dubbo等技术;
4、具备分布式系统开发经验,深入理解RPC通信框架、分布式事务、消息队列等技术;
5、能熟练操作Linux系统、mysql数据库等;
6、有账务、结算、清算、支付、收费等系统经验者优先;
7、能承受一定的工作压力,有责任心、上进心,具备良好的自学能力和独立解决问题能力。

高级软件工程师

某股份公司(北京)
70-100万

本科5年以上语言不限28-50岁

职位描述:
1、精通J2EE系统架构,具有大型基于J2EE平台应用软件的项目规划、架构设计、软件开发经验;
2、熟悉UNIX/Linux/WINDOWS操作系统、互联网+及应用平台、主机、大数据存储及灾备等,具有分布式高容量系统架构设计经验,熟悉楼宇自动化各子系统集成交互接口,熟悉IP网络视频监控,具备智能建筑控制管理软件开发经验优先;
3、熟悉MYSQL/SQL Server/Oralce等数据库技术和相关工具,具有数据库优化整理及大数据处理经验等;
4、 熟悉网络TCP/IP、BACnet、OPC等协议,熟悉智能建筑自控各系统设备网络接口协议,具有C/C++/JAVA及自控系统接口编程3年以上经验,具有开发网关及通信维护软件经验,有智能楼宇系统设备运维软件开发经验优先。
5 、熟悉WebSphere/WebLogic/JBoss/Tomcat等主流J2EE应用服务器;熟悉Hibernate,Struts,Spring框架设计及应用,具有5及以上JavaScript、Ajax开发,熟练HTML/CSS/JQuery,熟悉Ext等主流Web前端展现框架的设计思想和组件实现方式,有Web前端框架或组件开发经验。
6 、具有良好的表达能力和沟通能力和一定的组织能力;具备团队精神和合作精神,有创新激情及清晰的逻辑思维,能够在一定的压力下工作。

高级软件工程师

国内知名地产(北京)
70-100万

本科及以上5年以上语言不限28-45岁

职位描述:
1、计算机、软件工程、自动化与电子通信等相关专业硕士及以上学历,或者具有扎实工作经验的本科生;
2、熟悉C++或者C#,熟悉.net环境下程序设计;
3、有CIMS、MES实际工程经验者优先考虑;
4、熟悉Socket网络编程、大型数据库编程和人机交互界面编程

我们可以看到,有些悬赏(如最后一个,地产的高级软件工程师)看起来很虚,没什么实际内容所以我们不做分析。

我们对其他相对内容饱满的悬赏令分析发现这些岗位要求有一些共同点:

  1. 对某一领域的架构和技术点有深入的理解,能用的溜而且能讲的溜
  2. 强的表达能力,能交流业务,能头脑风暴,能培训
  3. 有一定的带队能力,能培训、指导别人,能制定开发规范
  4. 某一领域丰富的实战经验
  5. 年龄不能太大,上限大约40岁(刚入职就退休啥岗位也不合适呀)

总结百万猿的共同点,反思可得成长方向:

  1. 研究深入,对项目用到的东西要有深层的研究,比如spring、Mysql、协议等
  2. 技术以外的交流能力,能给团队带来增益。具备乐于分享的精神

总之,百万猿在技术过硬的前提下,一定要具备引领团队的能力。

版权声明

弈心博客


本文首发site_name,转载请附上博文链接!