Things aspiring Software Engineers should know - VI

Ashish Vaidya
Published on: 29th April 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-

Trust testing

My code never has any bugs, it just develops random features. :D

Though all the software engineers would love to claim that but lets face it - a bug is a bug, whether it is catastrophic or not is a another thing. Softwares are prone to errors due to the enormous complexities. Even the best of the softwares are not 100% bug-free. The popular bug-tracking tool bugzilla replies Zarro Boogs Found in case of empty results to remind you that there are bugs in the system, it's just that they are not yet discovered.
things aspiring software engineers should know,know the boundaries and cover them
Testing is the continuous process of discovering issues or bugs early so that they are not shipped to customer or end-user resulting into undesirable consequences. Therefore, it is highly imperative to understand its importance and test whenever you make a change to the existing code. Moreover just testing for the positive scenarios is not enough, your code should also pass negative test cases.

We, the software engineers are lazy people and can get bored of repeating same simple test cases manually. Therefore, investing time to learn and use automated testing tools is wise. For a good interesting exercise, you may even create such tools yourself which can run some basic test cases on the code and check if basic functionality is intact or not.

My sincere suggestion to you would be to read about and in fact try writing the testing tools for your simple programs initially and even complex ones later. It shall help you get a better understanding of both development and testing.
This is one of the things that I seriously think an aspiring Software Engineer should 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?