信阳三件事让你成为效率高的程序员

本篇文章是一名很有阅历的资深顺序员所宣布的一篇关于编程开发的感悟,他会用他自身顺序员的阅历通知我们开发效率很高的顺序员要做到哪几件事。

我们许多人末尾编程的时分都有特定的目的。比如,我末尾编程的时分,是让我能在睡觉和在学校的时分自动玩那个文字版的MUD游戏。我那时分是个写脚本的13岁小孩,甚至不知道什么是编程。我能够有一个想法,然后就写代码并测试 – 全部靠我自己。

当我们为其他人开发软件时就变得很困难,由于我们经常缺乏相反类型的动机和兴奋感,而它们驱使我们追求自己的愿望。我们没有自己的想法,而是花几个小时在会议中尝试了解这些想法,然后我们大局部时间都在修正他人的代码 – 或许提交自己的代码。这招致一定水平的隔膜,进而降低了消费率。

要成为一名10倍效率的开发人员,你必需学会在这种环境中崭露头角,甚至创立自己的公司来指导这项任务。

任何人都可以是一个10倍效率的开发人员,至少在每一天的某个时辰。我置信一切开发人员都应该专注于提高消费力和团队协作的三件事。

三件事

要成为一名10倍效率的开发人员,你需求几年的任务阅历,无论运用哪种编程言语和工具集。你必需擅优点置效果和编写代码;这是必需的。

重要的是你要明白,如何编写代码并不能让你成为10倍效率的开发人员,10倍效率的工程师,10倍效率的顺序员,或其他任何你想要的名字。

你知道5W:“谁(Who),什么(What),在哪里(Where),为什么(Why),什么时分(When)”。虽然这些都适用于软件开发,我想关注那三个定义了10倍效率的开发人员的特点。这三项把普通开发人员与10倍效率的开发人员区别开来:

是什么(What)

为什么(Why)

什么时分(When)

知道做什么

在企业界,开发人员经常从事他们不太感兴味和不了解的项目。关于大少数开发人员来说,这不是一个大效果,只需他们收到了很好的指令,并且也失掉了明白的输入定义。

效果是开发人员通常没有失掉足够的指令。相反,我们运用一种叫做 “矫捷开发” 的东西。我们收到一个记事帖,下面有几个字,并指望我们知道究竟需求做什么。

软件开发就是沟通。开发人员需求知道我们在做什么,我们试图处置什么效果,以及究竟需求什么样的结果。我们知道的越多,就可以更快的完成。最重要的是,知道任务的目的和什么会使任务成功是很关键的。

水平差的开发者会在一个项目的错误方向上花几个小时而不问任何效果。他们就是我所说的 负10倍效率的开发人员,由于他们一事无成,糜费了一切同事的时间。简直每团体都遇到过这些开发人员,与他们一同任务会让人感到懊丧。你一定要小心,不要养成他们的习气!

有些开发人员即使没有很多细节也能很好地任务。他们有少量的发明力,并提出正确的效果。这些独角兽能够是10倍效率的开发人员。他们知道如何处置效果,并经常提升整个团队的水平。

最重要的是,10倍效率的开发人员真的很擅长快速地确定需求完成什么和问什么效果。

了解为什么

也许软件开发的最大阻碍就是了解为什么。假设你不明白你要处置的效果,那就很难处置了。

为什么我在睡觉和上学的时分把几个终端脚本放在一同玩MUD游戏?当然是我想在竞赛中到达最初级别。我清楚地知道为什么,我尽我所能来完成目的。

异样的方法也适用于任何软件开发项目。了解他们所在的垂直行业和他们试图处置的效果将会使开发人员更有效率。了解为什么和了解垂直行业也有助于防止不用要的任务,腾出时间专注于那些会使产品或功用对用户更有价值的事情。

效果是知道为什么还不够。作为一个真正的10倍效率的开发人员,你必需对这个效果有热情,并从里到外地了解它。我置信,大少数10倍效率的开发人员实质上也是产品人,具有良好的产品愿景。

知道什么时分做什么

时间关于软件开发项目十分重要。确定项目义务的处置顺序看似容易,但却十分关键。你的任务可以协助公司获取一个新客户或许或清算掉旧的技术债务?

作为开发团队,我们必需不时地选择我们要做什么和什么时分做。

一切软件开发任务项目都属于以下三类:

我们必需做的事情

我们需求做的事情

我们想要做的事情

我们必需为客户完成新功用。我们需求修复软件中的 bug。我们想增加些技术债务或开发一些酷的新产品功用。这些都需求平衡取舍。

我们应该同时展开一切三个维度的任务项目。我们不能把一切的时间都花在技术债务上,但也许我们应该花一小局部时间在这下面。

开发人员还必需知道何时在其代码中构建复杂的体系结构。我宁愿坚持代码尽能够复杂,直到不添加架构就会死的时分我才会添加架构。

开发者也必需知道什么时分防止追逐时兴的东西。他们倾向于运用新的工具和技术,但是这些东西能够只会减慢一个项目,而不是更快地完成它。

10倍效率的开发人员擅善于优先级排序,并了解何时将时间投入到架构中,而不是运用一坨意大利面条般的代码来完成某种任务。请记住,你的用户并不关心你的软件是如何任务的,也不论该架构有多花哨。他们只想它能处置效果。10倍效率的开发人员了解这一点。

掌握是什么(What),为什么(Why),什么时分(When)成为10倍效率的开发人员

如今让我们来谈谈成为10倍效率的开发人员的重要技艺:掌握是什么(What),为什么(Why),什么时分(When)。

从为什么(Why)末尾

成为10倍效率的开发人员的第一步是对你要处置的软件和效果变得充溢热情。你需求从里到外完全了解它。这首先是要对你任务的公司及其使命充溢热情。

不要由于他人通知你要写一个按钮(button),然后你就只写一个按钮。努力在更高层次上去了解为什么(Why)。假设你继续关注为什么,你对你的团队和公司会有更大的价值。

做一个好的开发者和优秀的效果处置者,而不是最好的顺序员

我会把自己描画成一个黑客开发者。我是那种能很快把一些漂亮的代码拼凑起来并处置简直任何效果的人。我的代码很少是美丽的,但它能处置效果。这才是最重要的。

你不用编写完美的代码与单元测试来成为一个10倍效率的开发人员。你需求知道什么时分要做和什么时分不做这些事情。

一个10倍效率的开发人员擅优点置特定的效果,并经过代码满足业务需求。你能做的最聪明的事情就是在你把项目交给其他人(他们更擅长最后敲定一些架构和其他一些细节)之前就知道它能走多远。

什么时分(When)在你的内心,或许不在

知道什么时分要树立一个复杂的架构,而不是拼凑一些东西,需求阅历和你蜘蛛侠般的感官。你要么有这种觉得,要么你基本不知道。

我曾与一些最聪明的开发者同事过,他们总是很蹩脚的优先思索形式和架构,而不是功用和排期。他们总是过度完成或许一遍遍重构,争取 “完美的代码”,而不是 “可交付的代码”。

10倍效率的开发人员必需应用他们的阅历和天分来知道什么时分要专注于架构和完美,什么时分就是把事情搞定。

知道该做什么(What to Do)和该问什么(What to Ask)

许多软件开发归结于沟通技巧。惋惜的是,在我们要任务的项目上许多注释和要求都不是很详细。一个10倍效率的开发人员知道如何阅读这些,运用他们知道的业务里的 “为什么”,并提出相关的效果。

最好的开发者知道在寻求协助之前要在某件事情上花多少时间。他们也知道要问什么效果,以说明需求来推进项目。

结论

我曾经写了超越15年的代码。可以说我是一个10倍效率的开发人员,或许至少我能。我知道我擅长什么,当我做我擅长的事情时,我可以很快地完成少量的任务。

假设你想做一个新产品的原型,我就是你要找的人。假设你需求寻求Angular,React或其他一些 前端的协助,我相对不是你要找的家伙。在这些义务上我将是一个负10倍效率的开发人员。

10倍效率的开发人员不是一个神话。他们确实存在。他们很能够是开发经理、架构师、首席开发人员或公司开创人。假设他们不是的话,他们应该转变。我后来成为了公司的开创人,到如今为止都两次了。

当然,没有人能在每一天的每个时分都是一个10倍效率的开发人员。我们没有精神或专注力每天以这样的速度任务。我们不是机器人。

假设你了解软件开发的 “是什么(What),为什么(Why),什么时分(When)”,你就可以是一个更有效率和更好的团队成员–甚至是一个每天几个小时内的10倍效率的开发人员。这会有很大的不同。

提供最优质的资源集合

立即查看 了解详情