flyback

我是一个糟糕的开发者,以下是唯一合理的解释

flyback · 2017-01-07翻译 · 544阅读 原文链接

当我是一名Web开发人员,同时是某个领域的专家的时候,我记得我第一次开始感到不安,我的项目被强制安排进度以达到过程的每一分钟都必须是合理的。我十分害怕去查看我的电子邮件,去上卫生间,甚至去解决那些十分容易却要花很多时间的问题。

我的意思是为什么天天花费几个小时分别在Firefox和Chrome上调试显示一个表?还有就是花费一个小时来创建一个Wordpress站点?或者为什么花费我30+分钟来给客户写信?

在每一周的开始我们坐下来总结自己的进度,市场组推迟了进度,设计组多加了几个小时,而我呢?我必须要忍受一周30个小时的交叉工作!

我异常愤怒,我感觉我在团队中就是一个负担,将四个小时和客户吃饭与四个小时写代码相比较简直很扯。他们说我表现不好难道是对的?难道是我在否认自己的价值吗?

“你有点慢”

直到今天,那份工作以及我在那段时间经历的琐事仍然使我非常焦虑,尤其当听到项目要求速度和效率的时候。在那我们以分钟来度量它们,冲澡被视为没有产生效率的,与客户交谈视为没有产生效率的,做任何种类的调查都是无用的除非它能够让顾客上钩。

几年以前,我工作在一个不同的公司,在那里我和项目经理一对一的工作,那时我觉得我虽然是一个好的工程师,但是仍然偶尔延误一些进度。相比如今,我感到有些惊讶,我重新计算着前面几个月是什么导致进度的延误,我想主要在实现项目各种不同的功能特性吧。一句话突然震惊了我——“你有点慢”,是的,时间一直在困扰着我。

我有点慢,有时候会延误一周。有时候仅仅延误一天,但是每当一个项目出现的时候,我就知道我会发生同样的状况:延误。

我真的很慢吗?什么样的进度是可以接受的?其他的开发者是天天超时工作还是仅仅追求速度提交糟糕的代码?到底什么才是疯狂效率背后的秘密?

ps: 他不是VIM.

还是有bug?

开发是一项艰难的艺术。它是不可预测的同时又像是一种魔法。一个简简单单的bug可能困扰你数日但一个主要的功能却可以仅仅通过一个第三方库进花一半的时间就完成。项目压缩是很糟糕的,我们总需要不断地尝试来寻找一个好的流程。仅仅是在截止日期前一个项目才被紧急发布,我想这并不是真正的完成。

bug就像是一个个小的失误,不断积累直到整个项目崩溃。但是它们是不可避免的,和我一样重复这句话:

代码中有bug是不可避免的.

如此多的时间都花在了找bug上。如果说出现bug的原因是由于赶项目进度,我感觉这通常是一个借口。如果这些bug使得整个项目都延期了,那岂不更遭。

但是不断出现的bug也提醒着我,任何事都没有完美的,就像是时间,它一直困扰着我。

是项目经理还是我的错?

无论我在阅读有关管理的文章还是在听有关程序员软技能的广播,我总是能遇到一个一直提醒我的事:它是项目经理的工作。或许截止日期是很紧的,或许你错误的低估了项目进度,或许,仅仅是可能,当你工作的时候发现项目的需求有所增加,但你却无能为力。

我总是试图承担个人责任。如果我低估了某个项目,我会认为这完全是我的错误。如果开发过程中项目的需求不断增加,我通常会责怪自己没有能力把控整体的需求。我开发的过程中的确也缺乏交流。我整日花八小时都在写代码。

但是我仍然尝试去客观的看待这一切,如果我工作八个小时,我和同事每天花一小时交谈,这样我就可以每天写七个小时代码。

紧迫的时间安排使得责任的界限更加模糊。项目经理在提交规格报表的时候就算完成了他们的工作,但我通常认为他们除了写报表没有其他事情可做。

###我一定是一个糟糕的开发者

无需解释,如果我的同事能够出游,为什么我不能?我一直在想这些问题,长达数月,数年。我很想知道这是因为环境,因为我自己。还是其他因素的组合?最坏的是,我必须去尝试新的事物去解决问题然而每次尝试都让我离问题的正确答案越来越远。

每一次我想要知道到底发生了什么事的时候,我都被敷衍过去。我不能接受每一个事都是我的错,我不能接受我没有责任感。每一天每一年,我都无法解决如何去平衡这两个方面,我不知道我是否配得上我的工资。

我不是在说谎,我知道我可以以XYZ的风格编写程序,我可以在几个小时内熟悉一个框架,我可以确认我写的代码哪里出现问题,但是这些足够吗?

译者flyback尚未开通打赏功能

相关文章