Things aspiring Software Engineers should know - XII

Ashish Vaidya
Published on: 17th May 2014
As a Software Developer, I started my journey in the Software Industry at Novell from where I moved to Citrix and later to Amazon. Being in this industry for close to 6 years now, I have met and learnt from many wonderful intellectuals and have worked with them on various top class products that directly or indirectly impact billions of lives worldwide.

I have experienced diverse corporate cultures, working environments, software development practices and processes. During this journey where I accomplished some distinguished feats and also committed many silly mistakes, I have learnt lot of things of which I think some should be helpful and of interest to the aspiring Software Engineers. You may check out the points mentioned in the previous articles in this series. Here is another one-

Do Documentation

Documentation that you usually do as a software engineer includes writing design and architecture documents, How-To-Do's, content to be utilized by documentation generators like JavaDocs, and also the code comments.
things aspiring software engineers should know,do documentation
It is an underrated aspect that one seldom considers important and gives due diligence to initially and sometimes even later. After all, it seems to be time consuming and not cool. However, it is important and can help and save lot of time for including yourself.

Suppose you did a complex setup which others are also doing or will be doing in their respective systems. Isn't it better to just create a document mentioning the steps to follow instead of having people coming or calling to bug you asking the same information you just imparted to someone else?
Similarly, you figured out some complicated logic or a weird corner case and wrote code to cope with it. Forget about others, months later you yourself will forget why you introduced that piece of code or what exactly it does. Few comments there would make things smooth for anyone looking at it.

My sincere suggestion would be to develop a habit of doing good documentation. To start with, you can do so at least in the code you write. Make it crisp, concise and clear so that anyone (including yourself after sometime) looking at your code and easily make out what is happening and where.
This is one of the things that I seriously think an aspiring Software Engineer should know. If you think some point should be added to this topic or some topic deserves to be added to this series, do post a comment and let me know. Keep watching for more. If you are keen on learning more about the better software development practices you can start following right from the college days, do get a copy of my first book "Hello World - Student to Software Professional" published by Partridge (A Penguin Random House Company). Now available worldwide on all the MAJOR ONLINE Stores - Amazon, Google Play, Flipkart, Barnes & Noble and many others. Get in touch with me on My page on IU eMagazine's Expert Corner.
On a scale of 1-10, how inspiring did you find this article?