The default error package provided by Go leaves a lot to be desired. Writing a multi-layered architecture application and exposing the features with APIs demands error treatment with much more contextual information than just a string value. Realizing the shortcomings, I started with implementing a more powerful, more elegant error package. It was a process of gradual evolution, where I encountered the need to introduce more features into the package overtime.

Here, we will explore how we can use a CustomError datatype to bring in more value in the application and make error handling much more powerful.

The first thing…

This might be you, after 20 minutes!! 😂

I usually spend a lot of time on terminal and realized that the default terminal shipped with macOS is a bit unproductive and boring to say the least. You can pretty easily notice a big jump in your productivity when you shift to a more powerful terminal.

So, after trying to find time to pen down my thoughts on how the first few weeks were for me here at Zomato, I finally got the time to write this article. I joined on 3rd June, the very first batch of fresh hires that would be joining Zomato in the upcoming months. They aptly named us — “Tech Newborns”.

Who am I?
I am Abhinav Bhardwaj, a final year student pursuing B.Tech. in Electrical Engineering from Delhi Technological University (formerly, Delhi College of Engineering) [Batch of 2K19]. I have been programming for the past 8 years since I was 15 years old. I have been doing Competitive Programming for the past 4 years, I solved my first problem on CodeChef even before I started college. Apart from that, I have studied DS & Algo from GeeksforGeeks to the point that my friends often call me “Chalta Firta GeeksforGeeks” — meaning “A Walking GeeksforGeeks”. I secured an on-campus internship during…

I was done with my 7th Semester college exams by the end of November 2018, and was looking to work on something interesting. I had an internship offer from Aspiring Minds’ Research Lab in Gurugram for the role of Intern — Research and Development, for which I had applied a couple of months ago. I can easily say that it was the best choice, since not only did I get to work on Machine Learning ( my collegelong dream :) ), but I also met some of the brightest minds there. I chose to intern at Aspiring Minds’ Research Lab…

Want to have a look at Portfolio, here you go :


Project description

  • Built a Beatbox player using JavaSound API & Swing Toolkit, for creating, saving and replaying (using Serialization) the composed Symphony.
  • Sending & receiving of beat patterns (simulated on a local system) was also incorporated.


Project description

  • Built a BrickBreaker game, using Abstract Window Toolkit, complete with functionalities such as Power-ups etc.


Project description

  • Built a Camera application using OpenCV and JavaFX, providing users with various functionalities of a Digital Camera.
  • Users can click Photos from the Video Stream of the chosen Camera, functionality of accessing all the Webcams attached to the System is also provided.
  • Features like Face…

Since he was 8 years old, the boy in the house kept everyone baffled. One step ahead on hyperactivity, he would go around playing, inventing the weirdest of games but never be able to sit down idle. With a relentless engine of thoughts, he was a pain for the caretakers. At the age of 15, when children his age were busy in learning MS Word and playing video games, this boy was introduced to the world of programming and it was at that moment that he decided, he would grow up to become a Software Development Engineer.

Throughout the years…

Abhinav Bhardwaj

SDE @Zomato | DCEian | Software Developer | Open Source Enthusiast | Food Hogger | Student Forever

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