“Hey dad, I want to be a software developer!”. This was me right after graduating from high school yearning for a career in software development. My ideal of being a software developer was cranking lines of codes on my MacBook Pro in a small bar along the beach as if my fingers were dancing. Well, at least this was my expectation of the perks of being able to work remotely. As time passed, I learned the hard way that this picture of mine can only happen inside my head. The longer time being a developer, the more I asked myself. Why be a good developer when you can be a shitty one?
Clocking in and out on time
Work life balance is a fond dream for developers. A friend of mine once shared a bizarre encounter while being interviewed for a software developer position. The conversation between them goes like this:
Friend: Does the company emphasize employees’ work life balance?
Interviewer: There is no such thing as work life balance being a software developer. If you are looking for that then you have chosen the wrong career path!
Being a shitty developer, this will never become an issue. You can enjoy your life by reporting to work and knocking off for work on time. It always feels great to be able to have “me” time for “me” things.
Taking breaks in between work
Why immerse yourself into work for the entire time, when you can take many different kinds of breaks even in the office: Tea break, smoke break, toilet break or even a nap break!
Among all the breaks you can have, a shitty developer’s all time favourite is to walk around and talk with people to meet different people and make loads of friends. Furthermore, time will pass in the blink of an eye and soon it will be time to say au revoir to your colleagues for the day. A shitty developer always grasps any chance to slip out of work when available. An American writer and lecturer, Dale Carnegie, once said, “people rarely succeed unless they have fun in what they are doing”. You only live once anyway, so why not have fun while you can.
My code is my pride!
One of the crucial traits of a shitty developer is to not write code according to functional specification. When a specification is given to a shitty developer, it is natural to add some surprise features into the work.
We tend to do more or sometimes less than what is written in the specification, even when our boss disagrees. We developers are the Pablo Picasso in the coding world, why let anyone tell us how to paint a piece of art. Nobody can define the standard of my art but me, only I can bring out the perfection within my artwork.
Woah! Woah! Woah! Stop right there! Right before any developers are going to assassinate me, let me explain myself.
Regarding clocking in and out on time, it is not just simply being a fool and leaving the office while your comrades are working their asses off. Work life balance is not meant for an individual but for everyone in the work field regardless of occupation. Hence, it is important to coordinate within or with other teams so that everyone can enjoy it. While it is true that there is no point in staying in the office after finishing the work for the day, it does not mean that you can leave your work behind and enjoy your life. Besides, under certain circumstances such as ongoing production issues or high priority tasks which may bring critical impact to the organisation as a whole, one should be a responsible team player and fight alongside your comrades. #OneTeam
Referring to the quote by Dale Carnegie mentioned earlier, “people rarely succeed unless they have fun in what they are doing”, it is not an excuse for taking advantage of breaks between work. The essence of this quote is to find joy in what you do and be productive. “Having fun” plays a more important role in work than you think as sometimes work can be dull and boring. Working long hours in such conditions will cause not only physical exhaustion but also mental burnout. Hence, taking multiple breaks can help to cool your mind when you are overwhelmed by work. These are a few of many aspects that affect one’s performance. Always keep in mind that, to rest is to prepare for a longer journey ahead. #PurposefulPause
Communication is important as a developer cannot work alone all the time. Walking over to another’s workplace for some chit chat means no harm unless it causes disturbance. Bear in mind, the intention of chit chatting should not only be fulfilling your own needs. On the contrary, it can be used as a medium to motivate people around you. For instance, when you notice someone is upset, take the initiative to lend them your ears and show some empathy. Of course, this should be based on whether the person feels comfortable to share with you. Moreover, this can benefit in building relationships with the people around you. When people in the workplace maintain good relationships, it will create an enjoyable and healthy environment as bonded people make great teams. And great teams are what make an organisation thrive. #PeopleEqualsBusiness
Last but not least, not writing code to functional specification is a must-have skill set. Undeniably spec sheets are important, but you have to always challenge the given spec even when your boss disagrees. However, never start a war with anyone due to having different opinions. To sort this out, discussion is the way to go and this has to be done together with all stakeholders. Stakeholders should actively voice out any doubts or opinions during the discussion, which in turn makes it possible for all to understand the objective and perspective from different teams. On top of that, understanding from the aspect of the end users is indispensable. At the end of the day, they are the ones that are going to use it. Thus, it is of utmost importance to write code as per business requirement and always put yourself in users’ shoes. #ClarityIsPower
In my opinion, all the above are definitions of a shitty developer. However, a shitty developer does not necessarily stand for a bad developer; a good developer does not represent a great developer.
To summarize, never work too hard and always put your well being first. Excessive overtime will not bring any value to you and your organisation, only do so when it is needed. Reciting Gordon Ramsay, never become a busy idiot who works hard at the wrong place. Do give yourself some time to take breaks between work and make sure to deliver what you are supposed to. Moving forward, I would like to reemphasize the importance of people’s relationships. I once heard from a speaker who is a Head of People Resource saying that connection is a powerful resource. What you can gain permanently for yourself through working in an organisation is knowledge, skill sets, experience and the connections you make. You never know when an opportunity will knock on your door. Be it leaving to another organisation or starting a business of your own, what you need the most is connections. Last of all, taking pride in your code is never a mistake. However, never be a self centered clown and follow instructions blindly. As mentioned before, we, software developers are no different from an artist in terms of producing creative and innovative output.
So, why be a good developer when you can be a shitty one?
** Special thanks to co-author, proof-reader & my brother, Wilson C., A Shitty Backend Developer in Gaming Industry.
Know our Super Writer:
William Chu is a passionate and curious QA Automation Engineer attached with Fave. He keeps on pushing himself to learn more, alongside being a joyful and friendly colleague to everyone.
We are sorry that this article didn't meet your expectation!
Let us improve this article, your feedback matters!
Tell us how we can improve this article?