真正的高级程序员的迹象以及在野外跟踪他们的方法

开发人员的技能水平差异很大。 而且所谓的“ seigniority”通常不会说出程序员的真正可能性。 是什么使某些开发人员在客观上优于其他开发人员? 是什么让他们与灰色人群区分开?
如果程序员拥有5年,10年甚至15年的“实践经验”,则不一定能保证他是一个有效且富有成效的高级人。 实际上,这甚至并不意味着可以称之为。

当然,也有不幸的人,因此,对于通常不年轻的成功的老年人而言,他们已经建立了不好的声誉。 但是年轻的塞纳主义者也不容易。 但是,某些高级程序员具有某些共同的特征和知识。



这并不是说真正的领主知道一些专业技能的秘密。 相反,它们的特征是特殊的知识结构和特殊的思维。 两者都适合发展。

该材料的作者(我们今天将其翻译发表)说,他想谈谈一些有助于将真正的程序员-高级与有“ seigniority”的程序员区分开的标志。

编程范例


SOLID原理,面向对象和函数式编程-这是三种编程范例,三种干净的代码编写方法,它们构成了程序创建背后的概念方法的重要组成部分。

许多初级程序员在工作中错过了一件重要的事情,那就是编程是一种语言。 这意味着编程不仅仅是一组语法规则。 这是一种交流手段,这种现象可以多种方式构成。 编程范例有助于形成关于如何感知代码以及如何传达信息的特定立场。

任何人都可以编写代码-就像任何人都可以在Messenger上写消息或在Amazon上对一本书进行简短回顾一样。 但是,这些文本不能与斯蒂芬·金的小说相提并论。 编程范例是老年人编写代码背后的指导力量。 这使范式类似于小说作者遵循的情节结构。 所有语言都充斥着公式。 高级开发人员对Joons和MIDL尚未深入了解它们。

创造能力


当我们初次接触for循环和if else ,我们会提出问题并尝试以代码形式找到对它们的答案,这些代码可以从某个地方复制并粘贴到我们的项目中。 对该代码的理解程度是表征刚入门和初学者的初中生的资格的特征。

但是,老年人不仅仅可以模仿。 他们可以在没有全能Google的特殊帮助的情况下创建新的东西。 他们知道自己在做什么,知道他们的决定如何影响他们的工作结果。 他们可以看到或至少可以预期到异常情况。 他们了解代码的问题,并知道如何处理。

如果他们什么都不知道,他们会填补知识空白,认真理解不清楚的问题,而不仅限于表面学习。 他们深刻了解他们使用的所有工具。 在老年人看来,代码世界的方式与六月或中旬时不同。

客观批评


每个人都喜欢他们所知道的。 大中学生显示出一种强烈的倾向,即专注于自己的经验,而不是关注与他们分析的代码有关的内容。 如果他们提出建议,或者他们珍惜某些东西,那么这一切的基础就是他们的个人喜好。 这是一种代码编写方式,一种实体命名方式,一种思维方式。

这没有错。 所有这些都是专业成长过程的一部分。 为了实现判断的真实客观性,程序员需要转至许多情况,并亲自了解在一种情况下不可接受的事物在另一种情况下是解决问题的最佳方法。 这对事物发展出中立的看法。 没有一种正确的方式编写代码。 只有在某些情况下和某些情况下有效的方法。 高级程序员了解这一点。 他们准备接受他们的代码可能不是某种“最佳”代码,并且可以对其进行改进。

老年人通常会成为富有成效的代码质量控制器,指出同事在程序中造成的混乱,并指出应用程序体系结构中的弱点。 他们能够查看项目的整体情况,评估完全出乎意料的问题的可能性。 但是,它们不依赖于任何编写代码的样式或编程范式。 他们关注的重点不是工具,而是结果。

好的程序和工作程序之间的区别


开发人员创建主要任务是开始的代码。 他们中的一些人对此深有体会,并认为工作代码就是他们所需要的。 其他人则走得更远,努力确保代码不仅可以正常工作,而且可以高质量地编写。 最好的开发人员是那些在此过程中编辑和重写我们的代码的专业人员。 他们可能会同意使用某些不成功的设计,但是一旦他们有机会对其进行修复,便会执行。 这样的开发人员了解好的程序与工作程序之间的区别。

大多数经理只对程序的性能感兴趣。 但是优秀的高级开发人员会更深入地了解这种情况。 他们了解技术债务的隐性成本,并且能够识别出指示系统中存在严重问题的代码。 他们知道如何将工作程序的业务需求与代码质量结合在一起。 这样,他们就可以在项目的按时交付与包含项目客户在开始工作之初就无法记住的其他功能之间找到平衡。

他们广博的知识,对框架和编程语言的理解,使他们成为寻找工作程序和高质量程序之间差异的专家。 他们可以同时创建。 这为真正的老年人提供了在各种情况下找到创造性解决方案的机会。

学习能力


平庸的老师摆姿势。 一位好老师解释。 一位优秀的老师表演。 伟大的老师鼓舞人心。
威廉·亚瑟·沃德

真正的高级开发人员对技术充满热情,可以激发经验不足的队友,帮助初学者成为顶尖的专业人员。

编程本身就是一组特定的想法。 老年人有能力简洁明了地表达这些想法。 老年人在不同界面和环境之间传输代码的能力证明了他们对所选编程语言的真正理解。

为了教某人一些东西,您需要一定的知识水平。 所谓的“工作经验”可能会在程序员的简历中显示为已完成项目的列表,或在不同公司工作的时间。 但是,教导他人的能力是只有真正拥有自己手艺的人才能使用的技能。

总结


真正的高级开发人员是多方面的东西,有时候,当涉及到其核心业务以外的地方时,看起来可能像六月或中间。 但是,领主在编程哲学领域拥有强大的基础。

但是,老年人的上述特征-这就是他们的个性和专业知识。 这使他们比某些“普通”程序员更快地学习新技术。 通常,老年人是能够一目了然地了解正在发生的事情的人。 他们能够在没有偏见和迷信的情况下查看代码。

真正的主人将带领他的同事养成创建干净代码的习惯。 同时,它不会试图将自己遇到的一切都挤入自己的Procrustean床中的破坏力。 这个人从容地接受同事和他自己的错误。 他寻求从错误中学习,而不是羞辱经验不足的同事。

一个高级开发人员可以是任何年龄的人,他可以来自信息技术的任何分支,他的“实践经验”可以在任何年限内计算。 这种人的主要特征是他们真的知道如何解决问题,并且从长远来看他们能够思考。

亲爱的读者们! 如果您从事信息技术领域的人员甄选工作,请告诉我们您如何“跟踪”老年人。

Source: https://habr.com/ru/post/zh-CN460016/


All Articles