One day a few months ago I got an email about an interview I had taken for the position of software developer, I had gotten the job. I was thrilled, but only for a moment, then fear came over me. I had been used to the safe shell that was school, where all that was expected of me was only completed assignments and good grades. This was a complete change, and I was freaking out.
During these past few months, not only have I learnt a lot in programming, but also about myself. Still am.
To the person who is not familiar with it, programming may sound complex, complicated, convoluted, confusing, and any other word you can think of. Heck, I thought it was madness.
METHOD TO THE MADNESS
The long, endless, messy probably gibberish looking lines of code is only a means to an end. That end is finding a solution to a problem. Now that part seems familiar doesn’t it?
We face problems all the time in our daily lives. Problems are anything that need our attention. Like figuring out what to wear in the morning, or for an evening out, deciding what to make for your family for dinner, etc. The solutions to all these ‘problems’ are influenced by the circumstances and factors around at that moment. Dinner will depend on the ingredients that are available in the fridge and pantry. Our outfits this season are affected by the weather. In short, the solutions are the best and most efficient for that problem.
And that is basically what programming is. Finding the best solution to your problem, with what you have.
BUGS AND PULLING MY HAIR OUT
Some days if not most, I hit wall after wall after wall trying to point out bugs (flaws or abnormalities in a computer program) and to be honest it makes me feel like pulling my hair out then I remember that will be quite painful and unpleasant. Software development evolves around debugging (detecting and correcting bugs). Is it frustrating? Yes! But the feeling of accomplishment that comes after correcting that itty bitty error that caused your program not work is so satisfying. It even makes me smile for the rest of my day or night.
What I am learning to master to get me through a day of programming because for sure I will have to tear down some walls, is patience with myself. Sometimes we expect to know so much until we forget that we are human. Mastering your craft takes time. It took Leornado Da Vinci 2 years to complete the mural of the last supper, and 3 years to finish the Mona Lisa. No one can just wake up and expect to solve everything in a day. If you do, you will literally pull your hair out.
JOURNALING IN PROGRAMMING
I enjoy journaling. Writing down my thoughts, goals, reliving my day at night or just outright scribbling with no sense of direction. It puts my mind into perspective and makes me feel grounded.
It is so frustrating to go through someone else’s program that is undocumented. It’s like when someone asks you to meet them somewhere you have never been before and they don’t give you the directions. I would not want to put anyone through that, so I try my best to document my code to the point that anyone would understand and the fact that I enjoy journaling, this comes almost easily. No one programmer will work on one program for the rest of his/ her career. As it grows, you will probably have to bring in other people on board and since they were not with you from the birth of the software, they will not be familiar with almost everything. Explaining to your new team by word of mouth every single time is annoying and monotonous, so make your work easier by documenting it, and not just anyhow, but so that even non-developers can understand it.
Nobody would want to be left on a pitch dark road with no light and told to find their way home.
Documenting is the most important thing a developer would need to do. Think of it as a manual to a new device (though people rarely read manuals these days, anyway, it is the only reference I could think of.)
SMILE A LITTLE
Life is all about those little moments. Doing what makes you happy, feeling accomplished by the smallest of tasks like crossing off a to-do on your list. To stay in the best of moods while I am working, and even when I am not, I try to take note of every achievement. It may be irrelevant to my boss or any other person but it is of great significance to me. For instance I may be getting errors when I try to run a program and then spend hours trying to find what the problem was only to discover I had misspelt something in my code. Fixing that will not mean anything to anybody else, but it will for sure be one of the things that will make my day.
You’d be surprised by how much noticing the little things would make you extremely efficient at your work and even increase your concentration. Other than that, you will enjoy what you do and walking into the office everyday. Try it. Your life will be extremely simple without putting any effort.
Lastly, put yourself out there in terms of wanting to grow. Learn as often as you can and for sure you will not be disappointed.
It has only been a few months, but I have never been happier. Can’t wait to see what my next major milestone will be.
Until next time!!