10 Things I Have Learnt In My Coding Journey So Far
Just like any other journey, my coding journey has been full of lessons. I am going to highlight them in this story so that you may also learn from my lessons.
The official documentation has it all
I always wondered where the ‘experts learnt it all from’. In the spirit of trying to figure that out I realized that the best source of information is the official documentation of a project.
When you look at the official documentation of projects like Angular and Typescript, you realize how effective the official documentation is.
Code documentation is invaluable
I never used to do comments to my code till I met code that I could not figure out.
Well documented code goes a long way in communicating what the code does to any other programmer who could come across the same code.
As a matter of fact, comments could also act as pseudo-code in helping you write code that achieves the intended purpose.
The user should always come first
My interpretation of a feature was a way of surprising the user. “My site has dark mode, the users are going to like it”.
In reality, a feature is something that is useful to the user. A perfect example is a user story as, “As a buyer I should be able to view all listed products so as to make a decision on what to buy”.
If a user story does not answer WHY, then that feature is useless. You need to understand that you don’t develop features to boost your ego but for the users.
Project preparation is essential
A project is 10% code and 90% preparation. Most of the time we make a mistake by starting off a project without adequate preparation. The result of this is a project that never comes to an end.
Giving adequate time for project preparation is key. Remember failing to plan is planning to fail.
Learn a technology when you need it
Why am I learning Docker? Do I need Kafka? These are the questions you should ask yourself when learning a new technology.
Technology grows big deal and if we are not careful we end up learning stuff that we do not need.
You should trust the process and learn a new technology only when you are convinced that you actually need it.
Asking yourself questions means you understand the user
If you can’t explain why you have a certain button in your app, you are doing it wrong.
All these questions should be geared towards how a particular item affects the user.
What is the effect of using a carousel to the user? Why am I using a blue button and not a red one?
If you can answer all these questions, Good. If you can’t, remember the user.
Investing in a skill is a worthy investment
A skill learnt is valuable use of time and resources. Speaking of resources, It is a nice thing to pay for courses.
It could feel like a waste of resources but it is always worth it. It is actually a worthy investment.
Work-life balance is key
I am quite sure at times, as a developer you have a feeling that it is all about computers. That is not the case, it is good to be an all-rounder.
Always take some time to enjoy your favorite sport, meet new people and have fun around your family and friends.
A break comes with renewed energy. Never view a break as time wastage, it is actually a necessity.
As developers we also tend to assume sleep. Sleep is very important for your maximum concentration and focus.
Divided attention is a major compromise
This majorly affects you when you are new to coding. You are not sure about who you really want to be. You want to be a software developer, an AI specialist and a Machine Learning all at once.
We end up wasting more time trying to discover. It is good to have a clear and defined path of who we really want to be to avoid a deadlock.
Project completeness is compulsory
This is a developer’s main weakness : completing projects. Every project reaches a death phase and if you can beat the death phase, you manage to complete it.
It is a good habit to complete your projects. An incomplete project is an equivalent of a dead project
These are some of the things I have learnt over time. I hope that this will impact you and make your journey easier.