Do you write buggy code? If you do, then you are not alone. Most developers spend more than half of their time fixing bugs that they shouldn’t have written in the first place. What makes the developers write buggy code? Let’s explore it.
Writing buggy code has its implications. Debugging is the process by which the developer removes the buggy code.
“ If debugging is the process of removing software bugs, then programming must be the process of putting them in. ” — Edsger Dijkstra
“Bug Developers” tend to write buggy code. They are more inclined towards completing the assigned work and lack personal and professional touch to write bug-free code in the first instance. Sounds harsh? Well, don’t be demoralized as it is not the only reason behind writing buggy code. Many developers just lack the experience to write high-quality code with minimal bugs. It takes time and patience to be good at your craft and writing buggy code, in the beginning, is a part of the journey.
“ Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. ” – Brian Kernighan
Alright, you may now be thinking that no developer in the world writes clean code out of the bat. Well, that’s true. However, developers at the beginning of their career tend to write buggy code.
Before we dive deep into the real question, we first need to get into some of the fundamental questions.
Note: We are going to use “Developers” and “software engineer” throughout the text. They are used according to the content.
How much do software engineers make?
Right now software engineers make a lot of money. On the average, they easily make $100k per year in the US. However, the money a software engineer makes heavily depends on his skills, location, and the company he is working for.
If you are working for a world class company such as Google, you can make double the money than an average engineer. Also, you shouldn’t forget for very senior roles in big IT firms there are stock options and other benefits that can make total earning more than a million.
With an amazing growth in the industry, there is a constant need for talent in the industry. If you know what you are doing and you do it well, companies are ready to pay you a hefty amount of money in exchange for your talent.
Engineers can make tons of money, and we have the technology to make them do so. You can read, “The $200,000 software developer”, an interesting piece on how software developers can make money with the help of current technology.
So, do you have the potential to do the same? Let’s figure it out more.
Before you become a software engineer, you first need to become a bug developer.
There is always a transition phase. Do you remember the first program you coded? The code can be a simple, “Hello, world program” or “a program that draws a circle on the screen.” Now, compared it to your present skill and how much you have improved. Amazing, right?
Now you can handle real world development. It is complex and unforgiving. Requirements and Deadline need to be met. Human communication also doesn’t help you achieve your best. Requirements are misunderstood, communication noise is always there and so on.
You are more of a “bug developer” than an actual software engineer in the beginning. It slowly fades out as you gain experience and skill.
Of Course, you can argue that there is no fundamental difference between the two. However, the significant difference between them is the knowledge, experience, and efficiency. And, that’s good.
The transition period is mandatory, and every developer goes through it.
Do all engineers write buggy code all the time?
No. Even though the percentage of engineers writing buggy code differ from one developer to another, no developer or software engineer write bug-free code. The efficiency only increases over time, making them better at what they do.
How long does it take you to transition from a bug developer to a software engineer?
The answer to the question depends on how good are you. Did you code when you were graduating? How much time did you invest in improving your skills? And, so on.
There is no time-frame to achieve excellence in what you do. It takes a long time to transit from being a bug developer to a software engineer who writes excellent code.
We have already mentioned that developing software is complex. In addition to that, the rapid change in the market means the evolution of existing technology and the introduction of new ones. Every five years, the developer needs to learn new skills to keep up with the market change which in itself is a challenging feat.
So, is there a time-frame that you can target to become good? It takes around 5-6 years to become a better developer and write better code. By that time, a developer gains experience over multiple projects or domains. The key factor here is the experience that a developer gains over the years.
According to Malcolm Gladwell, 10,000 hours of deliberate practice can help you achieve the best skill in your trade. There are also many studies that contradict the claims by Malcolm Gladwell. In the end, the situation, skill, and experience of the person play an important role.
Check out one of the talented streamers PavanKataria work on a Laravel refactoring and iOS.
When are you going to start your bug developer career?
Writing buggy code is not bad. It is just a part of the journey. Let us know in the comments section below when you are going to start your journey or better become a bug developer? We are listening.
By streaming your experience, you are only benefiting yourself. You can come back and check your mistakes. Other developers can also guide you and help you improve faster. Also, streaming projects online can help you build an online live portfolio which in-turn can help you get the attention of the clients.
So, don’t forget to stream your adventures on LiveEdu.tv, we want to make sure that everything gets recorded. 😉