Photo by Diego Jimenez on Unsplash

I remember the first time I mentored about six years ago. I was very excited to finally be on the other side. And overall it went well. I had a wonderful mentee and I thoroughly enjoyed watching them learn and grow over the course of our mentorship. A few years and mentorships later, I think I have enough learnings to put into a blog post! All the lessons learnt the first time have stood the test of time and helped me be more successful at mentorships!

As with everything else I like to ramble about, I have a list for…


A quick introduction to Spring data Projections!

Photo by ian dooley on Unsplash

Spring Data supports custom queries in Repositories where developers just need to follow a set way of writing repository methods for the functionality they are looking for. Just defining the method in the interface does the job, for most types of searches at least. Developers pick the functionality and the fields to search by, create the method and pass in the required parameters and the method does what it is supposed to do.

This is pretty straightforward and easy. But say you don’t (for whatever reason) want the whole entity or object returned…


Photo by Nadir sYzYgY on Unsplash

Performance/Annual reviews can be dauting. To go into a meeting to talk about your accomplishments and negotiate your salary is not easy. Its very hard especially if you are neither a fan of these nor does it come to you naturally. If you have been nodding, you have come to the right place (or so I hope)!

I want to share how I like to go about preparing for my annual review. This is not meant as do-this-and-you-will-be-successful. It is meant more as this-is-what-I-do-and-so-far-it-hasn’t-let-me-down. A lot of companies have helpful templates that help navigate performance reviews, but I still like…


Understanding the difference between Configurations and AutoConfigurations in Spring boot!

Photo by Greg Rakozy on Unsplash

Spring boot is all about magic. You add dependencies to the classpath and stuff just fits together and works. It provides a canvas for you to build on. The out-of-the-box configurations are opinionated and will make default configuration choices, at the same time these opinions and the configurations will be the first ones to get out of your way if you want to make your own configuration choices.

A lot of this magic because of AutoConfigurations. …


Photo by Pablo Merchán Montes on Unsplash

Error and exception handling are integral to every software application, no matter the functionality. Errors need to be meaningful, helpful, simple and help users understand what to do next (if there is something for them to do). But what if I told you that sometimes your error messages need to be presented at a high level without the intricacies of exactly what error occurred?

Securing applications is a Herculean task in and of itself. There really isn’t a one-size-fits-all solution across applications and within the different layers of a single application. When we talk about security, securing applications for happy…


Photo by Kane Reinholdtsen on Unsplash

Public speaking can be daunting. But what comes after could be absolutely rewarding! I am, by no stretch of the imagination, excellent at or comfortable with public speaking. This was probably why, two years ago, I committed to making this a goal at one of my performance reviews (a lot of private cursing would follow). To make matters worse, I made it a top priority.

You see at that time I did it because I firmly believed that to grow personally and professionally, I had to be uncomfortable, sometimes. I needed to be nervous because I was venturing into unknown…


Building an application that is driven by properties using Spring Boot.

Photo by Arno Smit on Unsplash

This post counts as the second part of my previous post on some very commonly used annotations in the Spring framework. In this post I wanted to specifically focus on how we can build backend services using Spring/Spring Boot and drive certain sections of the application using properties, that could also be supplied from outside the codebase. When I say properties driven, at a very high level I mean the ability to change the behavior of the application by merely using properties. …


How record classes in Java compares to Kotlin’s data classes.

Photo by Mike Kenneally on Unsplash

Recent releases of Java have had some very noteworthy and developer-friendly features including a concept of record classes. From the Java docs of the Record class:

A record class is a shallowly immutable, transparent carrier for a fixed set of values, called the record components. The Java language provides concise syntax for declaring record classes, whereby the record components are declared in the record header. The list of record components declared in the record header form the record descriptor.

My first thought on seeing this class and as someone who…


Caveats to keep in mind while working with Json Web Tokens!

Photo by Riccardo Ginevri on Unsplash

JSON Web Tokens (abbreviated as JWTs) are digitally signed tokens that can be used to verify the authenticity of an incoming request, as well as ensure the request is authorized to make the request being made. Jwt.io has a wonderful article explaining what a JWT is, its components, and how it is used. If you are new to JSON Web Tokens, I highly recommend giving this blog post a read before reading on, because this post assumes you are familiar with a JWT and know how it works.

In…


Photo by Jon Tyson on Unsplash

With most tech companies moving to having more and more employees work full time remote, the option to work remote should no longer come as a surprise. But working across timezones definitely puts a big dent in that option. Time is a mess to work with be it in code or with remote work. The longer the time difference the more hard it gets to decide and manage how to make sure your work is not affected. …

Janani Subbiah

Product Architect | Ice cream lover | Newbie gardener

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store