当第一本俄语版本的著名书籍“如何放牧猫”出版时,专门讨论了自然界专业人员而不是软件开发人员如何管理任性的难题,我经验丰富的同事,项目经理指出:“将其称为“如何放牧牛”会更正确”。 。 这个短语被记住了,并且从那以后积累的与程序员交互的经验表明,一位同事是正确的。
Nena程序员如何看待他们的同事
在Habré上,有大量的文章专门讨论软件开发方法论,项目团队中的交流与互动,程序员的选择和雇用。 毫不夸张地说,每一篇这样的文章都收集了程序员的许多愤怒评论,他们在其中责怪“ piemas”,测试人员,人事部门工作人员,分析师,客户-对于那些不喜欢自己因特定方法的缺陷或项目失败而感到不满意的人。 在文章和对它们的评论中,普遍的观点是开发者永远是正确的。 除其他外,这种观点的普遍存在是由于程序员占据了Habr的大多数读者这一事实。 同时,不是程序员的专家正在组织和项目团队中工作。 本文私下精确地表达了在“路障”另一侧形成的另一侧的观点。
今天,我的年轻朋友,我将通过您的同事的眼神向您描述这个世界,并向您介绍您,软件开发人员,伟大而永远正确的程序员在这个世界上的表现。 您确定您像猫一样是宇宙的中心,并且在项目结束之前每个人都欠您一个
棺材 。 您的观点除其他因素外,还得到项目团队在团队中的数量优势的支持,但实际上,在您中一个年轻的或已经变老但仍然没有足够的思想朋友的项目中,有一半是安静的讨厌你的无所不知和过度的自负。 您的势利只会被建筑师的过高和过分夸张的势利所阻止,但是谈论这种
种姓还会再过一段时间。
业务分析师讨厌您因为规范而最费时的部分,而这些部分据称由于监督而未能实现。
测试人员讨厌您在工作日结束前5分钟推出最终版本并进行更正,然后平静地回家,而且他们仍然必须在晚上花费几个加班时间来检查50个更正和回归测试,然后才能发布明天。
项目经理讨厌您从最高的钟楼上吐口水,因为您的未来以及公司的薪水并不取决于他的意见和反馈,而仅取决于您的直属上司,他几乎总是会找到方法为您的失败提供保护。 好吧,当然,他比测试人员更讨厌您,因为在测试人员完成测试并批准最终版本的发布后,他仍然需要在晚上11点完成针对以下内容的最终版本报告的创建客户的部署和维护团队。
即使您在分配给您的新项目中的时间表中专门分配了支持异化代码的时间,支持服务也会讨厌您使用“自记录”代码并不断回避他们的问题的答案。
但是,首先是第一件事。
普通程序员的生活之路
经过一个
成功的项目后,我以某种方式在开发部门负责人的同意下为编程小组准备了一个演示文稿,其中包括一张“图”,描绘了程序员的生活道路,从一开始就在学龄时期使用记事本进行编码。在应用持续集成和自动开发的实践之前,通过开发集成开发环境(20年),缺陷管理(25年)以及与其他专家和外部承包商的交互(30年)来进行开发 yvaniya版本获得
的白发 35岁
的外观 (年龄里程碑,当然,有条件的,并且仅仅用于说明的生活方式平均)。 像当今世界上其他任何人一样,程序员都被迫不断地学习和改进技术和专业知识,许多人在这方面取得了很大的成功。 同时,大多数写第一个
口哨欺诈程序“ Hello,World”并在hh.ru / monster.com上发布简历的人立即开始在面试中张开手指,并自豪地称自己为“真正的专业人员”, -这些实际上不是。
在该项目中,一个开发人员设法忘记将更新的代码放在一个公共存储库中,而他的两个同事在极端模式下半天试图确定为什么该功能无法按所述方式工作? 另一个开发人员在部署脚本中犯了一个错误,并且如果项目经理未注意到该错误(!),则整个迭代的团队协作结果的实现将延迟到下一个代码周期发布到产品环境中,即 2周。
两位专家都有超过一年的工作经验,他们都是软件开发专业人士,即 因他们的工作而获得金钱补偿,但没有“为自己”或在免费的开源项目中编写代码。 但是,无论他们看什么,他们都犯了“幼稚”的错误。 这是众所周知的事情,每个人都会遇到缺陷;只有不做任何事情的人不会割草。 但这就是为什么我要向开发人员展示该演示文稿的原因,以我为各个项目团队提供咨询的经验为基础,几乎所有程序员都面临哪些问题领域,而这些问题不属于特定编程技术领域,而是相关领域,您,MUD,设计师和破坏者所钟爱的领域到此结束,技能开始与需求,工具,缺陷,计划等结合起来。 因此,如果在阅读上述任何示例中的文章时某处偶然地认识到自己,并在阅读后得出适当的结论并设法“超越自己”,那么其他人将正确地将您视为自己所在领域的专家,并为此感到高兴在同一个项目和团队中与您一起工作。
与非程序员的互动
让我知道,我的熟练朋友,与您一起在项目团队中共同工作的其他专家,例如测试人员,分析师,技术作家,设计师等,对您的项目成功负有不亚于您的责任
,哦宇宙的奇迹 。 所有这些非人类都扮演着同样的角色,并且在某些项目中甚至比您作为编码者的角色还要重要,因此,与他们进行有能力和仁慈的互动是您工作不可或缺的关键部分,为此,您每月两次从ATM上获得很多钱(简而言之-这笔钱比所有这些人从同一台ATM机中提取的钱都
多得多 。 您经常从上方或手指查看它们及其设计需求,而没有他们正确需要的关注。 他们的需求和专业期望各不相同,取决于他们的角色。
例如,分析人员希望您不仅会在规范中仔细检查是否有每个字母,而且还会认真地将它们转换为程序代码。 而且,在测试期间,他们会问您为什么不执行明天发布的版本中所包含的关键功能,而这些功能在您一年前被任命为项目团队之前一直没有满足您的要求,因此您不会戴上护目镜从那以后,再也没有改变过一个字母。
测试人员有权期望您的工作质量无缺陷。 当她被录用时,她被允诺了,因此她希望她不会成为TDD开发方法的一部分,根据该方法,MUD会将未完成的产品“投入”到测试中,并根据其结果完成缺少的功能并修复明显的缺陷。 测试人员当然希望您不会因为您不知道如何手动测试产品而不是手动测试,或者她使用数据库查询语言的能力比您低得多的事实而散布烂摊子。 最后,不要忘记,与其他编程人员相比,他们付出的人工测试费用要比您少几倍,而且如果她像您一样了解SQL,那么她会坐在显示器前的椅子上,而不是坐在椅子上。您,因为你们之间的资格相同,是她更愿意将她留在团队和组织中,因为与您不同,她走过了测试人员的艰难道路,她将永远不会像您一样在同事身上散布腐烂。
工程技术知识
您是否已经完成了
幼儿园课程,并在面试中成功地解释了设计师与破坏者的不同之处? 我将告诉您一个秘密,软件开发的专业领域不仅限于此知识,而且如果您继续认为书面代码和可执行代码足以完成工作,而又
不会从项目经理/客户那里获得过两次嘲笑
,每月就
可以收到两次sn,在未来的职业中,您会自己想出更多的问题,最重要的是,对于每个不愿在您旁边工作的人来说,您都会感到头痛。
“版本? 注释掉代码? 遵守编码和命名标准? 不,我没有听到!” 因此,在这里和这里的各个项目团队和组织中的同事都要说。 年轻的朋友,您在抱怨与“代码刺刺”不直接相关的所有事情:关于需要添加注释,按照公司或部门设定的标准用块测试覆盖代码,合并存储库分支……我们能说些什么?需要高级或真正高素质的更复杂的事物:测试自动化,实现和对持续集成的支持,设置Bamboo-Cucumber-Maven-Puppet捆绑包,在搜索中挖掘系统日志的许多小时 x软件错误的证据-这些都是给您的无聊和渣,它们使您无法直接提高自己的编码技能,并且发现自己轻视FAQ。 此外,通过拒绝使用某些硬件,您,一个专业的软件开发人员,通常只是掩盖了您无法使用它们的能力。 我记得一个程序员的反应和表情,他试图发现一个难以发现的“浮动”缺陷,建议使用IDE内置的探查器:有人告诉我,建议项目经理在工作中使用什么工具并不是项目经理的工作。
工具技能
您在工作站内的工作自动化程度如何? 您是否具有使用正则表达式,创建和执行批处理文件的技能? 在同事,测试人员,分析师或客户的要求下,您能否在3分钟内在远程服务器上解析几十万行日志,找到必要的关键参数条目,打包输出,将其转发到指定的地址并返回被中断的任务? MUD,您知道多快完成每天需要重复操作的例行操作吗?
如您所知,可以通过按F5(或F6?或F13?)来开始在现代开发环境中进行编译。最后,为什么我(项目经理)需要了解这些事情?MUD,几分钟之内,您不知道从Jira卸载,在Excel中正确格式化,并通过
blackjet以及妓女图表和趋势向客户发送有关缺陷报告的电子邮件,但是您将永远不会在同事间的吸烟室中钉上自己的“诗”,这并不愚蠢知道析构函数与构造函数有何不同)。 但是,在相当长的职业生涯中,我遇到的程序员并不多,他们使用键盘上的键盘快捷键来调用某些标准动作,大多数程序员为此使用较慢的鼠标操纵器。 有条件的“制表符-1000-制表符-1-制表符-0-制表符-退格键-2-Ctrl + S-Ctrl-F6-Enter,Alt-Tab,F5”仅需6秒钟,即可让真正的专业人士通过鼠标轻拂和戳戳来完成操作用食指在键盘上,慢一会持续五分钟。 并且,当一天执行数百次此类操作时,在临近截止日期的情况下,另一位项目经理有时会想要
把......的“专业人士”从键盘上移开,进行更改/编译/布置可执行代码,然后将其交给测试小组新版本终于准备好了。
因此,MUD千万不要偷懒,花时间掌握工具的十指盲注和有效工作方法,并相信更有经验的人,即使其中一些人不被您的项目经理所爱-这次您将收获丰厚的回报。 而当您这个笨拙的年轻人还没有达到完美时,请-将您的头埋在显示器中,然后编写代码Bl ..!
劳动评估
当项目经理介入“编写代码”这一神圣过程时,您无法忍受。 但是,与此同时,您永远不会拒绝对“不切实际”的期限,“泄漏的”要求,不及时的变更要求,不称职的项目经理发出苛刻的评论。 当在特定方法论的框架内,他们就评估下一次迭代或整个项目的人工成本求助于您的专家意见时,您惊讶地面对,开始为无法理解或不完整的规范,未知的技术“找借口”,而这根本不是您的事情进行计划,您没有时间进行“胡说八道”,而您最好去做真实的事情-编写代码。 “通过功能点的方法估算人工成本吗? 根据以前的结果进行类比? 基于数量的屏幕表格和数据库I / O请求? 不,我没有听到!”
因此,年轻的朋友要么在计划业务不是您的事时静静地做些碎布,要么提高自己发布真正专家评估的技能,而不用动摇手指。 直到掌握了最后一个
-IPKB !!!
印度教法典
您最喜欢的消遣方式之一是批评印度开发人员创建的软件代码。 不要喂你面包,而让我们取笑“面食”编程风格。 除了讨论“印度”代码外,您还喜欢聊天技术(请参阅下文)。 所有这些,尽管您自己将方法称为骄傲的名称kolbasa(),却难忘地将代码片段复制到程序中的不同位置,并创建一打或十二个屏幕大小的类。
由于您自己的专业经验微不足道,MUD,您不知道自己编写
的代码通常不会比南方同事创建的代码更好,有时甚至更糟。 糟糕的程序员在任何国家都存在,“不要判断,不要让我们受到判断”,真正的专业人员,我会告诉你一个MJD的秘密,不要在全国范围内屈从于同事的责备,而慢慢地提高自己的资格和时间,他们被分配用于创建软件产品,而是直接花费在编程上,而不是在别人的代码缺陷中寻找别人
眼中的稻草 。
无休止的技术讨论
您不停地与其他程序员讨论什么Java ++优于C ##或哪个Java库中的版本号129分数比版本129分数13更好。 即使在迭代结束或为期数月的项目结束前还剩下2-3天或几周,并且分配给您的未经纠正的严重缺陷的数量超过五十个的那几天,您也永远不会为这样的讨论感到遗憾。
在工作时间,您不必费心就能做到这一点,而不是在周五晚上或周末喝一杯啤酒。 尽管在产品中选择和使用一种或另一种技术的问题不在您的能力范围之内(因为您的能力规模MJD尚未长大),但您仍然参与其中,但您仍然会花时间与雇主和在非生产性仓库中进行项目。
抱怨“不必要的”集会
因此,当您刚
度过谈话之后,我昨天在厨房/吸烟室与六位同样的
狗屎编码员聊了两个小时,讨论了最新的Google-Microsoft-Apple-Linus Torvalds框架/新闻发布会,然后偷了几个人,在开发的日子里,您突然对完成的迭代进行分析时,宣布项目中召开了太多不必要的会议,因此您需要缩短会议时间-对此,您只想大声喊叫:闭嘴和
IPKB !
识字俄语
嗯,就像他们所说的,最后还是最后一个,但远非最重要的。
即使您是MUD,也能熟练使用C ##或Brainwave之类的语言-但这完全不能免除您正确书写和说俄语的需要(以及二十一世纪英语)。因此,在下一次之前,您将能够在此处或bydlokoderov的其他资源上写规格,对代码的注释,给客户的来信,或您的聪明文章和注释-请首先正确学习俄语,bl ..!这样做的目的是,无论您写什么,任何有能力的人都可以轻松愉快地阅读,并且不会偶然发现您所做的每一个拼写。访问并记住网站tsya.ru的内容并记住已经最后的“测试仪” -用于确定所述不同的电网参数的值的装置,并且专业软件测试被称为“ 测试器 ”,以及“功能性” -一个数学一组软件术语功能被称为“功能性NOST ” bl .. !! 111结语
我希望以上给出的建议适合您将来使用,并且随着时间的流逝,您将成长为一名真正的软件开发工程师,他是该领域的专家,能与车间的同事进行有礼貌的互动,并按时高效地完成工作。祝您工作顺利!并且,请始终记住,您的非程序员同伴应该比您和一只猫更受其爱戴和尊重。
加法
在本文第一版的评论中,提出了一个问题:您从哪里得到这样的开发人员?当然,特别地,当然,本文的作者没有在其项目团队中选择这样的人,但是几乎任何组织中都有类似的照片。当然,并非所有从事IT领域专业工作的开发人员都与本文中描述的开发人员相似。作者同意普遍的观点,即专家级程序员的生产力是新手同事的10倍。普通开发人员的生产率比初学者,乱扔垃圾或无能的生产率高约3倍,专家级专家“野牛”的最终排气也比普通专业人员高3倍。根据我的经验,低技能开发人员与普通人员和专家之间的数量比例大致相同:1到3和3到1。这些比例在一个组织与另一个组织之间可以有很大的不同,但是平均而言,它们是正确的。在我的整个职业生涯中,我与四个人一起工作,我将他们完全归类为“ 星星 ”(“光谱”的极端部分)类别。他们知道执行任务所需的一切,此外,他们还精通专家评估的劳动力成本,在规定的时间内完成项目,产品或公司中的工作后,留下了明确记录的工件。“ 传统“程序员,那些知道如何做很多“明星”的人可以,但不是全部,绝对多数。很明显,他们的文章并不关心,或者仅关注以下事实:“给出的一些草图可以使他们像“但我记得,我记得,我记得公司在XYZ,我的天哪,我当时真是个傻瓜”。是(两/五/二十年前)!”。大约与“明星”的人数相同,我遇到了真正的“ 刨削 ”,只是文章中那些难看的人:偷偷摸摸,草率,愚蠢,鄙视所有不是办公室程序员的同事(除了他们的直接员工)老板),不愿意学习或不知道“ ikspertov”的必要性。本文专门讨论最后一个类别。