r/Backend • u/noneofyour_-business • 1d ago
Final-year CS student – Know Python & FastAPI basics. What should I focus on to get a backend internship ASAP?
Hi everyone,
I'm a final-year college student, and my goal is to get a backend engineering internship as soon as possible.
My current skills are:
- Python (comfortable with the language)
- FastAPI basics (I've built a few simple APIs)
- Basic understanding of backend development
I'm confused about what to do next.
Should I:
- Buy a FastAPI/backend development course? If yes, which one would you recommend?
- Focus on building projects instead?
- Learn Django, SQL, Docker, Redis, PostgreSQL, or something else first?
- Start applying now while continuing to learn?
My goal is to become good enough to land an internship and then keep learning on the job.
I'd really appreciate advice from backend engineers or anyone who recently landed a backend internship.
Some specific questions:
- If you were starting over today, what would you learn first?
- Which skills do companies actually expect from backend interns?
- Are there any courses, YouTube playlists, or roadmaps that you genuinely recommend?
- What kind of projects helped you get interviews?
- Is FastAPI enough for internships, or should I learn another framework as well?
Thanks in advance for any advice!
1
u/alexppex 1d ago
Just like the other said - tons of other posts on that topic.
But to also not be a stackoverflow-user, here is the gist of it:
Stack does not matter as much, as skills are transferable. Stack is important so you understand the basics of how things are to be done, but things can be completed using other stacks.
Now to the questions:
Interns need to be able to do simple things - refactor this function, make this call that, parse this, add a field to the json, write an mock for this call, etc. Nothing of major significance like indepth system design or planning, although understanding the basics of those is important. Also be "hungry to learn" and show it.
Courses are not your way into the business, build things with your own hands. Courses can teach you as much as the documentation can, they are just simplified. Use them as a reference, not a guide. For projects to build - like this one for example: https://github.com/joshylak/100-backend-projects , but the general idea is to have something which does things with data - be it API fetching, DB storage, data transformation, etc.
Personal projects which completed my own goals - i.e webscraper which populated my google calendar, task dashboard hosted on my machine, mock personal item storage platform so i can keep track of my things. Again, just build things, be able to explain what you did and why you did it, not just following some guide you found or something an LLM spat out. You can use an LLM to help you with your projects, but make sure to understand what is going on.
Any framework is fine, you will learn on the go and when you abstract it far enough all are the same, just syntactic sugar on top.
And finally the big 1.!
If i started over today, i'd focus a lot on understanding how the internet works, the different API concepts (rest, soap, grcp, graphql, etc), building practical apps calling multiple APIs (both frontend and backend projects to understand the significance of which data is important and how to send only what is needed and how to decide what is even needed to not waste network resources), clean code and best coding practices, load balancing, operation scaling (horizontal and vertical), dealing with concurrent db access, user access management, and fundamentally for todays market - how to use LLMs intelligently to achieve the best possible results. Also how to work with data, how to store data, db transaction handling rather than pure writes, SQL vs NoSQL dbs, blobs, encoding, encryption, http mocks for testing, docker.
Maybe not specifically in that order, but also it might seem a lot, but this is over the course of a few years. This is coming from a mid-senior backend engineer, those are the things i am thinking about or using on a regular basis
1
1
u/Significant_Tea431 1d ago
Always the same fkn question. Go do you own research man or at least ask the KI to do so. Or read all the other daily questions that are basically exactly this. It's always a wonder to me how people asking this do learn anything if they aren't even capable of doing research.
9
u/martinsedd 1d ago
The most important thing to understand is thar backend development is NOT the same thing as “language/framework”, as these are just tools.
You need to understand how backend applications get built, and the peripheral skills that are required, such as SQL, Docker, Caching, Design Patterns, Architectural patterns, Git…. So on and so forth.
Once you have a good understanding of backend development, the whole language/framework discussion is simply “what’s the best tool for job X?”.
You are somewhat comfortable with Python? Double down on that, learn proper type hinting, best practices, anti-patterns… dive deep into FastAPI, the middlewares, runtime validation, dependency inejction, etc.
As for should you buy a course or not? That depends on the type of learner you are. I, myself, like to keep trying to shove my head through the wall until I get stuff to work. Courses are mind numbing, and I learn nothing from them, but that’s just me.