Ugo's Blog


Coding is NOT easy!

Don't let them deceive you!

Author: Ugochukwu E. Nwachukwu
 Jan. 15, 2023    201 views  


The content of this blog post is for informational purposes only and should not be considered as professional advice or endorsement.




I'm sure you've seen them before. Those social media posts, videos, and ads go something like this,

"This person learned how to code and in 2 months he is a senior software developer earning six figures abroad."

 

Sounds amazing, doesn't it? It sounds too good to be true. It's like stumbling upon a treasure map.

 

Let's be honest, is being a programmer really the smooth highway to heaven everyone says it is? I can tell you for a fact, it is NOT easy! 

 

Now a little disclaimer, I am not saying that programming is bad. I'm also not saying that being a programmer is a terrible profession! I am simply saying it is not as easy as people make it look. It is not for the faint of heart. It takes courage, persistence, and some level of discipline.

 

If you've read up to this point, you're most likely not convinced, so let me explain.

 

Why I think coding is not easy.

In retrospect, this should have been the blog post's title, but oh well! It's too late for that. Let us proceed.

 

1. Burnout

Programmers experience a lot of burnout. Programming is a job that engages the mind. You don't necessarily have to be Einstein to be able to build an app. However, you should be able to think inside and outside the box. Creativity is a must! A huge amount of thinking is involved, despite what you see in the movies.

 

Now with that imagine working a 9-5, basically eight hours of writing code, then going home to learn more languages and frameworks to build yourself. Also consider the traffic, especially in a city like Lagos. That on its own is stressful.

 

Also, remember that as one continues to go on, the number of bugs seems to increase, and you always have to improve one feature or another, build new ones, or use new APIs and plugins. There almost always seems to be a massive amount of backlog that needs to be dealt with. All this stress will lead programmers to feel burnout and mental fatigue eventually.

 

 

2. Understanding consumer's language

Now, it's one thing to understand a bunch of programming languages. Understanding the language of the end users is another thing. Converting the consumers' ideas to actual solutions is a skill.

 

It's easy for end users or customers to dream of an app that can perform signs and wonders, but is it practical? You need to understand perfectly what your users or clients want in order to deliver the absolute best. That is not as easy as it seems.

 

We all watch movies where someone tells the programmer they want this and that, and after typing a bunch of code on their computer, they produce a state-of-the-art app that performs wonders. TRUST ME when I say that is a fantasy. Or as my people will say;

 

"No be so oh!"

 

Sometimes, clients don't know how to fully articulate their ideas. Sometimes, they may insist on doing something one way, even if that way is not practical or downright impossible. Sometimes, some people are just difficult to work with. Combine that with a programmer, like yours truly, who understands computers better than people, and you have a recipe for disaster. That is a big challenge!

 

There is also the fact that there are billions of devices. Your solution needs to work with a wide variety of devices, even lesser-known ones. This can be challenging because there are different screen resolutions, hardware requirements, performance levels, and so on for this wide variety of devices you are trying to cater to, and this is a very difficult challenge.

 

 

3. The need to evolve

If you have ever applied for a software developer job, especially online, you might see a list of criteria looking something like this;

- Knowledge of SQL, PostgreSQL, MySQL, MS SQL, Apache Cassandra, and MongoDB is required.
- Proficiency in Python, C, C++, C#, Java, JavaScript, Golang Ruby COBOL, QBasic, and Fortran
- Knowledge of Kubernetes, APIs, Cloud Computing, AWS, Data Science, Data Analysis, and Data Visualization is also required.
- Must speak 15 foreign languages
- 15 years of experience is A HUGE MUST!

 

 

Maybe I'm exaggerating a little bit. No programmer needs all the programming languages. However, there are a lot of tools you need to know how to use as a programmer. Keep in mind that some of these tools become obsolete every few years or so. This means to remain relevant as a programmer, you have to stay abreast of all that's new. You have to find time in your cramped schedule to learn new things. This is a real challenge.

 

 

4. There are errors, then there are BUGS

No perfect app or website exists. That is a fact. There is always a way to improve it or some problem. Apps and websites need constant updating and refinement. Yet, it seems the more we refine them, the more bugs there are. 

 

Imagine spending all your time and effort building a mobile game. You have tested it a million times while developing it. You have handled every possible exception you can think of. You have put security measures in every aspect of the game. Then, you carry your "perfect" game and show it to your friend, and in a few seconds, they show you something terribly wrong with it! Every developer has felt it at some point, myself included.

 

I once made a Tic-Tac-Toe game. I gave it to a friend thinking it was perfect and he revealed to me that he could play several moves all at once before the A.I. has time to respond! Do you see what I mean? If you are a developer reading this and you haven't felt it yet, don't worry, your time is coming.

 

Debugging code, especially code that isn't yours, is a skill. It is not for the faint of heart. You'd think making a website was challenging on its own. Wait 'til you start facing errors. Or worse, wait 'til you have to start debugging your coworker's code.

 

Do you know what else is a skill? Googling errors for the solution. I don't need to say too much, just ask any programmer you know.

 

 

5. PAYMENT!

You can see I wrote this header in uppercase. This is a big one.

 

As a programmer going through all these struggles, if the amount of money you get in exchange does not feel enough, or does not cater to your daily needs, it can be very discouraging. Imagine going through all the stress, dealing with difficult co-workers or bosses, staring at your computer screen for never-ending hours in the name of 'solving bugs', and the reward for it does not get you your daily bread. It kills the passion for the profession.

 

Then, there's getting paid too much. Sometimes, it leads to stress and programmers experiencing impostor syndrome. According to Wikipedia, "Impostor syndrome, also known as impostor phenomenon or impostorism, is a psychological occurrence in which an individual doubts their skills, talents, or accomplishments and has a persistent internalized fear of being exposed as a fraud."

 

One might feel they are not doing enough to deserve the amount they are being paid. They feel an overwhelming pressure to perform enough and give back the value their massive pay is worth. If they do not meet said performance criteria, they get the crushing feeling that they simply do not deserve the pay, therefore reducing their performance. It's a weird phenomenon that is actually quite common.

 

 

With all this being said, programming is actually a noble profession. It has its own perks and good sides. This does not mean it does not come with its own struggles. I only mentioned a few of them, there are so much more.

 

Programming/coding, just like every other job, has its own bad sides. It is not the highway to heaven it's cut out to be. So when you see a programmer today, give them a big hug. They are trying their best.

 






Liked this post? Share it to others!










Check Profile