如何在不解决业务问题的情况下从事程序员职业

文章程序员不应该解决业务问题,引起了强烈的讨论(甚至一个答案具有正好相反的声明)。

而且,很有趣的是,所有这些都归结为“程序员必须”或“业务应该”类别中的教条推理。好像我们在谈论的是一个可以实现共同目标的系统,唯一的问题是正确配置它。

实际上,一切都更加复杂,并且与程序员一起开展业务的目标也大相径庭。因此,在谈论谁,谁以及应该做什么时,看起来像是在说买方不应在商店内偷窃商品。是的,它不应该。更准确地说,如果他按照形式逻辑规则讲话,就不应偷窃。简单,易懂,被绝大多数人接受。所以呢?这是否意味着商店可以消防人员并取下相机?

在关于哈布雷的第一篇文章中,我从雇主(企业)的角度考虑了这种情况,并解释了我所遵循的原则,以便找到可以解决企业问题的人员。为何如此重要。

但是有一个警告,那就是那些没有像我这样的面试官所吸引的人,由于具有足够的灵活性,所取得的成就要大于那些受益者。这样做有充分的理由-他们成功地使与程序员的收入最相关的技能-推销自己的能力。怎么样,-我会在这篇文章中讲。

免责声明
, . . , , , , Junior -> Middle -> Senior -> Lead dev -> Tech lead -> Architect -> Chief architect -> CTO.

问题的提法


首先,我们将弄清各方希望实现的目标:
企业需要一种廉价,及时的解决方案来满足其IT任务,满足期望,并且在高级管理的情况下还需要创造新的业务发展机会。

程序员希望在劳动力市场中培养自己的价值,最大限度地提高工作条件(包括美元,进度,控制严密性,福利和津贴),解决问题以提高信誉,并从解决方案中获得满意的待遇。

冲突


实际上,很容易拿出一个双赢的例子,例如开发专有的DBMS内核,程序员在其中解决奥林匹克级别的非典型应用,将自己从中抽身出来,在会议上发表演讲,然后通过销售增加销售额,向客户展示如何效率和核心稳定性比竞争对手高,他们将节省基础架构。

但是我们不会谈论这种情况。让我们谈谈绝大多数程序员反复做出普通决定所面临的情况。另一家在线商店,另一家在线赌场,一家普通的非技术银行业务的另一个营业日...

而且存在着严重的冲突。因为及时的,可靠的,可预测的,便宜的和得到良好支持的解决方案是通过久经考验的技术制成的。有条件地,如果您的带有ASP.NET内核的在线商店的管理面板是用WebForms编写的,而代码作者仍然不会离开您,那么尽管.NET Core + Angular + TypeScript捆绑销售,新创建的推荐系统的控制面板也应该用WebForms编写。比WebForms好1000倍,确实是一团糟。毕竟,编写500个表单的团队将绕过耙子,迅速,可靠地编写第501个表单。并且企业将获得良好的解决方案。

对于那些已经意识到WebForms在市场上的价值的程序员来说,在WebForms上书写就像酷刑一样,因为他们完全理解在编写此表单期间,他们会增加业务价值,但同时却降低了它们的价值,因为当您静止不动时,该行业跑过去因此,在这种情况下,任何一个理智的程序员(即使他是共同所有人,毕竟没有人能保证商店会永远存在,并且在商店破产的情况下寻找工作将非常痛苦)将试图以某种方式获得完成某件事的权利。然后新鲜且需求旺盛,当然要花更多的时间在同一时间,从而允许出现更多的错误,踩踏更多的耙子。

显然,这种情况被夸大了。但是,无论领域和技术如何,本质都保持不变。

经过久经考验的非HYIP知名团队解决方案上的简单代码可提供业务可预测性和可靠性,并且团队会退化。新的炒作框架上的代码和/或算法复杂性高的代码可以促进团队的发展,但是企业为此蒙受了风险。程序员对主题领域的深入了解可以显着提高业务价值(准确编写所需内容,而不编写不必要的内容),但不会增加程序员的价值(在市场上很少有程序员知道会计知识)相反,在技术和算法上。

毕竟,一个对算法和技术了如指掌的程序员很容易找到工作,而对于企业而言,大多数知识是多余的且不适用。如果不按照预期的方式在时尚的框架上编写具有正确使用模式和正确算法复杂性的服务,将不会对业务有很大帮助。

是的,有一些副作用。例如,炒作主题简化了招聘,地狱遗留减少了现有人员的外流(人们想离开,但无处可去),但这只是细微差别,并不是那么重要。

解决方案


因此,让我们想象一下,当程序员意识到出于共同原因而想稍微奖励他(比如说,推迟他的开发)的那一刻。该怎么办?

遵守。并失去自己的利益。评论是多余的。

直接去冲突。可以这么说,他们说我不是你的奴隶。如果您想要具有深入的会计知识的原始复制粘贴代码,请找一个傻瓜。我不会那样做。也许骑一次。但是这里没有必要谈论职业。

使企业确信他们确实需要您的需求。对于程序员来说,这是一个正确的选择。是的,管理人员技术水平高,程序员的说服力低,很难实现。但这始终值得一试。输了之后,您始终可以选择p1,然后保存直到下一次。通过赢得,您可以同时获得业务和专业成长的尊重和价值感。

唯一的问题是如何获得这一圣杯?

在这里,我们将看一些有趣的故事。

历史1.关于部门主管瓦西里


Vasily是公司中最有经验的程序员之一。在20年的职业生涯中,他已经从初级程序员成长为部门主管。他有40位直接下属,他们直接与创始人解决问题,而不是像其他同级经理一样直接与CEO和副手解决问题。并且仍然撒尿代码以保持状态。他之所以事业是因为他拥有非凡的才智,此外,业务可以用相同的语言与他交流。在此之前,瓦西里一直在比赛。他许下了诺言,尽了全力。为此他受到崇拜。是的,有传言说他总是要求太长的截止日期,但另一方面,他调换截止日期的频率却比其他部门负责人少。

然后,他被公认为年度最佳经理人,他们开始以每个人为榜样,瓦西里(他的心中永不停止成为程序员)意识到是时候学习新技术了,以牺牲他的下属尝试新方法的方式,尤其是DDD。

Vasily部门的旗舰产品,期货交易者的自动工作站(AWP),帮助赚了很多钱,并且在多年的运营中,几乎所有的bug都被捕获并被擦亮了。问题是它是Windows的桌面应用程序(周围的每个人都在切换到Web),并且使用MSSQL作为DBMS,根据Vasily的说法,这也是一个石器时代,因为关系DBMS在人们使用时没有学习如何建立正常的基础。

现在我们正在谈论有必要为可选交易员编写一个自动化工作场所。该项目大约需要6个月的时间,其中包括进入新团队和Beta测试的话题,如果我们分叉期货终端的萝卜,并更换许多模块。但是,该死的,要使用过时的技术来生产另一种产品……这并不有趣。是的,人们将不得不在市场上打猎,因为没有人愿意利用这些东西(而打猎并使人们低于市场20%的能力是瓦西里的杀手级功能),因此,在市场上打猎的事实将动摇他的声誉。

因此,瓦西里(Vasily)做了什么-他说服首席执行官,为了盈利和业务稳定,所有内容都应该以0编写,一个新团队始终在网络下,而不是旧解决方案的一个字节,尽管这需要2年。鉴于他的声誉和职业经历,这并不困难。

两年后,该决定正式生效。全新的框架,MongoDB,DDD可通过浏览器工作,而不是期货终端的单个字节...是的,复制粘贴的山峰,不允许无without拐地集成算法的体系结构,从0个模块重写,那里的期货工作站优雅的算法被成批的样板代码所取代。不过,罗勒(Basil)很好地提高了他的权威。长期以来,其他管理人员都以可选工作站为例。几年后,瓦西里仍然感到羞耻,但这是另一个故事。

总体而言,底线是:Vasily找出新技术,使员工膨胀,增加其重要性,并且该公司仍然完全有信心能够帮助该业务并再次兑现其诺言。

历史2.关于首席处女安东


30岁的安东(Anton)喜欢学习新技术并解决奥林匹克运动会的问题。对于他的类型,他占据了几乎理想的位置-是基础架构团队的首位女士。安东非常了解规格和​​最新的建筑趋势。安东最喜欢的智力挑战是提出炒作技术将如何帮助企业以及在何处值得推销的基本原理。在这方面,他得到了建筑师的支持,他也不反对用安东的额头探究新的耙子。结果,安东受邀与FAANG进行对话,在那里他顺利地完成了整个理论部分,并出色地完成了设计Ebay架构的任务(尽管在以前的工作中不需要任何形式)。然后他在美国起航,并在产品中留下了三个高负载模块,现在没人愿意维护和开发它,因为没人知道他们是如何(以及为什么)工作的。

总计,最重要的是:安东清楚地知道自己想要什么,并实现了自己的目标,并从雇主那里得到最大的回报。公司还确信安东是一位非常有价值的员工,因为,正如我已经提到的那样,即使他对本学科领域的人很狂热,他也总是仔细考虑了理由。

建筑师伊凡的故事


Timlid Ivan和Timlides Vladimir和Yuri在建筑师Sergey的领导下看到了该产品。谢尔盖(Sergey)将他们三个全部带到公司,他们四个做出了重要决定。该产品在运行4年后开始销售,但仍不稳定时,领导层接管了谢尔盖,他昂着头离开了。跟随他,弗拉基米尔和尤里离开了。

在某一时刻,伊万成为唯一了解所写内容的人(除了高中和中级生,谢尔盖并不特别致力于总体构想)。领导层感觉到有些油腻,于是任命伊凡与相应的工作人员为建筑师,希望他不会离开。他们对伊万说的话当然很好,但这还不够,所以我不离开。如果您希望我支持我们在Sergey上看到的内容,那么让我用0重写所有内容。业务部门勉强同意。伊万获得了薪水,职位以及一天之内可以写0的一切的能力。

总计:伊万(Ivan)正确地理解了业务问题是什么-业务恐慌,担心他们在谢尔盖(Sergey)时期看到的东西可能会失败,而且没有人能弄清楚。他把生意推到了最大。


无论您是否想要,但为了职业,美元和做自己感兴趣的事情的机会,您至少都必须讨论并考虑业务价值。是的,您可以带来它,而不是带来它,甚至带来负面影响。但是在这种关系系统中,您为付款人控制的价值链越长,谈判地位和做您想要的而不是宣布的能力就越强。

All Articles