程序员对高级程序员的主要期望是什么?


41

最近,我阅读了以下5种老板类型以及如何与他们打交道 ,其中介绍了最糟糕的老板的着装。我刚刚开始领导一小组软件开发人员。

我想知道程序员对高级程序员的期望是什么,或者在管理团队时应该避免的事情。

另外,我想知道如何使程序员满意,并为我的团队创建一个高效和完整的环境。


19
joelonsoftware.com在您有空的时候可以阅读他的博客。
P.Brian.Mackey

@ P.Brian.Mackey很棒的链接!
阿凡达

2
高级程序员具有宫崎骏相关的头像也许不是必须的,但肯定是一大
优点

1
有趣的是……我的老板在那项测试中得到了5分中的4分……我应该提醒他一个好消息;)
Aeo

Answers:


79

对我来说似乎很好的事情:

  • 做出有意义的工作并鼓励主人翁精神 -即使出现问题,也不要解决它,不要对它进行交谈,并向他人提供见解,以便他们自己解决问题。
    • 编辑-添加-这也意味着要包含-避免细节。假设您的员工足够了解工作,而无需进行微观管理,也不需要不断检入。为检入的时间建立一套准则-仅当完成工作或真正搞砸以致于需要认真干预时需要。如果可能的话,甚至不必陷入团队间支持问题的循环中。
  • 老实说 -这有几个推论:
    • 对自己说实话-“我要等到星期二才有时间”,“我从未做过,这是我的最佳猜测”,等等。
    • 对团队及其在公司中所处的位置诚实-如果您对业务知识有所了解,请告诉他们是否可以,并告诉他们您所知道的直接事实。
    • 诚实地提供反馈意见-如果您给出负面反馈意见,切勿轻声细语或踩踏踏板。这与“残酷诚实”不同-您仍然可以拥有同情心,但是如果出了问题,请这样说。
    • 老实说,当您知道工作更多是关于重新录制而不是完成有意义的事情时。一些毫无意义的工作将落入每个人的生活。不要假装它是有意义的。照原样称呼它,因此您所有人都可以专注于超越它并继续从事一些有用的事情。
  • 。至少有50%的工作在听,也许还会更多。您突然不仅对技术工作负责,而且对执行此工作的人员负责。您不仅要听取学习团队存在的问题的知识,还要听取您的人员如何解决问题以及团队整体的缺点的知识。
    • 重要的推论-聆听可以直接指向第一点-做有意义的工作-工程师擅长提出使开发变得容易的方法。您无法批准所有内容,但是在有好的主意的情况下,请工程师进行分配,他们实际上已为您完成了工作-他们创建了有意义的工作并告诉您它是什么。
  • 说“谢谢”。我知道,这似乎很明显。尽管我们都热爱金钱,更好的工具,更好的工作环境和晋升-达到这些目标的方式是通过一系列的良好努力,每个努力都应该得到“谢谢”。“谢谢”是完全免费的,您将永远不会用完它们,并且知道您的经理已经看到并赞赏您的辛勤工作绝对可以激励您。
  • 将时间花在大局上,即使这意味着要牺牲一部分日常工作来获得职位。您可能比某些人的代码更好,这是事实,但是如果您不花大量时间在总体上-团队,总体项目方向,代码库状态,流程效率,您团队的环境-那么您将不会做他们需要您做的工作。
  • 学习成为团队的缓冲。有时间进行工程设计时,工程团队会表现最佳。公司官僚主义不是工程。每年/每月/每周与外部人员进行恼人的1会议时,您可以做的任何事情都比较好。注意:这并不意味着与利益相关者举行敏捷会议-这是工程技术,您的团队需要为此而努力。我的意思是与想要在您的团队附近放置一声大声尖叫的机器的机构开会,或者是想要您的团队在检入任何代码之前一式三份地填写论文的过程小组。
  • 假设有问题的人不是邪恶的人,而是想做善事但还没有弄清楚如何做的人。您将无法修复所有人,但通常前几次完全的失败是由于沟通不力或故意的恶意而导致失败的主要原因。如果从人们不是邪恶的假设开始,您就有希望避免上面列出的一些邪恶的老板原型。

也许是最重要的…… 尊重。如果老实说您不能尊重团队中的成员,那么您就必须努力改变这一点(无论是在教人还是在改变人员)。给人第一天的尊重,你会得到回报,对待缺乏尊重的人,你永远不会得到尊重。

综上所述,如果您大部分时间都执行这些操作,那么当您证明自己是人的东西并完全搞砸自己时,团队将为您带来怀疑的好处。:)每个老板都有自己的缺点,这与与团队建立关系同样重要,他们可以在帮助您弥补自己的弱点的同时帮助您弥补自己的弱点。


1
好的答案,我要补充一点,给他们自由。没有比进行微管理或必须征求每个小细节的许可更糟糕的了。
2011年

3
真棒..我希望StackExchange能够为以下用户提供支持(Joel和Jeff的简短说明):)
PrinceCoder 2011年

2
哇!...这是最好的答案之一,我曾经遇到过@Stackexchange
explorest

哇,哇 而且由于我必须再输入几个字符才能提交此评论,所以哇。
阿米尔·阿富汗尼

2
@PrinceCoder每个用户都有自己的提要,您可以在某些RSS阅读器中关注它。
svick

12

好吧,要学习的最大的事情之一就是,您常常无法使他们满意,因为您根本无法给他们想要的东西。

我找到的最优秀的经理是最诚实的人,他们会捍卫自己的团队,使其免受上层管理人员试图扔给他们的所有c废,尤其是要倾听他们的团队。


2
经理和高级程序员之间有很大的区别。我还没有见过像你描述的经理。请告诉我在哪里可以找到它们;-)
fretje

标题说得足够公平,但接下来的问题是谈论老板。我的职业生涯中有很多优秀的经理/开发主管。
ozz 2011年

+1 @James似乎已经编辑了标题。通过问题代表潜在客户/经理。“老板”一词看起来很凶,所以我选择“高级程序员”一词。
阿凡达

6

我坚信,担任高级职位或领导职位最关键的部分之一是为下级人士服务。上级和领导通常只有自己有权执行的任务(例如,我们不给予下级对舞台和产品的写权限)。另外,您工作的重要部分是指导初级人员,这意味着回答问题而不是忽略他们。您年纪越大,被其他需要您帮助的人打扰的可能性就越大。您需要放弃“请勿打扰”标志,并学会在打扰的情况下工作。

聆听很重要。

请并感谢您很重要,不花任何费用。

不要期望超出您的意愿。如果要我一直工作到凌晨3点,最好也要在我旁边工作。没有什么比为每天给您一个需要在早上7点完成的任务后准时离开的人工作更令人沮丧的了。

平心而论。不要播放收藏夹(特别是不要通过给女友或男友最好的东西来播放收藏夹)。尊重所有员工(甚至您个人不喜欢的人)。

果断。不要将决策搁置一旁,以使没有人能每隔五分钟就进行更改,甚至更糟。

为你们的人民站起来。您不会全力以赴,但人们会在支持他们的人的陪伴下走过。

必要时愿意成为坏人。一个坏苹果会破坏开发团队,不要拘束于此人,因为您不想面对他们的坏行为(这对于领导和主管来说更是如此)。当您遇到坏消息时,请告诉团队,不要保守秘密(他们会最终发现,然后他们对坏消息和秘密保持生气)。您不是在那里受欢迎,而是要完成工作。任何担任管理或准管理职位的人都必须不受欢迎。

了解如何将创意推销给更高的人,并向开发人员教授这些技能。

了解业务领域的重要性,并成为该领域和编程专家。


3

这里的关键词是信任和责任。

您只需要相信您的团队成员有能力并且专注于完成任务即可。通过不过多干预,您实际上是在让他们对其工作承担“自己的”责任。

恕我直言,仅此一项就可以创造一个健康的氛围。


2
只要他们体面的能力和积极性。如果团队按原样继承,那么不幸的是这不是给定的。如果您自己选择成员,那当然是另外一个故事了。
彼得Török

1
好吧,在我看来,即使是那些不是很称职的人,在承担全部责任时,也就是对项目一部分的“所有权”也将做-一切-完成他们的工作。只要完成工作,我什至都不在乎是否通过在论坛和委员会上提问来收集一部分代码。
Jas

不幸的是我遇到过的反:-(在最坏的情况下,我也看到了,开发商产生绝对没有的时候,他被赋予的自由和全面负责两个月左右-事实证明,他甚至没有在工作场所的到来。有些人只是不拉他们的体重在一个团队,如果你让他们没有仔细审查运行自如,你只是使事情变得更糟。如果你没有得到及时摆脱这些人,他们可以破坏整个团队。
PéterTörök

@PéterTörök-当然,每个公司的每个人都认识几个这样的人(实际上,读这篇文章我以为你认识和我一样的人:)。但是根据我的经验,大多数人都会专注于并尽力而为。
Jas

我同意,大多数人都尽力而为。(还是我说每个人都试图做他/她最好的-只是一些“最好”不打引人注目的门槛:-)一个仍应警惕注意到时间的例外-因为例外。就像在生产代码中一样,即使在正常情况下极少发生错误,我们也必须正确处理错误情况。
彼得Török

3

好吧,IMO,我希望高级开发人员/领导/所有人能与开发团队一起应对诸如愚蠢的截止日期,没有资源但希望建造罗马,强制加班等一切降低生产率并使人们不高兴的事情。

IMO要避免的主要事情是成为高层管​​理人员的“是人”,并且无论他们怎么说,总是要达成共识(换句话说,是“傻瓜”)


+1:对。如果您发现自己向“是的人”报告,请尽快离开。
Jim G.

1
可悲的是,在许多环境中,高级/主管/经理程序员只不过是一个“是人”(或者我更喜欢称其为“ Smithers”),而最糟糕的部分是大多数情况下您都不知道直到你接受这份工作为止。
韦恩·莫利纳

3

人际交往能力。有时人们会被冠以“高级”的头衔,而他们却忘记了自己并非无所不知。他们认为这次晋升是对他们的最高技术技能和潜在天才的评论。实际上,他们现在是超低级经理。他们应该了解如何以及如何激励,让谁成为自我,如何妥协以及何时倾听。

所有权。最糟糕的高级程序员不会拥有“高级”的所有权。他们退而求职的策略和怪异的游戏导致了他们的晋升(很可能是在他们被抛在公共汽车下的人的坟墓上跳舞的时候)。现在,他们需要了解它在吊索中的对接以及他们对设计,计划和大部分工作的责任。

经验。我希望高级开发人员能够两次看到所有内容。他们应该了解领域和技术。他们应该积极地攻击风险,并能够发现浪费时间的红鲱鱼。


2

一致性是最重要的事情之一。如果开发人员可以预测您的行为方式,那么他们会更快乐。即使您始终是一个完整的工具,最好还是时而冷静,有时又是一个工具。话虽如此,但这并不是工具。


2

知识和交流。知道了源和很多很多,更重要的是能够解释给任何人,在某种程度上,他们会理解并牢牢记住。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.