profile-pic

Santhosh D S

I am technology enthusiast with history that spans leadership, full stack dev, and Android app expertise. With relentless curiosity for technology and an unwavering commitment to pushing the boundaries of what's possible, I thrive on solving complex technical challenges and inspiring my team to excel.
  • Role

    Project Lead Developer

  • Years of Experience

    7 years

Skillsets

  • Team Lead - 3 Years
  • Blockchain - 0.2 Years
  • Adaptable - 7 Years
  • ECS - 2 Years
  • Security - 3 Years
  • GitLab - 4 Years
  • SNS - 3 Years
  • HTML - 5 Years
  • NestJS - 2 Years
  • Firebase - 3 Years
  • Web Services - 5 Years
  • Communication - 7 Years
  • EC2 - 3 Years
  • CSS - 5 Years
  • testing - 5 Years
  • Ci/Cd Pipelines - 3 Years
  • Jest - 4 Years
  • Leadership - 3 Years
  • React Native - 3 Years
  • CI/CD - 3 Years
  • Android - 3 Years
  • Cloud - 4 Years
  • Cloud Services - 4 Years
  • Angular - 5 Years
  • Angular - 5 Years
  • Node Js - 5 Years
  • Node Js - 5 Years
  • Design - 5 Years
  • MySQL - 2 Years
  • Database - 5 Years
  • DynamoDB - 0.2 Years
  • Test cases - 5 Years
  • Architect - 1 Years
  • React Js - 5 Years
  • Next Js - 2 Years
  • Mongo DB - 1 Years
  • DevOps - 4 Years
  • React Js - 4 Years
  • react - 4 Years
  • FullStack - 5 Years
  • Lambda - 2 Years
  • Docker - 3 Years
  • AWS - 4 Years

Professional Summary

7Years
  • Mar, 2021 - Present5 yr 5 months

    Project Lead Developer

    Ideacrestsolutions Pvt Ltd
  • Jun, 2019 - Mar, 20211 yr 9 months

    Project Lead Developer

    JANGPHAI SOLUTIONS PRIVATE LIMITED
  • Mar, 2018 - Jul, 20191 yr 4 months

    Software Engineer Team Lead

    Rayies Global Solutions Pvt. Ltd
  • Sep, 2016 - Mar, 20181 yr 6 months

    Android Developer

    Kroslinks Tech Solutions Pvt Ltd

Applications & Tools Known

  • icon-tool

    Git

  • icon-tool

    Javascript

  • icon-tool

    React

  • icon-tool

    Angular

  • icon-tool

    Node.js

  • icon-tool

    PostgreSQL

  • icon-tool

    Figma

  • icon-tool

    Visual Studio Code

  • icon-tool

    NPM

  • icon-tool

    Jira

  • icon-tool

    Postman

  • icon-tool

    Microsoft Teams

  • icon-tool

    Monday

  • icon-tool

    AWS (Amazon Web Services)

  • icon-tool

    AWS CloudFormation

  • icon-tool

    GitLab

  • icon-tool

    TypeScript

  • icon-tool

    NestJs

  • icon-tool

    Next.js

  • icon-tool

    gRPC

  • icon-tool

    OPENLCA

Work History

7Years

Project Lead Developer

Ideacrestsolutions Pvt Ltd
Mar, 2021 - Present5 yr 5 months
    At Ideacrest, we are passionate about making a positive impact in the world of sustainability and data-driven solutions. As a Project Lead Developer at Ideacrest, I had the privilege of working with an exceptional team on groundbreaking projects, including a significant collaboration with our valued client, Green Story. Key Achievements and Contributions: Complex Supply Chains: We created intricate supply chain solutions that encompassed various components, tackling the challenges of a vast and dynamic fashion industry. Microservices Architecture: Our platform was built on a foundation of microservices, where we meticulously handled millions of orders, demonstrating our commitment to scalability and efficiency. CI/CD Excellence: We seamlessly integrated GitLab and ECS for Continuous Integration and Continuous Deployment (CI/CD), ensuring a smooth and efficient development pipeline. AWS Expertise: Leveraging AWS services, such as S3, CloudFront, Lambda, EC2, Lightsail, ECS, SNS, SES, and SQS, we ensured the robustness and reliability of our systems. Domain-Driven Design: We followed the best practices of Domain-Driven Design (DDD) to create features that were not only functional but also architecturally sound and maintainable. Team Leadership: I had the honor of leading a talented team of 7-12 individuals, fostering collaboration, innovation, and the successful execution of our projects. Implemented comprehensive testing strategies utilizing Jest and React Testing Library to ensure the reliability and robustness of React applications. Wrote and executed test cases, covering diverse scenarios to validate functionality and maintain code quality.

Project Lead Developer

JANGPHAI SOLUTIONS PRIVATE LIMITED
Jun, 2019 - Mar, 20211 yr 9 months
    I had involved in design and development from scratch for SEFU Product development, which is a Mobile, web application for residential communities. It has many features for community management for residential apartment complexes such as Security Management, Accounts Management, Software Management. Collaborated on the development of CURABLE, a comprehensive Mobile and Web-based consultation platform for Medical Practitioners. Engaged in real-time Video and Audio communication features, actively participating in brainstorming sessions and design discussions. Designed and contributed to the creation of a Mobile platform catering to holidaymakers for GravityHaus client. Facilitated seamless reservation of Resort accommodation, ordering of services, and booking for activities like Gym and Skiing. Actively engaged in discussions to ensure a user-friendly and efficient application. Played a pivotal role in the development of a mobile-based application for the remote management of IOT devices. The system was designed to detect and neutralize harmful mosquitoes, addressing concerns related to diseases like dengue and malaria. Collaborated closely with the team during brainstorming sessions to define parameters and functionalities for real-time monitoring.

Software Engineer Team Lead

Rayies Global Solutions Pvt. Ltd
Mar, 2018 - Jul, 20191 yr 4 months
    Collaborated closely with software development and testing team members to architect and implement robust solutions aligning with client requirements. Ensured the delivery of applications meeting high standards in functionality, scalability, and performance. Revitalized outdated code bases by implementing modern development standards, enhancing overall functionality, and improving the user experience. Applied strategic updates to align systems with current industry best practices. Integrated third-party tools and components seamlessly into applications, enhancing functionality and expanding feature sets. Ensured smooth interoperability and optimal performance. Conducted in-depth analysis of proposed technical solutions based on comprehensive evaluations of customer requirements. Participated in critical decision-making processes to ensure alignment with project objectives and client expectations.

Android Developer

Kroslinks Tech Solutions Pvt Ltd
Sep, 2016 - Mar, 20181 yr 6 months
    Started as Android Developer and Worked in Live Streaming Project (Android), one to one chats, Firebase Database, Chatbots, Virtual Reality and Augmented Reality for Android. Exploring different technologies that helps me to improve day by day as techie.

Achievements

  • Complex Supply Chains:
  • We created intricate supply chain solutions that encompassed various components, tackling the challenges of vast and dynamic fashion industry.
  • We seamlessly integrated GitLab and ECS for Continuous Integration and Continuous Deployment (CI/CD), ensuring smooth and efficient development pipeline.

Testimonial

Greenstory

Neena John

I have had the pleasure of working alongside Santhosh for two years, and I am delighted to provide a commendation for him.

Santhosh stands out as a highly proficient technology leader who consistently stays abreast of the latest technical trends. His proactive approach is reflected in his insightful suggestions on how to enhance various aspects of our work. Notably, his communication skills are excellent, characterized by clarity and effectiveness.

When assigned tasks, Santhosh goes above and beyond by delving into the business and functional intricacies, ensuring that our projects are guided in the right direction. His ability to pose pertinent questions and draw connections between different scenarios is indispensable and greatly contributes to the success of our feature delivery. I admire his commendable approach to technical problem-solving, which has proven to be highly effective.

Santhosh has established himself as the go-to person for resolving technical obstacles. His involvement instills confidence that any challenges we encounter will be resolved efficiently. On a personal level, he exudes an amazing personality, showcasing dedication and flexibility in his work.

In summary, my experience working with Santhosh has been incredibly positive. His technical acumen, problem-solving skills, and unwavering commitment make him an invaluable asset to any team. I wholeheartedly endorse him as a technology leader and a dedicated individual.

Major Projects

3Projects

Life cycle Assessment Applications Technical Lead

Greenstory
Mar, 2021 - Jan, 20242 yr 10 months

    In the past three years, I have been deeply involved in spearheading a sustainability-focused project, centered around the development of a cutting-edge SaaS platform tailored for measuring environmental impact. This platform, created from the ground up, extends its reach beyond the confines of the fashion industry, while maintaining a strong focus on sustainability. Leveraging existing applications and technologies, our team embarked on a transformative journey to enhance our capabilities and provide a comprehensive solution.

    The initial phase of the project involved the creation of a robust system for tracking impacts, with a particular emphasis on manual entries through an admin app dashboard. A key component of this endeavor was the development of a wholesale offsets feature, enabling individuals to offset their contributions to environmental issues associated with various items, such as waste disposal. My responsibilities encompassed working on both the frontend (Angular app) and backend (Node.js), utilizing AWS stacks with SQS and SNS, and deploying services as tasks in AWS Fargate.

    Following the successful implementation of these features, our focus shifted to exposing public APIs to our user base. This involved extensive utilization of Node.js, AWS Elastic Container Service (ECS), SQS, SNS, and SES. To streamline documentation and ensure clarity, we adopted OpenAPI specifications and Redoc, deploying the entire system using CloudFront and S3.

    Building on this foundation, we embarked on a new and ambitious project centered around Life Cycle Assessment (LCA). This multifaceted initiative required the development of several applications:

    1. Customer Application: A user-friendly interface for interacting with the platform.
    2. LCA Application: Dedicated to managing core LCA data.
    3. LCA Engine: Responsible for calculating environmental footprints based on LCA core data and user inputs.
    4. Supply Chain: Facilitates the creation of supply chains for products, including template chains.

    Embracing Domain-Driven Design principles, we structured our core services, including LCA service, LCA Engine, and Supply Chain service. The technology stack employed for this project comprised AWS services such as ECS Fargate, SQS, SNS, CloudFormation, S3, CloudFront, Lambda, EC2, SES, Route 53, Load Balancer, Step Functions, and RDS. This comprehensive architecture ensured scalability, reliability, and efficiency throughout the LCA project.

    In summary, these three years have been marked by innovation, dedication, and a relentless pursuit of sustainability in the ever-evolving landscape of the fashion industry and beyond.

SEFU

JANGPHAI SOLUTIONS PRIVATE LIMITED
Jun, 2018 - Mar, 20212 yr 9 months

    Over the course of my tenure at SEFU, I played a fundamental role in the design and development of SEFU, a comprehensive product dedicated to community management in residential complexes. This Mobile and web application was built from the ground up and equipped with a myriad of features tailored for the seamless management of residential apartment communities, including Security Management, Accounts Management, and Software Management.

    Security Management:

    Under the umbrella of Security Management, we developed a suite of applications catering to various stakeholders:

    React Native App for Customer: Offering a user-friendly interface for residents.

    React Native App for Security: Empowering security personnel with mobile capabilities.

    Super Admin App: An Angular-based app for internal management.

    Admin App: Angular SSR application tailored for security professionals and management personnel.

    Public Website: A React App dedicated to promotional activities.

    The backend infrastructure was built using Node.js, and we adopted a tenant-based approach, utilizing LightSail for running tenant-specific apps. AWS services played a crucial role in managing our infrastructure, ensuring scalability and reliability. Noteworthy features included comprehensive notification capabilities across all platforms, with React Native apps supporting Progressive Web App (PWA) functionality.

    Similarly we had Accounts Management App as well , which does all accounting activities and reports

    Additionally, we undertook side projects that showcased our diverse expertise:

    CURABLE:

    Collaborated on the development of a Mobile and Web-based consultation platform for Medical Practitioners. This comprehensive platform featured real-time Video and Audio communication capabilities, with active participation in brainstorming sessions and design discussions.

    GravityHaus:

    Designed and contributed to the creation of a Mobile platform for holidaymakers. This platform facilitated seamless reservation of resort accommodations, ordering of services, and booking activities such as Gym and Skiing. Engaged in discussions to ensure a user-friendly and efficient application.

    IoT-based Mosquito Management:

    Played a pivotal role in the development of a mobile-based application for the remote management of IoT devices. This internal project focused on detecting and neutralizing harmful mosquitoes, addressing concerns related to diseases like dengue and malaria. Collaborated closely with the team during brainstorming sessions to define parameters and functionalities for real-time monitoring.

    In essence, my time at SEFU was marked by dynamic and impactful contributions, spanning community management, security, and innovative projects that showcased our team's versatility and commitment to cutting-edge solutions.

Emergency Exit

Kroslinks Tech Solutions Pvt Ltd
Sep, 2016 - Mar, 20181 yr 6 months

    During my early career at Kroslinks, I embarked on a captivating project centered around Virtual Reality (VR) utilizing Unity 3D. The objective was to craft an immersive VR experience where users could interact with a virtual representation of buildings, complete with dynamic functionalities such as doors, movements, and simulated fire scenarios.

    The core of the project involved creating an environment where users, equipped with VR glasses, could navigate through a virtual space by simply looking at the floor. To enhance user interaction, we implemented a quick menu that appeared when users focused on specific points, such as doors, for a designated time. This menu allowed users to perform various actions, including opening or closing doors and accessing other menu options.

    One of the innovative features we introduced was a points-based system within the VR experience. This system was integrated into simulated drills, where users underwent training scenarios using VR devices. Points were awarded based on their performance, and this feedback mechanism allowed us to tailor further training based on identified strengths and areas for improvement. It provided a dynamic and adaptive learning experience for users engaged in the drill trainings.

    The technology stack employed for this project included Unity 3D for creating the immersive VR environment, C# for programming within Unity, and Node.js for backend functionalities. This comprehensive stack enabled us to seamlessly integrate the VR application with the necessary backend components, ensuring a fluid and realistic user experience.

    In summary, my involvement in this Virtual Reality project at Kroslinks was a testament to the fusion of creativity and technology. The implementation of VR glasses, interactive functionalities, and a points-based training system added a layer of realism and engagement, making it a memorable and impactful endeavor in my early career.

Education

  • Bachelor of Engineering (B.E.), Electronics And Communication

    SRR Engineering College

Certifications

  • SOFTWARE ENGINEERING FOR CLOUD, BLOCKCHAIN & IOT

    Great Learning (Sep, 2022)
    Credential ID : RNSLBYJZ
    Credential URL : Click here to view

AI-interview Questions & Answers

Okay. Sorry for the delay. Like, yeah. So myself, Santosh, and I have been working as a team leader at the Ideakrishta Solutions Private Limited. And I have a very good background in different programming languages starting from JavaScript, React Native, Angular, Ionic, and all the experiences in-depth, I would say, rather than at the very top level. And I've already also known Android native development as well and hybrid app development using Ionic and React natives. And I have exposure towards augmented reality and virtual reality apps along with IoT devices as well. In the past, right, I have worked with the ESP 8266 and coded some programs, coded some actions and tried to do various different IoT products. This is using ESP 32. And I've done some certification in AWS IoT Core as well. But it's been almost two and a half years since I did IoT AWS IoT Core. But if you look at me, I've been leading a team of 5 to 7 members, and I'm very proficient at what I'm doing. And, also, right, I have a full AWS exposure on various services. I do know about CACD, DevOps, full end to end. And, also, I do use CloudFormation to maintain my code as my deployment code. And, when it comes to my work expertise, right, I've almost 7.5 months of work experience and 2 years in Android development and remaining 5 years on the web development, both the back end and front end including. And when it comes to database, right, RDBMS, I've worked with MySQL, Postgres, Oracle and SQL and when it comes to NoSQL databases, right, I have work exposure using MongoDB and DynamoDB as well, but it's kind of moreover like MongoDB I've pretty much used. And, expertise wise, right, I'm capable of doing most complex queries in both MongoDB and RDBMS. Okay? And, also, right, when it comes to particularly IoT, I don't have really much experience, but definitely I can say that I have the explorative skills to quickly learn and get it adapted and become an expert at it as in very short period of time, I would say. And I have done the projects using that course, right, which are related to things, devices, all those things. Right? Like, I did pretty much, got a good score at IOT core. Yeah. That's all about me, I can say. And, I've run my own product as well, which, from scratch, I've developed and maintained it, for 2 years. Okay? With all CICD, DevOps, so that is required maintenance and, a lot more I did, I would say. And what else I can think of? Yeah. I work with

How do you keep up with the latest coding developments and programs? Yes. So I do keep attending webinars and reading the latest blogs from the respective programs. For example, when it comes to AWS, I do keep attending the AWS re:Invent to keep myself updated with the AWS stack. Vice versa, for anything related to AI, I do keep trying to stay updated. I do try on my personal laptop to see how it works and how it benefits us and analyze it to see if I can think through how I can contribute to it or make use of it. So I always think from my own perspective of how it can be beneficial to me and society, and in which I can play some role within that. Okay. So, say for example, my recent learnings are OpenTelemetry. So there I did explore ADOT, AWS Distro for OpenTelemetry, and I had contributed minor corrections within that. And also, I was able to customize a few libraries for ourselves and use it for our team internally. This tells me I do keep myself up to date with whatever releases are being done and keep trying it. I do figure out what's available by joining webinars or attractive classes, like solid principles, which I've been subscribed to. I keep attending and trying to make out of it how they explain the concepts. I also stay in the market reading the blogs. I do log what I've learned and keep practicing it across whatever modules I work on and think innovatively how it can improve myself. So, I follow these steps particularly, and I also join courses on Udemy to stay on top of what other people have gained from that. So it's like I keep looking at things on the internet to figure out how I can improve or what I can learn from it. If I can teach something, I do write blogs to help others learn from it. This is all about myself staying in touch with coding developments and programs and a bit of practicing algorithms whenever it is possible. But it's not on a day to day basis. I pick it up for some 20 days on a stretch, but not on a really day to day basis throughout the year.

My favorite programming language is about Node.js, so far, because I'm technically only JavaScript. So because I initially started with Java, I was very impressed with how it works. And I used to work on Java, and I had a lot of interest in learning Java because of its hoops. Because the way I was trained with cue spiders in my early days was so inspiring. Right? When he teaches hoops with interfaces, I got a bit addicted to how it works. So it's a bit of an early trend, I would say. And later on, I stuck to JavaScript, knowing Java very well and I do keep looking at it. But as I worked professionally, I've got more of an approach to JavaScript and I've been working on JavaScript, like, pretty much almost 5 years. Started my development with React JS first. And it was very trending at the time when I joined React JS. Right? I used to just see behind the scenes how they did React, what the internal concepts were, how it works. And I also did Node.js. And I feel like I'm more comfortable with Node.js. I wouldn't say I'm not good at Java, but it's kind of like I've been working professionally. Right? I've been practicing JavaScript for almost 3 to 4 years plus. And I like the simplicity of JavaScript. Similar to Python, I would say, but it has, like, moreover, it has now added a bit of TypeScripts. Right? It feels more like Java itself, and you can apply most of the root concepts. And pretty much, you can write good code, which involves a solid response and also, like, implement some design systems, DDD, whatever it is. So I like the way we write the code. Right? And we think of the business and convert that into code and play around with it. So it's all, like, out of my interest. Right? JavaScript is, I feel, my favorite language as of. And yes. That's what I would say.

When applying the application you build and which technologies you use to build it. Yes. I would explain about two experiences, each taking one minute. One is for a client called a recent client, where I worked on supply chain, creating a supply chain from scratch to its end. That is the business concept. So we started with using NestJS. The reason we preferred NestJS is that it has a modular concept, which we needed. It also allows for dependency injection, adheres to DA principles, and enables us to structurally code well. We also used TypeScript, which has benefits, and a lot of predefined modules, making our job easier and saving time. Additionally, it gives us flexibility in adding reusable code and has good control over unit test cases and E2E testing. All these reasons led us to use NestJS, and we used Next.js in the UI. The reason we chose Next.js is that it has flexible routing concepts and allows us to write server-side code. We used it mainly for its benefits of loading quicker, which helped our clients avoid any issues. We also used Postgres as our database, which gives us access to JSON and allows us to write complex searches inside JSON, even though it's an RDBMS. We stuck with AWS because we have existing resources on AWS, and our team is experienced with AWS, which we found beneficial. When it comes to this application.

Explain the following cloud formation template. What is wrong with it? Mappings, region, resources, finding map. region map. Use east 1. Okay. Change 64. I don't mappings. Okay. Find mappings, region map. I'm not able to, like, it shows partial code. It says find in map, region map, comma, after that, nothing is there. So that is wrong. Okay? And, mappings, we have a mapping, which is kind of, JSON structure where inside that, right, it is all about, the data and resources, right, where I it is creating an e c two instance with the properties of image ID. So, it is looking into finding map, but again, I'm seeing that, I'm not pretty much sure about this syntax finding map, I haven't used it. But it tells there is something wrong because it starts an array with region map comma. And after that, right, I don't see, any code written. Okay? Yeah.

An online portal. I think the question is not complete on an online portal. Yeah. So, usually, I do encrypt the data, and store it in the database, and I wouldn't store the plain password or as it is. How would you store a user password on an online portal and why? Yeah. I'm not sure what is the meaning of online portal, but it's definitely great to understand what exactly is an online portal and answer to that context, I would say. But when it comes to the back end, we do definitely encrypt the password and store it so that no one is able to read or have access to those. And always, even while validating, we hash it technically. It's instead of telling, we call it hashing. So always, hashing uses the same output, whenever we use it.

So I typically start my day with a scrum for 15 minutes where we listen to what we're gonna do for that day. And we just quickly make a note of what we're gonna do, and are there any dependencies for others? And then we get started. So when I start my day, I do look at the emails and what I'm gonna do for today, analyze that properly, and then pick up items that I'm particularly going to target. So, in the storm, the same things could have been discussed and the same itinerary. Right? I will also be relooking at it after the scrum and revalidating it. And any dependencies on other people first, I do try to address them first and then come back to my work where I do particularly write some coding on the particular item that I have or the designs that I have to create for the work item that is related to me and coordinate with the project manager, and ensure that all the items are being captured and there is no other dependency for that item to move forward. And I do spend the remaining time writing code for my task. And then towards the end of the day. Right? We will have a scrum where we'll record whatever we have completed, that will be recorded and updated as a status, and we'll end the day. If there is anything pending still after the scrum, we will try to complete it. If not, we'll keep it for tomorrow. If there is anything not urgent, we'll keep it for tomorrow. But most probably, we do plan it in such a way it gets completed. If not, I think the urgency, the way we discuss with the project manager itself tells the urgency or the need for completion. So based on that, we try to complete it for that day. Yeah.

Yeah, pretty much I used cloud formation. Currently, with Lambda, the biggest concern is about maintaining the code at some repositories or three buckets and getting it deployed. Okay. So even though we have ACD pipelines, it makes sometimes difficult. Say, for example, if you are binding the Lambda to CloudTrak, or LambdaEdge. So it makes very difficult to manage the CloudFormation code with version codes where you have to change the key name of version code each time, and it creates a pain. Say, for example, testing that, even though we have many virtual boxes. Sometimes we are not able to reproduce the same environment that we had in production or it's kind of which is running on the cloud. Okay. And in the local environment, you do have to ensure you have a smooth experience running there. Because it doesn't allow you or it creates some issues where you have to try spending some time resolving that, trying to understand why it is causing issues. On top of it, you will get a lot more installation issues like this. And one is maintaining the code, and the other one is testing the functionalities. Right? You do face issues. And whenever it starts misbehaving, you will have very little clue what is happening. Because millions of requests will come into Lambda and you will be able to see the logs. But sometimes you will not be able to observe what's going on. So you need to have distributed tracing or any external things that can help you out really understand what happened to analyze and figure out what really happened. And you should have a design architecture. Right? You should really have every single function as one Lambda. Or how exactly do you want to maintain? Right? You should have a definition there. Or else, like, a single lambda running for more milliseconds might not give a smooth experience for end users. So you have to break it down properly. So it's not just like blindly you write Lambda as a big function and you go it will increase your cost. So it is something you have to maintain the balance where you can reduce cost and be efficient. I feel like Lambda is a bit costlier, but it reduces maintenance work that you have to do. But still, I would say it's a bit even though people sense saying that Lambda is easier. Right? Like, you don't need to do any job. Right? I always have something in my mind saying that Lambda is a bit painful sometimes. Not all the time though. But if you have the right expertise, well, good. But not all people will have the same mindset, that people who designed or trained the Lambda engineers. Right? So it's not the same. So I would always say it's a pain rather than a gain. But it depends on the application use case to use case where sometimes it is very useful for simple use cases. But when you have a complex use case with different analysis mindset, it is a pain or even

Which frameworks, technologies, and programming languages do you use? It's not about month or year, right? Today, we have many frameworks that use most of the features in their build process and where you can plug in libraries and play around. So it's all about why we have to use a particular programming language for that project, say, for example, if it's related to data aggregation or number crunching, right? We go with Python. But if it's a web app with development, right? We go with JavaScript because it has more support for it. And also, when it comes to resource perspective, both our UI team and backend team use JavaScript, so they understand what they've written. So it's almost easier. For instance, we wouldn't have to look out for resources on different languages, which is sometimes fine, but not really in today's world where access to resources is key. So I wouldn't think that has a problem. And when it comes to choosing particular back-end technologies, we do look at whether we're doing huge processing tasks or not. We go with Java, but if it's a simple REST API that interacts with the database without much execution, we go with JavaScript and try to keep things simple because it has a lot of modules and flexibility. Because, as you've already mentioned, you have to develop quickly. We should look for languages that have most of the things pre-built for that particular module, which we're designing. It doesn't mean that if we're running some machine learning projects, right? We prefer Python and Java because most of the libraries are written in those. So it helps you to do it easily. But if you prefer JavaScript today, right? You'll be completely broken because you won't have enough support for live queries, and you'll just be stuck writing that code. So I would always, for simplicity's sake, say Node.js, Python. And when it comes to web app, I would say Angular.

Within AWS, and does that include a time series? Okay. I have experience in Amazon RDS. Okay. I would say DynamoDB, I did use it, but I'm not pretty sure about the time series, so I would skip it.

Pipeline code will code it like a script each of them. Yeah. So I haven't got much exposure towards code, commit code, pipeline code, build, and code deploy. But, other than the team, they do help in committing code and running some pipelines and building code and deploying code. Okay? But, it is all about what I've heard, like, thank you.

All at once immutable. I don't have much exposure to Elastic Beanstalk deployment. So I want to reiterate the experience that I have. I have worked with cloud formation, creating EC2, ECS Fargate, maintaining roles, policies, SQS, SNS. And then CloudFront, S3, Lambdas. And SCS. So this is pretty much about load balancing. These are the things that I had exposure towards. But it wouldn't take much time for me to get started on Elastic Beanstalk. I'll stop there. But yeah. Yeah. Thank you.

Have you had general IoT experience? Yes. I had a IoT core experience as a trainee or like a learning course. So I had done some certification in IoT, internet of things but it's been 3 years back and I've learned about things devices and policies, roles. These are the terminologies I do remember now, but I don't have any work experience. And I do have worked with ESP 32, writing some code inside that and connecting it to the Internet and transmitting real-time data based on whatever we read using sensors. So that's something I had really experienced 2, 3 years back. I've used MQTT protocols and WebSockets. Pretty much. Yes. Even HTTPS certificates. I've done whatever we do on web development. I've tried it on the ESP 32. And when it comes to IoT Core, I wrote some software on it, deployed it, and tested it, but it was all part of that course. They trained me, but I got a good score, I would say.

Issue. Yeah. I would say when I was working with microservices, it's really very difficult to see what happened across the board. Okay. Say, for example, I started seeing some orders started failing. So we worked with one of the clients where we received millions of orders. At a particular time, we started seeing orders being filled. We had no clue which service was being failed. We could see the database record was marked as failure with a particular step, but we had no clue why it was failing. Okay. We had no instrumentation done on each service level. So it was something very tricky for us to figure out, and we started with logs, actually, and trying to figure out the sequence. Again, you'll receive millions of orders. We had to trace by route ID. So we used the trace ID and started looking really at what happened. We solved the problem step by step, trying to analyze till this step had been successful and this particular step started to fail. We looked at what all the external dependencies it had and found it was due to one of the certificate generations getting failed due to memory issues. We started trying to figure out why it was failing. And again, we didn't have a clue why it was failing because when we tried to run it just ran, and when we increased the memory, it ran, and when we decreased and pushed more load into it worked. Okay. So it was a situation where, at last, when we looked at the libraries, issues, I think it was telling about some garbage collection and randomly the issue occurred. The solution they suggested was to clean up. But, according to me, that's a bad idea. Instead, we tried to pick up the garbage collection ourselves, carefully, and try to limit the number of points we store in the memory and try to improvise the efficiency in how that certificate gets generated. So that's something we tried to resolve. And that's one of the difficult times, where we start receiving too many orders and a few of them are failing, and we try to rerun those. So, parallelly, we tried to resolve that step by step, and later on, we did the instrumentation for all of those applications, from the front end. So we made our job easier, exactly trying to figure out what caused those issues. And we were able to solve more such issues after that. Yeah.

Hello? This is 3, company data. For that resource, it will allow listing of bucket action run task ECS, okay, allow ECS cluster. So whenever the cluster ARN is of cluster slash prod, right? Okay. It allows the easiest task to run on resource task definition. So it's kind of like we always look at action, effect, and resource. So which resource is allowed to perform which action, whether it is allowed or not allowed. So, it goes based on a priority and does. So it's all about every action, right, which should have an effect and be applied to which resource, right, we're gonna apply that action. So that is an IAM policy. Yeah.

Else code. So pretty much right. If we found inefficiencies, we do pull them onto the call, and we try to ask them why they have to write like that, what is the use case of it, and suggest them to think why you shouldn't do this way, and try to understand that they didn't know and they didn't write or they felt due to time constraints, and they did write that. And trying to explain them the importance of writing the efficient code. So that they really understand why we have to write efficient code, even that few milliseconds we say there, it makes a very big impact across the board to everyone, from the user business perspective, from the application performance perspective. Because when someone loads some code, if it takes more than half a millisecond, like half a second, think about they will get a bad experience and you were consuming more resource time and more of such will definitely make things pretty much bad. It is a ripple effect, I would say. So it is almost best to ensure you write efficient code as much as possible and reusable code as much as possible. Sometimes efficiency and reusability might not match, but take the best addition out of scenarios and the time at which you have implemented that, in accordance to the project's importance. Okay. So it's all about balancing act, I would say. To take the wise decision on doing that balancing act properly.

Back end development, why did you choose to learn the full spectrum? It's not about becoming specialized at one back end. It's kind of like it gives me a full idea. How I'm writing the back end code and how that can be utilized in the front end, from pagination perspective to testing end to end flow, identifying how it can behave in case of error handling. Because when you work with two people, I had to take the lead to answer this question frankly. It is due to my interest in overall technologies that allowed me to learn the full spectrum because I always wanted to think about what I can do in the back end, why it works, what it takes, and how it communicates with the database. It keeps going in my mind. So I just wanted to get it right, and that's why I started doing both UI and back end. And that way, I was able to just do most of the things myself instead of depending on others. And it allowed me to become an expert in both UI and back end. I wouldn't say I'm an expert in both UI and back end. I had a better understanding of how UI works in-depth, like how it makes a difference, where to put the API calls, and how efficiently I can write code in the back end. It gave me the real picture of how I can change things in the back end. Typically, when I work individually as a back end developer without knowing what goes on in the front end, I do straightforward view APIs. However, some applications benefit from this, while others don't. So I know the real context where it makes a difference. When you want to write independent back end code, it really makes sense that back end expertise makes more sense. But when you have full stack development for one UI application where you don't expose APIs or anything, it makes more sense to be a full stack developer. At the same time, the full stack can still work as a back end.

So, use it for. So, whenever a queue item is rejected, it goes to the dead letter queue. So it can be used in various ways where you can rerun that or try to capture it and store it. So various things you can do. So it's all about after certain retries in the queue, still if it fails, it goes to the dead letter queue and it holds on for a couple of days and gets destroyed. So it's about maintaining that data. What we can use it for? So practically, if I say, it can be we had a regular queue where we receive orders and sometimes even after three retries, the order still fails, goes to the dead letter queue. On a very frequent basis, we do retain those and try to run the DLQ into the manual queues and try to see what is causing that failure. Okay? And then we try to run one certain order in our mission against a local environment by producing that if not possible. We do disable all the right assets and try to read and relive and emulate that behavior so that we really understand what is happening and work against that. So it helps you to figure out what is causing the failure.

So EKS, Kubernetes services by AWS. ECS, again, container services by AWS and Fargate is one of the auto-managed container services where it manages the containers, whereas in case of ECS, we manage them for ourselves. And EKS, I'd say, is a Kubernetes cluster. So, all 3 have their own advantages and disadvantages. It's kind of a case where you can use standard Kubernetes practices that can be applied where AWS manages Kubernetes for you. You can pretty much write all the code you want on it. And it's almost similar to Fargate, but with a bit of difference, where Fargate is fully managed by AWS and ECS is a managed service where we have to manage things ourselves using the concepts that AWS has.

The team to that group. After the team finishes setting up your infrastructure, you should leave your project and take the following actions. So, remove all permissions and delete the time user so that, right, all the required things are removed. There are two different things. One is the DevOps group permissions that have been used across our infrastructure. And the number two is the user IAM roles, which have been created for that particular freelancers. So, we do remove the roles and users created for those freelancers. We delete those. Remove assets associated with that. Remove all group assignments added to those. So, that really gives us control over because we shouldn't remove the permissions which have been given to the infra based on the tools. So, we only remove the keys or we can say the users that have been created on behalf of those users, freelancers. So, it's a good review but pretty much gives us good control over the two different things. And, yeah. So, remove those DevOps groups from that other group, pretty much.

User demo demands. How would you integrate AWS Elastic Beanstalk for deployment? I don't have experience with the AWS Elastic Beanstalk, but I definitely know you can add a load balancer and scale things, but I don't want to just give you wrong answers. I'll just go back and explore this, think of how I can work and come back and answer this. Yeah.

10 node applications. Pretty much, by definition, all endpoints are redirected to UI on any endpoint with slash API, which redirects to the respective node application. Okay? So, that's how routing will be done. Versioning again. Versioning again. I would go with release version numbers based on dates. Okay? But, again, it depends. It depends on various factors, I would say. As of now, I would think of versioning the AP gateway based on the release version. Yeah. It keeps both UI and backend.