Things aspiring Software Engineers should know - X

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

It's not about the quantity but quality

Knowing multiple languages thoroughly can be a plus point but it is certainly not mandatory to do so. Companies like Amazon, Google, Microsoft do not really care about which programming language you know and have worked with previously. What matters more is that you know fundamental concepts well and know how to utilize them.
things aspiring software engineers should know,its not about quantity but quality
For example, if you are well versed with Object Oriented Programming concepts, you can use them in any existing Object Oriented Programming language or even a newly created one. On the other hand, if you know lot of languages but lack in knowledge of concepts you wont be able to do much or effective even with what you know.

Same is the case with tools. Many companies do not use tools available in market but use the in-house built ones. If you have clear understanding of how the tools of a certain category work, you can understand and use almost any tool in that category with some effort. However, if you have just mugged up the commands or key combinations to use, small change in interface may be big enough to drive you crazy.

My sincere suggestion to you would be to not try to just learn little bit of many languages. Knowing one or two thoroughly in each paradigm like procedural programming and object oriented programming is sufficient. Focus more on learning the concepts and their implementations so that you can apply those in any language you may need. Similarly, understand how things are working instead of just mugging up how to use them.
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?