4. Senior 工程师是什麽样的角色?

前言

这篇文章感觉可以给从在思索要如何成长成senior的junior的工程师来看,或你可以藉此思考什麽是senior工程师?(但私心也没有很推,觉得讲的内容也还好哈哈。)

演讲摘要

这场演讲的核心问题是:什麽是senior developer?

通常大家的定义会是,有好几年经验的工程师,可以称作senior。但这个定义太过模糊,也不精确,更无法鼓励大家提昇自我。所以更理想的定义方式是你做的事情有何不同

讲者把工程师简单分成三个阶段:

  1. 实作解决方案者 Solution Implementer:给你解法,你只需要写扣实作出来就好。
  2. 解决问题者 Problem Solver:给你问题,你需要想出解法。
  3. 发想问题者 Problem Finder:给你目标,自己去发掘问题,规划与排序优先度。

越往後面走你就也代表你越具有senior engineer的能力。

不过要注意的是,一般来说你必须要具备有前者能力或经验,你才有办法往下面一个阶段。有些人是连1或2都做不好就一直想做3,只发想问题从不解决,那可能就不是合格的senior engineer。

另外对於leader来说,也必须要记住这几个分级,有意识的让junior去练习下个阶段的实务,并且好好指导他们与放手让他们去尝试,他们才能真正的获得成长,也才能成为你的战力。

个人心得

整个演讲虽然很长,不过大部分都在说故事XD,所以相对可以探讨的点少了许多。也顺便让我休息一天(殴飞)。

什麽是senior engineer这个问题也是古老的问题了,大家对这个问题的看法也不尽相同。对於工作时间长短来判断资深程度真的是很不合理的作法,不过神奇的是一般的Job description上的需求都会写至少要工作多少多少年才能投某个缺。我这边是可以很肯定的说,真的不用太在乎那个数字。你的眼界跟能力在哪里其实未必会真的随着你的年资增加而增加。我自己面试过不少工作超过8年的,但是有些思考的深度只到上面说的2而已,那在面试上可能就不是个好的现象。

我自己觉得对我来说junior跟senior的mindset差别最大的就是「主动思考」。给你事情你可以做好是合格的junior,但如果你要成为合格的senior就必须要主动思考,思考的广度可以是code level,可以是你使用的工具背後的抽象,可以是系统层面的抽象,可以是产品层面的,可以是流程上面的。如果你只是盲目接收与完成我们给你的任务,不会主动思考,那我觉得很难真的到达senior的level,毕竟会写扣的人满地都是很容易被取代,但你会主动思考,能有完全的自主性,才能真正成为公司的战力。

另外讲到leader的部份,几天前的文章有写到关於delegation的事情,那时主要讲的是delegation的目的是为了让你scale,但这演讲提到了一个非常重要的点:delegation也是个training非常好的时机。你必须要有目的性的delegate事情给别人,让他们感受到一些挑战,已达到训练你的member的目的。这部份真的超级重要!当然我也必须承认不是每件delegation都能这麽有目的性,毕竟事情很多总是要有人做杂事跟琐碎的事XD,但对於比较大型的任务,就可以尽量尝试做到这件事。

一个小故事,我们team里面之前有个成员做事做很快,学习也学很快,根本就百年难得一见奇才。而我知道他对於技术的热情超高,但对产品本身并没有那麽高的热诚,因此尽量给他的任务就是技术难度高且复杂的,让他不断的有高经验值的怪可以打,他也因此能成长飞速。

另一方面是虽然他是好的problem solver,但是却不是个好的problem finder,三不五时会跟我要更多ticket,一开始我还会一直苦恼要给他什麽事情,但到後来我决定要想办法让他养成自己思考跟寻找问题的人。所以我做的事情就是跟他说:「某个服务就完全丢给你了!你要对这个服务的未来负责。」(这是什麽把小孩嫁出去的情结@@)然後他就会开始思考这个服务有哪些常见问题或code有哪里很乱,就开始自己创ticket给自己找时间写XD,一方面训练他的seniority也一方面训练他的leadership。所以啦,delegation = 好的training机会,别白白浪费了。


<<:  Day 18 wait group 的使用

>>:  DAY5-EXCEL统计分析:认识连续型机率

Day 13:vim 设定档

+++ title = "Day 13:vim 设定档" date = &quo...

D-24. attr_accessor 、类别变数与实体变数差异 && Minimum Moves to Equal Array Elements

本篇有一个区块的code,是一些常见问题在code中的长相以及用法,里面有一个非常阳春的名字检测器,...

Day38 ( 游戏设计 ) 狙击气球 ( 两倍变焦 )

狙击气球 ( 两倍变焦 ) 教学原文参考:狙击气球 ( 两倍变焦 ) 这篇文章会延伸「 狙击望远镜 ...

Day-17 Excel手把手作图表(二)

今日练习档 ԅ( ¯་། ¯ԅ) 是的,今天即将延续昨天的部分继续设计Excel图表,如果您还没有看...

[Day-18] 一维阵列小练习

上次学习了基本的阵列语法 这次要来练习简单的阵列使用 都是基本的宣告以及画面显示 主要是练习一维阵列...