A Software Developer - from my experience

A Software Developer - from my experience
When I walked out of Kibabii University's gate after having completed my coursework for Bachelor's Of Science Computer Science, I had one thing in mind, to become a good software developer and make the world a better place through my code.

I began the journey by developing a mobile app for my first client, to me software was about writing the code and it should work as expected. I was wrong. The client asked me to train his users on the usage of the app because they could not understand how to use it despite the fact that it was quite well - so I thought. I had a problem with this, to me the app was easy to use. Here I learned my first lesson, always think about the software from a user's perspective, not a developer perspective. The end-user needs to be able to use the software easily.

In my second assignment, I had to leave the job and pursue other interests but I was the only one who understood the code. Every time I had to be called to make changes despite having left. A few things crossed my mind, if there was clear documentation, someone would easily assume my code and I would not have to spend sleepless nights to make changes. Most developers struggle with writing clear documentation because of deadlines or urgency to deliver functionalities. However, documentation as important as the functionality itself.
Over the past few years I have been involved in many projects, interacted with many developers and other players in a project and there are other lessons learned. Here are a few

  • Functionality is the driver of acceptance of the software but never sacrifice standards (code quality and security)
  • The success of a software project lies in the combined effort of the team. However good your output is, if one member doesn't do a stellar job, then it all for nothing. There is nothing as:- I like working alone, my part is working well
  • You have to continuously learn, adapt, and repeat to deliver better next time. Your next assignment should produce better results than the previous one.
  • Perfection is a goal but can never be achieved in the first instance, there will always be better ways to write that function, a better way to style that class but there will rarely be time for you to achieve that. If you strictly aim at perfection, the project will never be complete. There will always be trade-offs.
  • The positions and designations do not reflect perfection or sole effort. There is always something you can learn from someone in a lower rank.
  • Growth in the line of work takes more than just writing code: the communication skills you have neglected, leadership, vision for the product or project as well as accurate and effective reporting.

The list is endless, but I believe you have your lessons. Please share them.

DISCLAIMER: This article is subjective. It may not apply to everyone else but may resonate with others who had a similar journey.
Powered by Blogger.