<acronym id="uwuee"></acronym><acronym id="uwuee"><xmp id="uwuee"><object id="uwuee"><center id="uwuee"></center></object>
<rt id="uwuee"></rt>
<rt id="uwuee"></rt>
<rt id="uwuee"><optgroup id="uwuee"></optgroup></rt>

资讯?#34892;?

写了15年代码我终于总结出提升10倍效率的三件事


作者佚名 来源CSDN云计算

几乎每个软件开发人员或程序?#20493;技?#36807;其他人编写的代码?#24471;?#20102;任何人都可?#21592;?#30721;但你有没有遇到过所谓的神话般的10倍效率的开发人员?作为一个10倍效率的开发人员在编写代码方面做得很少, 更多的是知道要写什么代码

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

当我们为其他人开发软件?#26412;?#21464;得很困难因为我们常常缺乏相同类型的动机和兴奋?#26657;?#32780;它们驱使我们追求自己的愿望我们没有自己的想法而是花几个小时在会议中尝试了解这些想法然后我们大部?#36136;?#38388;都在修改别人的代码 - 或者提交自己的代码这导致一定程度的隔阂进而降低了生产率

要成为一名10倍效率的开发人员你必须学会在这种环境中脱?#20493;?#20986;甚至创立自己的公司来领导这项工作

任何人都可以是一个10倍效率的开发人员至少在每一天的某个时刻我相信所有开发人?#20493;加?#35813;专注于提高生产力和团队合作的三件事

三件事

要成为一名10倍效率的开发人员你需要几年的工作经验无论使用哪种编程语言和工具集你必须善于解决问题和编写代码;这是必须的

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

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

是什么(What)
为什么(Why)
什么时候(When)
知道做什么

在企业界开发人?#26412;?#24120;从事他们不太?#34892;?#36259;和不理解的项目对于大多数开发人员来说这不是一个大问题只要他们收到了很好的指令并且也得到了明确的输出定义

问题是开发人员通常没有得到足够的指令相反我们使用一种叫做 敏捷开发 的东西我们收到一个记事帖上面有几个字并指望我们知道到底需要做什么

软件开发就是?#20302;?#24320;发人员需要知道我们在做什么我们试图解决什么问题以及到底需要什么样的结果我们知道的越多就可以更快的完成最重要的是知道工作的目的和什么会使工作成功是很关键的

水平差的开发者会在一个项目的错误方向上花几个小?#20493;?#19981;问任何问题他们就是我所说的 负10倍效率的开发人员因为他们一事无成浪费了所有同事的时间几乎每个人?#21152;?#21040;过这些开发人员与他们一起工作会让人感到沮丧你一定要小心不要养成他们的习惯!

?#34892;?#24320;发人员即使没有很多细节也能很好地工作他们有大量的创造力并提出正确的问题这些独角兽可能是10倍效率的开发人员他们知道如何解决问题并经常提升整个团队的水平

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

理解为什么

也许软件开发的最大?#20064;?#23601;是理解为什么如果你不明白你要解决的问题那就很难解决了

为什么我在睡觉和上学的时候把几个终端脚本放在一起玩MUD游戏??#27604;?#26159;我想在比赛中达到最高级别我清楚地知道为什么我尽我所能来实现目标

同样的方法也适用于任何软件开发项目了解他们所在的垂直行业和他们试图解决的问题将会使开发人员更?#34892;?#29575;了解为什么和理解垂直行业也有助于防止不必要的工作腾出时间专注于那些会使产品或功能对用户更有价值的事情

问题是知道为什么还不够作为一个真正的10倍效率的开发人员你必须对这个问题有热情并从里到外地了解它我相信大多数10倍效率的开发人员本质上也是产品人具有?#24049;?#30340;产品愿景

知道什么时候做什么

时间对于软件开发项目非常重要确定项目任务的处理顺序看似容易但却非常关键你的工作可以帮助公司获取一个新客户或者或清理掉旧的技术债务?

作为开发团队我们必须不断地选择我们要做什么和什么时候做

所有软件开发工作项目都属于以下三类:

我们必须做的事情
我们需要做的事情
我们想要做的事情
我们必须为客户完成新功能我们需要修复软件中的 bug我们想减少些技术债务或开发一些酷的新产品功能这些都需要平衡取舍

我们应该同时开展所有三个维度的工作项目我们不能把所有的时间都花在技术债务上但也许我们应?#27809;?#19968;小部?#36136;?#38388;在这上面

开发人员还必须知道何时在其代码中构建复杂的体系结构我宁愿保持代码尽可能简单直到不添加架构就会死的时候我才会添加架构

开发者也必须知道什么时候避免追逐时髦的东西他们倾向于使用新的工具和技术但是这些东西可能只会减慢一个项目而不是更快地完成它

10倍效率的开发人员擅长于优先级?#21028;}?#24182;了解何时将时间?#24230;?#21040;架构中而不是使用一坨意大利面条般的代码来实现某种工作请记住你的用户并不关心你的软件是如何工作的也不管该架构有多花哨他们只想它能解决问题10倍效率的开发人员理解这一点

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

现在让我们来谈谈成为10倍效率的开发人员的重要技能掌握是什么(What)为什么(Why)什么时候(When)

从为什么(Why)开始

成为10倍效率的开发人员的第一步是对你要解决的软件和问题变得充满热情你需要从里到外完全理解它这首先是要对你工作的公司及其使命充满激情

不要因为别人告诉你要写一个按钮(button)然后你就只写一个按钮努力在更高层次上去理解为什么(Why)如果你?#20013;?#20851;注为什么你对你的团队和公司会有更大的价值

做一个好的开发者和?#21028;?#30340;问题解决者而不是最好的程序员

我会把自己描述成一个黑客开发者我是那种能很快把一些丑陋的代码?#21019;?#36215;来并解决几乎任何问题的人?#19994;?#20195;码很少是?#35272;?#30340;但它能解决问题这才是最重要的

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

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

什么时候(When)在你的内心或者不在

知道什么时候要建立一个复杂的架构而不是?#21019;?#19968;些东西需要经验和你蜘蛛侠般的感官你要么有这种感觉要么你根本不知道

我曾与一些最聪明的开发者共事过他们总是很糟糕的优先考虑模式和架构而不是功能?#22242;牌ڡ?#20182;们总是过度实现或者一遍遍重构争取 完美的代码?#20445;?#32780;不是 可交付的代码

10倍效率的开发人员必须利用他们的经验和本能来知道什么时候要专注于架构和完美什么时候就是把事情搞定

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

许多软件开发归结于?#20302;?#25216;巧可惜的是在我们要工作的项?#21487;?#35768;多注释和要求都不是很详细一个10倍效率的开发人员知道如何阅读这些应用他们知道的业务里的 为什么?#20445;?#24182;提出相关的问题

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

结论

我已经写了超过15年的代码可以说我是一个10倍效率的开发人员或者至少我能我知道我擅长什么当我做我擅长的事情时我可以很快地完成大量的工作

如果你想做一个新产品的原型我就是你要?#19994;?#20154;如果你需要寻求AngularReact或其他一些 前端的帮助我绝对不是你要?#19994;ļ一|?#22312;这些任务上我将是一个负10倍效率的开发人员

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

?#27604;?#27809;有人能在每一天的每个时候都是一个10倍效率的开发人员我们没有精力或专注力每天以这样的速度工作我们不是机器人

如果你理解软件开发的 是什么(What)为什么(Why)什么时候(When)?#20445;?#20320;就可以是一个更?#34892;?#29575;和更好的团队成员C甚至是一个每天几个小时内的10倍效率的开发人员这会有很大的不同

 

11ѡ5app