Ishwar Jangid is a highly skilled backend Python developer with over five years of experience in software development. He excels in architecting and deploying ML and AI solutions across diverse domains, showcasing expertise in frameworks like PyTorch, TensorFlow, His expertise encompasses a wide range of technologies and frameworks, including Flask, Django, FastAPI, MongoDB, PostgreSQL, AWS, Kubernetes, and more. He has a proven track record of designing and implementing advanced backend services for various applications, demonstrating proficiency in architecting scalable and reliable systems. With a keen eye for detail and a passion for innovation, his consistently delivers high-quality solutions tailored to meet the unique requirements of each project. His ability to lead teams, mentor junior developers, and effectively communicate with stakeholders has been instrumental
Senior Backend Engineer - Python/Django (Remote)
MyARCSOFTWARE ENGINEER
Vision Technologies Private LimitedSenior Software Engineer and Backend Lead
VisionIAS: AjayVision Education Private LimitedPython Engineer
Indus Valley PartnersSoftware Engineer: Python
Ongraph TechnologiesPYTHON - DJANGO DEVELOPER
OnGraph Technologies Private LimitedSOFTWARE IMPLEMENTATION ENGINEER
Indus Valley PartnersPython
Django
Flask
FastAPI
AWS Lambda
micro services
PyTorch
Tensorflow
LangChain
NumPy
Pandas
AWS ECS
ECR
Jenkins
AWS Cognito
Celery
Redis
Google BigQuery
Apache Airflow
Apache Kafka
Docker
Kubernetes
Git
Prometheus
Grafana
ELK
DNS Management
AWS
gRPC
CI/CD
GraphQL
Logstash
Kibana
The future of fitness is creator centric and MyARC is building the operating system for it.
The online fitness market is set to hit $60bn by 2027, and fitness content creators with their huge fan bases are best positioned to capture this. They just dont have the tools for it.
A creator with 100k+ followers can only train ~30 clients using todays solutions, because they need to manually personalise each workout for each client. Thats why online coaching costs anywhere between $500-$1,000/month for consumers. Its not scalable for creators as assistant coaches need to be hired nor is it affordable for fans. Thats where MyARC comes in.
We automatically personalise generic training plans to any individual users needs. This means one creator can now train unlimited fans, providing creators with a scalable business model that doesnt require an army of coaches, and fans get affordable personalised fitness with price coming down from $1,000/month to $20/month.
Already, weve taken creators from minimum wage to 6-figure earnings and were on track to create MyARC millionaires on the platform. There are 1000s of users around the world with serious health transformations ranging from users overcoming obesity and coming out of a diabetic state, to cancer survivors gaining muscle for the first time.
MyARC democratises personalised fitness for consumers and economically empowers creators.
TLDR - we are growing rapidly and have an ambitious roadmap to build an industry leading product.
Were looking for a senior backend engineer with an entrepreneurial mindset to join the mission on a long-term basis. Youll play a key role in designing, developing, and maintaining our APIs and backend infrastructure. The ideal candidate will have expertise in Django, DRF, and relational databases (Postgres) and GCP.
Ishwar is very proficient in Python and any backend work. Must hire him for any of your software development task.
Tech Stack & Responsibilities
Hi. So myself, this is what I have around, uh, 5 years experience in Python, AWS, Django, DRF, GCP, etcetera. I've been working, uh, as a back end engineer in Ajay Vision Education pilot company where my role, uh, is changing the system from monolith architecture to the microservice architecture. We have developed many services like chat service, API service, notification service, etcetera service, analytic service, uh, in, uh, Django and the FastAPI. But, uh, the choice of FastAPI and Django depends on, like, how how the scale of the application is going to be. I've been an active part of making APIs, uh, with the help of batch framework and the large fast API and, uh, deploying them. Uh, I have good experience on AWS like, and worked on services like AWS EC2, ECS, EKS, uh, API gateway, uh, subnets, VPC, route tables, load balancer, ELB, NLP, etcetera. And I've been, uh, managing the CICD part as well with the help of Topher and Jenkins. Previously, I was working with industrial partners where I was responsible to, uh, write various Python adapters because that was a kind of a Fintech company where the data was coming from the edge funds, and we are responsible, uh, for the changing the data in format that is required by the tool. Other than that, we have a good I have good experience on LLM path. So I worked on Lang channel LangGraph for maybe AI agents and AI applications. For example, in, uh, like, getting the data from the video and, uh, making the tag, a digital augmented generation pipeline so that a student can ask question, what was discussed in the video to get a more clarity? So we have used gen tropic, uh, model as well as GPT, uh, 4 and GPT 4 in that case that we have used. And, uh, in all of these things, uh, I have been playing crucial role with the in the case of a scalability and the distributed architecture. For example, uh, we had designed our database with the read replica, sharp rated replica, and write replica because it is because the application in vision ISH, uh, retail. Uh, and most of the application are deployed on ECS, Elastic, uh, Container Service, uh, with the help of ECS, Elastic Container and Jenkins as the CICD. Other than that, uh, other applications are also a part of EC2, Elastic Compute Cloud, and, uh, we developed we we deployed with the help of GeoRecon and Nginx. So Geniconnect is a West key website or gateway interface between the Nginx, reverse proxy, and the the general application. So I've been managing, like, how the application react and monitoring and loading with the other New Relic, CloudWatch, and Datadog. So this is about my, uh, role in Vision IS and Industrial. In other product projects I have worked like, uh, screen dot com where we have a new type of platform where, uh, Django applications have to be converted into. Video of of Jengo. We converted the the video in multiple formats so that people can share them across, uh, across tools like Jira, Intercom, FreshJet, Jendesk, etcetera. So the integration of each all was done in the general environment. So this is about myself. Thank you.
Okay. What's the difference between, uh, select related and prefetch related in the general queries? Do you have example when you have used them? Okay. So, basically, select related digit related to, uh, let's say we have a foreign key relation and we have to do select, like, uh, when we have to do that rid of n plus one problem. So then we use select related. And the prefetch related is usually the with, uh, in the context of many to many. So if 1 let's say there is a table class and there is a, uh, another table student, one class can have many student. So when we whenever we have to do in a in a case of 1 to many, we have to do reverse mapping. We use select related. And prefetch related is used in case of, uh, magnitude and elimination. For example, uh, let's say we have a table that is, uh, student and let's check another, like, uh, example, let's say class. So 1 student can handle in multiple class and one class can have multiple students. So this kind of will become m to m relation. So in that case, prefetching is difficult. The benefit of these, uh, queries basically is that they solve the problem of n plus 1. For example, what happens is, uh, if we run a query that is dependent on another table, so for each row, it will make another query in in a new table. And that's become a kind of a big overhead on the database. For one query, you are running, let's say, there are 10 roads. You're running 10 or another query. So it becomes 10 query extra plus 1 x 1 the parent parent query. 11 query. And plus 1 problem which become and that's have been solved with the help of self replicas. Or select related is not a, like, uh, a kind of a always solution because this is also kind of become heavy sometimes. So so this have to be, like, a do ish with questions because select plate keeps everything in the memory, uh, and that can become a problem or an error out of memory issue. Memory leakage can happen. So this is a problem we select rate. Refetch rated on the context on each memory, but, uh, do all the manipulation, uh, with the help of query only. But since they did take everything in the memory and then do calculation, then give the region. That's the main difference. We can set up the regen and, uh, the other difference than m to m and. There's another difference there in the these 2 things. So thank you.
Explain how JWT work in as much as possible and good work and point you live, why it's beneficial or what. Simple token authentication. Okay. So when we talk with authentication, authentication means to give access of someone of something. And there's another term authorization, like, whether somebody have the access or not. Let's say, you are having a certain role or permission. Authentication is, uh, simple allow or disallow to enter into the system. So when we say authentication, there are, like, many ways of authentication. One is session authentication, token authentication, and then this, uh, JWT authentication is also there. So JWT like, if we have a session authentication, then we are storing the session in the database. So a session have to be stored in the database. So every time the a new user come to check whether the session of this user ID user ID gist or not. If it is just you, we are logged. Otherwise, we are to send it into the login page. And then he log in and then set search engine generating the same to the table. That is session authentication. In the case of JWT, that is, uh, JSON web tokens. Uh, so what happens in these, uh, tokens, they are having 3 component in itself. 1 is, like, header, uh, then the body part, and then the signature part. So in the 3 part, this token is, like, encrypted. And when we send it over and, uh, then the user, so the back end system will actually decrypt it and from the board, it will actually okay. Which token is so in the piece of uh, JWT, you don't have to save anything in the database like you are doing in that case of session authentication or cookie authentication, you have to save it into the cookie also. But in the case of JWT, the the data and all the information in itself in the token. It's not in the database. So we can get the user ID. We can get other, like, I like, a kind of idea, like, boost token it is from the token itself. This is one thing in the JWT. Other than that, we have, uh, like, when we do which, you know, data routing view, access token and refresh token and BR token. 3 tokens are there. The access token, they are not giving the access. BR token, like, page, like, uh, with some more permissions and refresh token is also there. Because access token have a smaller validity, like, for the 1 minute or 5 minute max we do. So we can take more, but it's recommended to max the 5 minute for the safety. So access token is only valid for 5 minute window. So to generate a new access token without asking the user to, like, log in again, we need refresh token. The refresh token, uh, if given with the previous expired access token, gives a new access token with a new reset validity. So refresh token have the validity of 30 days, but the access token have a smaller validity. So access token goes to and through the network. So even if access token is, like, leaked, it will not harm because the, uh, when it is let's say, 1 minute or 3 minute or 5 minute only. Uh, and then it will become a slack. And the refresh token is not going through the network because we are just using it to generate new access token and not in the API. In converter end point, we will need the device. Okay. So we'll need end point for JWT, like, login end point will be there. And they generate access token, new token will be there. And, uh, in the case of logout, we can also have logout, but, uh, there we just delete access token and, uh, refresh refresh token. In the case of, uh, backlisting, those are there, like, we maintain a list of refresh token that have been expired, for example. If, uh, 30 minutes or 30 days you can go to refresh token, then we have to put it back, like, a list of refresh token that are already expired. Like, we will not cater to the request in there. It goes to them, generating your system. That is also there. It's beneficial of simple token authentication site, uh, the information is in in the JWT itself, and we are not sending it in any form. So that's, like, the most important benefit. And, uh, because, uh, this gives an anomaly delay. Because even if we modify some part, the signature and the the algorithm that has been used to encrypt it will change. And this change, uh, will not allow the JWT to be, you know, encrypted at the end of the day itself. If somebody changes anything, like man in the middle attack is there, so no benefit will arise because of this, uh, in like, verify signature in that agenda nano token. So all the JWT that we can check-in the jw. Io. Like, every JWT can be broken into 3 parts. Either contains, like, what the algorithm tells you, body contains all the data. Like, larger the data, larger the size of the token will be. Uh, and the data will is generated with the header and the with the header and the verify signature also there. And then verify signature is used to match whether, uh, that somebody has, like, changed something or not. If somebody has changed something, then it will not be able to decrypt it and, like, j j w failure, I will then talk back to side on that. Thank you.
What's the difference between a view, a view set, and a model view set? Which would you choose to build the standard, uh, set of REST API and when you are? Okay. So a view is a Django view, basically. Uh, in Django, Django is a model, uh, view and template architecture. So view is something where the bay main business logic happen, and it takes the input from the request coming. For example, from request.cat or request.post, and then it modify as well as the and then return the response to the template or to the API endpoint in the JSON structure. That is a view. Like, we can make API with a view also, but the when you, uh, DRF, general HTML framework, we get a view set and a model view set. So, basically, firstly in the layer each API view, then generic view and then the API, uh, like, view set. So view set, uh, when we let's talk about API view for a minute. API view are basically a layer of action layer of adjacent response. The adjacent structure with the response on the top of a view class, then becomes API view. And then we can, like, in add more functionality like router, uh, that becomes a view set. So in the case of view set, we get a router. So we don't have to define the endpoint, uh, one by one that we have to do in the case of your API, your GenDB. So router helps us to make a standard set of REST API as you're asking. So that is, like, in the case of a on ViewSight. ViewSight also gives us, like, accent decorator. So what happens is, like, if you have to generate new endpoint rather than the standard set of endpoint, you can use the accent decorator. Model new set, uh, as you have asked, model new set is here is with the model. Like, just like we have model form, set class. We have a model serial ID. In the same way, we have model user interface and it is a huge. So it takes all the attributes of the model, make it cut over it, uh, easily. So these things just make the code shorter, neater, and easy to maintain. For example, if I need, uh, let's say, a an a functionality in in my application, in my DRM application. Uh, that contains that set end point. There are 3 get. In that case, uh, if I use API, I have to make other 3 different classes because only one get one portion, etcetera, this one. But in the case of, uh, view set, I can make new and newer action decorator and keep everything at one place if they are related to each other for sure. So this helps us, uh, you know, to build a better code, to write a better, uh, API code. So the question was, you want to differentiate a new user model which is it's better. Which would you use to build out a standard set of API? Yeah. I will definitely go with the music and I mostly use the music and accent operator. Not to make the API because they're super friendly, super shorter, and, uh, like, we can password serializer that I require or permission class or authentication class, what kind of response should be given, uh, and taking the router also. So this makes the URL list of UI file is shorter also. So these these are the main key benefits. And, uh, yeah, rest API, as you know, they can contain that list put for you know, put post and patch method. And all of these things are usually, uh, there in the case of reset. So that's all about the reset. Yeah. Thank you.