什么是好的,什么是坏的。领导者眼中的开发者职业

看开发商和他的领导者的职业有什么区别


生活充满矛盾。甚至光也无法确定它是谁-粒子还是波。
在软件开发领域,参与者之间的矛盾是汽车和小型手推车。让我们来看一对夫妇-开发人员和开发经理(可以是项目经理,技术经理,团队负责人)。事实证明,这两者通常以不同的方式看待事物,并且通常朝着不同的方向发展。



开发者想要什么


每个人都想要不同的东西。但是由于我们不能不做概括,所以我们在真空中采用了一个中级的球形显影剂。他有点懒惰,有点好奇,而且他通常喜欢他的职业。他只会有一个更柔和的时间框架,更好的流程,更有趣的任务。

他想如何发展?但是像这样:

  • 学习新技术
  • 解决更多有趣的问题。
  • 参与新项目
  • 较少的非发展活动
  • 自己做决定

同时,他的经理希望:


  • 使开发人员知道使用的技术很好
  • 这样开发人员就可以很好地处理任务:按时质量适当
  • 开发人员负责并始终完成他所做的工作
  • 让开发人员对任务进行充分的评估
  • 使开发人员了解业务和整个产品的需求
  • 让开发人员及时报告问题

想知道如何妥协吗?欢迎来到猫。

所以我们有。利益完全矛盾。

开发人员想要学习新事物,经理希望他能够很好地使用熟悉的工具。

开发人员想要解决有趣的问题,而经理则需要执行一揽子普通的工作。

开发人员希望参与新项目,而经理则需要有人来支持现有项目。

开发人员除了开发之外不希望做任何事情,管理人员需要对代码进行记录,使开发过程透明且易于管理,以实现计划,发布问题等。为此,他要求进行评估,进行站立式,回顾性活动,并迫使他计划自己的活动。

开发人员希望自己做出决定(他知道如何正确做),而经理则要求将发现的问题告知他,以便他可以控制决定。

毫不奇怪,许多开发经理在他们的开发人员中享有良好的声誉-他们不允许您做您想做的事,而是强迫您做使您感到恶心的事。

原因


我认为原因很简单。开发人员和他的领导者有不同的目标。

开发人员的目标是在劳动力市场上有更多需求。

领导者的目标是按时交付项目。

然而,尽管存在如此根本的分歧,还是有可能实现适合双方​​的妥协。

让我们尝试更详细地了解。

开发者


学习新技术


这真的很有趣,而且很有启发性。在成为专家的初期,对行业有一个广泛的了解并了解通常会有什么发展机会是有用的。但是,随着时间的流逝,数量应该变成质量。

我不了解您,但是我经常对开发人员的简历(拥有2-4年的经验)保持警惕,该简历列出了数十种语言,框架和库。这可能表明一个人正在做所有事情,但并不了解任何事情(尽管有例外)。最好会见一个认识不多但肯定知道的人。这就要求在应用该技术方面具有丰富的实践经验。然后,将了解其应用的精妙之处和界限,这非常重要。

因此,研究新技术是重要和必要的,但是在此之后进行实际实践是非常可取的。即使您正在开发宠物项目,也请确保该技术未用于展示,但确实解决了业务问题。

解决更多有趣的问题。


我认为每个人都熟悉“例程”的概念。没有人想一直做同样的事情。但是,有一个非常重要的细节。如果您只管理旧的无趣的任务,那么想要新的有趣的任务是不公平的。任何技能都有步骤,您不能跳过它们-迟早会导致痛苦的跌倒。

通常,一切都像在电脑游戏中一样。要提升到一个新的水平,您需要很好地通过以前的水平。在要求经理提出有趣的任务之前,请学习快速有效地解决当前问题,然后您显然应该得到更多。

参与新项目


明显。不少人会定期积极地支持该项目。在开发新事物时纠正他们自己和同志的错误是可耻的。

但是毕竟,在支持的基础上,通常会获得对业务需求的理解,这对于任何项目都是至关重要的。开发人员学会了通过用户的眼光看他的软件-这对于程序员来说是最有价值的技能之一。此外,还会显示理解现有代码的能力,可以在不破坏整个系统的情况下仔细地对其进行重构。这些技能不仅会为支持提供帮助,而且在开发新项目时也将非常有用-不要重蹈覆辙,保持良好的代码基础,并处理技术债务。

不要拒绝支持您开发的项目-这是宝贵的经验,可以极大地加速您的职业生涯。

较少的非发展活动


有许多开发人员考虑编写文档,计划会议,回顾,与客户沟通是浪费时间。最主要的是编写代码?一切都整齐,美观,符合指导原则。

没有。最主要的是,软件可以执行所需的功能-解决业务问题。另外,非常希望开发能够在截止日期和预算之前完成。如果没有,我们的理想代码将永远无法工作。

您需要清楚地意识到,对于任何复杂的开发,都需要一个计划,项目参与者(包括客户)的定期同步,质量文档以及其他非代码编写的内容。

如果您想成为项目中重要而有用的参与者,则必须了解项目中发生的过程并尝试遵循这些过程。这是每个人都应该拥有的另一种有用的经验。

主管


了解用于
处理任务的技术:以正确的质量和及时的方式


领导者需要人们依靠。如果设置了任务,则必须解决。开发人员是否有兴趣执行此操作,或者这对他来说是一个痛苦的例程,都没有关系。如果您“解决问题后就可以解决”并“活在当下”,就会发生这种情况。但是为了解决矛盾,必须采取不同的行动。通过不断地教给开发人员新事物并向他们传递解决现有问题的经验,我们提高了他们的水平。他们获得了更多的知识,经验和思路,将更快地解决现有问题,并且可能会改善流程。这种“从下面开始”的变化,不仅对其直接结果有价值,而且对于开发人员寻求和提供新的变化有很大的激励作用。

分配时间让人们独立学习或培训新技术,您可以得到一个高效率,有积极性的团队。

负责任并始终完成所需的工作


我想每个人都会同意,专业编程主要是为了取得成果。为了成功,所有项目参与者必须完成他们的任务。结果,如果开发人员无法完成一项任务并把所有东西都扔到一半,那么技术上的技巧并不重要。优秀程序员提出的普遍真理是,应以最简单的方法解决问题。也许这通常是开发人员最重要的素质-能够解决问题而没有不必要的困难。复杂化是容易的,简化是困难的。

我不怕说是在真正的项目中最受重视的人。负责人和项目合作伙伴都知道,您可以指望一个不会失败的人。

具有这种专业态度的人的教育是领导者的重要任务之一。在这方面最重要的机制是促进结果。结果,您不仅拥有开发团队,而且还有一群志趣相投的人,每个人都对实现一个共同的目标感兴趣。

对任务进行充分的评估


许多开发人员可能会想到-为什么他们不断要求我提供估算值,我将如何做,我会做,无论如何,在完成之前,什么都不会出现。评分似乎是一种羞辱性的控制机制。但是,请通过领导者的眼光来看待。

正如我已经写过的,要使项目成功,经理必须有一个计划。有一些例外,但在一般情况下,没有计划,发展就会变得混乱。即使计划不是按日历实施的,它仍然会带来好处-经理可以看到问题所在,并可以重新安排解决问题的方法。为了制定计划,领导者需要评估。即使开发人员低估或高估了任务,对于经理来说,这也只是引入校正因子的借口。因此,领导者可以根据开发商的估计和历史上已确认的校正因素,制定出接近现实的计划。

开发人员经常低估计划的需求,因为他们专注于开发。但是,众所周知,成功的项目不仅是发展。它需要测试,文档,发给客户,UAT的组织等。团队必须一致行动,计划并按照计划提供这种一致性。

由于项目的成功也是每个参与者的成功,因此为了实现自己的成功,开发人员必须能够充分评估任务。

领导者必须使开发人员了解在开发之外发生的所有过程。解释每个行动和决定的含义,计划,沟通的重要性。意识是成功的关键。

了解业务和整个产品的需求


开发人员经常专注于编写代码,而忽略他们要解决的业务问题。不幸的是,这不仅对于初学者来说,而且对于经验丰富且有名的专家来说都是特征。

正如我已经写过的,我认为解决业务问题是编程的主要任务。因此,自然而然地,只有能够有效解决这些问题的人才能被视为优秀的程序员。为此,至关重要的是要清楚地了解我们自动化的业务中正在发生的事情。

因此,经理希望开发人员了解业务需求并主要从这个角度考虑每个任务(我们要解决哪个业务任务以及为什么要解决)的愿望不仅仅是一种自然的愿望。只有这样,开发人员才能真正掌握。因此,领导者和开发者的真正利益在这里重合。

与上一段相同,领导者的职责是向开发人员清楚,清楚地说明业务需要什么以及为什么。另外,有必要传达一个简单的事实-可以深入研究主题领域并解决特定问题的人,而不是仅仅编写精美代码的人。

及时报告问题


为了确保项目的成功,对于经理而言,及时接收有关完成任务的问题的信息至关重要。相反,开发人员通常更喜欢完全解决问题并仅在所有合理的截止日期都过去之后才报告问题。应该说,独立理解问题的愿望总是值得称赞的。但是,为了项目的利益,有必要告知问题负责人,这可能会增加解决问题的时间,以便他可以在计划中考虑到这一点。

开发人员最重要的技能是与其他项目参与者及时开放地沟通的能力。及时报告问题是沟通的重要组成部分。
在这种情况下,领导者不应该立即着急解决问题。给开发人员一些时间自己解决问题,做出必要的决定并给出结果是比较明智​​的。这将使他对自己的能力充满信心,有依靠自己的习惯,同时也使自己摆脱了及时举报问题的恐惧。

总结。如何结合开发商和其领导者的利益?


给开发商


  • 一个项目的成功就是每个参与者的成功。每个成功的项目都是您职业发展的一步。在任何面试中,如果成功完成了背后的项目,您将获得更多的积分。
  • 解决业务问题是发展的主要目标。如果项目失败,那么架构的优良程度和代码的美观程度都无关紧要。
  • – : , , , – .
  • , . , . . , .
  • – , , , , , , - .


  • , . , . .
  • , .
  • , .
  • .
  • .
  • .

All Articles