If you are applying for a programming job, it is a given that you are not fond of a simple, uncomplicated life with no worries and simple solutions to everything.
Now that you have gotten yourself in this puddle, swim your way to the safety of shores by deciphering codes the right way. Programming in itself is a tricky profession to get into, and when you have decided to make it the sole way of bringing bread to your plate, you might as well learn all the tricks of the trade.
To err is to human
Are you habituated to report problems incompletely? Rookie mistake, friend! Do not be afraid to ask for help. There may be errors in your approach that demand correction and it doesn’t harm your goodwill as a programmer to ask for assistance as and when you require it. After all, to err is to human and we are all human beings who are here to learn. Do not take reporting problems in their entirety to be a sign of weakness. No one will judge your skills, acquired over the years, on the basis of a one-off issue that you might face due to various reasons.
Co-workers are trouble-shooters
In fact, the first step you can take in case you are stuck with a really prolonged problem is to take advice from your colleagues. Chances are, they have been in a similar rock and a hard place problem before and gotten out of it. With the help of your co-workers, even you can squeeze your way out of any and every problem. The basis of this interaction has to be trust - the trust that you absolutely won’t be demeaned in any manner because of reporting a problem. This is a given since your colleagues also follow the same procedure of locating a problem- asking for help- rectifying the problem every once in a while.
Levels of Programming Progress
You have the required skills and proficiency to overcome every programming-related problem successfully, and that is also what is expected out of you. But this doesn't mean that you start negating every issue and make it a psychological barrier where you are hesitant to ask for help whatsoever.
Especially if you are a raw-recruit, and you have committed fundamental errors that are taking time to get resolved due to your rigid attitude, immediately put a halt to this mindset. Not reporting problems completely and forever remaining in a rut can be more of a problem than actually reporting the issue and getting the required information to escape the situation.
It is commonly known in the corridors of coding that programmers function on 4 different levels:
- Executing complex programming with relative ease ( relative being the keyword!)
- Swiftly on the way to progress
- On the way to progress, but slowly and steadily ( what did we learn from the rabbit-turtle story, pals?)
- Stuck at the point of stagnation
Follow the steps - step by step
Now, after the elaborate to and fro that we have already had regarding reporting problems incompletely, it is pretty much understood when you will find yourself right at the bottom position of the mentioned listicle. And that is bound to happen if you are one of those stubborn ones who refuse to pay heed to the clear writing on the wall that says - Ask for help when you need it. Do not hesitate to report problems completely.
According to the book “The Professional Programmer” by Samer Buna, the correct procedure one should follow to get ultimate success while programming is:
While every step is extremely important and an indispensable part of the whole process, we are here concerned about the two ultimate steps - validating and modifying your codes. Even after you have followed all other steps in a diligent manner, there is always the scope of an error in someplace or the other.
Read the Blog- Developers slow to ask for help when facing problems
So, getting a second opinion in case you are stuck somewhere is the best way to keep improving and keep moving forward in what is a long and complicated journey. Modifying your codes to make them better, precise and more comprehensive is not the sign of a theoretically weak novice. It is in fact, the indication of a secure programmer who takes things in her or his stride and moves forward exuding an aura of confidence.
Lone wolf vs team player
While programming is seen as a lone-wolf job by most of the programmers who identify it as an issue of their ego to even remotely think of asking for assistance, it is actually better to consult contemporaries while stuck at a problem for a long time. After all, would you like to sit on your chair all day long, fishing for answers on your own or you would want to put your query in front of someone and get out of your problem by not prolonging it.
Instead, your swift action of reporting your problem showcases the fact that you have your feet firmly on the ground and you are more than willing to learn new tricks and trades. A humble team player is always preferred over an arrogant loner, in any field. So, go ahead, delineate your complete coding problems and earn the solution to it as well as a truck-load of goodwill amongst your colleagues. It sounds like a fair trade, doesn’t it?
The Thumb Theory
There is this popular thumb theory of programmers. There are programmers who are thumbs and then there are fingers as well as broken fingers. Every web or mobile app development team needs one or a couple of thumbs to function. You can be that thumb - the most integral part of your organization if you learn to identify your mistakes and habituate yourself to not repeat them. This part, that deals with being a humble and aware coder, is as important as being a quick and gifted coder. Programming is not only for the cash, but it is also a tribute to the skill that you have acquired through tenacious hard work.
So, as important as it is to be a programmer who solves problems, it is also important to be a programmer who puts forth the problems that are to be solved. And the cycle keeps on repeating itself - identifying issues- solving them completely - looking or issues to solve. Be an active perpetrator in the eco-system and become the programmer you wanted you to be - leader of the pack with an envious package. Only then will it be worth all the struggles that you have signed up for, programming prodigy!