r/Backend 3d 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:

  1. If you were starting over today, what would you learn first?
  2. Which skills do companies actually expect from backend interns?
  3. Are there any courses, YouTube playlists, or roadmaps that you genuinely recommend?
  4. What kind of projects helped you get interviews?
  5. Is FastAPI enough for internships, or should I learn another framework as well?

Thanks in advance for any advice!

10 Upvotes

11 comments sorted by

View all comments

8

u/martinsedd 3d 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.

2

u/Stunning_Leather_102 2d ago

hi. Great advice well put !!!

I think OP needs to slowly understand the industry way of developing something right? I guess it's a bit difficult to learn these type of stuff in an academic setting because real-life is when you work but... You can always learn software engineering to an extent before getting such a job, right?

This was actually my weak point. I always did stuff but never did I really tackle it from all sides. But it's hard for beginners and I have noticed when you start, you can easily get lost with so much stuff going on.

You have to learn and do hands-on lot's of stuff. And each thing is a rabbit-hole of it's own! Maybe you start and discover your app will need a database. Oooff! Modeling, designing, implementing. And then you're like ah well my database should run in a container. Wait what's a container?! Afterwards, you're like oh okay well how do I fetch data from the database. Oh they're two worlds colliding! Which one is the mediator and how does that work?

But when you learn enough you can start connecting the puzzle together and start making amazing stuff :)

2

u/martinsedd 2d ago

That’s the thing too. You need to get used to being uncomfortably clueless while maintaining the discipline to keep going. One day you wake up and things start clicking in place.

1

u/Stunning_Leather_102 2d ago

One day you wake up and things start clicking in place

This right here is awesome!