Frequently there are discussions on hackernews (like this one) about quality of software produced by Indian software companies. There is some truth in those discussions. Having worked for more than 7 years in India’s software industry, I’ve met very few people who could write good abstractions. It doesn’t have to be that way.
I am starting this blog to share my experience of working as a Software Engineer in India. I will also produce articles which will help the readers acquaint themselves with techniques for producing good quality software.
Over the years I’ve had the opportunity of working on a wide array of technologies. I’ve shipped code to production in MySQL, Java, Node.js, PHP, Python, and ReactJS. I’ve found that Java and Spring suite of frameworks lend themselves very well to a robust design (more on this later). Therefore code examples will be focused on Java and Spring framework. This blog will also be a tutorial on and a manifesto for embracing Java+Spring as a preferred backend technology along with evangelization of best practices.
I will try to produce original articles on topics which aren’t already covered by other Java blogs, journals, and publications. Some of my favourite Java blogs are dzone, baeldung, and infoq. My purpose is to provide content that elaborates and/or simplifies content produced by these blogs, thus providing supplementary material which will enhance the readers understanding. Therefore you will find a lot of my posts citing posts on these sites.
I will also produce a lot of opinionated articles on best-practices, bad-practices, anti-patterns, and culture. I will make this site a repository of experience and knowledge I have accumulated over the years. I hope that the readers will benefit from them.