Should you use Lombok? Or, is it bad for you?

Should you use Lombok? Or, is it bad for you?

I’m a happy Lombok library user. I found this library a decade ago, and I’ve been using it ever since. I don’t remember facing any major problems with it so far.

However, I see few people that I greatly admire and learn from, often complain that Lombok is very bad, and you should avoid it. Obviously, I am curious to know what am I missing? I know a couple of scenarios where using Lombok brings some challenges. Apart from it, I really enjoy using the Lombok library.

My attempt to understand why people perceive Java as complex

My attempt to understand why people perceive Java as complex

I work as an Architect/TechLead/SeniorDeveloper depending on client engagement. And, Java is the primary programming language that I have used most of my career. In recent years I got an opportunity to work with Go, NodeJS and .Net Core technologies too. I find Java, especially with SpringBoot, a solid platform to build enterprise grade applications.

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.

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.

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.

What I Learned in Week-14, 2020

What I Learned in Week-14, 2020

It’s been tough time for everyone due to the Corona virus situation. Staying at home for weeks and weeks is not easy, but it is very necessary thing to do so that we don’t spread the virus.

However, if I look on the bright side I used to spend minimum 3 hours for office commute everyday. Now I am using that time for various other activities including learning some new things.

Imposing Code Structure Guidelines using ArchUnit

Imposing Code Structure Guidelines using ArchUnit

While building the software, we all agree, as a team, to follow a set of guidelines which are typically considered as best practices. But during the development, developers might violate those guidelines unknowingly or ignorance. Typically, we rely upon code reviews or code quality checking tools like SonarQube, PMD, etc. to check for such violations. But some of the guidelines could be opinionated decisions which might not be able to automate using SonarQube, PMD etc.

What I Learned in Week-11, 2020

What I Learned in Week-11, 2020

I come across many blog posts from various sources like Twitter, StackOverflow etc and some of them are very helpful. Also, in day to day work I learn few new things, explore some new tools. Usually I keep track of this information using Browser Bookmarks and Pocket.

I thought may be this information could be useful for others too. So, I am going to share it weekly on my blog.