我心目中好的工程师是什么样的?致我今后的同事

2015-05-02 20:37:54 +08:00
 weichuangye
我接触过一些工程师,php的占主要的部分,因为我们做的东西主要靠这个。我也曾经有机会成为一名工程师,不过由于我的心思完全不在这个上面,在我研究生导师千辛万苦的培养了我3年,让我从一个连开发环境都不能搭建的白丁成长为一个总算能用vc++做做机器人视觉程序并在导师的帮助下顺利毕业的---还是技术白丁...我感谢我的导师,也尊重他,但最终硕士毕业 后,经不住麦肯锡的诱惑,从此以后就踏上了画ppt的道路,再也没有写过代码。

而创业之后,我一直希望在互联网领域有一些作为---准确的说,是用互联网工具改变教育这个行业---在经历过3次挫折历时5年之后,我身上更多了一些草根的特点,离工程师则越来越远了。

然而,我以前的同学们,各有各的去处,有的在google、microsoft,有的则在百度,腾讯更多,而其中混的好的,早已拿到了上市公司的期权,目前身价怎么也有个百万usd吧。这些年,我也接触过一些php工程师,他们都是很好的人,但是,我从观察我的同学的职业路径和我接触过的程序员朋友,我觉得,大家虽然都是写代码的,但是,由于性格的不同,几年之后的路径真的非常不一样,我也因此观察并总结出了“什么样的程序员是好的程序员”这样的感触。

首先,我们先来说说php工程师(其他的略有不同,但php更多应用在互联网公司,有很多的项目也有很多的创业机会,而做c的就很不同,更别说我那些做芯片设计的同学了,那个行业基本上没有什么创业项目的)这个群体的特点吧:
1-做了5年以上的工程师,有一种集体焦虑症,因为,我们会发现,虽然遍地都是机会,但是,如果自己所在的项目没有爆发力,再干下去基本上永远只能是码农;
2-互联网行业爆发的太快,热钱太多,工程师内心里其实都比较浮夸,唯一剩下少数很踏实的同志们,也时时受着36kr的诱惑;
3-工程师极少能掌控自己的命运,因为,互联网项目的成败虽然以技术为基础实现,但是,成与败更多的取决于对市场趋势的把握(这是ceo干的活),对用户行为的体察(这也是CEO要关注的活儿)和资本的不断输血(反正这肯定不是php工程师要干的活儿)。因此,好的工程师一方面有着对一个产品和事业的执着,但另一方面,却发现不能极好的掌控整个项目的发展,因此不断在长期价值和短期利益之间纠结。

如果以上我说的对,你可以看看下面的;如果觉得以上说的不对,那就不用往下看了,别浪费时间。

我坚定的认为,好的工程师满足以下5个特点:
第一,士为知己者死。好的工程师,通常都是在面试或者应聘的时候先聊项目,然后再通过不断的与CEO(如果有可能的话,这里留下一个正在招聘phper的CEO的qq:1076977738)交流,判断这个人、这个项目是不是靠谱的,然后再决定是不是加入这个团队---我见过的好的工程师,大多都是先决定了是不是加入然后再谈待遇,而不是相反---凡是先谈待遇的,基本上,会在项目困难的时候转身离开。所以,一个好的工程师,是为了与靠谱的人做靠谱的项目而加入一个团队,绝不会为了待遇而加入一个团队;

第二,不怕弄脏自己的手。我接触过一些人,有的人是出了完成自己那一亩三分地以外,凡是让他做点其他的活儿就满脸青绿,满腹不情愿的样子;但是,我觉得好的工程师对项目和自己负责的部分的理解和工作会将所有的接口(与其他人配合的地方)考虑的非常详细,绝不仅仅是完成自己的工作,而是帮助其他人考虑清楚怎么才能更有效的完成整个项目;

第三,思考者而不是码农。这一点我要吐个槽,尤其对于外包公司的工程师,最烂的工程师就是为了实现功能而实现功能,完全不考虑未来的扩展和基本的可修改性,写出来的代码看上去能用,但是完全不能让其他人接手,平铺直叙,在别人看来这样的代码就是一堆垃圾。我觉得,好的工程师的每一行代码都是为自己负责,代码是一种修炼也是一种艺术,只有不断的去思考,对开发的理解和功能的理解才能越来越深刻。而大多数外包公司出来的人,说是码农都抬举了。

第四,站在别人的角度思考问题,而不是自己的。好多phper,有个3~5年工作经验就觉得自己简直是无所不能了,简直可以称为《黑客帝国》里程序员改变世界的那种人了,但是,我觉得,做个网站做个app真的很简单,但是做成一个项目、运营成功一个产品却是极难。好的工程师,通常会很乐于与设计师、前端、运营的同事以及用户分享及沟通,因为他们知道只有这样才能了解产品的全貌,他自己才知道什么样的技术实现时最佳路径。反之,烂人工程师一般最常用的托词就是“你们让我做的功能我都实现了”、“这个没有在需求列表里面写清楚。。。”

第五,aspiration。程序员改变世界,是的,但是要加一个定语---优秀的。一般,优秀的工程师从来不会拒绝加班---也不会做无谓的加班。他们的工作时为了一个产品的成功和一个项目的成功去做,而不是为了每天8个小时去做;他们的成就感来自于用户爱上了他们参与的产品,而不是每个月发工资的可以瞬间...

希望,优秀的工程师加入我的团队,加我qq聊聊吧:1076977738
7976 次点击
所在节点    酷工作
78 条回复
weichuangye
2015-05-03 06:56:26 +08:00
@feiyuanqiu 我们从来不扣kpi,不扣工资,但是,我们希望同事们都能理解以下几个基本的现实:

任何一个产品,刚开始上线的时候都是不成熟的,“第一版上线的时候被骂的体无完肤时正常的,没人骂说明没有人用”,而互联网产品的优势就在于可以快速的优化和迭代,不断的修正产品、设计、代码的缺陷---一般我不认为是“缺陷”,而是机会点

好的程序员会在需要改动的时候与团队一起讨论,如果他认为没有必要改或者不是这个阶段改,他应该说出来合理的理由,团队也都会接受的,这样才是融入项目融入团队的感觉,而不是被虐之后消极怠工、辞职、埋怨...

你觉得呢?
dbfox
2015-05-03 07:28:35 +08:00
看了看,整体来看是lz对工程师的要求,也是大多产品经理的想法吧。

作为一枚web 程序,我尽可能去实现产品经理或老板提出的要求,但是很多时候产品经理和老板考虑不到技术实现的细节,他认为一个小小的改动,可能需要程序员把整改系统重新规划,重新去实现,而程序员给产品解释这些的时候他还会觉得是托辞,这才是最蛋疼的地方,

工作了这么多年,我深深的体会到,工作再困难只要给时间都能搞定,而让程序员头疼的事情是莫名其妙的人,莫名其妙的话,莫名其妙的压力,和领导层的不理解,

很多时候,程序员没有能完全理解产品的方向,
产品经理有时候也不想把自己的想法说得很深入,他觉得这些你程序员不需要理解,他会说你给我做成什么样什么样。。。
再加上产品经理频繁的修改,开发出来的程序,设计的架构 到后期可能无法满足要求,这些事情其实产品经理也是有责任的,工作的难点就在这里

说到加班,作为程序,我并不乐意加班。
如果你工作是讲究效率和方法的,你一天工作8小时,你可能无法感受那时候脑袋里面的感觉(肉体上和精神上),如果在这种情况下加班,我想一个正常的程序员,长期在电脑前运动量又少的程序员,身体会很快垮掉

如果你懂写代码,你可以试试自己做一个东西看看,按照一天8小时,认真写一周 看看什么感受。这时候如果还有人催进度,改想法,如果你同时进行两个项目,还有一些其他项目的改动,你可以想象那是什么感觉。(我目前是这种状态)

如果办公室再来一些办公室政治,说什么什么很简单,什么什么难,我真想大耳巴子抽死他
weichuangye
2015-05-03 08:00:01 +08:00
@dbfox 你说的非常中肯,非常感谢。

首先,从自己的角度出发,我觉得,做不了产品看不懂代码的市场总监不是好的ceo,这一点,基本可以解决你上述的问题了。

其次,我认为,程序员很多时候,大部分的程序员不愿意或者不愿意去学着沟通,很多问题是可以通过沟通去解决的,大家为了做出让用户满意的产品,没有人为了加班而加班,更不需要为了修改而修改,当我们都专注于为了用户的“爽”而努力的时候,这些都不是问题,因为,哪怕累,也会有成就感。

第三,我说的是我心目中优秀的程序员或者工程师,优秀的人在任何地方都是少数,如果我们希望自己变的优秀,那么,我们会经历很多痛苦;如果我们觉得现状就挺好的,那也挺好,不用去改变什么。

第四,我强烈的希望找到优秀的人
weichuangye
2015-05-03 08:02:52 +08:00
@dbfox btw,我在实验室里每天14个小时写代码、看paper、调程序的日子,真的很难熬,但我 也看见了我的一些同学,真的会把程序写到极致,也真的会把算法搞到极致,所以,我深有体会。

我觉得,我是一个很能够理解程序员痛苦的人,所以,和我一起工作应该还是挺开心的。
RangerWolf
2015-05-03 08:05:25 +08:00
基本上同意你说的五点。 不过既然是招聘的帖子,还是来点干货啊, 比如工作内容、工作地点、薪资之类的。
另外,我也不喜欢加班。非常同意@dbfox的说法,认真高效的干了6个小时之后,我是真的啥也不想干了。 上班8个小时,一般有效的工作时间应该不超过6个小时。
RangerWolf
2015-05-03 08:06:04 +08:00
在其他帖子看到你的招牌信息了~ 不好意思
coosir
2015-05-03 08:18:01 +08:00
出现第四点的托词,很多情况下是项目/产品管理没做好。PHP只是产品实现中的一环,就算他们有心,碰到猪一样的队友时照样无力,不能期望PHP的来把控全局。(当然,可能你说的正好是这个PHPer不靠谱)

我想大多数程序员都有点完美主义,希望做到尽善尽美。外包公司里可能时间压力会比较大,让他们做到估计很难。如果你之前找过外包,你的情绪可以理解:)
freezhan
2015-05-03 10:00:20 +08:00
orz 算是一个具有完美主义情怀的屌丝了,TAT看来我离成长为一名优秀的工程师还很远,不对,应该说离成长为一名码农还很远。
xming
2015-05-03 10:13:47 +08:00
weichuangye
2015-05-03 10:14:19 +08:00
@coosir 所以沟通很重要,我非常不赞同程序员像机器一样只会接收上级的任务,我觉得,优秀的程序员会站在用户的角度与团队一起思考什么是紧急重要的,什么是不重要的开发。对不?
jjx
2015-05-03 10:20:42 +08:00
现在一见到讲情怀的老板我就怕
MrJing1992
2015-05-03 10:25:57 +08:00
创业型公司,都已经定好 KPI 了。。。
a15819620038
2015-05-03 10:47:43 +08:00
楼主写的几个点我都比较赞同,我认为楼主写的这些比较适合给刚毕业或即将毕业的程序员同学看的招聘贴,因为他们可以对薪资要求不高,对未来对事业热情很高,当然也就会花心思去做。对于要招3~5年的工程师,实际一点的东西会更有吸引力。

情怀对应届生比较有用~
weichuangye
2015-05-03 11:04:31 +08:00
@a15819620038 谢谢,工作时间三至五年正好处于内心自我唤醒的初期,会对项目和团队的要求会占更多比重,有一种想做事的欲望。七年以上的好的工程师都拖家带口的,要么已经身价千万,要么只想找个钱多事儿少的大公司呆着享受了。至少我身边的朋友是这样的
daoluan
2015-05-03 11:14:47 +08:00
待遇也是对人才的一种肯定。抛开待遇谈理想,就是耍流氓。
dryyun
2015-05-03 11:19:22 +08:00
深有感悟,但世事并不能如意,太理想化了。
weichuangye
2015-05-03 11:30:29 +08:00
@daoluan 那是你没有了解过待遇,直接看了理想就把自己否了,一般都是应聘者自己开价,我们照单收下,这个待遇估计你没有见过吧
joeyuan
2015-05-03 11:54:43 +08:00
总体理念点个赞,但是理想丰满现实骨感,另外就是别忽视团队的互相竞争性和排斥性
crazyxin1988
2015-05-03 12:02:20 +08:00
第二,不怕弄脏自己的手。
这点我不赞同
弄不弄脏手 要看队友的情况
如果别人 是友好的,有感恩的心, 你帮助了他 他会很开心
还有一种情况,你帮他指出了问题,或者解决了他存在的问题,他认为你在让他出丑,让他没面子
观念是好,也得看情况
vexfisher
2015-05-03 12:16:16 +08:00
等价交换

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/187992

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX