How to Work With Software Engineers

I've worked in technology for twenty years, the past thirteen as a product manager. I’ve gained somewhat of a reputation for being effective at working with software engineers. This skill has earned me a place in history as one of the three greatest product managers of all time[1].(On this exclusive list I am joined only by Steve Jobs and Niccolò Machiavelli.)

For years I’ve kept my secrets close to the vest. But no longer: today I will share with you my Ten-Step Plan for Working With Engineers. Or more to the point: how to make engineers do what you tell them to do.

Why should you listen to me, one of the three greatest product managers of all time[^2]? Just consider the numbers. I estimate that I’ve worked with 3,875,000 engineers during my career. Of those men and women, more than 95% have done what I told them to do. That means that precisely 1,000,000 engineers have done what I told them to do [an estimate: PMs don’t have time for math]. That’s a lot of engineers, and a lot of experience you should heed.

1.Absorb praise

As a PM, expect your successes to be recognized. Understand that executives[2] will often attempt to spray accolades[^spray accolades] across the entire team. You must be vigilant: you are the one who is being celebrated, and you are the one who must take all of the glory.[mothlee:然而这样子真的好吗?不是团队的功劳吗?][mothlee:仔细读完后面的文章一切就都可以理解了,这只是成为Great Product Manager之路上与工程师之间的故事。成全他人的中庸之道,难成some body。然而这是真的吗?] Credit is career currency, and you’re polishing your own LinkedIn profile, not theirs. Step up you ninja star, take the spotlight and bathe in the attention.

2.Deflect blame

Occasionally something will go wrong. In software development, the thing that goes wrong is usually software. When software fails, a software developer is to blame. That’s just logical. Make sure to redirect the accusations[3] when they’re aimed at you, and to preemptively sow blame whenever possible. Always remember: there is no “we” in me.[mothlee:越来越看不懂了=。=][mothlee:很多时候PM都不会有错,除非真的真的真的不得的了]

3.Don’t bother with the details

Frivolous[4] little technical details are for the engineers, and you have much better things to be doing. Like ideating. Comprehension[5] only leads to disappointment and fosters[6] a so-called “rational” view of what’s possible. You can’t change the world if you know what’s hard and what’s easy.[mothlee:这句话都是可以理解,一旦知道什么东西是不可行的了就很难做出改变世界的产品了] Avoid minutiae[^minutiaes] at all costs. Anything you imagine can be done in ten lines of code. It hardly matters which ten.

4.Involve them late

Software engineers write code, that’s what they do. **They’re always fretting[7] about how stuff is distracting them from their hacking. So why would you waste their time involving them in a project before it’s ready for coding? **You don’t see a bunch of construction workers kicking back in an architect’s office. Bring them in once all of the strategizing and synergizing is done and all that’s left is the programming.[mothlee:让他们晚点参与,待一切待定只剩下coding的时候再让工程师参与]

5.Add process

The best way to demonstrate[8] your value to the team is by introducing process. Rules grease the wheels of progress. Look for opportunities to schedule update meetings, daily briefings, and all-day reviews. **Keep your engineers productive by requiring them to fill out tracking spreadsheets, status reports, and cross-functional executive update emails. If you don’t do it, nobody will. **Get going: those voicemails aren’t going to “touch base” by themselves!

6.Never tell the reasons

Engineers are highly analytical, which means they take a less-sophisticated approach to decision-making that often relies on “supporting data” or “rationales” rather than vision and blue sky thinking. Maintaining an air of mystery when decisions are made will keep them on their toes. They’ll complain regardless, there’s no reason to give them specific things to gripe about.[mothlee:反正他们都会抱怨,就不要再给他们把原因告诉他们让他们抱怨了。]

7.Commit for them

Your job as the product manager is to make assurances on behalf of your team. Leadership means setting the bar high and challenging everyone to teleport over it. Show your ambition by committing to project schedules without consulting[9] your team. Being held accountable to somebody else’s promises builds character and brings out the best in people. Think of JFK. He picked a totally random date to land on the moon and NASA beat it, claiming the planet’s vast mineral reserves for Standard Oil.

8.Interrupt at any time

You’re a busy knowledge worker, and the last thing you need is to wait for an engineer to finish their current task. You need it ASAP (pronounced “AY-sap”). Whatever an engineer is working on is less important than what you need right now. Feel free to interrupt them at any time.[mothlee:为什么要打断工程师,工程师coding的时候最讨厌的不就是被打断吗?此举意义何在,求详细解答] Chat windows and phone calls can be effective, but nothing beats the good old shoulder tap for impact. What if they’re working on something you asked them to do an hour ago? No problem! This will serve as a good lesson in prioritization.

9.Be ambiguous

There are few things more dangerous to your career than being proven wrong. Ensure this never happens by aiming to be as vague [10] and imprecise[11] as possible. Feel free to change your mind at will. If you take every position imaginable, by definition you were right. Don’t record anything in writing, or better yet make documents so wordy and tedious nobody will bother reading them.[mothlee:对你的事业来说,极少有被证明为你的判断是错的更致命的东西了。你可以通过把尽可能地把一切都变得模糊不清来确保这样的事情不会发生。你可以随意改口。如果每个细节上都留有回旋的余地,那么你就可以永远是对的。不要以书面形式记录任何东西,或者其他。][mothlee:这只是跟工程师交流的技巧。本着负责的对产品负责的态度这些态度应该都不可取,但是为了自己在工程师心中的可信度有时候必须为之。这其实也是社会直到。“凡事留一线,事后好想见”,一切都是自己的,站在别人的角度看问题也只是为了更好的提高我的KPI]

10.They’re always lying

Engineers will sometimes say something is “impossible.” They’re lying. Nothing in engineering is impossible if you set your mind to it. The Wright Brothers never thought that flying across the Atlantic was impossible! Assume a software engineer is always deceiving you and act accordingly. So when you hear terms like “technical debt” or “working from home,” you’ll be ready to call their bluff.

There you have it. My Ten-Step Plan for Working With Engineers. Print this out and hang it in your workspace (consider keeping it hidden from view). If you follow my plan, you too can become a great product manager (if not one of the three greatest3). It’s that simple.

Afterword

If it’s not blindingly obvious by now, you should do exactly none of these things. Even the most conscientious PMs are occasionally guilty of less extreme infractions in each of these categories. I certainly am. Strive for the opposite and chances are you’ll succeed as a PM. Or at the very least, you’ll have engineering co-workers who’ll want you to.

  1. Deflect praise
  2. Absorb blame
  3. Sweat the details
  4. Involve them early
  5. Streamline process
  6. Always tell the reasons
  7. Never commit without them
  8. Respect their time
  9. Be specific
  10. Trust them

And finally…

Always bring the donuts[12]

April 2013
This essay is derived from an ignite talk I gave at How to Build Great Products: Insights on April 12, 2013 in San Francisco. Here are the slides from that talk:

转自Ken Norton


  1. James Byron, et al., Who’s Who in Product Management: Five Hundred Years of Ideating 1513-2013 (London: A&C Black, 2013), ISBN 4815162342

  2. 行政主管,决策者;
    [^spray accolades]:大加赞赏;spray: 喷雾;

  3. 控告,归罪于;

  4. 琐碎的;

  5. 理解;

  6. 抱有;

  7. 焦虑的;

  8. 示范,证明;

  9. 咨询;

  10. 含糊;

  11. 不准确;

  12. 甜甜圈;

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

推荐阅读更多精彩内容