I’ve always wanted to build software. From a young age I was interested in technology and that led me to study computer science engineering. With offers in hand as a fresh grad, I started my professional career with an edtech startup.
This was 8 years ago when I was mostly doing UI Development, but I wanted to be a full stack developer. I learned Node.js and programmed in my free time to get better at backend as well. I started at TVS Next 3 years ago, as a Node.js developer. Since then I’ve worked across frontend and backend web and mobile technologies, be it Angular, React, MySQL, Node.js, Mongo, AWS, Machine Learning, Data Science and what not.
How did your interest in AI/ML begin?
A while ago I was between projects, and for 2 weeks I spent time brushing up my Angular skills. There happened to be an immediate requirement to head an Angular team. They asked me, and I said yes. I got the chance to build a POC in Angular.js. The client liked my solution and the project came to us.
Similar requests for POCs started coming in. There was one from the security domain that needed a Machine Learning model which can detect weapons from a captured image. It was such an interesting piece to work on, that I started learning ML full-fledged. I created chatbots and AI-assistants that can respond to queries, in my free time and as POCs for clients since then. I usually start with some research to see what tech fits best, whether an open source stack works etc. I prefer RASA for chatbots. It’s one of my favourite open sourced technologies that has the flexibility to create any artificial assistant like Siri or Alexa.
What do you do with all your learning?
Everything I’ve learnt is on github. And I have my own YouTube channel as well. I like to make short videos of a concept whenever I learn something new. I find that it’s one of the best ways to gain confidence in using a new language or framework. Plus, sharing it on YouTube generates a lot of questions that make me rethink and improve my code. Similarly, I’ve done my share of sessions on UI and ML within TVS Next.
What does your typical day look like?
We follow an agile process. A usual day has:
- Daily stand ups with the team
- Discussions on the plan for the day
- Core programming hours
The best part of being agile is that you get to decide the time and effort for your tasks. And there are the grooming sessions — dedicated time to talk through the story points, challenges and other plans for the sprint itself. We do monthly retros and once a quarter, we keep a week sprint-free to pick up stuff from the parking lot or give attention to things that got deprioritized over the sprints.
What’s your favorite part of your role?
Completing a particularly tricky piece of code, and picking up new tech.
What’s the most challenging part of your job?
It’s usually the dependencies, whether it’s within the team or with the client. Even though these are not the core part of my work as a developer, they’re the most critical ones to reach out for alternatives.
What do you think makes a successful developer?
I think one of the most underrated qualities as a coder is patience. A lot of times people quit too soon because they’re not learning fast enough. That’s not the right attitude. You need to be patient with yourself and you need to be ready, for there are always new things coming.
What technology excites you the most?
Machine Learning (ML) is a major interest area for me right now. I want to create an artificial assistant that’s as close to having a conversation with a human. I want to make it the best it can be.