Software Engineering Manager
Visible Alpha, MumbaiAssistant Manager
SSNC & Globeop, AiroliSenior Software Engineer
Lionbridge TechnologiesSoftware Engineer
Patni ComputersGit
Docker
Jenkins
New Relic
AWS SQS
AWS S3
Designed, developed and maintained scalable applications using .NET framework and knockout.js Mentored junior developers in coding best practices and architectural principles.
So, uh, I I've, uh, been, uh, in this role of engineering manager for, uh, 4 years where my main responsibilities whole of, uh, managing the team, uh, helping the team, uh, with the technical decisions, keeping a track of the project, Uh, taking regular sprint planning, uh, maintaining the sprint backlog, and assigning task to the employees, Setting up the k r a KPIs and, uh, goals for the team members, measure the performance of the team, And, also, uh, majorly into how I can, uh, design help them in the design and technology selection process and keep uh
So, um, uh, majorly NoSQL databases, uh, helpful when the data is not, uh, useful You know, uh, a tablet format, but more in a document, uh, format, and the properties may change, uh, very, uh, for each element, like a document. So 1 document can have name and address, and another, uh, doc person identity can have Name and other number or PIN number. So, uh, that kind of data we change randomly is helpful in NoSQL database, and an example is MongoDB.
WebSockets are majorly used for the connection between the application.
Sure. So, uh, for, uh, micro service architecture, uh, is majorly helpful. When, uh, you have different functions, uh, the functionalities are, like, uh, say, functional responsibilities are segregated segregated, and they can, work individually, uh, instead of, uh, like, depending on each other or tightly coupled with each other. Uh, so suppose there is a, uh, like, uh, processing model, uh, there is a model processing and research processing. Then these 2 can happen individually where the research documents are and their process individually and then sent to a common database, the process data. Also, there are model processing where the model documents are uploaded and those, documents get processed separately with different business logic and the data process data. Then again goes to a common database over where we can use data analytics or, uh, like, data analysis project to, uh, have a look on that data.
So, uh, for JavaScript, the best practice is, like, We can have, uh, let me think. High quality of production code in JavaScript. So, uh, JavaScript should be light rail. So the, uh, for ensuring high quality, 1st is, uh, we can whenever we are uploading the script, uh, to the production, it should be, uh, minimized or, uh, like, compressed and uploaded in the production, code that will help us to improve the speed of the code, then, Uh, we can remove the comments from the JavaScript code, uh, so that, uh, the, uh, and make it lightweight. Uh, so as far as I remember, only these 2 points
Explain the concept of single page application and how it works. So a single page application is where, uh, like, all everything happens Uh, within a single click. So the request doesn't goes to the, uh, like, only a single request goes to the server, and it's Uh, the rest of the, uh, the page is not reposted every time a event happens. So that is what is a single page application. So, uh, like, uh, we have a, uh, when we have a Uh, web browser page. Earlier, uh, we, uh, for each request, uh, it used to go and hit the server and then bring the data And, uh, I'll fetch the data, and I can come back. In a single way, the application, we have multiple, uh, all, uh, everything is connected to API, uh, backend. And, uh, once, uh, only with 1 request, all the data can come,
So, uh, to defector a monolithic application to microservices, we have to first, uh, find out the n t, uh, like, uh, we can ensure, like, what are the different, uh, functionalities or what are the how we can divide the, uh, service, um, monolithic application into we have to identify the different functional aspects of the application uh, and don't, uh, plan to, uh, like, uh, and then, uh, think of the, uh, use 80 20 rule where we can see that, uh, only 20% of the, uh, 80% of the work is done by 20 uh, send out the functionality. So we have to identify that 20% first time. Maybe think of, uh, removing that from the monolithic application. Uh, then we have to see all the internal down all the integration points, uh, where the functionalities are overlapping. Uh, we have to separate out the database design, uh, to for each microservice so that the databases are separate. Uh, and then we have to, uh, like, uh, take the time. Then we have to do the, uh, sorry. Uh, then we have to do the, uh, impact analysis of how removing this functionality uh, nullity will affect the the the whole service and if it can work individually. So after doing that, we can take out uh, each, uh, uh, separate functionality, uh, serially or we can plan it across multiple projects.
We can have a, like, uh, state management, uh, in a ready's caching or in database. We can have this, uh, sorry. Uh, in cookies, we can a uh
Considerations needed when designing a system that can so, um, to, uh, handle the scaling of 1,000,000 concurrent WebSocket connections, uh, if it is based on, um, like, uh, we can have a load balancer for sure, uh, where the load will get divided cross servers. And then we if we are having, uh, like, uh, servers which can scale automatically like in, uh, some like, as in AWS where where 1,000,000, uh, concurrent website, uh, connections
No. Sorry. I have not worked on a detail like environment
Sure. So in our company, we had a a monolithic .net application where we had everything, um, uh, like, uh, all the functionalities were together. So out of that, I have successfully extracted 3, uh, 3, uh, functional areas from that monolithic application. 1 was the entitlement, uh, process where we are giving the, uh, rights and, uh, like, we are giving them permission the u client's permission for different resources. And we have designed a UI from the scratch in React and, uh, uh, front end, uh, front end in React and back end in Python where the back end and the APIs, uh, multiple APIs. Uh, so that was one functionality which we have extracted. Then, uh, the other was a research, uh, application, which we have extracted from the, uh, which we have extracted from that monolithic application where the research documents were earlier pushed to SFTP channel, and we're getting processed using different functionality functional business rules. Then we have moved that to AWS where, uh, part the new clients were uploading the documents in the AWS. And also the old documents are migrated from SFTP to AWS. A few clients we were pushing it to SFTP. We are having an even different function to push those documents from SFTP to AWS and then process the documents in the back end.