profile-pic
Vetted Talent

Akanksha Panchal

Vetted Talent

I have 10+ Years of experience in enterprise application development using Java along with supporting frameworks. I have lead end-to-end development of APIs, Features and Modules followed by testing and deployment.

Technologies : Java, J2EE, MySQL, Spring MVC, Spring boot, Microservices, Hibernate, Data Structures, Algorithms, OOPS Concept, Design Patterns

  • Role

    Back End Developer

  • Years of Experience

    10.6 years

Skillsets

  • Java - 10 Years
  • Core Java
  • Hibernate
  • HTML
  • JavaScript
  • MySQL
  • Oracle
  • RESTful
  • SOAP
  • Spring Boot
  • Spring MVC
  • Java EE
  • Spring Boot - 5 Years
  • Algorithms
  • Data Structure

Vetted For

6Skills
  • Roles & Skills
  • Results
  • Details
  • icon-skill_image
    Staff EngineerAI Screening
  • 54%
    icon-arrow-down
  • Skills assessed :CI/CD, Python, Java, Micro services, Spring Boot, System Design
  • Score: 49/90

Professional Summary

10.6Years
  • Mar, 2021 - Sep, 20243 yr 6 months

    Principal Software Engineer

    Dell Technologies
  • Jun, 2020 - Mar, 2021 9 months

    Software Development Engineer 3

    Nineleaps
  • May, 2017 - Jun, 20203 yr 1 month

    Senior Software Engineer

    IBM
  • Feb, 2014 - May, 20173 yr 3 months

    Senior System Engineer

    Infosys

Applications & Tools Known

  • icon-tool

    Eclipse

  • icon-tool

    IntelliJ

  • icon-tool

    Visual Studio

  • icon-tool

    SVN

  • icon-tool

    Jira

  • icon-tool

    Oracle

  • icon-tool

    MySQL

  • icon-tool

    Tomcat

  • icon-tool

    ADO

  • icon-tool

    Figma

Work History

10.6Years

Principal Software Engineer

Dell Technologies
Mar, 2021 - Sep, 20243 yr 6 months
    Engage in discussions about the product roadmap & assume responsibility for the associated development tasks. Determine improvements for the feature based on user input and devise a plan for implementation. Enumerate all development tasks and areas affected by the new feature implementation, and segment the task into stories for the team to tackle. Participate in all stages of development, from execution and testing through to deployment. Conducting deployment tests across all environments. Engaging in data modelling and definition of schema, tables and views. Constructing queries for the generation of reports that will be incorporated into dashboard interfaces. Establishing GitLab pipelines for the deployment of the project across development, production and UAT environments. Undertake responsibility for feature development, contributing to both frontend and backend tasks.

Software Development Engineer 3

Nineleaps
Jun, 2020 - Mar, 2021 9 months
    Adding Category based mapping for newly added products from store managers. Adding a store approval panel for approving newly added stores in locality. Dashboard for tracking any newly launched campaign. Email Notification feature for any order status change.

Senior Software Engineer

IBM
May, 2017 - Jun, 20203 yr 1 month
    Globalized the product by externalizing messages and tags for different locales thus expanding the customer base globally. Enhanced the Event Framework for new solution implementation and updated the Monitor module to display replication status and additional details. Developed Recovery Location Abstraction Layer (RAL) for Backup Snapshot selections and updated health status and implemented Bulk Upload for automated dataset creation. Improved Group Creation Framework for Cyber Site discovery and enabled two-way TLS authentication for communication between RO and its agents. Utilized Cloud APIs (like Azure, AWS SQS) for solution building and contributed to the Rapid Product Development (RPD) Framework to increase team throughput. Tested APIs for feasibility checks provided by solution engineers.

Senior System Engineer

Infosys
Feb, 2014 - May, 20173 yr 3 months
    Developed an international dialing use case allowing user-specific access to various international zones. Designed BPMN scripts and flow for all use cases catered by CCPS and deployed builds in customer's UAT and production environments. Developed a Report Generation Module using the BIRT framework and consumed SOAP and RESTful services for data gathering. Managed weekly stats processing for the number of requests processed by the application. Maintenance and Enhancements for the existing use cases. Production bug Fixes and Deployment of the same.

Achievements

  • Received Multiple internal awards for quality feature delivery within short span of time and of high business impact.
  • Appreciation for the performance and quality product from client & internal team.
  • Delivered tech talks and training to the team on other technologies.
  • No Escalation till date
  • Received Multiple internal awards for high business impact by quality feature delivery within short span of time.
  • Delivered tech talks & training to the team on other technologies. Ensuring smooth transition for new on-boarders.
  • Appreciation for the performance and quality product from client & internal team. No Escalation till date.

Major Projects

10Projects

DBaaS (Database as a Service)

    A self-tool aimed at automating the operations of DDC provisioned databases as requested by Database Administrators. It serves a significant purpose in executing day-to-day operations for DBAs, streamlining the processes and improving efficiency.

DAAT (Database automation and analytics tool)

    A unified portal for all the insights and operations of DDC provisioned DBs are made available to the user & business. It offers utilities like reports, change in assignments groups, migrating DB owner region, changing backup owner, etc.

IBM RO (Resiliency Orchestrator)

    A tool for managing disaster recovery, ensuring business process continuity by protecting applications, data and infrastructure. Enables operations like Switchover, Switchback and Failover.

CCPS (Cisco Collaboration provisioning services)

    A middleware application to cater to the provisioning request made by customers service request portal. It made changes to the end users phone & voice mail profile, providing auto provisioning for VOIP devices.

DBaaS(Database as a Service)

Mar, 2021 - Present5 yr 3 months
    DBaaS is a self-tool aimed at automating the operations of DDC provisioned databases as requested by Database Administrators. It serves as a significant purpose in executing day-to-day operations for DBAs, streamlining the processes and improving efficiency.

DAAT(Database Automation and Analytics Tool)

Mar, 2021 - Present5 yr 3 months
    DAAT is a consolidated portal where all the insights of DDC provisioned DBs are made available to the user and business. It offers a plethora of utilities like reports, change in assignments groups, moving DB owner from one region to another, changing DB backup owner and many other features.

MyGate Commerce

Jun, 2020 - Mar, 2021 9 months
    MyGate is an app-based security and community management solution for gated premises. MyGate Commerce is a service which enables eCommerce for MyGate App users. Using this feature new stores can be added and users can place orders from stores serving their localities.

IBM RO (IBM Resiliency Orchestrator)

May, 2017 - Jun, 20203 yr 1 month
    IBM RO is a tool for managing disaster recovery, ensuring business process continuity by protecting applications, data, and infrastructure. It offers a centralized dashboard for monitoring RPO, RTO, and overall IT health.

CCPS(Cisco Collaboration Provisioning Services)

Feb, 2014 - May, 20173 yr 3 months
    CCPS is a middleware application to cater to the provisioning request submitted customers service request portal and processing them by making changes to the end users phone or voicemail profile, thus providing auto provisioning for VOIP devices associated with the end user.

CFA(Call Forward Anyline)

Feb, 2014 - May, 20173 yr 3 months
    CFA is an IP Phone service offering a call forwarding feature, facilitating forwarding calls to other numbers or voicemail and presenting a menu showing the call forwarding status for each line.

Education

  • Bachelor of Technology: Electronics & Communication Engineering

    Vivekananda Institute of Technology (Rajasthan Technical University), Jaipur
  • Bachelor of Technology: Electronics & Communication Engineering

    Vivekananda Institute of Technology (Rajasthan Technical University)

AI-interview Questions & Answers

Yeah. So, my name is Akank Shavanchal, and I am working as a principal software engineer at Dell. I worked mostly as an individual contributor. I also have worked as a team leader in the past. I worked, so my responsibilities are mainly to implement back-end, APIs, and end-to-end region implementation, primarily focusing on the back-end implementation. I use technologies like Java, Spring Boot, microservices, SQL, and Hibernate, as well as other supporting frameworks that are needed for the Java Enterprise application. I have worked in both monolithic and microservices architecture, and I'm familiar with design principles for systems, which go into while designing any new application. So

Elaborate a Python utility that could dynamically address microservices based on based on system load. Okay. So I have I haven't worked with Python, but I worked with Java or Microsoft Business. So I'm unaware of any such utility, which goes, which is available.

What's the approach to identify and resolve a Spring Boot application startup failure to creation. Okay. Let me think about it. Identify and so any Spring Boot application or Spring application would be so that can have unidentified bean exception by startup because that bean in which we are expecting to be available or which is getting injected somewhere or getting auto-wired somewhere that is not available with the application for us to use. So in that case, mostly beans are created with class name, and we would go there and identify how we have annotated the bin if we have annotated it right or are we using any other qualifiers over there for bin creation. So, we would make use of it. And what happens is in case of multiple beans with the same name, the place we are auto-wiring or using, we need to use a qualifier as well just to resolve the ambiguity. So, that is one of the approaches. I would check for the bin name or the class name causing the issue. And, I mean, it would be no such win definition kind of exception. Also, we would check if there is a dependency chain, if there are beans which are dependent on other beans, so we would have to trace back till that point. And we can also run the application and debug with debug logs for us to get more information. The common causes are actually the annotation missing and misconfiguring of the bean, or there is also sometimes circular dependency as well. So, or maybe the bean scope is very much limited. So, we would check if we have mentioned any of that. That would be my approach to deal with any independent startup error. And, also, of course, if there are third-party means which we are using, we would have to check for class path for the dependencies.

Again, I haven't worked with Python, so I cannot really answer on the tools and frameworks available for monitoring and logging, the health of microservices. But, in Java, we have ELK and other stacks and some monitoring logging tools, which we use with the application.

Yeah. Just want to get it out of scope for me because, like, Python-based AI models, I'm not aware of, so I would skip them.

0 downtime deployments in microservices using Spring Boot can be ensured by having a backup application available, a load balancer configured, and implementing the circuit breaker pattern. 0 downtime means there would be a backup application available or something like so, downtime does happen in the primary application, and it does happen for any issue in the primary site. So, we normally deal with it by having secondary sites available for the application or basically backup applications also backup servers available where we have deployed the microservice. Specific to Spring Boot, we can make use of a load balancer configured, which we have done for one of our applications. In the load balancer, if there is a particular request that is not solved, it could send the request to the next in the cyclical order, and it would send it to the next server. We can also have Spring Boot's actuator, which provides health check endpoints so that we can make use of them. If the application's health is not as per the parameters, then it can indicate us. Then, there is another secondary deployment of the same application. And there is one specific design pattern called the circuit breaker pattern. This pattern is meant to serve zero downtime. It uses history and breaks the circuit to the unhealthy instance. If it has identified any such instance, it would not send the request through that. We can implement the circuit breaker pattern also. These are some of the ways to deal with downtime in the application, including monitoring, alerts, and logging.

Name with the block of job or for. Can you sort threshold that may arise from exception? And you suggest how this could protect the web from slow business when an exception occurs. There is a rest controller, and then there is request mapping, which is for API users. Then there is get mapping. Then there is get all users. So, that will get all the users. And then if it is not able to get all users, then it may throw an exception over here, and then it will say, okay, from this method. From this method, we just put down from this method, or catch and then return an exception. So, this response entity, the runtime exception, when it occurs, it, before that, I could see one compile-time exception also. In the method declaration, the response entity has to specify a generic, and within those, there is a missing bracket for specifying the generic before, or like, public response entity is not right, and then get all user is fine. So, once we do get all users, and the list of users will get assigned, then users would be sent as a response entity. But if we are not able to get, we would be catching the exception, whatever it is. So, a parent exception, we are catching. And then again, we are forming a response entity with the error, which is an error code, internal server error. We are not showing any message over here. We are just showing the code is internal server error. So, it will show internal server error over there. And then wherever we are calling this find all users from, we are doing get all user. Then in the service implementation, since there is in the user, okay, user classes, they are user service, okay.

This is the corrected transcript text. Okay, so if multiple threads, this is an implementation of single time. And if we try to lazily initialize lazy initialization means, first, we are checking that service instances are not available. And if it is not available, then we are assigning up. But if multiple threads access the get service instance at the same time, since there is no synchronized use over here, multiple threads would be able to execute this code, which is inside the method, which is if, inside the if block also. So what will happen is that multiple new service method new service object would be created. And the service instance will be able to point to only one at the end, but then again, we would have the for what we would have to return which is service instance. So the singleton pattern will be broken over here because we wanted to have only one object of this, and we did not want others to create unlimited objects. But if as many threads let's suppose 3 or 4 threads come together to get this instance, then because this is not synchronized, it will be able to create as many objects as the threads are. So for that method, we can actually make use of synchronized keyword with the method or with the block, so that and also we can implement a double check method over here to overcome this.

Then we have a comprehensive backup strategy for a microservices ecosystem that spans multiple data stores. Comprehensive backup strategy. We may answer this screen if this happens. Got it. My laptop is still just a screen. So with multiple data stores, what I see is that the application will have to create connections with these data stores every now and then. And then we have to fetch data from multiple data stores because the data is not all in the same place, which would be an interdependent task to fetch data from all of them probably for a single API. We might have to contact multiple data stores. So I mean, there has to be consistency, availability, scalability, and ease of recovery in all the data stores. So how do I design a backup for it? Backup for backup, we need to have a backup for each kind of data store. That is what I'm thinking of. Like, for relational databases, there would be a logical backup, such as a dump or something. And there could be a cloud-based backup or a replication backup or a high-availability backup kind of thing. And for NoSQL data stores, we can have snapshots available of them, okay, for the recovery purpose. But yeah, so I discussed MySQL and NoSQL, then there could be message queues. So again, for message queues, there has to be a different strategy, like a parallel queue or something.