Aaron Stannard是新创公司MarkedUp的CEO

Aaron Stannard是新创公司MarkedUp的CEO,他最近花费大量时间雇佣、评估很多不同的程序员,并和他们一起协作。在这个过程中他发现并总结了十种程序员无法意识到自己潜力的原因,意在让更多程序员发掘出自己的潜力,从而成为强大的程序员。

Aaron提到,他的公司中所使用的技术非常复杂,某些大型企业都很难掌握,所以对于想要加入团队的程序员来说,入门门槛非常高。因此,尽管他们非常仔细地雇佣新人,但还是很难找到足够天才的程序员。于是,他总结出十种阻碍程序员职业生涯发展的行为,并据此来帮助想要提升自身的平凡的程序员们。

1. 太害怕学不会新的工具、语言和框架

一般的程序员会墨守他们最喜欢的工具,而不希望学习新的,因为他们认为,离开了那些语言和工具,多年的经验就会付诸东流。而强大的程序员会拥抱那些挑战和机会,积极地学习新的工作方式。

2. 直到特性“完成”的时候才会提交。(但永远都不会完成!)

他在MarkedUp公司中把这种行为叫做“囤积提交(commit hoarding)”。有些程序员没有足够的信心来承受团队中其他成员的批评和审查,因此会把自己的工作藏起来,直到“完成”状态才提交。

这种开发者会损害团队中其他人员的生产力,因为团队看不到他每天的成果,而且他也不会在正常开发的过程中寻求帮助,这样就会造成很多“最后一分钟”的缺陷,从而让交付延迟。而强大的程序员会知道,代码并不是他们自己,因此会把代码经常自信地呈现在其他团队成员的眼前,获得批评和建议。

3. 只是“知其然”会很危险

在这里Aaron举了微软最近在C# 5.0中引入的async和await关键字为例,这两个关键字会让创建和管理异步调用变得很容易,但是也会造成上下文切换、对共享资源进行多线程访问的成本,仅仅对此有基本了解的程序员会盲目地使用这些特性,把所有I/O调用都封装成C#中的Task对象,这会创建出危险的、不可预测的而且非常难以测试的代码。

好的开发者不仅“知其然”,而且会了解为什么这么做以及应该在什么样的条件下使用。

4. 分析瘫痪(Analysis paralysis)

分析瘫痪是指在程序开发初期进行系统分析,常因为太过执着于控制所有可能的变化和意外,而造成大量时间的浪费,裹足不前。这是一种很经典的问题,会影响很多一般的程序员。它通常是由过度分析造成的,但是Aaron认为其根本原因在于不敢做出坏的决定。一般的程序员会担心犯错,只想一次成功。

而强大的程序员不会害怕,他们会编写很烂的代码,对其进行单元测试,如果认为无法达到目的,就会在45分钟之内把它抛弃。强大的程序员会积极地限制用来研究的时间,因为他们知道那是个陷阱——看起来是有效的,但经常都无效。

5. 没有对工具和开发过程投入

如果你想要成为天才程序员,那么就需要投入时间提升技能和知识,而将你和普通的代码工人区分开来的是快速编写出生产级别代码的能力。你可以同时拥有好的代码和速度,但是你需要先对你用于构建的过程投入。

一般的程序员不会对工具、过程和环境投入,只会使用大量的时间学习新的语言特性和API如何工作,但那并不会改变什么。

通常,你作为程序员所能够做出的最大改进并不是专注于你所编写的代码,而是优化你编写代码的过程。

6. 羞于请求帮助

一般的程序员羞于或者不想让人知道自己不懂,所以他们装作什么都知道,但这样就有可能提交某种非常可怕的代码到库中。说“我不知道怎么做。”没什么错,强大的程序员知道这一点,所以当被问题难住的时候就会请求帮助。

7. 不知道如何让其他程序员更容易使用你的代码

在所有技术团队中,工作很重要的一部分就是人员的并行(human parallelism),也就是多个人能够同时对同一代码库工作的能力。但是对于团队来说,能够异步工作也很重要,当你不在的时候我可以修改你的代码,反之亦然。

一般的开发者并不这么认为,他们会开始对一项任务编写代码,认为他们会永远拥有这段代码。而强大的开发者会知道技术债务的说法,从而试图通过设计代码来对其限制,让它尽可能可维护和自解释。(推荐阅读:《用鸡讲解技术债务的形成过程》、《技术债务真正的代价》)

编写可读的代码需要程序员改变他们的看法——你的代码要比你在组织中存在的时间长。

8. 不知道如何阅读其他人的代码(或者不想读)

当一位一般程序员看到用他所不熟悉的语言或框架编写的代码库时,就想立刻重写,而不考虑业务价值或者推向市场的时间。而强大的程序员会接受这样的观点,重写所导致的业务成本通常是不可接受的,所以应该避免这种行为。他们会试图坐在计算机前,理解、学习然后修改现有的代码。

阅读代码要比编写代码还难,但是强大的程序员会投入时间来学习如何超越。

9. 不能从最终用户的角度编码(你考虑的范围太狭窄)

有句话说得好:作为程序员,你的工作不是解决技术问题,你之所以解决技术问题,是为了解决业务问题。

一般的程序员只会陷在技术问题之中,而不知道最初是为什么要解决这个问题。更严重的是,一般程序员无法从头开始创建出具有业务价值的东西。当被要求基于简单的用户设计新特性的时候,他们会死板地、照着字面对故事或者说明书做出解释,这样交付的产品用户根本无法使用。因为他们不会考虑相关的用例;不会考虑最终用户的体验;并且在做面向用户的内容时,设计都会很笨重。这导致他们无法编写业务应用,只能做产品。

好的程序员会从最终用户的角度来看他们的代码。我怎样才能让它更轻松地解决用户的问题呢?故事的文字内容之外有哪些方面会让这个特性给用户带来更多收益呢?

10. 无法判断任何编程任务的业务价值

这个问题和上一个是相关的,很多技术上很强的程序员之所以无法意识到自己的潜力,是因为他们不会停下来,从业务或者组织本身的角度去看一下他们的工作。

强大的程序员能够自我管理,对选择如何投入时间做出很好的业务决定,他们会问这样的问题:这是我现在应该做的最有价值的事情吗?我应该为之投入多少时间?离交付日期有两个星期,我现在能做什么,从而更容易满足那个日期呢?

一般的程序员不会,他们只会拿着说明书,然后盲目地实现,直到结束,不关心他们的工作和公司的业务目标有什么关系,以及对其他团队和业务组会产生什么样的影响。这样,他们就会在业务价值很低的技术任务上浪费大量开发时间。

Aaron在最后做出总结:如果你想要成为更好的程序员,那么就要从改变你看待代码以及编码的方式开始。你需要理解所编写的每行代码背后的业务成本;你需要从客户或者最终用户的角度来看待工作;你需要接受代码会比你在组织中存在的时间更长,所以要以其他开发者能够继承的方式来设计;最重要的,永远都不要害怕新的挑战,也不要害怕请求帮助,你无法独居一隅来提升工作效果,软件开发也是社会化的工作。

时间: 2024-09-20 01:12:19

Aaron Stannard是新创公司MarkedUp的CEO的相关文章

电子商务新创公司Jirafe近日宣布获得风投公司Foundry Group和投资公司FirstMark Capital投资

据科技博客TechCrunch报道,位于纽约的电子商务新创公司Jirafe近日宣布,它们在A轮融资中成功获得700万美元投资.主要投资人为:风投公司Foundry Group和投资公司FirstMark Capital. Jirafe公司成立于2010年,它们一直致力于为网上商店店主打造高效的网店管理平台,对产品销售和网络营销提出建议,以提高网店的营业收入.在电子商务的交易过程中,网店店主总要做很多枯燥的管理和分析工作,Jirafe公司的远期目标就是实现这些管理和分析的自动化,这样网店店主就能专

华院大数据产业投资基金助力新创公司腾飞

2015年,大数据成为国家战略并写进"十三五"规划,大数据越来越热的趋势也吸引了诸多投资机构.创业人士的关注,大数据如何利用.产业大数据如何落地也成为社会关注的热门议题. 近日,由华院数据主办,六禾创投.盛山资产.上创新微.易居资本.中关村大数据产业联盟协办的产业大数据发展与创业主题峰会在沪举行,旨在为关注大数据行业的人士.投资者.创业者搭建一个沟通的专业平台,共同帮助大数据创业者,推动大数据产业的发展与落地. 本次峰会邀请了近30名大数据行业专家.精英,多家专注于大数据行业的投资机构

新创公司如何聘请顶级工程师

本文来自国外科技博客Venturebeat,译/创业邦对于最近毕业的学生来说,美国的就业市场依旧不太理想,即使是法学院的高材生想要进入知名公司的大门都很困难.但是对于程序员来说,情况要好很多,在软件行业,很多时候情况是有10个职位 空缺,但是只有8个合适的候选人.尤其是湾区,所有的顶级科技公司都在寻找最好的人才,竞争非常的激烈.在软件行业里,没有失业率这样的说法,所以很多公司需要从对手公司挖人过来.像谷歌和facebook这样的公司,为了抢夺人才储备了大量的资金,这样的局面让新创公司感到很大的问

让谷歌感到害怕的12家新创公司:Quora居首

http://www.aliyun.com/zixun/aggregation/17197.html">北京时间5月17日消息,据国外媒体报道,谷歌现在处于相当不错的位置.一方面在搜索市场上大幅领先,是最好的搜索引擎,另外一方面还进入其他领域,如支付和音乐. 但这些市场被搅动的时机已经成熟,所需的只是新创公司如何将谷歌赶下神坛的想法--谷歌无法像灵活的新创公司一样行动迅速.当询问一些投资者和业内人士,他们认为谷歌哪些地方可能处于被干扰的危险之中时,他们的回答显示,谷歌比我们想象的要脆弱得多

新创公司促进销售的6个方法

创业者虽然对他们的产品和服务很有热情,但是经常面对如何增加销售的难题,因为创业者并不清楚什么样的客户才会选择他们的产品.另外一个问题是创业者需要找到一种自然的销售方式.一般来说创业者都有一种理想主义的情怀,他找到了某个问题的解决方案,并想尽快的将他们的产品和服务推向更多的客户.但是创业者们又不愿意被别人当作是典型的销售人员.下面这些建议会对解决这些问题有帮助的:卖给正确的客户许多的消费者都会犯一个错误,就是想把产品和服务卖给所有人,但是真正重要的是找到你的目标客户.因此需要事先的调查研究,要弄清

创业者们:在起步前先试着“杀死”你的新创公司

近日位于芝加哥的咨询公司Red Rocket Ventures的经理合伙人George Deeb发布文章,表达一个很有意思的看法,就是创业者要努力做些"能杀死你公司"的事情,文章如下:最近我有机会和Founder Equity Fund的投资人Joe Dwyer一起参加一个投资活动,面对很多的创业者,他表达了一个看法"试着杀死你的新创公司".我的第一个反应是,对于努力争取成功的创业者来说,这是不是太荒谬了呢.但是Joe Dwyer解释称,如果你曾经竭尽可能的去干掉你

新创公司Viptela获红杉资本3300万美元投资

前段时间,虚拟技术提供商VMware公司以12.6亿美元的价格收购了网络技术公司 Nicira,这件事依然让很多人记忆犹新,而近日同样是专注网络技术的新创公司Viptela获得了红杉资本3300万美元的投资.Viptela专注于网络虚拟化技术,虚拟化就是通过软件系统来模拟硬件配置的功能,是这几年服务器厂商的战略重点.之前VMware收购Nicira后,以此为基础开发了名为NSX的新产品,让 网络管理员可以快速的建立虚拟网络.另外,其他的大型网络技术公司,比如思科和Juniper也在这方面投入了很

新创公司节流的5个方法

如何能让自己的新创公司运行下去,一个方法就是有效的控制烧钱的速度.可以说你公司银行账户上的数字基本决定了公司能够坚持多久,而只有充足的时间才能验证你的商业模型,下面是5个好方法:1. 使用好期权资金不够的时候如何支付员工的薪水呢?其实可以尝试分发些股权.很多创业者对于股权太过小心了,结果耗费了很多的现金流,这样虽然保全了股权,不过公司却完蛋了.2. 谨慎进行营销在初始阶段,不要把太多的钱放入市场营销上,直到你已经验证了你的一些想法,否则的话直接就去投资广告,那基本就是浪费.3. 对于产品原型不要

美国新创公司说服IBM等大企业,让员工边环游世界边工作

弹性工作.远距工作现在是一个打破传统职场行规的热议话题,愈来愈多企业已经开始针对不同职位,给予适当的弹性空间,现在美国有一家新创公司,专门说服企业让员工去世界遨游一年,边玩边工作,这家公司才刚募得 1,200 万美元资金,且包括 IBM 在内许多公司都批准员工参与这项计划. 科技到底能否实现远距工作,又维持生产力不变,即使人们有不同看法,但弹性制度已经是企业是否能吸引人才的关键.华尔街日报 (WSJ) 报导,这项远距工作实验计划叫做 Remote Year,目前参与的对象有数百人,参与者可以在一