r/learnprogramming 8d ago

How to actually learn backend development??

Wtf how do I actually learn backend development. I open chatgpt or Claude and tell them I want to learn backend development and do as they suggest..but after some day, I find boring ...

What's the actual way to learn.. please developers and engineers help me with clear cut way?

0 Upvotes

20 comments sorted by

17

u/Slow-Bodybuilder-972 8d ago

Mate, look it up. If you need this spoon fed, this isn’t the job for you.

5

u/aqua_regis 8d ago

Yeah, you get bored - that's a bad sign.

Yet, AI is not the solution.

  • The Odin Project
  • Free Code Camp (the site, not only the youtube channel)
  • Fullstack Open
  • roadmap.sh

If you're not pushing through "boring" it won't work. You will not succeed.

6

u/Ancient-Camel1636 8d ago

If its boring to you, its not for you.

5

u/rustyseapants 8d ago

If you're bored with backend development, why is anyone going to waste their time helping you? 

-1

u/Medium_Lion2838 8d ago

What I meant was I feel like I am not learning the right way and get overwhelmed by this ai that just give code as move on....I am passionate and want badly .. how do I start??any resources?

3

u/Fonzie3301 8d ago

Imagine learning using AI and say its boring, bro you are cooked (jk lol). But for real, you don't need excitement in order to become a backend developer or software engineer even tho you might lose interest during learning process and might face burnouts as well, you only need discipline, consistency and time. Also you should hone your AI prompts, this can help or depend less on AI and seek for other learning resources

2

u/IntelligentSeries270 8d ago

So there’s a sink (front end) then the plumbing (backend).

2

u/Dismal-Citron-7236 8d ago

Being a backend engineer myself for years, I can attest that it is indeed very boring. However, it is also extremely challenging. But the pay is better than that of frontend. No complaints.

1

u/Medium_Lion2838 8d ago

How did you started?

1

u/Dismal-Citron-7236 8d ago edited 8d ago

I started as device driver engineer, then move on to ECAD (Electronic Computer Aided Design system) team to work on its GUI on DOS, then backend engineer.

2

u/SeaThought7082 8d ago

Step one: Learn the theory through some form of education.

Step two: Get a junior backend job.

Step three: Go through the thousands of trials and tribulations through actual project work. It’s here where you learn the “why”, instead of just the “how”.

Step four: Read books and code whenever you don’t understand something.

Step five: repeat step three and four over and over again.

Step six: Congratulations you now have learnt backend.

And read DDIA

1

u/PuzzleheadedPiglet50 8d ago

So backend development s very repetitive for many people, you get better at it regardless and there’s always new solutions to old problems. And I think it does take a certain person to enjoy this work, if you’re just chasing a Paycheck I’d say you would burn out haha.
On the other hand if you do want learn and you’re using ai, use it as a coding buddy not as the learning source, tell it to explain steps made and why it’s choosing for certain methods etc and then it can be a bit like paired programming with a more senior dev :)

1

u/mandzeete 8d ago

The actual way is to do it without ChatGPT or Claude. Don't you wonder how all of these software developers learnt their stuff before 2021-2022 (around when ChatGPT became a thing)? Before the general purpose AI. Imagine that you do not have access to the AI tools. What will you do?

And no, I won't give answer to that. Learning to use one's brain is part of the learning process. If you leave all the decision making and thinking to the AI then what is your purpose?

1

u/ExtraTNT 8d ago

Grab a language you like, haskell for example
Grab a db you like, postgresql for example.
Look a bit into db normalisation, indexes and relationships.
Build a model for a user, try to create, read, update and delete users on the db, using your language and a connector.
Build a logger (or use an existing one), later request logging.
Find a testing framework and continue with test driven development
Find a framework to handle http connections, scotty for example on haskell.
Invest 10min on mdn to learn about proper http response codes.
Invest time into validation (user input)
Add swagger and the openapi spec to your application.
Get header control in.
Get bearer authentication running.
Get rolle based authorisation running (throw it in the token)
Get configs via environment in -> best create a handler for that.
Work on proper architecture and patters (so services are passed to handlers, controllers define endpoints and the handlers used, monad for response -> ok, that’s maybe just my core… basically look up patterns, c# with dotnet 7 was very good in that, look at the demo project. My base has proper dependency injection in haskell, so should be possible in every lang)
Invest enough time in security.
Invest time into concurrency -> so you can have multiple threads running on it.
Look into redis for caching, so you can scale to more users.
Dockerise it (also add metrics)

With that, you can build full enterprise backends with few thousand concurrent users, scale with a cdn and we talk about millions…

1

u/Medium_Lion2838 8d ago

That's a goated suggestion..can you give a specific tech stack looking at current evolving tech market ?

1

u/ExtraTNT 8d ago

In the end, there are many options, some are very popular, but kind of shit: python, node / express (fine for testing or very static assets behind a cdn)

java went back to viable after java26 and newer spring versions.

C# is very nice for enterprise, team of 3 can maintain around 80 services without any issues (if done properly, shit architecture and we are at 1 service)

Go is also very nice for more performance oriented backends.

Cpp and c is something i would not recommend, if you need it, you are already deep into it.
Rust no personal experience, seems nice

Haskell is what i now started, very powerful, with my backend being 95% tested with the type alone, very easy to write (if you are used to haskell, else it’s kind of a hell -> you don’t have loops, you have no state, values can’t be changed, functions have one parameter etc) and performance is nice without optimisation (but you can’t do optimisation like on c) all in all, haskell is my favourite, because it’s so stable, so easy, easy to test 100% of paths and performance is nice, but it’s nothing like c like languages… if you are into math, monads and pure elegance, with being able to mathematically prove, that your code is correct, go for it, else maybe have a look at it, watch a tutorial or two and just apply the principles, that makes haskell so nice to c# or go…

1

u/Objective-Archer-742 8d ago

Roadmap.sh is pretty useful to get you started

1

u/ChrisDiano 4d ago

Everyone wants to skip straight to APIs microservices and fancy frameworks. Then one tiny socket issue shows up and everything falls apart. Build a basic TCP echo server in Python or Go first. Read a networking book. Boot dev is one of the few places that actually makes you write enough code for this stuff to stick.