Backend Dev tips?
I'm interested in backend development.... previously I've tried my hands on frontend dev and I was not cut for it. I've experience with Django and Fastapi. I'm looking for articles and tips on how they develop the backend solutions for the big companies? Like the structure and all the fuss associated with it. Please help......
For big companies, MVC and microservices both are used depending on the needs. Along with microservices architecture comes cloud native development and cloud provider specific database solutions (usually for nosql). If you wanna learn the backend dev, follow the roadmap (https://roadmap.sh/backend).
A few tips:
Don't jump stacks. Stick with one. It is okay to use javascript, java and even C++. There are jobs for each stack and programming language. Even cobol jobs exist. Learn tests and CI/CD within your stack. Get super good with databases and data in general. You can jump around backend dev and data engineering jobs easily. Learn cloud native development. Learn API standards. I have seen pretty ugly REST APIs in my experience with PHP. People seriously need to learn REST standards. GraphQL, SOAP API are important too but you can get a job with REST only. Learn hotwiring. Hotwire stands for html over the wire and it works by sending partial html elements using websocket or ajax and injecting it into DOM in real time. It is usually done with a library like hotwire (rails) or livewire (laravel) or similar library in your framework.
Python in my opinion is not mature enough for backend dev as it lacks a few libraries (for example fault tolerance is hard in python) and it is only being promoted as one solution for everything because academics love it. But you are free to pick whatever language/stack you like. There are many jobs for python devs these days. Almost same as java devs.
Thanks a ton for the insights!!
Django dev here with 2 YOE, job openings are less for django devs compared to java, node etc. So upskilling myself in this horrible market, did docker from scratch from udemy, just started system design from scratch(very commonly asked in interviews), will spend few months learning this and then will start MERN stack probably
Thanks for this insight. Would you be able to also share your thoughts on why not much demand for Django?
PS: I just started learning Django for fun.
I'm not sure but i think companies prefer java and node for their faster execution, python is little slow, i have mostly seen big startups using java/springboot and newer small startups using MERN....django is mostly being used for ERP/CRM softwares or for company internal softwares where slower response is not an issue
Don’t get stuck with language, understand the concept. You can build the same backend in literally almost all programming languages
You can look into some big open source projects made with the technologies you are interested in. In my opinion that's one of the best ways to learn how big companies think about complex problems.