profile-pic
Vetted Talent

Yash Kolhatkar

Vetted Talent
With over five years of experience, I have honed my skills in Python programming, MySQL, AWS, and GitLab. Throughout my career, I have worked on numerous projects that have allowed me to develop a strong foundation in these areas. My expertise in Python has enabled me to create efficient and scalable solutions, while my proficiency in MySQL has allowed me to effectively manage and manipulate large datasets. Additionally, my experience with AWS has provided me with the knowledge to deploy and maintain applications in a cloud environment, ensuring high availability and optimal performance. Furthermore, my familiarity with GitLab has facilitated seamless collaboration and version control within development teams. Overall, my extensive experience and skills in Python, MySQL, AWS, and GitLab make me a valuable asset in any software development team.
  • Role

    Lead Python Developer

  • Years of Experience

    5 years

Skillsets

  • SNS
  • SQL-Alchemy
  • Prompt Engineering
  • IAM
  • Git
  • Azure
  • pandas
  • Jira
  • Python
  • MySQL - 3 Years
  • DynamoDB - 1 Years
  • DynamoDB - 1 Years
  • Flask - 3 Years
  • Ubuntu - 5 Years
  • Ubuntu - 5 Years
  • AWS - 1 Years
  • AWS - 1 Years
  • MySQL - 3 Years

Vetted For

6Skills
  • Roles & Skills
  • Results
  • Details
  • icon-skill_image
    Backend Python DeveloperAI Screening
  • 61%
    icon-arrow-down
  • Skills assessed :Mongo DB, AWS RDS, MySQL, Django, Python, REST API
  • Score: 61/100

Professional Summary

5Years
  • Oct, 2021 - Present4 yr 8 months

    Lead Software Engineer

    Persistent Systems
  • Oct, 2021 - Present4 yr 8 months

    Senior Software Engineer

    Persistent Systems
  • Apr, 2019 - Oct, 20212 yr 6 months

    Software Developer - Python Developer

    SMS-Magic Powered by Screen-Magic Mobile Media

Applications & Tools Known

  • icon-tool

    Python

  • icon-tool

    Git

  • icon-tool

    MySQL

  • icon-tool

    Ubuntu

  • icon-tool

    Flask

  • icon-tool

    AWS Lambda

  • icon-tool

    Jira

Work History

5Years

Lead Software Engineer

Persistent Systems
Oct, 2021 - Present4 yr 8 months
    Developed precise project progress tracking solutions using Pandas and data analytics. Implemented automated alert mechanisms for swift communication with project heads. Currently spearheading the integration of GenAI for ETL testing automation and productivity enhancement, leveraging Microsoft Azure's OpenAI model to achieve superior testing efficiency and accuracy.

Senior Software Engineer

Persistent Systems
Oct, 2021 - Present4 yr 8 months
    Lead Python development, enhancing existing solutions. Provide expertise and aid the team in overcoming challenges. Conduct thorough code reviews to ensure quality. Identify and rectify performance issues. Drive ongoing enhancements for project excellence.

Software Developer - Python Developer

SMS-Magic Powered by Screen-Magic Mobile Media
Apr, 2019 - Oct, 20212 yr 6 months
    Implemented Business Hours feature. Integrated Talkdesk CRM. Contributed to Converse Desk App. Migrated to Python 3. Developed user management features. Implemented ISD code support. Introduced CSV for SMS campaigns. Created Message Count feature. Analyzed and resolved critical system issues.

Major Projects

1Projects

Avellino Healthcare- personalised medication Project

    Led setup of variant analysis project with Git. Developed comprehensive patient gene data analysis product. Implemented VCF compatibility check for sample data. Utilized AWS Lambda and DynamoDB for APIs and tables. Designed efficient project architecture. Employed Amazon SNS and AWS IAM for runtime and security.

Education

  • Post Graduate Diploma in Big Data Analytics

    Centre For Development Of Advanced Computing (2019)
  • Electronics & Telecommunication

    St. Vincent Palloti College of Engineering and Technology (2018)

AI-interview Questions & Answers

So, basically, I belong to and completed my engineering in electronics and telecommunication. After that, I did a post-graduation diploma in big data analytics. After that, I started working as a software developer in a company called SMS Magic. The company has a CRM product, and my main responsibilities were developing APIs, integrating those APIs with third-party APIs such as Salesforce and Talkdesk. The main technology stack was Python, SQL, and other technologies. After that, my responsibilities included production support and deployment as well. I did some migration of modules from Python 2 to Python 3. After that, I started working in a processing system as a senior software developer. Then I started working on a project called, which was a serverless product. We were using AWS for it, including AWS Lambda for API development and communication. Currently, I am working in Gen AI, integrating and leveraging capabilities to automate and exploit the process.

Can you explain the role of asset properties in PostgreSQL or any other database transaction and how they did aid in the database management? Certainly, ACID stands for Atomicity, Consistency, Isolation, and Durability, which are the set of properties that ensure level processing of database transactions. Admittedly, this property ensures that the transaction is treated as a single, indivisible unit of work. So either all the changes made by the transaction are committed to the database or none are. Consistency ensures that the database remains in a consistent state, transitioning from one consistent state to another. A database must satisfy a state of integrity constraint, we can say. Isolation ensures that multiple transactions can concurrently without interfering with each other. So durability, once a transaction is committed, these changes are permanent and survive any subsequent failure. These are the properties of database management systems.

What are the subfiling leverage commonly used in finance, and how can they be utilized? With Dooli. Several subfields in finance, like, use Python libraries. In finance, several Python libraries are commonly used. First, for tasks such as data modeling and visualization, here are some notable ones: Pandas, NumPy, scikit-learn, contilibrary, and TensorFlow. These are the Python libraries commonly used in finance. And, coming to the utilization. So, the use of these libraries is for data manipulation and data analytics. NumPy is essential for numerical computations. NumPy provides support for large multidimensional arrays and matrices. Matplotlib and seaborn are used for creating static and interactive visualizations. Scikit-learn is used for machine learning tasks such as classification, regression, and clustering. And, TensorFlow is used for deep learning applications in finance.

If you like a real-world instance, then if I'm working on a Python-based web publication that explains varying levels of user traffic, the application uses a database to store and retrieve data initially. The application is hosted on a single server, and as the user base grows, it started facing issues with the system. To address this issue, I decided to leverage cloud architecture principles, specifically using a cloud service like AWS. I implemented scalability with auto-scaling groups to automatically address the number of application servers installed based on traffic. I also did load balancing by introducing a load balancer to evenly distribute incoming requests among multiple servers. After that, I did database scaling to improve performance. Since the performance bottleneck was in the database, I considered using managed database services like Amazon RDS. And I also explored server options.

To resolve issues with real-time data processing in Python, particularly for finance products, we can use Python that involves addressing performance, reliability, and latency concerns. We can use efficient data structures and libraries, such as high-performance libraries, for efficient data manipulation. We can try asynchronous programming, like implementing asynchronous programming with libraries like asyncio to handle concurrent tasks efficiently. Then, we can integrate streaming platforms, such as Apache Kafka or AWS Kinesis, for handling item data needs. We can also profile and optimize the critical sections of our code using tools like cProfile or line_profiler. We can utilize parallel processing techniques, such as using libraries like Dask or joblib. We can also implement a caching mechanism to store and quickly retrieve frequently accessed data. Additionally, we can consider distributed computing, distributing our computation across multiple nodes.

How can solid properties effectively be implemented in Python? Okay, so let me think about it. So, the solid principles, such as single responsibility, open and close, apply. So, this solid is the fundamental design principles of object-oriented programming. Implementing them in Python involves applying good software design practices. So, we can, like, apply SRP. That is a single responsibility principle. We can ensure that each class and model has only one reason to change, separate different concerns into distinct classes and functions. Then, after that, OCP, that is open-closed principle. We can design classes to be open for extension but closed for modification. So, after that, LSP, that is the Liskov substitution principle. Subtypes must be substitutable for their base types without altering the correctness, sometimes we'll substitute for their base types without altering the correct names of the program. Also, we can ensure that the derived classes are under the contracts of their base class. Then, we can, like, ISP, the interface segregation principle. Clients should not be forced to depend on any interface they do not use, then the IP was in principle. So, it depends on the interface and not on the implementation.

So the following code snippet is missing, something. Assume we are trying to implement a singleton design pattern, what changes would you recommend? And why do you use this design pattern? Okay. Just give me yours. Be quiet as I can to think on it. So to implement the singleton design pattern in Python, we need to ensure that only one instance of a class is created and provided at a global point of access. So, the changes we can make is that we can introduce a class variable, like, an instance to implement the singleton pattern. After that, in the __init__ method, we can check if the instance is not already set. If not, then we can create the instance and check the provided parameters. If an instance already exists, then we can return that existing instance. So now, why do we use the singleton pattern? The purpose of the singleton pattern is to ensure that the class has only one instance and provide a global point of access to that instance. It is also useful when a single point of control is needed for actions that affect the entire system. In cases where creating multiple instances of a class is resource-intensive, the singleton pattern can help manage resources effectively. Also, when there is a need to have a single configuration instance shared across applications, we use a singleton pattern. In the context of DB connections, using a singleton ensures that there is only one database connection instance throughout the application, preventing unnecessary resource consumption and potential issues related to multiple connections. So, the singleton method is particularly useful in this scenario where maintaining a single point of control for database interaction is necessary.

So even the following Python function explain what okay. Even the following even the following by the function, explain what It doesn't and point out any issues you see with it. So, like, the pro info provided Python function, it seems like, attempt of to implement like, you attempted to implement a recursive calculation of the n f Fibonacci number. So, like, however, there are some issue with the code Such as, like, the function calculates the number using recursion. Like, but if n is 1 or 2, it returns 1. So bay so, like, it is a base case. Otherwise, it decursively calculates the Fibonacci number by summing the result of the 2 previous, Fibonacci numbers. and, like, issues well, The exponential com time complexity is, like, high. So, like, this is this implementation has exponential time complexity. Like, it recalculates Fibonacci numbers. Then there is a lack of, there is lack of, memo We can say there is a lack of memorization or caching mechanism implemented to store previously calculated Fibonacci numbers. So to like, as a result, the function performs redundant calculations. So, like, that will leading that will lead to inefficiency. So to address this issue, we can enhance the function by, incorporating the, to solve the intermediate results and reduce the redundant computations whatever here we are giving. So,

What framework do you prefer? Server-side logic. How does it work? Okay. So, what makes a web application more responsive? The choice of a framework for server-side logic often depends on the specific requirements of a project or the nature of the application. There are two popular frameworks for building web applications with Python: Django and Flask. Django is a full-featured framework that follows the "batteries included" philosophy. It provides a wide range of built-in functionality, such as an ORM, admin panel, and authentication. It is also well-documented and follows the MVC pattern. Django has a strong emphasis on DRY (don't repeat yourself) and convention over configuration. It also has built-in security features and practices. For ensuring high responsiveness, Django's asynchronous support allows for handling a large number of concurrent requests. Flask is a lightweight and flexible framework that provides essential components for building web applications. It does not impose a specific structure, giving developers more freedom to choose libraries and components based on their project's needs. This flexibility influences response time and scalability. It also supports caching and APIs.

What are some scalability challenges you've full seen in this full API, and how would you work around them? So let's discuss some common challenges and potential solutions. Some common challenges are increasing the request load. As the number of requests increases, the EPM may experience performance degradation. So, to optimize this, we can implement load balancing and distribute incoming requests to multiple server instances. This ensures even distribution of load and prevents a single server from becoming a bottleneck as well. Another challenge is database scalability. The growing user base can lead to an increase in database load and potential performance issues. So, to optimize this, we can utilize database sharding or replication, as well as caching mechanisms. After that, the latency and the user experience may increase as the API handles more requests. To optimize database queries, we can use caching on frequently accessed data, and implementing a content delivery network as well. Maintaining state in a scalable manner can also be challenging. So, we can design the API to be stateless where possible, and use stateful components, such as a database, for storing information.