15 Years of Coding — Everything I’ve Learned


 I’ve been professionally coding for 15 years. In this article, I walk you through a learning experience in pursuit of acquiring the technology/programming language/framework that I’ve worked on over my whole career as a Software Engineer.

Programming is a skill that is sought after by many companies. And with the rise of Artificial Intelligence, computer programming has become even more in demand. But what are the skills that are needed to be a successful programmer? This article will summarize what I learned over 15 years of programming.

Start of my programming career

So to give you a little context on where my advice comes from, I spent the first half of my career as a software engineer, working for small firms and startups, before moving on to numerous large corporations.

My suggestion comes from someone who

  1. Has nearly always worked in lean teams where we had to accomplish a lot with little resources.
  2. Working software is valued over specific tools.
  3. Constantly launching new initiatives while also maintaining many systems.
  4. Values engineer productivity over most other considerations

My experiences over the last 15 years have affected how I think about the software which leads to some views that I’ve tried to condense into a compact list that I hope you find useful.

1. You Will Never Know Everything

I believed I could learn anything, this was my belief for most of my development career. But each new notion or method I discovered opened up a whole new world of possibilities.

It may seem appealing to strive to learn everything, but this is a never-ending task. There will always be another library or framework to learn.

The only thing that happens is that you gradually begin to burn out since it appears that you will never achieve your goal.

Better to stick to what you know and learn new things on the fly when you need to.

These keep you grounded and motivated. Use this to your advantage, and learn as you go.

2. A Good Team Expands Your Capabilities Exponentially Rather Than Linearly

Working alone is nice, but it restricts your options.

A good team can tremendously enhance your cognitive process because you can always discuss and share your thoughts with them.

With teamwork, issues become easier to solve, and issues become more manageable.

In my experience, the effect is frequently exponential rather than linear.

However, there is a point at which a group gets too big. This threshold, in my experience, varies depending on the people involved.

Try to surround yourself with excellent individuals with whom you can get along well, both professionally and personally. You’ll notice that you can complete tasks much more quickly than before, and you could even like it more.

3. Code Should Be Written For Humans

I used to think that writing highly optimized code that ran as rapidly as possible was brilliant.

When I came back to this code after a long time, I had no idea what I was doing. It took me a long time to get back into the code before I could complete the work I came to do. Worse, those optimizations were 99 percent of the time unneeded.

First and foremost, code should be written for humans to read and understand.

If you suspect that a piece of code is causing a performance bottleneck, then put it to the test.

Add metrics to track the time it takes for the paths in question to execute and evaluate later.

4. Patience Is The Key To Success

I wasn’t always patient, and I still struggle with it now and again.

It takes a long time to fix an issue or finish a feature. And learning anything new frequently takes longer than expected.

If you feel compelled to rush, think about why you’re feeling this way.

Is it you? Please, no more. You have until tomorrow or the next day to finish. You’ll be faster the next time you have to solve a similar problem.

If it’s your boss, you should consider whether or not this is the correct organization for you.

Many executives believe that the more quickly software is delivered, the better. They establish unrealistic timetables and have high expectations of their developers. Those executives have little understanding of how software development works.

Occasionally, you stumble upon something completely new. Coming up with an idea takes time. You get better at coping with such circumstances as you get more experience.

Maintain patience and avoid putting yourself under duress. You work better when you are calm and organized when developing an idea. It will also help your mental wellness.

It can be hard on yourself, and you won’t always succeed. That’s OK. However, try every effort to avoid doing it. It has the potential to hurt you for a long time.

5. Consistency Is Key

Consistently doing something is what allows you to master it. It’s not a case of putting in 20 hours all at once. It takes roughly 15 minutes to an hour each day.

Consistency is key to success

What makes you better at what you do is the repetition you do. You have to look things up regularly. Your brain is gradually learning and storing patterns like this.

6. There Is Always Someone Better You Can Learn From

You’ll never be able to learn everything there is to know about technology.

Other developers have a different perspective than you. It gives you an advantage in specific knowledge areas. Take advantage of this!

Your coworkers may be better in the backend, CSS, or low-level stuff than you, but you know what you’re good at. They can learn from you, and you can learn from them.

It is not something you should be envious of or hold close to your heart. It’s fantastic that you can connect with others who can help you expand your knowledge. You gain years of experience that you can use to broaden your expertise. You also get years of failure to learn, so you don’t repeat the same errors.

7. Networking Is Important

I was under the impression that having a substantial CV would open all doors for me, but boy was I wrong.

Get out there, make new friends, socialize, and talk to people who share your interests.

People will assess you simply on a piece of paper if they don’t know you. People are likely to be aware of your talents and flaws. It makes getting your next job or contracts a lot easier. It also creates chances for learning, career opportunity, and social engagement.

8. Frequent Breaks Make You More Productive

Your brain will require frequent rests as long as you do not enter “the tunnel,” a state in which you can continue coding or working without realizing time is passing.

A break allows your brain to rest and assimilate the information it has just received. You make it possible for it to catch up. Try something new. Have a coffee, a walk, or move away from your desk.

I didn’t always take breaks since I wanted to finish my work. If I had taken a short break now and then, I could have completed it quickly.

A reasonable rule of thumb is to take at least a 5-minute break every hour, and up to 30 minutes after 4 hours. Better still, pay attention to your body and alter your breaks as needed.

Take a break whenever you feel fatigued, see your performance deteriorate, or have trouble concentrating.

9. You Must Be A People Person To Grow In Your Career

My career took off when I became more vocal about my job and developed stronger relationships with my coworkers and management. I was confident that a challenge that suited me would be assigned to me.

I didn’t have to prepare a comprehensive list of my accomplishments for my early performance assessment. My manager already knew everything.

Because I constantly discussed work with my coworkers and managers. I’ve never boasted.

As a result of becoming known for specific things and being frequently sought out for assistance, I got a promotion.

I made declarations and offered open assistance to my colleagues. I also had many private conversations with people. We grew closer as we got to know each other better. It worked out nicely for me, at least.

Because so much relies on the organization and culture, your experience may vary, but it’s worth a shot.

10. The Majority Of Businesses Are Not What You Expect

When I eventually landed a job, I had excessively high hopes for how things would turn out. I envisaged working on problems with top-tier engineers and technology. I was proven to be incorrect.

Don’t get me wrong: the engineers were still fantastic, but not what I had envisioned. The technologies we used were almost monotonous. The issues were not that fantastic.

I learned that all engineers make mistakes and don’t know everything. After all, they are human.

The technology we used was usually ideal for the problems we were working on.

All problems are resolved by software. Some of them are less interesting than others. Not every developer can devote their time to developing software that will alter the world. The little frontend that makes someone’s life a bit simpler or the API that transports files from point A to point B is frequently what makes your employer money.

Important: There are a lot of developers out there like you. You’ll make an impression, and not all of your coworkers will be as excellent as you anticipate.

Waqas Shami is a productivity nerd and an avid traveler. He is trying to live a more meaningful and purposeful life! Follow him on this new journey of balancing digital and physical life. He is living in Stockholm, Sweden. He is on Instagram @waqas.shami, Twitter. @WaqasShami3.

Post a Comment

Previous Post Next Post