一个好的新人工程师是什么样的?

写下这个题目,再看看自己的履历,自己觉得自己还远不够格做一个好的mentor。

从2015-07自己刚毕业,也是一个RD新人,到现在的工作经历也不过1年零9个月。有幸在老大的有意栽培下,在最近一个季度(3个月)里带了一名新人。

话说这位新人虽然是本科生,但是工作时间跟我是差不多的。之前在一个小的做在线旅行的创业公司工作,据说也是进步飞快。自己还是有点怵,因为自己也是资历尚浅。

这里就谈谈什么是一个好的RD新人,还有我的一些看法。因为我的资历尚浅,所以这个只是第一版,希望这个也可以成为一个系列。

优秀工程师的必备素质subset

首先,我自己还远远不是一个优秀的软件工程师,这个是我的目标,所以这里只能谈一些粗浅的见解:

  1. 自我学习能力 这个我放到第一位,是因为,互联网或者说软件编程是一个发展太快的行业,还有无数的新人涌入。自我学习能力能够保持自己的视野、知识架构和思维方法论的更新。突出自我是因为,天朝的教育过于重视考试,导致许多学生往往精于How而不一定能够搞的明白What和Why。而后两者往往却又非常地重要。自我学习,需要自己设定目标,设定计划,保持动力。
  2. 解决问题的能力 从一开始局部的技术问题、技术难点,到宏观的服务架构,再到背后的业务流程、产品愿景。你必须要成为一个合格的Problems Solver。这个往往是核心的竞争力之一。
  3. 管理能力 对自我来说,这是一个需求、任务并行执行的时代,需要按照重要性优先级做好任务管理。还需要对负责的项目的进度、目标、里程碑、规划有深入的思考与管理。
  4. 沟通能力 沟通能力体现在很多方面,在现代软件工程中,上古大神solo的神技越来越少,需要团队合作。有合作就需要有沟通。
  5. 责任心 一个优秀的工程师必然是一个负责任的工程师,这个是毋庸置疑的。

那么对于一个刚起步的软件工程师,一个好的新人应该是什么样的?

看他对软件开发的动机与热情

这个可能是一个容易争议的话题。一个是这个问题很虚,很难衡量。一个是是否有必要?

我不能否认的是,即使不热爱软件开发,也可以在这一行干得不错。现代的软件开发需要的软素质越来越多,团队合作、任务管理,还有对业务、产品的理解等方面突出的能力都能成为你的核心竞争力。

或许这是一种必然的趋势,软件开发原来最hardcore的部分会慢慢被自动化,最不容易被机器替代的是那些涉及到人与人之间的技能。

不妄议未来,只有对软件开发的热爱,才会有足够的动机成为一个优秀的软件开发工程师,才会有耐心与恒心去解决那些tricky的bug;去为了1%的性能优化反复对比测试观察数据;去为了解决了一个问题、攻克了设计问题而从椅子上跳了起来。也是因为它,你永远想要了解新的技术能够解决什么问题,保持好奇心。

解决问题的能力、思维能力也在这些反复的枯燥的case中反复磨练出来。动机与热情是你前进的『发动机』。

如何衡量?可以关心在他的项目经历里,有没有他亲自解决的重大的bug、问题跟进?他如何去面对困难?他是否为其的解决而兴奋?

他有没有博客?有没有github?业余时间有没有为技术提升投入时间与精力?有没有个人成长的计划?

看他如何看待责任

新人会逐渐地参与到开发,甚至开始负责一些小的模块、功能、项目。这意味着『责任』。责任心是一个

责任包括什么?包括但不限于以下几点。

代码质量和鲁棒性

在我刚开始带新人时,在code review时,常常因为代码里的一些潜在的bug隐患去comment要求改正。新人往往会拿出一些理由,比如,我在测试时观察数据,不会有这种情况。这时候,会有一些争论,因为测试只是抽样测试,肉眼观察一些日志输出,你没看到不代表不存在,现在不存在不代表以后不存在。这些潜在的bug改起来非常容易,却能屏蔽掉可能的问题,是投入产出比很高的事情。

而新人有时候会以PM的deadline和紧急程度,本质上还有自己不想返工修改再测试的懒惰为由,选择性忽视。

这和责任有什么关系呢?

既然是负责的项目/模块/任务,它的正确性、健壮性就是你的成果。任何任务的成果都不单单是完成功能这么简单。在真实的场景中,压力测试、正确性测试、代码可维护性、可读性都是结果的衡量指标。一个好的工程师需要在这个多维的衡量指标和自己投入的时间/精力中寻求一个良好的平衡和妥协点。

如果一个新功能在延期和带着不确定的质量与问题上线间选择,在大部分情况下,延期保证质量都是一个正确的、负责任的选择。

这也适用于代码质量。

应对线上问题

在线上出现问题的时候,尤其是自己负责的项目,能否在所能的情况下,担当起责任?还是说,一下班,一到周末,便消失踪影?

在我刚开始开始进入到新的反爬项目组的时候,代码还非常不熟悉,那个周末我还和老婆去了江苏盐城看她的闺蜜。奈何项目初期阶段加上爬虫猖獗,在她朋友家里硬生生加了两天的班。

当然不是要求新人必须时时刻刻挂念自己负责的项目。

主人翁意识

对整个项目,是否有主人翁意识,主动思考系统存在的问题,需要优化的点,可以提高的地方,不合理的地方,去与mentor讨论,而这些可能在他的职责之外。

好的新人不会被组织架构、任务安排的界限限制住自己的思考与洞察。

看他如何应对问题

对新人来说,一次性地要求他解决遇到的问题,或许是为难他。但是,如果遇到问题就直接抛到StackOverflow(或者其他社区)或者他的mentor那里,也是不负责任的。

我们常说,遇到问题,先明确问题的定义、目标,再问google/StackOverflow,结合这些信息重新审视问题,最后带着思考去问mentor/去社区提问。

那么需要带着什么去问mentor/社区提问?关于这个,How to Ask Questions the Smart Way这篇文章有详细的解答,简单来说,你需要整理清楚:

  1. 你遇到了什么问题?情景是什么?
  2. 为了解决问题,做了哪些尝试?结果是什么?
  3. 对问题的可能原因,有哪些猜测?
  4. 出问题之前,对出问题的系统有哪些可能相关联的改动?
  5. 解决问题的人如何能够复现这个问题?

带着你的思考与中间性质的推论去问问题,能够让被提问者有更多的把握解决问题,同时觉得,这个问题对于他自己也是有价值的。

一个优秀的程序员不会觉得帮助别人解决问题会耽误他的时间。如果是一个高质量的问题,他们反而会觉得兴奋。但是,如果你拿着一个新出炉的问题,在他仅仅google了一下就给出答案后,明显会影响你的『形象』。

关于这一点,对于mentor来讲,还需要关注几点。

  • 我们都知道模仿是学习编程方法与编程技术的最佳手段之一。复制、修改、模仿经常会出现在新人甚至老人的代码中。但是新人可能只是在模仿,并没有对于被模仿的代码、技术、设计有更加深入的理解,只是为了解决问题而做。这样模仿就失去了它最大的潜在价值。
  • 在解决完一个问题后,新人是否会对问题进行记录、反思。我个人的体验是,当你觉得你解决了这个问题,在review、记录这个问题,或者和别人讨论这个问题时,往往自己就会意识到之前理解有所疏漏,有所误解,或者还没有透。记录、讨论、复盘,都是我们在rebuild、建立索引,这个过程往往会激发新的灵感,新的理解,所以,我会强调,记录/复述你遇到的问题和问题解决过程,及时反思自己的解决问题的思维过程。好记性不如烂笔头
  • 许多问题,通过沟通与职责认定,可以交给更合适的人去做;还有,许多问题,能否通过沟通找到合适的人帮助一起解决?我自己在工作中常常摸不着头脑,是因为在和错误的人沟通。在老大将正确的相关人加入到沟通后,沟通才取得了更大的进展。

以上,是我的浅薄之见,欢迎大家参与讨论。日后,如果能够更多的机会,也会分享更多的想法。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,884评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,347评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,435评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,509评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,611评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,837评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,987评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,730评论 0 267
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,194评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,525评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,664评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,334评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,944评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,764评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,997评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,389评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,554评论 2 349

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,793评论 25 707
  • 非常谢谢铃铛子老师的讲课和鼓励,真没想到自己能一路坚持到现在。
    太阳00花花阅读 351评论 1 2
  • 家在画面的左侧边边,在一个高高的山坡之上,房子显然有些歪斜,左墙与地基完全脱离,斜坡的弧线划过房屋,形成了交叉,对...
    桃李桑榆阅读 655评论 0 1
  • 我对你的爱, 像黑巧克力, 浓浓地化不开。 你对我的爱, 更多地却是依赖。 在我眼里, 你是诗一样的少年; 在你眼...
    Harvest收获阅读 597评论 11 22