profile-pic
Vetted Talent

Gurpreet Kaur

Vetted Talent
Dynamic and results-driven Senior .NET Full Stack Software Engineer with 10 years of hands-on experience in leading-edge technology environments. Proven track record of delivering high-quality software solutions for prestigious clients across industries such as finance, consulting, and technology. Adept at driving full project lifecycles from conception to delivery, with a strong focus on leveraging emerging technologies to optimize performance and scalability. Skilled in cross-functional collaboration, agile methodologies, and strategic problem-solving. Passionate about staying abreast of industry trends and continuously enhancing technical proficiencies to deliver innovative solutions that exceed client expectations.
  • Role

    .NET and Angular Developer

  • Years of Experience

    8 years

Skillsets

  • Bootstrap
  • VB.NET
  • Trello
  • MS SQL
  • MongoDB
  • JWT authentication
  • Jira
  • HTML
  • Docker
  • Devexpress
  • CSS
  • Angular - 8 Years
  • Asp.net mvc
  • ASP.NET Core
  • Entity Framework - 10 Years
  • Azure DevOps - 7 Years
  • BLAZOR - 6 Years
  • SQL Server - 10 Years
  • C# - 10 Years
  • .NET Core - 10 Years
  • JavaScript - 8 Years

Vetted For

9Skills
  • Roles & Skills
  • Results
  • Details
  • icon-skill_image
    C#/SQL ProgrammerAI Screening
  • 71%
    icon-arrow-down
  • Skills assessed :Microsoft SSRS, PowerBI, .NET, AI, Database management, C#, JavaScript, SQL, Type Script
  • Score: 64/90

Professional Summary

8Years
  • May, 2021 - Present4 yr 4 months

    Senior Software Engineer

    Infosys
  • Jun, 2016 - Apr, 20214 yr 10 months

    Senior Software Engineer

    Capgemini
  • Jul, 2012 - May, 20163 yr 10 months

    Software Engineer

    Tata Consultancy Services

Applications & Tools Known

  • icon-tool

    Angular

  • icon-tool

    .NET Core

  • icon-tool

    VB.NET

  • icon-tool

    MySQL

  • icon-tool

    Azure DevOps Server

Work History

8Years

Senior Software Engineer

Infosys
May, 2021 - Present4 yr 4 months
    • Spearheaded the design and implementation of a scalable SaaS platform for the healthcare industry, leveraging C#, .NET, and cloud computing technologies.
    • Developed and optimized backend services in C# to handle large volumes of data efficiently, improving application performance by 30%.
    • Lead project planning and execution efforts, utilizing ASP.NET and .NET Core for backend development and MVC framework for frontend implementation.
    • Design and develop robust, secure, and scalable web applications using the .NET framework, ASP.NET Core, and related technologies.
    • Design and develop scalable and maintainable web applications using .NET technologies, including Angular for building dynamic user interfaces.
    • Design and develop robust and secure web applications using ASP.NET MVC and .NET Core, leveraging Entity Framework for data access and LINQ for querying databases.
    • Implement Razor layouts and partial views to modularize UI components and promote code reusability across multiple pages within an ASP.NET Core MVC application.
    • Define SharePoint governance models, information architecture, and solution blueprints to ensure scalability, maintainability, and alignment with business goals.
    • Develop high-quality, maintainable code for applications on various platforms utilizing the MAUI framework.
    • Implemented continuous integration and continuous deployment (CI/CD) pipelines using Azure DevOps, reducing deployment time by 60% and enabling rapid delivery of new features to production.
    • Integrate NgRx into Angular applications to manage complex application states, facilitate data flow, and ensure consistency across components.
    • Implement Redux architecture in React applications using TypeScript for predictable state management and data flow.
    • Utilize Blazor components to create reusable UI elements and implement rich client-side interactions without requiring JavaScript.
    • Develop and execute tests to ensure the stability and performance of applications built with Xamarin/MAUI.
    • Champion DevOps practices for SharePoint development, implementing infrastructure as code (IaC) with tools like Azure DevOps, Terraform, and PowerShell DSC for automated provisioning and configuration.
    • Utilize WPF for building rich desktop applications, leveraging MVVM (Model-View-View-Model) architecture for separation of concerns and testability.
    • Implement serverless architectures using AWS Lambda and API Gateway for microservices-based application development and deployment.
    • Lead project planning and estimation efforts, leveraging tools like Azure DevOps or JIRA for project tracking, resource allocation, and progress monitoring.
    • Lead architecture discussions and make recommendations for system design, scalability, and performance optimization, leveraging technologies like Docker and Kubernetes for containerization and orchestration.
    • Utilize tools like Jenkins, GitLab CI/CD, or Azure DevOps to orchestrate CI/CD workflows and trigger Ansible and Terraform scripts for infrastructure and application deployment.
    • Demonstrate expertise in WCF for building interoperable and scalable services, facilitating seamless communication between distributed systems and integrating with third-party APIs and services.
    • Design, develop, and optimize T-SQL queries, stored procedures, functions, and views for data retrieval, manipulation, and reporting purposes.
    • Participated in Agile methodologies, including iteration planning, daily stand-ups, and sprint reviews, to ensure timely and efficient delivery of high-quality software.
    • Integrated SSIS with SSRS to automate report generation and distribution, streamlining reporting processes and increasing efficiency.

Senior Software Engineer

Capgemini
Jun, 2016 - Apr, 20214 yr 10 months
    • Implemented complex algorithms and data structures in C# to solve challenging business problems, resulting in a 20% reduction in processing time.
    • Optimized ASP.NET applications for cloud deployment, leveraging .NET Core's cross-platform capabilities to reduce hosting costs and improve scalability.
    • Implemented Microservices architecture using .NET Core and Docker, leading to enhanced scalability, fault isolation, and deployment flexibility for enterprise-level applications.
    • Implement responsive and user-friendly frontend interfaces using ASP.NET MVC Razor views or client-side frameworks like Angular or React.js, ensuring compatibility across different devices and browsers.
    • Implement robust backend solutions using ASP.NET Core and Entity Framework, integrating with databases like SQL Server and PostgreSQL for data storage and retrieval.
    • Implement authentication and authorization mechanisms using ASP.NET Core Identity, OAuth 2.0, and JWT to secure web applications and APIs.
    • Deployed and managed Kafka clusters on Azure, ensuring high availability and fault tolerance, which led to a 30% reduction in system downtime and improved data streaming capabilities.
    • Develop scalable, maintainable, and reusable Angular components using Angular CLI, ensuring adherence to best practices in component design and development.
    • Utilize React Context API for managing global state in simpler applications, avoiding unnecessary complexity while ensuring efficient state management.
    • Utilize NgRx for state management in Angular applications, implementing actions, reducers, selectors, and effects to manage application state in a predictable manner.
    • Integrate Blazor components seamlessly with other .NET technologies such as ASP.NET Core for backend services, Entity Framework Core for data access, and SignalR for real-time communication.
    • Develop Razor Pages with a combination of HTML markup, C# code-behind files, and Razor syntax for defining page structure, handling HTTP requests, and rendering dynamic content.
    • Design and develop cloud-native .NET applications optimized for Azure, leveraging Azure SDKs and APIs for seamless integration with Azure services.
    • Implement custom SharePoint components, including web parts, field types, content types, and application pages, leveraging SharePoint APIs and client-side technologies.
    • Design and develop cloud-native .NET applications optimized for AWS, leveraging AWS SDKs and APIs for seamless integration with AWS services, such as Amazon SQS and Amazon SNS for messaging and Event-Driven Architectures.
    • Develop and maintain Terraform scripts for deploying and managing infrastructure components like virtual networks, compute instances, storage accounts, and databases.
    • Develop rich, interactive user interfaces using WPF for desktop applications and ASP.NET MVC with Razor for web applications, ensuring responsive design and optimal user experience.
    • Lead project planning and execution efforts for database development projects, utilizing T-SQL for database querying, SSIS for ETL workflows, and SSRS for report generation.
    • Design and implement RESTful APIs and WCF services for seamless integration with various front-end applications and third-party systems.
    • Write unit tests, integration tests, and end-to-end tests for .NET applications using frameworks like xUnit, NUnit, and MSTest to ensure high code quality and reliability.
    • Mentored and coached junior engineers in .NET development best practices, resulting in accelerated skill development and improved team performance.

Software Engineer

Tata Consultancy Services
Jul, 2012 - May, 20163 yr 10 months
    • Engineered a real-time telematics system for heavy machinery, optimizing equipment efficiency by 35%.
    • Write clean, maintainable, and efficient code using .NET, C#, and ASP.NET under the guidance of Senior Developers.
    • Continuously improve coding skills and knowledge of .NET technologies through on-the-job learning and external resources.
    • Develop robust and scalable RESTful APIs using .NET Core, ASP.NET Web API, or similar frameworks, adhering to RESTful principles and best practices.
    • Developed Agent Portal with HTML5, CSS, LESS, JSON, AJAX and React JS for developing user interface and server-side technology with Node JS.
    • Utilize Azure and AWS cloud services for scalable, reliable, and secure deployment of backend services.
    • Write unit tests to ensure code quality and functionality, using frameworks like MSTest, NUnit, or xUnit.
    • Use version control systems like Git to manage code changes and collaborate with the development team effectively.
    • Write complex queries, stored procedures, and optimize database interactions using Entity Framework or ADO.NET.
    • Collaborate with IoT specialists to integrate sensor data into software applications.
    • Design and optimize database schemas using SQL Server, PostgreSQL, or other relational databases, considering factors such as performance, scalability, and data integrity.

Major Projects

5Projects

EMR (Electronic medical records)

    Web-based therapy management software allowing physical, occupational and speech therapists to create patient documents, patient scheduling, telehealth, billing, and secure portals.

Smarttrack

    Web app to manage vehicles, trace drivers, routes, and entities related to tracking systems.

CellarPass APN Notifications

    API built for restaurant managing systems to send notifications to registered mobile devices using Azure Notification Hub.

PunchAlert

    Application related to alert & emergency system for notifications and tracking.

Finance House

    Wide application for financial services related to credit cards and gold loans, built using ASP.NET Core Web API.

Education

  • Master of Science in Information Technology

    Punjab Technical University

Interests

  • Watching Movies
  • AI-interview Questions & Answers

    Hello. I'm Gurpreet Kaur, and I have been working as a full stack developer, uh, on asp.netframework since 10 years now. And, uh, my core programming languages are csharpvb.net and building web APIs, building UIs on Angular framework. And along with that, I have hands on experience, uh, using various ORMs, for example, entity framework, dapper. And then, uh, I have experience with Microsoft SQL Server. And if I talk about cloud computing services, uh, I have experience with Azure, DevOps, Azure resources, and stuff. And, um, secondly, it is AWS consuming s 3 bucket to upload the files, retrieving data from there, and so on. And, yeah, this is the whole, uh, like, tech stack which I work on.

    Alright. So in order to validate the accuracy of the data and the reliability of the data analysis, so what I used to do is I used to query data in the database itself, writing SQL queries and seeing what output I'm getting. And if I need to validate it, uh, from the UI, I suppose. Uh, I need to compare some data, uh, based on some interpretation or calculation formula. So I used to query, uh, data directly in the database, and then I used to compare it with the, uh, output which, uh, my system or the web APIs are returning to the UI. So yeah. Directly, uh, creating the database first and comparing those records with the output of the on the use, uh, UI side. So this is what I used to do, uh, before presenting my findings.

    Alright. Yeah. I have been working to build web APIs, restful web APIs from like, it's been 8 8 or 10 years now, approximately. Yeah. So I used to build web APIs, uh, considering the security, whether it is identity server 4 or OpenID Connect to get JWT tokens and just tokenizing the request from the front end in order to get authorized, uh, like, access and getting the data from the web API. And in order to have razor templates, yeah, uh, when the b web API is having a response, I used to render or bind that data on the razor template to build the web pages. And yeah.

    Alright. So in order to meet, uh, multiple inheritance because c sharp, like, object oriented programming, c sharp language doesn't support multiple inheritance too. So in order to achieve that, uh, we used to, uh, go with the interfaces. So we we need to define our members and the methods and the interfaces itself and then implementing in them into another service files, exposing them and consuming them, having the actual actual implementation there. And whenever when when, uh, because abstract classes cannot be initialized, uh, so we we used to go, like, with interfaces instead of abstract class and garbage collection. It is to prevent memory leaks. So whichever object is being used, it has to be disposed of, uh, after the use or after the request gets executed. So garbage collection comes in place in order to meet that, uh, like, in order to achieve, uh, in order to dispose the, uh, resources. And this is these things help a lot. Like, it it improvises the performance, and, also, it helps to clear the memory. And, uh, Yeah.

    Okay. So stored procedures are basically the inline SQL queries, uh, which we use to write, and they could be nested. Like, we we have various joints. We can do unions, intersections. So stored procedures could be a long, uh, SQL like, group of long SQL queries. And functions are, uh, SQL queries, they return, uh, they have, uh, a return they they return an integer. But functions are also the sequel objects only where we do some, um, some sort of calculation. And that that function those functions can be consumed within these stored procedures. And thirdly, views are also the temporary temp, uh, like, temporary tables only where we used to store these result of SQL queries to read data from.

    So if I talk about, uh, reusable code so, um, we used to build a utility layer. Suppose I have a utility layer where I have set of methods which are doing some generating functionality. Suppose, uh, I have a method or I need to join strings or I need to join, uh, like, I need to convert an array into a comma separated string value. So that could be a common method, and it can be used application wide. So I I will be keeping it into a separate utility named layer, which I'll I will expose as and when required. So if we do reusable code, uh, this is basically to follow the dry, principle of the coding language where we are not repeating ourselves. So don't repeat yourself. Uh, it is to write a single piece of code, which which should not be rewritten every time. Uh, it it should be consumed right away. So common methods, which are doing some basic calculation or suppose I have a formula driven any interpretation of data. So I will be creating a common method only, which will be called as and when required from different services. And this helps a lot in order to have a clean, uh, clean written code, easy to maintain code, and, uh, scalable code. It will not use much resources, and it will improvise the performance as well.

    Alright. So, again, uh, it is to have a scalable and easy to maintainable architecture. First of all, we should have a well developed architecture. So, uh, especially, we should have entire architecture where we have different layers, easy to read code. And if a team is working over the same code, though, so, uh, naming convention should be written properly that every developer can understand. Also, XML practices should be followed. XML commenting should be followed. This is in terms of implementation. And, also, in order to help or in order to, uh, do error handling for web applications, we should follow loggers where we are we are just writing the errors which are which has been triggered by the user interactions on the web a p web applications. So if if a user if any user encounters any error, uh, are we should write those errors into our log file so that we can just go back to the log file and check the code line, and we can read out the entire stack trace in order to see which line of code has broke, and we can fix it right away. And, also, to make it more, like, uh, best user experience, we should not, uh, throw errors as a layman. So errors should be thrown with a meaningful message on the UI so that users can also understand what has failed, uh, whether it was it whether it was users' improper input or any, uh, uh, any anything else has broken on the back end. And, also, in our in order to have performance, uh, in order to meet performance properly, we should, uh, we should have services, uh, in the background. So if anything needs to be scheduled, suppose email sending or SMS sending, we should have background background server files, service files, which are which will be working in the background. And, also, in order to have, uh, while we are reading large data, we should, uh, go with the server side, pagination, sorting, filtering, uh, which will return little chunk of data on the UI side, and it will improvise the performance. And and yeah. Those would be some of the practices which I will be following. Along with that, I would like to follow solid principles, uh, in terms of the implementation of code. That's it.

    Alright. So suppose, uh, I have been assigned a task. I have been given any feature or any bug to fix. And suppose, um, during the review or at or, uh, when I had just delivered my changes and they went live and things were not, uh, working as expected, Then at that point, of course, I would be the one who who will be held responsible because I was the one who had worked on it. And if the things are not working, things are not working as expected. I would be the one that, uh, who was responsible. And, of course, I would like to like, I would go further to revise it and get it reviewed by the other team members or, uh, maybe directly by the business team so that they can, uh, share their feedback, and I would learn more about it.

    Okay. So, yeah, generally, uh, like, as I had worked with previous teams, previously with, uh, different teams, so there were times when when any team member reaches out to me that they have been facing this issue. Or sometimes while working on my assigned ticket, I used to find out some different bugs on the same screen or while analyzing any work item I used to find. If if I find any bug, I used to address it right away regardless of who has worked on it or whether I had worked on it earlier, whosoever has worked on it. So I used to solve that issue, and I used to notify the team without pointing out to anyone. I used to notify the team or the team manager that, yes, I had found it, and I have included the patch in my work itself. And team has always appreciated those findings and those those fixes. And even if I need some more information in order to get it fixed, I used to talk to the team like, team members. And, yeah, it has been always be, like, a fruitful thing.