profile-pic
Vetted Talent

Puneet Bhadauriya

Vetted Talent

To leverage my 12 years of IT industry experience, with a focus on mobile and distributed application development, to lead technical teams in delivering innovative solutions that enhance organizational efficiency and customer satisfaction.

  • Role

    Staff Software Engineer

  • Years of Experience

    12.17 years

Skillsets

  • WCF
  • Angular
  • ASP.NET
  • Azure
  • Entity Framework
  • Jenkins
  • Ms test
  • MySQL
  • NUnit
  • REST
  • WinForms
  • Amazon S3
  • Azure AI Search
  • Azure Cosmos DB
  • Azure Functions
  • Azure Service Bus
  • Kafka
  • Vue JS
  • Zookeeper
  • ADO.NET
  • .NET Core - 6 Years
  • Java - 1 Years
  • Python - 1 Years
  • Kubernetes - 4 Years
  • Docker - 5.0 Years
  • HTML
  • JavaScript
  • LINQ
  • Xamarin
  • SQL Server - 4 Years
  • Windows services
  • WPF
  • Azure DevOps - 6 Years
  • C#
  • CSS
  • MongoDB
  • PostgreSQL
  • VB.NET

Vetted For

9Skills
  • Roles & Skills
  • Results
  • Details
  • icon-skill_image
    Senior C# Developer (REMOTE)AI Screening
  • 66%
    icon-arrow-down
  • Skills assessed :MVC Architecture, API development, ERP development, OOPS and Design Priciples, RestAPI Integration, SQL Server, VB.NET, Azure DevOps, C#
  • Score: 33/50

Professional Summary

12.17Years
  • Sep, 2025 - Present 8 months

    Lead Software Engineer

    Q2
  • Aug, 2022 - Feb, 20252 yr 6 months

    Senior Technical Lead

    MediaKind
  • Mar, 2022 - Aug, 2022 5 months

    Senior Backend Developer

    Aviso AI
  • Jan, 2017 - Mar, 20181 yr 2 months

    Senior Software Developer

    Taritas Software Solutions
  • Mar, 2018 - Dec, 2018 9 months

    Associate Consultant, Engineering

    GlobalLogic
  • Dec, 2018 - Mar, 20223 yr 3 months

    Senior Technical Lead

    MediaKind
  • Sep, 2015 - Jan, 20171 yr 4 months

    Software Engineer

    Tavant
  • Mar, 2013 - May, 20152 yr 2 months

    Senior Software Engineer

    Smart Chip

Applications & Tools Known

  • icon-tool

    Git

  • icon-tool

    GitLab

  • icon-tool

    Jenkins

  • icon-tool

    TFS

  • icon-tool

    SonarQube

  • icon-tool

    Visual Studio Code

  • icon-tool

    Visual Studio

Work History

12.17Years

Lead Software Engineer

Q2
Sep, 2025 - Present 8 months
    Leading cloud-native architecture design for next-generation banking and fintech platforms, ensuring scalability, security, and high availability. Collaboration with product, architecture, and leadership teams to align technical strategy with business objectives. Playing a key role in technical decision-making, POCs, and evaluation of emerging technologies to future-proof the platform.

Senior Technical Lead

MediaKind
Aug, 2022 - Feb, 20252 yr 6 months
    Architected and delivered RESTful APIs on ASP.NET within Agile methodology, ensuring scalability, security, and seamless integration with client applications. Designed and led development of a media-first Angular web application, integrating APIs for real-time content delivery across platforms. Established a test-driven development (TDD) framework with unit, integration, and regression tests, improving product reliability and reducing release defects. Re-engineered caching architecture, significantly improving performance and scalability for high-traffic sports streaming customers. Upgraded MongoDB from v2.0 to v6.0, optimizing schema design and boosting performance for high-volume, data-intensive workloads. Implemented cloud integrations with Azure and AWS SDKs, enabling hybrid storage solutions and reducing infrastructure complexity. Re-engineered cache generators to enhance application performance and scalability for high-demand sports streaming customers. Conducted requirement analysis, spike investigations, and POCs while preparing high-level and low-level design documents for upcoming features. Mentored junior developers, conducted peer code reviews, and enforced coding standards, improving overall team efficiency and code quality.

Senior Backend Developer

Aviso AI
Mar, 2022 - Aug, 2022 5 months
    Improved reliability through automated testing. Optimized database queries, improving system performance & responsiveness. Collaborated with stakeholders to translate business requirements into technical design & deliverables.

Senior Technical Lead

MediaKind
Dec, 2018 - Mar, 20223 yr 3 months

Associate Consultant, Engineering

GlobalLogic
Mar, 2018 - Dec, 2018 9 months
    Migrated 15+ applications to .NET Core microservices on Docker/Kubernetes, enabling containerization & reducing costs. Restructured monolithic services into microservices, improving scalability & resilience. Doing investigation and resolution of critical production issues, driving RCA and preventive actions to ensure high availability and business continuity. Drove POCs & architecture reviews, aligning technical solutions with business goals. Guided developers on architecture decisions and provided deployment support for smooth releases.

Senior Software Developer

Taritas Software Solutions
Jan, 2017 - Mar, 20181 yr 2 months
    Built cross-platform mobile apps with Xamarin (iOS/Android/Windows). Designed APIs, database schema, and implemented offline sync (SQLite). Developed real-time analytics & crash reporting with Visual Studio App Center.

Software Engineer

Tavant
Sep, 2015 - Jan, 20171 yr 4 months
    Designed Active Directory integration. Designed and developed rich desktop applications using WPF and MVVM and integrated WCF services, improving UI responsiveness and maintainability.

Senior Software Engineer

Smart Chip
Mar, 2013 - May, 20152 yr 2 months
    Built a 24/7 RTO synchronization system for regional & central servers. Developed WCF services and Windows services for real-time data exchange. Migrated legacy WinForms applications to WPF, enhancing usability and maintainability. Integrated MSO Fingerprint-based authentication for secure CPB systems.

Achievements

  • Achieved smooth transition within 2 weeks and rapid feature implementation for CMS products, resulted in more business , new customers and revenue.
  • Enhanced database performance by 20% and scalability for high-demand sports customers.
  • Led the successful migration of legacy applications to .NET Core, reduced cost by 40% on overall deployment and maintenance.
  • Reduced overall azure / AWS storage costs by re architecture image resize flow , resulted in 30% cost savings.

Education

  • B.E. in Computer Science

    Patel College of Science & Technology (2011)

Interests

  • Cricket
  • Cooking
  • Travelling
  • AI-interview Questions & Answers

    So myself, Puneet, and I have I'm a software engineer working in the IT industry for the last twelve years. And, primarily, I have been working with the Microsoft tech stack. There, I have basically worked on many technical things. Like, starting from my career, I have worked on wind farms and the WPA. After that, I got a chance to work on mobile development using Jaming, which is a crash platform framework. And after that, I have been working on API development where I was mainly part of building or building the API, which can scale to millions of users, and we can support that load. Apart from that, also, I am part of the architecting team. So I and my team have rearchitected couple of modules in our product line so that we can support multiple other customers, which are not in the same data model or you can say, they are huge in those dimensions. So, to support them, we have to re architect some of our modules. I also migrated my dot net projects, which were running in Windows only, and then we were not able to use them on Linux or Kubernetes. So I migrated all my media kind products to dot net core. And since then, we are in the cloud world. Also, last three years, I am working as a senior tech lead. There, I am playing three roles. One is, mainly, I'm doing development. But on the other side, I'm part of requirement analysis and gathering, and then seeing whether they are good to be put in the product line or there is some architectural change. There is team collaboration as well in the same time, and then my team is there where we are doing grooming and we are delivering those features. And, I'm part of performance testing and, you say, whenever there is some issue is happening on the production environments, I'm the one who is the subject matter expert. So I also play a crucial role in those calls where I can try to mitigate or resolve those problems. So that's pretty much me. And apart from that, I'm also a good learner and keep adapting to anything. So last one year also, I am supporting one of my Java project, which has come as a transition to me. So I and couple of other people in my team were supporting that. So, usually, we were able to deliver three to four features within six months. And so, yeah, Java is something I am also comfortable with, not proficient, but comfortable. And then apart from that, I am very comfortable with front-end development where I can build something using Angular or React. And then I can integrate APIs and all in those modules. So, yeah, pretty much, yeah, I'm comfortable with this.

    So at your service, we are not using our product line. We are using Kafka to paste, but they are pretty much the same. I can relate how your service bus is basically working. The idea is basically when earlier, we had a monolithic architecture where one service was deployed and all the load was coming to that service only. And scalability was a problem with that type of architecture because you cannot scale horizontally those services. It can scale up to vertically, and then there is a limit to RAM and hard disk. And that is where these microservices or decoupled components came into the picture. And to basically communicate with each other, they'll need some asynchronous mechanism. So that is where Azure service bus plays a crucial role, which can basically play as a publisher and subscriber. So when an event is published in an asynchronous manner, that can be basically listened to by other dependent microservices, and they can perform some business. Right. So yeah. Topics are basically where the messages go. Messages are basically put there. And from there, subscribers are basically consumers or someone who consumes those topics. So first, they subscribe to those topics, and then whatever message is coming to those topics, they can get consumed. We are using Polly for retries. It can be used because you shouldn't unnecessarily call your API, and the services won't respond. You're down. So that is where this retry mechanism or circuit-breaking strategies came into the picture. We can use Polly, which is in the.NET library, and can be used for retrying. There are on/off toggles, which can be used to specify how many times you want to hit that. If any after that, you can do a circuit-breaking and be ideal so that your breaking service doesn't get impacted with the other service, which is not responding. You're basically breaking down. Apart from that, yeah. Okay. Yeah. So pretty much, yeah. I have covered this question, and yeah. So, reliable communication between microservices or decoupled components can be done using these Kafka, Redis, or Azure service bus because they are basically writing messages on the topic, and then the topic is subscribed to consumers, and consumers are continuously getting those messages, and they can play. It's more so-called as event-driven architecture in the microservices world.

    I don't have much exposure to Azure functions, so I will not be able to answer this. And I'll skip this for now, but this is something which after Java, I will be learning. I have written couple of Azure functions just for practice, to understand how they work and how we can use them in a sample project. But in our product line, we weren't using it initially, so I won't be able to answer this question.

    So dependency injection is a design pattern used in modern applications to keep two dependent classes independent. Let's say there is a dependency in terms of a class object which has to be available in the second class when we are creating the object of it. This can be resolved using dependency injection. One way to do this is to manually create that dependency and pass it to that class, and the other way is to use inversion of control frameworks, which can resolve dependencies at runtime based on the requirements of your component or classes. In.NET Core, there is an inbuilt dependency framework that we can use. However, in our.NET framework application, we also developed a custom dependency module that we migrated to.NET Core after the migration. We are not using the inbuilt framework from.NET Core, but it's doing the same thing - we can inject our dependencies, which can be either transient or singleton. Services are re-registered using service configuration. You can use AddScope, for example, to specify transient or singleton. And when you're lifting that dependency, it will be resolved via the framework. So, we'll have a default object of that class, which you have injected into the class. That's how it's specifically done.

    Not too much idea about Azure Event Grid, but, the basic concept is very similar. Whatever messaging services are available, be it Kafka, be it Azure Service Bus or Amazon SQS. Events are all the same, basically. So you publish a message to a topic, and there are subscribers or consumers that have subscribed to those topics, and they will be getting those messages. Okay. And so we are using it in our image basically, in our application, which is a media-oriented, I mean, media-driven product line. So what happens when we are getting schedules or whatever, whenever we are getting any images as part of the GIF images in our product line. The idea is basically to improve, increase, and do that work on more machines. We are using Kafka and the publish-subscribe pattern in our image processing module, where whenever there is an image to be processed, we are keeping it in a topic, and then there are the consumers who are getting the message to process. And then we are performing image resize. Same is true for our scheduled processing where we are getting hundred thousand schedules in a GIF, and the idea is to basically split this to parallel machines. We are using the publisher-subscribe pattern again where we are keeping those schedules in topics, and then there are consumers who are getting those schedules to be processed. So that is how the work which we are supposed to do in, let's say, two hours, for example, we are able to do in twenty to twenty-five minutes just by splitting that work in multiple machines. So this is one part where we are using this. And then our microservices for communication, we are using the publish-subscribe pattern again. So yeah.