LESSONS I HAD TO LEARN THE HARD WAY
Tags: beginners, codenewbie
Published: 2022-05-31 11:09:45

I’ve been into coding for the last 3 years now. I’m far from an excellent developer, but I’ve definitely learned some things about being an average one. ? or so I think. A lot has changed about me and I want to believe that code has changed me. In programming, there are many lessons to be learned from experience. I had to learn the following lessons the hard way and sharing them here is the least I can do.

**No one knows everything**

From searching for solutions with my lectures on the internet to sharing ideas with senior developers and teammates, I have come to conclude we can’t know everything in coding. There is so much more to being a developer than knowing by heart every line of code that there is. It doesn’t matter if you know the little things, they are a google search away if you forget them.

_How to Improve on This?_

- Improve your problem solving skills
- Improve your teamwork and communication skills
- Increase your Knowledge of programming concepts and frameworks
- Clean code should be a main focus
- Create an Outstanding Portfolio
- The great thing about being a developer is that you don’t need to know everything. You only need to know how to solve problems.

**Having bugs is essential to learning**

The Bugs I experienced in 2019 are now almost a walk through but what am learning today seems to be so challenging that I sometimes feel like giving up. In Coding you must come across bugs, how you debug your code is what matters.

> “Don’t even start considering solutions until you understand the problem. Your goal should be to “solve” the problem mostly within the problem domain, not the solution domain.” — Oz Nova


**DTIW ( Don’t touch, if it works )**

Don’t touch your code if it is working, especially in your testing phase or when you do practice.

**Think Twice, Code Once**

Before writing any code, I have trained my mind to think about the code and write it down in pen and paper if I have to. After getting a solution or approach to the code, I then get confident to write my code. Test driven development promotes this greatly as you have to think about what functionality you expect and how it’ll work. You can’t freehand the code when you have to plan it ahead of time.

**Googling is a legitimate skill**

Coding is all about finding solutions and Google has it all. Improving your skills on searching, saves a developer a lot of time. Sometimes, you need to find a solution to a problem you don’t even understand. But thankfully, Google has the answer somewhere.

**A Good Programmer Looks Both Ways Before Crossing a One-Way Street
The best software can handle all errors, and I mean all. Even those that “will never happen.”**

Most software is written to carry out the “good flow” in which everything works as expected and the user doesn’t do weird stuff. The real world is messy, and over time, stuff that can possibly go wrong will go wrong. Try to catch as many errors as you can — especially when your software is fulfilling crucial functionality. Remember If you find software or application that has low or reduced performance, you will find that it brings your reputation down in the market. Users are not going to trust any people. There are chances that the reputation of your organization is going to suffer.

Measuring Programming Progress by Lines of Code Is Like Measuring Aircraft Building Progress by Weight -Bill Gates
Writing more code than others does not mean you’re more productive. The best code uses the least amount of lines to get the job done. However, this code is also the hardest to write. Most people thing programming is just writing code and making it happen just like in the movies.

KISS(Keep it Simple Stupid). Don’t write a code that is super complex and hard to understand. Keep it as simple as much as you can.

_How to be the best?_

One Advantage of being in the Tech industry is the freedom to live in the Internet. You get different resources and communities that shape you to be a better developer. Developers are different. We love to write code. We love to build the next biggest things using code. Twitter, Instagram and Pinterest are a few examples of code that has changed the world. But there is a dark side to that. Writing code requires countless hours sitting in front of the computer and hence we do not spend enough time to socialize and to network. Many of us also build ego or pride. We live in our own little world. Many of us are not so social and have a shy nature. And many of us just don’t know where to go and find the right network. If you want to grow out of being a developer and want to become more than that, CTO or manager, or even start your own business, you will need to think and act differently. You will need to give up your pride and/or ego.

Finding a mentor is the key. Mentorship is the best way to get on the track. For a mentor, you must find somebody who believes in you and who sees your potential beyond you. Once you find the right mentor, you must respect their opinion and guidance. When reaching out for help, you should be very polite. Remember, you’re in need. There are chances you may not get any response or help for a while or maybe never but don’t be discouraged. Find somebody else and keep trying.

Remember, even though most successful people are willing to help, they are usually very full of activity. You’re not the only person contacting them. For you, your need may be the most important task but for them, it’s not. Try to fit into their shoes for a moment.

**So, how do I ask for help?**

The best way to ask for help is try to build a relationship. You can’t just randomly go to somebody you have never met and ask for help. The chances of getting any help are very slim. But if you introduce yourself and be polite and listen, learn and get a temperature of the person and politely ask when the time is right.

So there you go fam, 8 lessons I have had to learn in the last 3 years. Has it been easy? Clearly no still isn’t but its the bugs that make us know how to solve something. Keep on pushing, Don’t Complain