绝大多数的开发者都有写过错误代码的经历,他们要把一半时间放在代码纠错 上。这是他们在写代码时一开始就不应该犯的错误。那么,是什么原因造成了错误代码呢?让我们一起来探讨一下。
写有错误的代码有它的含义。调试的过程就是开发者删除错误代码的过程。“ If debugging is the process of removing software bugs, then programming must be the process of putting them in. ” — Edsger Dijkstra (“如果调试过程就是删除错误代码的过程,那么编程无疑就是把代码组合在一起的过程。”)
Bug开发者就是为了要纠正代码中的错误,他们倾向于写有错误的代码。他们在刚开始的时候,往往只是为了完成分配给自己的任务,而缺乏了个人的和专业的感觉去写无错误的代码。不过不要因此感到沮丧,因为这不是产生错误代码背后的唯一原因。很多开发者只是缺乏经验,他们不知道怎样才能写出高质量的代码。这需要时间和耐心来磨练你的技能。在作为开发者的历程中,在开始阶段,写过有错误的代码是你要经历的一个阶段。
那么好了,这样你可能会觉得在这个世界上没有一个开发者能写出简洁的代码。是的,这是真的。不过,开发者在他们职业生涯的开始阶段,都往往会写有错误的代码。
在我们深入探讨实际问题前,我们首先来深入研究一些基本的问题。
现在的软件工程师是很能赚钱的。以美国市场为例,软件工程师的平均年薪可以达到10万美金。当然,能赚多少钱在很大程度上取决于这个工程师的技能,所在地区,以及他或她所在的公司。
如果你是在一家世界级的公司里工作,例如Google,你的薪资可以是一个普通工程师的两倍。而且,你还可以获得公司的职工优先认股权和其它福利,这样一来,你的总收入可以超过100万。
随着科技行业取得令人惊讶的发展,对科技人才的需求也在持续着。如果你能够清楚自己正在做的事情,并且把它们都做好了,公司是会愿意支付丰厚报酬的,因为你的才华值得公司为你花钱。
工程师可以赚很多钱,现在的技术发展也让工程师们可以实现赚钱的愿望了。这里有篇文章The $200,000 software developer,里面就讲到了软件开发者可以如何利用现在的技术来赚钱。
这总会有一个过渡期。你还记得自己写的第一个程序吗?它的代码可能就是简单的一行,或者只是在屏幕上画了一个圆圈而已。对比你现在的技能,你会发现自己提高了很多。
现在你有能力开发真实的项目了。这是一个复杂而无情的工作。你必须达到要求和如期完成。还有人与人之间的沟通也令你无法做到最好,还总会出现要求被误解,沟通不顺畅等这样那样的情况。
在开始的时候,你更像一位bug开发者,而不是一个软件工程师。当你的经验多了,能力提高了,这种情况会慢慢消失。或者你会反驳说这两者之间没有本质区别,但是它们之间的差异在于知识,经验和效率。这个过渡期是必须的,是每个开发者都会经历的。
对于这个问题,是要看每个人的能力了。你在毕业时就写过代码了吗?你花了多长时间来提高自己的技能呢?诸如此类。
要在你所做的工作中取得优异成绩,这并没有一个时间框架。从一名bug开发者转型为一名软件工程师,一个能够写出优秀代码的工程师,这需要一段很长的时间。我们也已经提到了开发软件是一项复杂的工作。此外,市场的迅速变化意味着现在的技术在不断发展,还会有新的技术出现。所以,每隔五年,开发者就需要学习新技能,以跟得上市场变化,这本身就是一项具有挑战性的本领了。
要成为一名较好的开发者以及能够写更好的代码,这大约需要五到六年的时间。到了那时,你会在多个项目或领域中积累到经验。这里的关键因素是开发者随着时间获得的经验。
我们所熟悉的“10000小时法则”说出了一个道理,那就是实践可以帮助你成为你所在领域的专家。总的来说,一个人的处境,技能和经验起着重要作用。
你可以看看我们平台上其中一位杰出的直播者 PavanKataria所开发的项目——Laravel refactoring and iOS。
写有错误的代码不是坏事。这是职业生涯的一部分。与我们分享你的想法吧。你打算从什么时候开始你的职业生涯呢?或者是成为一名更出色的bug开发者?
通过直播分享你的经验,你自己就能够从中受益。你可以从中检查代码的错误,其他人也可以帮助你或指导你进步得更快。另外,在线直播开发的项目有助你建立自己的线上档案库,你在这里面保存的资料有可能会引起你的客户的注意。
因此,不要忘分享你在LiveEdu.tv上的体验,开始直播吧。
你可能还会喜欢其它文章:
In 2024 we're witnessing a critical point in democratic technology: the integration of blockchain and…
We’re thrilled to announce an exciting opportunity for you to win not one but two…
Acquiring practical skills is crucial for career advancement and personal growth. Education Ecosystem stands out…
Artificial Intelligence (AI) has been making significant strides in various industries, and the software development…
Another week to bring you the top yield platforms for three of the most prominent…
If you hold a large volume of LEDU tokens above 1 million units and wish…