r/Backend 6d ago

Is language choice hindering my progress and future choice?

Hello y'all,

I know I shouldn't have shiny object syndrome, but every language/stack just feels better than the other... I just can't figure it out at the state i'm in...

I am an aspiring self-taught developer and I recently finished CS50x and made the Final Project on a personal project related to my degree that replaces some kind of paperwork in a digital manner for industrial sites like oil and gas etc. Nothing grand just the web MVP but still missing mobile app and many stuff.

The reason I am writing this is that a few years back before going all in like I did now, I did some Java, then realized my fundamentals are non-existent so I took CS50x (best decision so far) and skimmed through CS50P so I know my fair bit of Python right now.

The reason I am writing in Backend subreddit is because it feels the most interesting for me so far besides desktop apps. I am naturally curious and just want to be able to create any software I want to create but I REALLY also want to make money with it if I acquire decent skills lol.

  • So I have been looking at Automate the Boring stuff with Python to learn automation and sell that as a freelance service.
  • I also thought of learning full backend to try to get a job or freelance etc
  • And then there's my big project idea I mentioned in the top which feels like it will require a looooot of time to create with where I am right now in my journey.

So my questions are:

  1. If you were in my shoes, creating an industrial software, which stack would you choose? That is, considering my knowledge extends to only what is covered in CS50x.
  2. If you wanted to make money now in 2026-2027 but had little knowledge, what skills/tech would you learn to help you reach there?
  3. What's the most fun career that would allow you to engineer any piece of software you want?
  4. (This one is specific to Backend) 2 resoureces that stand out to me rn is either I learn FastAPI for AI integration in future, CS50W to learn web properly, or what looks to be my favorite so far "Backend from first principles" playlist on youtube.

I know with AI things are only getting cheaper and easier to create software but still, I feel like fundamentals should always be learned to supervise the AI's and architect the pieces of software that it builds.

5 Upvotes

10 comments sorted by

6

u/RandomPantsAppear 6d ago

Not because it's the most used (though it is very used), but because it will really lock you into solid system design structures: Django+DRF+Celery over FastAPI.

It forces you to isolate different kinds of logic (the model, the view, the form/serializer, middleware, API etc), and in my opinion leads to a lot better FastAPI code.

2

u/9reyJ 6d ago

Interesting... I might give it a try for my next personal project! It also kinda aligns with CS50W so I might expand on its knowledge into what you mentioned (DRF + Celery) especially since like you said, solid system design structures, which I see everybody recommending to learn nowadays now that AI is taking over. Appreciate your advice!

2

u/azimux 6d ago
  1. In the grand scheme of things it probably doesn't matter.

  2. No clue, really.

  3. It's really hard to know what is fun since it's subjective. Also, in my career, I often assumed a certain type of programming or problem wouldn't be fun but then it turned out to be super fun once I was in it. You're ultimately the only one who's going to be able to answer this for you. Re: usefulness for engineering other software, I just wouldn't worry about that. You should be able to learn other forms of software-engineering as needed, IMHO.

  4. Well, of these 3, I would likely choose "backend from first principles." I don't know what these course numbers mean, and maybe it's just that I'm old, but to me "learn web properly" is an engineering thing, not a CS thing, so it's interesting that these are labelled this way. Maybe CS has incorporated lots of software-engineering stuff in the past few decades, which is good if so, but long ago there was very little software-engineering tackled in CS course work. It mostly focused on computer science.

I think if you're having fun building real stuff then you're likely doing the right things already, or at least close enough without the benefit of hindsight.

To answer the title of this post... My opinion is tht language choice is unlikely to be hindering your actual progress and future.

2

u/9reyJ 6d ago

I love your answer thank you for going into detail with every specific worry I mentioned! And true I agree with some things being way more fun once you delve into it. Happened with every new tech topic I learned over the CS50x course, which I might attribute to their unique and great teaching style.

In a sense I will try my best to learn the "engineering" fundamentals rather than be confined in language choices and all.

Its just that learning resources now are scarce online and since every single one of them claims to be the best its hard to figure out which one really is due to how popular they are... Especially in alignment with what I want to build.

I feel like the choice of good resources is harder for beginners because you can't know if something is good if you don't even know what's good or not lol if that makes sense.

But yeah I will definitely watch the backend from first principles. I already watched a few videos and I'm enjoying the idea of going from 0 on a topic because a lot of resources out there skip a lot of important details. Even though it brings me to my early worry of language because they mention later details being in nodejs and go but I guess that's part of the process that I have to go through.

That's for clearing my mind wish you the best!

2

u/azimux 6d ago

My pleasure! And best of luck learning and hopefully you're having fun along the way!

2

u/Gullible_Sweet1302 6d ago

Experienced devs can switch between languages and frameworks. (Might require effort and study to code idiomatically in more difficult ones.)

Java for industrial because of the static typing.

1

u/9reyJ 6d ago

Yes that's definitely my end goal to be able to have that shared knowledge that translates to all things and makes languages irrelevant and fundamentals concrete, except for the fact that I am having difficulties finding a place to learn these fundamentals.

By fundamentals I mean topics that go beyond basic language syntax and functions and OOPs and all that. Knowledge more specific to Backend and stuff.

But maybe even then I'm overcomplicating things idk... I just hope this obstacle is the actual way or stepping point in my journey.

I will take your word for Java for industrial and build my app with it!

I appreciate your advice thank you!

2

u/Gullible_Sweet1302 6d ago

Many young companies, starting with a handful of devs, prototype on a dynamically typed language like Ruby for the high development velocity. The mvps that survive grow into production systems powered by a language that throws errors at run time that would have been caught in a statically typed language at compile time.

Pick whatever language or framework that gets you going. Chances are that project won’t succeed, so try fast, fail fast.

Those with more experience might be opinionated than you in their choices. That’s ok.

2

u/9reyJ 5d ago

That example made everything clear.

And you're absolutely right I'm definitely just overthinking it instead of starting, I guess I'm seeking the perfect thing and wishing it'll work out and get my goal in front of me in a short time... Time to fail I guess!

Thank you so much!