说说软件工程师的职位头衔(Title)和级别


我现在在GE做软件工程师, 职位头衔是 Staff Software Engineer 翻译过来是 资深软件工程师. 我见过的软件工程师的职位(Software Engineer) 有以下几种:

  • Software Engineer Intern: 软件工程师实习生. GE剑桥每年都会有十几个从大学过来的实习生, 会被分到不同的组, 然后由不同的大牛带, 一般是12个月, 每年都会有迎新和欢送实习生的会, 很是温馨. 有了在大厂的实习工作经验对于以后再找工作(转正)很有帮助.
  • (Junior) Software Engineer: 初级软件工程师, 一般头衔不会加 Junior, 就是 Software Engineer. 我们组里的一个 Software Engineer 就是实习后立马转正的. 一般来说, 需要实习表现较为突出, 并且刚好公司项目有资金招人. 初级软件工程师一般需要大牛来带, 有时候需要和别的组员一起合作完成设计和功能的实现.
  • Senior Software Engineer: 高级软件工程师, 一般来说工作个三五年就能被提拔为这个级别. 这个级别的软件工程师绝大部分能很好的独立完成功能的设计, 实现和测试. 并且需要写文档.
  • Staff Software Engineer: 资深软件工程师, 是更高一级别, 除了高级的职责外, 还需要带一些组里的新人(初级和实习生). 有时候需要和项目经理, 产品经理等一起开会研讨功能和模块设计.
  • Senior Staff Software Engineer: 这个在公司里已经是很高级别了, 代表了技术大咖. 需要对公司的产品代码很熟悉, 并且需要参于架构功能等设计, 需要带新人. 比如我刚入职GE的时候就指定了一个Senior Staff SE来带我 (Mentor). 有时候 Senior Staff SE 还需要做敏捷开发的 SM (Scrum Master) 也就是每天例会上主持会议. 还有就是每两周的 planning meeting也需要亲力亲为.

上面说的这些职位头衔并不是绝对的, 比如一般来说只有美国IT公司会用到 Staff Software Engineer. 而在欧洲, 还有以下几个级别:

  • Lead Software Engineer 或 Software Engineer Lead: 一般来说在一个公司干个四五年以上基本上就可以混个 Lead 了, 这个title 感觉和 Senior差不多, 唯一可能更高一点点的代表了对产品较熟悉, 而且可能在哪一个领域或者模块较有权威, 也会带新人.
  • Principal Software Engineer: 这个级别类似 Senior Staff SE, 翻译过来就是首席软件工程师.

当然这些级别也可以应用到其它职位, 比如 Senior Solution Architect 高级方案架构师, Prinicpal Technical Architect 首席技术架构师, 等等. 一般来说, 小公司晋升较容易: 一是人少(竞争少), 没几年新人招进来, 自然需要把你提拔上去(虽然可能你的能力很不幸还没到那个级别).

美帝在这 (Senior Staff) 之上有 Principal, Distinguished 和 更高一级的 Senior Principal, 甚至还有 Fellow 大牛级别. 比如 Google 就有 Google Fellow (L10) 和 Senior Google Fellow (L11). 这两级别很难很难升, 除非对公司或者人类算法有巨大的贡献吧.

相反大公司晋升较难, 因为人多, 竞争激烈, 大公司的产品线多, 需要很长的时间才能对大部分产品 架构和方方面面较为熟悉. 当然这也和你的经理有点关系, 好的经理能培训你, 给你创造机会, 很快的提拔你(这也是经理的一个KPI). 前面说的带我的那个大牛花了17年从 staff 晋升到 senior staff, 当然这不是特例, 我发现其他软件工程师也差不多得好几年才能被提拔.

software-engineer-level-promotion 说说软件工程师的职位头衔(Title)和级别 I.T. 程序员 资讯

software-engineer-level-promotion

初级码农在搬砖, 越高级的码农就得懂得多方面的知识, 甚至是运维(e.g. CI), 架构(e.g. 容器), 前两天推上一软件工程师很幽默的说Full Stack就是整个IT部门.

full-stack-vs-entire-it-department 说说软件工程师的职位头衔(Title)和级别 I.T. 程序员 资讯

full-stack-vs-entire-it-department

艺多不压身, 一般对于小公司来说, 招 Full Stack 全栈程序员性价比很高, 而对于大公司来说, 有钱, 则就招得很专, 比如 运维工程师, 测试工程师啥的.

软件工程师最基本的技能就是 数据结构与算法, 然后在懂一两方面专业的知识, 比如 GPU 计算. 华为, ARM还有高通这些做芯片的招人的时候就比较喜欢招有这些硬件知识(底层操作系统, 编译器等)的软件工程师, 职位也比较专, 比如 Mobile GPU Software Engineer, Compiler Software Engineer 等. 这就很专了, 越跳越专, 竞争越来越少.

相反, 互联网大厂, FANG (Facebook, Amazon, Neflix, Google) 这些招人就是 Software Engineer, 只不过级别不同, 比如 Amazon的Software Development Engineer L4 就是刚毕业一两年的软件工程师, L6 就是 Senior 级别的工程师.

互联网程序员主要考察的能力就是 数据结构+算法, 还有就是架构: 怎么设计一个容错性, 可扩展 scalable 的系统.

对了, 谷哥还有 SRE (Site Reliability Engineer) 大概是偏运维的软件工程师, 感觉需要 on-call 责任多一些吧.

对了, 大学里还有一种软件工程师: Research (Software) Engineer.

研究院也需要engineer, engineer给 researcher擦屁股, 研究院的鄙视链一般是 researcher – RSDE – SDE

researcher 的 bar 真是太高了, 竞争激烈, 背景全是 mit, harvard这种PHD,然后看 publication, 都是phd postdoc在神仙打架. 我们组经理就很鄙视英国的PHD, 他说只有3-4年, 学不到啥.

GD Star Rating
loading...
本文一共 1343 个汉字, 你数一下对不对.
说说软件工程师的职位头衔(Title)和级别. (AMP 移动加速版本)
上一篇: 避免选择低质量没保障的 VPS 公司
下一篇: GE的沙拉俱乐部

扫描二维码,分享本文到微信朋友圈
950e34b2943e95e744aed16140e7d98d 说说软件工程师的职位头衔(Title)和级别 I.T. 程序员 资讯

一条回应

评论