My 2020 year review and plans for 2021

My 2020 year review and plans for 2021

I would like to share how was my year 2020 and what I am planning to do in 2021. As we all know 2020 was a rough year due to COVID-19, lockdown and all, but 2020 is a good year for me in many ways. It used to take minimum 2 to 3 hours of daily commute for office, now that I have been working from home I am able to use that time for other activities.

Continue reading »
Improve JPA application performance using HypersistenceOptimizer

Improve JPA application performance using HypersistenceOptimizer

In Java world, Hibernate/JPA is the most popular ORM framework. Also, JPA/Hibernate is a very controversial topic because some people don’t like it at all. It is very understandable though. Many people start using JPA/Hibernate with minimal knowledge and keep adding logic (read as “annotations”) as and when required to get the job done. While checking the overall application performance, most of the time people realize it’s because of poor performance of persistence layer.

Continue reading »
Quirks of Spring's @TestConfiguration

Quirks of Spring's @TestConfiguration

If you know me you know that I am a big fan of Spring ecosystem. I have been using Spring framework since 2007, and I am pretty familiar with many of its features. Even if we are familiar with some technology once in a while we get stuck with small issues and end up spending hours and hours figuring out why something is not working as expected. Spring framework is very flexible, and usually there are multiple ways to achieve the same thing.

Continue reading »
My Thoughts on CleanCode, Simplicity, Automation and Empathy

My Thoughts on CleanCode, Simplicity, Automation and Empathy

When I observe old people I notice one interesting thing. They don’t usually react aggressively like teenagers do. Even when they have to deal with difficulties in life they deal with it calmly. Even when some people undermine them they simply give a smile and move on rather than trying to prove they are wrong. I wonder is growing older makes them wise? Looking at some people I know who is in their 50’s, I can confidently say No, becoming older doesn’t make them wiser automatically :-)

Continue reading »
Philip's Testing Spring Boot Applications Masterclass Course Review

Philip's Testing Spring Boot Applications Masterclass Course Review

If you ever worked on a large project which doesn’t have any tests then you know how painful it is to work on such codebase. You know what is more painful? Working on a project which has plenty of USELESS tests written for the sake of passing minimum code coverage requirement. Being a Professional Software Developer means more than solving a problem. One needs to learn how to write maintainable and testable code, write meaningful tests, know what to test and what not to test, how to evolve the codebase backing with a good set of test suite.

Continue reading »
LocalStack SpringBoot Starter Tutorial

LocalStack SpringBoot Starter Tutorial

I was working on a SpringBoot application which is planned to deploy on AWS and, we were using S3, SQS and RDS services. LocalStack provides an easy-to-use test/mocking framework for developing AWS based Cloud applications. I want to use Localstack mock services instead of using real AWS services for two purposes: To run integration tests To run application locally We can use Testcontainers to spin up a Localstack docker container, but we need to configure Amazon service clients like AmazonS3, AmazonSQSAsync which is typical boilerplate that we copy-paste from project to project.

Continue reading »
All the resources you ever need as a Java & Spring application developer

All the resources you ever need as a Java & Spring application developer

Nowadays software development is a challenging task as the number of programming languages, frameworks, libraries are increasing rapidly day by day. Luckily, the number of resources to learn on the internet for free also increased a lot. There are a ton of free resources to learn almost everything on the internet. There are lots of official documentation, blog posts, Udemy courses, YouTube videos etc. As a backend developer who primarily work on JVM based languages/frameworks like Java, Kotlin, SpringBoot etc, following are a collection of resources I usually follow to learn new things.

Continue reading »
GoLang from a Java developer perspective

GoLang from a Java developer perspective

Gone are the days we can call ourselves as Java developer, .NET developer, Python developer etc. Nowadays we might need to work with multiple languages to some extent such as Python for scripting, Go for CLI utilities etc. Out of personal interest I started learning Go Language 3 months ago and I am using Go for our current application. In this article I would like to share my first impression on Go language.

Continue reading »
My proud moment as a mentor

My proud moment as a mentor

As software developers, most of us implicitly assume gaining strong technical skills might make us successful. Many of us assume being good at cutting edge technologies, mastering keyboard shortcuts, being able to work on front-end, back-end and infrastructure etc etc will make us successful in our careers. Yes, the above mentioned skills definitely help, but just being good at tech skills might not make us successful. There is more to it.

Continue reading »
Remote debugging SpringBoot application

Remote debugging SpringBoot application

We all know how to run SpringBoot application in debug mode from our favorite IDEs(Eclipse/IntellijIDEA etc) and debug the code. Recently I had to debug a SpringBoot application which is running on a remote server. There is already lot of information on the Internet on how to remote debug java applications, but some approaches didn’t work for me. So, here I would like to share my findings. If application is running on localhost Suppose you are running your application on localhost only and remote debug from your IDE.

Continue reading »