Table of Contents
Introduction
- Are you learning programming and are you still a little lost?
- Have you just started your first job as a programmer and are you insecure when making decisions?
- Do you feel like an impostor among your teammates and you can’t know if your performance is what they expected of you when they offered you the job?
If you identify with any of these points, it means that you need to know more professional references to be able to compare your knowledge and performance with what someone at your level should have in an ideal situation.
But… Don’t panic!
I am Carlos Sala, and in this article, I offer you my 8 years of experience in web and video game programming in the form of 5 tips you should follow to become the type of programmer that all companies are looking for.
#1 – Don’t Take Shortcuts While Programming
As happens in many other aspects of life, when you program, you are often faced with the opportunity to take a shortcut to finish the task you are working on more quickly. When we find ourselves in one of these situations, we will have to fight against the little devil that whispers in our ear to resist temptation.
And what are shortcuts in programming exactly? How do we identify them?
Well, the truth is that I have seen them in all colors, sizes and flavors, but among the most famous we find:
- Inline declarations of styles, functions, or expressions that should be declared as variables. The perfect cocktail to generate duplicated code, bypass the guidelines of the design system, and hinder the readability of the template’s HTML code.
- Multipurpose files where we define different data structures, types, classes, or functions to save creating other files, as if we were being charged for them. In general, these catch-all containers are a poor way to organize code.
- Leaving features unfinished and considering them complete even if they don’t meet the planned criteria in order to move on to the next thing as quickly as possible.
- Or, after a change in the name of a class or variable identifier, keeping the rest of functions, variables, or classes related to the old naming out of laziness to update them.
<div style="background-color: red; border: 1px solid blue;"></div>
const getPosts = async () => {
const posts = [];
try {
// TODO: paginate results
posts.push(
(await axios.get(`https://api.com/posts?page=${1}&limit=${999999}`))
.data);
return posts;
} catch (err) {
// TODO: catch error
}
}
export interface Foo {
a: string;
b: string;
}
export function sum(a: number, b: number) {
return a + b;
}
export const CONSTANT_VALUE = 1000;
const articles = await getPosts();
const postsCount = articles.length;
These 4 examples of shortcuts, that with a naked eye seem like they will save us development time, are actually technical debts and maintenance difficulties that we are introducing into the source code. The time you save immediately to get by will end up being paid, and probably with interest, when you or one of your colleagues have to come back to this part of the code to fix what you consciously did wrong before.
It’s very important to be responsible of the work we do to make a difference. How are clients or your colleagues supposed to trust you if you leave things halfway or finish them without any care for quality?
So you know, work as if you were being recorded and don’t do something if you know it is an unprofessional decision.
#2 – Accept Your Code Mistakes
Is it difficult for you to accept your mistakes?
In the professional world, controlling your ego is essential to avoid generating conflicts with your colleagues and to continue learning.
If you are not able to identify the things you have done wrong, you will have serious problems improving your programming logic or applying the new design patterns you learn.
Bypassing your errors is one the shortcuts you shouldn’t take, no matter how tempting they may seem. You have to be able to criticize the code you implement and if you find a better solution to the problem you were solving, replace the previous one without hesitation.
Of course that it’s hard to delete code you have been writing for a day, but keep a cool head while you are coding and not falling in love with our solutions is one of the distinguishing factors that will make us shine above all those who can’t identify their mistakes.
Moreover, mastering your mind and finding objectivity in your actions is something you can use to your advantage to improve in other aspects of your life, such as playing a musical instrument or having higher-quality interpersonal relationships.
You are not perfect, and neither is your code. So the sooner you accept that, the more time you’ll have to fix your mistakes.
#3 – Learn Other Programming Languages or Libraries
How long have you been working with the same programming languages, using the same libraries and frameworks or applying the same design patterns?
It’s time to explore new technologies. Trends and technologies in this field change faster than we’d like. So, try not to pigeonhole yourself into a specific stack and keep reading to stay current with your knowledge.
If you don’t, you’ll enter a danger zone where you risk becoming less appealing to companies when you’re seeking a new job, especially as the technologies you specialize in begin to fall out of favor.
Since your goal is to be a high-level programmer and stand out from the crowd, you must be willing to stay updated with emerging technologies. Stay one step ahead and start before the rest, so the efforts required to become an expert in a specific stack are spread out over time and more manageable.
So, what’s the next thing you’re going to learn?
#4 – Keep It Simple, Stupid
The design principle KISS, which stands for Keep it Simple, Stupid, encourages keeping systems as straightforward as possible once they fulfill their purpose and avoiding unnecessary complexities.
In programming, overengineering is a common mistake, seen in both beginners and more advanced developers. If you can finish a project in a simpler and more understandable way for your colleagues, who are you trying to impress by adding complexity to the solution?.
In this case, experience will be our best guide to determine whether a solution is as functional as it is suitable for the system’s design. Alternatively, it may cloud the system’s flows without adding any other interesting features to the project, such as scalability, maintainability, or security, among others.
I recall that when I was learning to program in university, I used to think that the more unreadable the program, the harder it was to follow the execution flow, and the more lines of code I had written, the better the solution. Nothing could be further from the truth.
Keep it simple, stupid.
#5- Time Is Gold When You Are Coding
The last tip to become a good programmer I’m going to tell you is that your time is gold.
Without forgetting the rest of the tips we’ve covered, always keep in mind when you’re programming that the most precious asset you have is time. You should invest it in tasks that are worthwhile.
It may seem very obvious, but I believe it’s the most challenging point to carry out.
Finding the balance between writing quality code and adhering to the time we want to allocate for the task is not a simple feat. As programmers with OCD who love unraveling problems using logic, we easily fall into the pursuit of perfection. Which is nothing more than a mirage in the desert.
I like to visualize this skill as an internal struggle between the perfectionist Carlos and the one who manages to complete tasks. I can’t even remember the list of projects I’ve left halfway, but the ones I’ve managed to land are not too many.
Are you currently capable of cutting off the development of a task in a timely manner for the sake of a project?
Conclusion
I hope you keep these tips in mind during your developments. These are points I’ve reflected on over the years that I wish I had known when I had less experience.
I encourage you to continue learning programming, as it’s a very enjoyable and rewarding profession once you get the hang of it and change your way of thinking several months or a few years after starting. (And besides, the salaries are fantastic.)
If you think I’ve missed any advice that makes a difference for you when programming, feel free to leave a comment to guide the rest of the community.
Did you enjoy this content? I’m on all social media, so follow me stay up to date.