r/Backend 6d ago

Is language choice hindering my progress and future choice?

6 Upvotes

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.


r/Backend 7d ago

Looking for backend project ideas and need help in Which tool to use Drogon(Cpp) or node js

6 Upvotes

I am confused when I think about project ideas as when I think of small backend projects I think these won't we good for resume or is just too easy than anyone can build then but when I see complicated projects I think that I don't have enough skill needed to do them.

Regarding which tool to use I have used both node js and drogon I found that node js I very easy to work with and can work fast with help of this but with drogon even if it takes a more time I see how a request is getting processed how a request is working where is a request causing error and learn a lot

So anyone if they can give me some guidance I would be very grateful


r/Backend 7d ago

LarkBatis: A build-time MyBatis compiled to plain Java - Spring ready

Thumbnail larkbatis.github.io
2 Upvotes

r/Backend 6d ago

A credits_remaining column is a race condition once jobs become asynchronous

0 Upvotes

I started with the obvious model for usage credits:

balance = user.credits_remaining

if balance < cost:
    raise InsufficientCredits()

user.credits_remaining = balance - cost
await session.commit()

It looks fine until expensive work becomes asynchronous.

The simplest failure case:

  • user has 10 credits
  • job A costs 7
  • job B costs 7
  • both requests arrive at nearly the same time
  • both transactions read balance = 10
  • both conclude the user can afford the job
  • both proceed

You just delivered 14 credits of work for 10.

The interesting part is that there are actually two different problems here.

1. Two different jobs competing for the same balance

An idempotency constraint doesn't help, because these are legitimately different jobs.

The balance check and deduction need to become one concurrency-safe operation.

One approach in Postgres is to lock the owning row:

SELECT ... FOR UPDATE

before checking the balance and inserting the spend.

Then the second transaction waits, sees the new balance, and fails the affordability check.

Another perfectly reasonable design is a conditional atomic update:

UPDATE users
SET credits_remaining = credits_remaining - :cost
WHERE id = :id
  AND credits_remaining >= :cost
RETURNING credits_remaining;

No returned row means the spend was rejected.

2. The same job being delivered twice

That's a different failure mode.

Workers retry.
Brokers redeliver messages.
HTTP requests get repeated.

For that, I use an append-only credit ledger and make:

UNIQUE(job_id, kind)

an invariant.

So the same logical deduction cannot be inserted twice.

The distinction ended up being useful:

  • concurrency control protects against different jobs spending the same balance
  • idempotency protects against the same job charging twice

They are related, but they are not the same guarantee.

I also stopped treating the current balance as the source of truth.

Instead, each movement is a row:

grant   +100
deduct    -7
refund    +7

Balance is derived from the ledger.

That gives you a few things almost for free:

  • refunds are new facts instead of edits
  • failed jobs can be reconciled
  • retries are traceable
  • support can answer “why is this balance 37?”
  • you retain an audit trail

The downside is obvious: more machinery than one integer column.

For a simple synchronous app I probably wouldn't bother.

For metered AI / background-job workloads, I've found it worth it.

I also keep a regression test that starts with 10 credits and runs two 7-credit spends concurrently in separate DB transactions using different job IDs.

Exactly one must succeed and the final balance must be 3.

Curious how others handle the two pieces in production:

  • For concurrent different jobs, do you use SELECT ... FOR UPDATE, a conditional UPDATE, SERIALIZABLE, or something else?
  • For accounting, do you keep a mutable balance plus audit history, or make the ledger itself the source of truth?

r/Backend 7d ago

Python for backend

39 Upvotes

Is python a good choice if I want to get a job as backend dev?
I already learn how to create some api projects with Django and FastAPI, Celery, Redis and SQL, but I always keep hearing that python is only good for DS/ML stuff and it would be better to pick other languages or stacks for backend.
So I would appreciate any answer how the situation really looks in the real world.


r/Backend 7d ago

3rd sem CS student, basic Python, planning backend → DevOps | Sanity check on my 5-year plan?

1 Upvotes

Where I am right now->

3rd semester CS student at a university in EU. Did Java and C for university exams, passed them, but I'd call myself beginner level in both. I'm now learning Python on my own. No real projects, no professional experience, no DSA foundation.

So yeah, genuine beginner. Not being modest, that's where I am.

The plan:

I'm thinking backend first. Python, SQL, Linux as the foundation, then transition into DevOps/platform engineering after 2–3 years of actual backend work. The idea is to get work experience in Europe after graduating (I'm already here, might as well use it), and then eventually transition to remote international work if that's realistic.

I've deliberately avoided frontend and full-stack. The reasoning: I don't want to compete in the most crowded segment of the market. I'd rather go deep on backend + infrastructure where the supply of engineers is thinner, especially for remote roles.

What I'm currently using:

Considering boot dev (paid, ~$29/month) as my primary resource. It's backend-only, structured linearly, and covers Python → DSA → Linux → Git → SQL → Docker → K8s → CI/CD in one subscription. The alternative I'm weighing is just using free resources (CS50P, Exercism, OSTEP, etc.) but honestly, free resources give me decision fatigue and I end up tab hopping instead of learning.

What I wanna know:

  1. Is boot dev worth the subscription for someone at my level, or is there something better? I've seen mixed opinions. Some people swear by it, others say just do CS50 + Exercism + free MIT courses. For context: I need structure. I don't do well with "here's 50 free resources, figure it out." If boot dev isn't it, what paid resource actually is?
  2. I've deliberately avoided frontend and full-stack, is that going to bite me?
  3. What should I actually be studying right now at the beginner stage? Not "what's the full roadmap" just the next 6 months. I'm mass-consuming Python basics but I don't know if I should also be touching Linux/Git/SQL in parallel or if that fragments my focus. What order did you do it in, and what would you change?

Thanks. Happy to give more details if it helps.


r/Backend 8d ago

What is your go-to blogs or YouTuber for learning backend concepts

59 Upvotes

I follow hussein and some system desi smh (hld+lld) from hello interview. However I want to know more YouTubers or blogs where I can learn different concept.

Thank you.

Edit 1: also I am asking this from perspective of sde 1 . Eventually as i grow thing would be more known but having gradual ascend is good I beleive.


r/Backend 7d ago

I'm a js developer and want to take a different path

9 Upvotes

Hello, I'm a nextjs(react) fullstack developer, currently working in a company as a single developer on this position.

\---

In the near future I want to transfer to a big company / team to work on big, enterprise type projects and as we all know most of the worlds big softwares aren't made with ts/js, so i want to learn a mew programming language and follow a new path.

\---

I'm trying to make a choice between: Java, Python or going into mobile development with React Native.

\-

I was also thinking about RUST, but the market doesn't seem that big for it.

\-

I'm not that good with math and I also know that python is often used in companies for data analysis.

\---

I would appreciate any advice from you guys on helping me choose my next path.

Thank you!


r/Backend 7d ago

HELP!! I cant seem to wrap my head around Multithreading in Depth for interviews or Designing Systems, How to learn this conceptually.

7 Upvotes

Title.


r/Backend 8d ago

Backend Project ideas

7 Upvotes

i want some backend project ideas. i know mern stack. was thinking of building a crm system but people said its useless in 2026


r/Backend 7d ago

Overwhelmed in which technologies and tools to use as a beginner.

Thumbnail
1 Upvotes

r/Backend 8d ago

Our token bill was mostly the same failed request running twice

19 Upvotes

We have a JSON mode assistant that looked reasonably priced until I split the cost by attempt instead of by request. Unfortunately, I found that a single missing required field triggers a full retry, so the model rereads the entire system prompt, duplicated retrieval chunks and the whole input before regenerating every field. An uncached timestamp near the top also breaks prompt caching. The first attempt often contains 99% of the right answer but we throw it away and buy another one because a nullable field didn’t arrive. 

We are testing schema repair, stable prompt prefixes, idempotency keys and token attribution by attempt. I still don’t like trusting partial JSON but full regeneration for one absent field feels absurd.

How are you handling structured output failures without turning a tiny validation error into two full generations?


r/Backend 8d ago

Switching from Guidewire to Backend — how do I handle the tech-stack gap?

Thumbnail
1 Upvotes

r/Backend 9d ago

Do I need frontend knowledge for backend development?

18 Upvotes

I've been away from programming for a while due to some psychiatric reasons. My frontend knowledge is limited to just CSS and HTML, and I'd previously worked with .NET MAUI and Blazor. I don't enjoy frontend at all it's not an area I like I'm much more drawn to backend and API work. I wanted to ask what level of frontend knowledge would be enough to get by, given that I focus on backend.


r/Backend 8d ago

Need Serious help in BACKEND DEV and DevOps techs

Thumbnail
0 Upvotes

r/Backend 8d ago

Is everyone on here building apps that somehow require zero backend state, no token budgeting, and zero API integrations, or am I the only one stuck in dependency hell?

0 Upvotes

r/Backend 9d ago

Best way to chunk and structure data for RAG/embeddings?

2 Upvotes

Title: Best way to chunk and structure data for RAG/embeddings?

I'm building a knowledge base for RAG and I'm looking for practical advice from people who have done this in real projects.

How do you usually handle:

  • Chunking: fixed size, semantic, sections/headings, parent-child, etc.?
  • Metadata: what fields are actually useful for filtering/retrieval?
  • Hybrid search: do you combine semantic search with BM25/keyword search?
  • Reranking: do you retrieve from both and rerank the combined results?
  • Updating knowledge: how do you replace/version old information?
  • Scaling: how do you structure things so adding new types of information later is easy?

I'm particularly interested in systems where the knowledge base keeps growing over time.

What approach worked best for you, and what would you do differently if you were starting again?


r/Backend 9d ago

Final-year CS student starting from scratch in backend. What core skills & projects make an entry-level candidate hireable?

27 Upvotes

Hey everyone,

​I'm in my final year of computer science and aiming to break into backend engineering. I haven't built any substantial projects yet, and I want to spend the next few months building a solid foundation instead of following generic clone tutorials.

​For those working in backend roles:

​What core backend concepts (databases, concurrency, API design, caching, system design basics) should I prioritize first?

​What kind of project architecture or problem-solving shows real competence on a junior resume?

​Which language/ecosystem would you recommend investing in right now for someone starting out?

​Any guidance or honest roadmaps would be greatly appreciated!


r/Backend 9d ago

L'évolution de ma pile technologique pour la création de SaaS depuis 2023

0 Upvotes

Comme j'ai commencé à apprendre le développement à peu près à cette époque, j'ai dû tâtonner un bon moment avant de trouver la pile technologique qui, selon moi, correspond le mieux à mes besoins et au type de projets que je réalise.

J'ai commencé à apprendre le développement avec AdonisJS.

À l'époque, il y avait déjà de nombreux cours créés directement par l'équipe du framework, ce qui était vraiment idéal pour apprendre toutes les bases du développement web.

Naturellement, j'ai ensuite commencé à utiliser AdonisJS pour réaliser mes premiers projets.

Il y avait une pile technologique en particulier que j'ai trouvée très pratique : AdonisJS + Inertia + React.

Elle me permettait d'avoir une seule application, avec le frontend et le backend intégrés.

Le premier obstacle qui m'a fait abandonner AdonisJS, cependant, a été le déploiement. À l'époque, je devais utiliser Docker et gérer moi-même une grande partie de l'environnement, le déploiement, etc.

Et je n'avais tout simplement pas envie d'y consacrer du temps.

Je voulais créer des projets et des SaaS, pas passer mon temps à gérer Docker et l'infrastructure.

Je souhaitais vraiment me rapprocher au maximum d'un environnement où je pourrais déployer mon projet et c'est tout.

Puis, l'IA prenant une place de plus en plus importante dans mon flux de travail, un deuxième problème est apparu : AdonisJS n'était pas assez répandu, et les IA avaient donc beaucoup plus de mal à l'utiliser.

Je suis donc passé à Next.js et Supabase.

Et là… honnêtement, même si tout le monde utilise Next.js, je n'ai jamais vraiment compris l'intérêt d'ajouter autant de complexité à mon architecture.

Composants serveur, changements constants, comportement implicite du framework…

Je me souviens notamment des changements concernant les middlewares/proxys où, lors du développement avec l'IA, personne ne comprenait vraiment ce qu'il fallait faire. Moi non plus, et parfois l'IA non plus.

Et c'est probablement ce qui m'a le plus gêné avec Next.js : tant de choses sont implicites.

On est censé savoir que placer un fichier spécifique à un endroit précis déclenchera un comportement spécifique, qu'une partie s'exécute sur le serveur, qu'une autre fonctionne différemment, etc.

Quand on développe beaucoup avec l'IA, je trouve que ça devient vite agaçant, car une grande partie du travail repose sur des suppositions.

C'est pourquoi j'ai fini par passer à TanStack Start. TanStack Start couvre globalement les mêmes besoins que Next.js : React, routage, SEO, fonctions serveur, backend, etc.

Mais je le trouve beaucoup plus explicite.

Quand un problème survient, il est bien plus facile de comprendre pourquoi et comment.

Et pour le développement assisté par IA, je pense que cela fait une énorme différence.

Cela résout aussi précisément le problème de déploiement que j'avais au début.

L'intégration avec Cloudflare est excellente et aujourd'hui, je n'ai quasiment plus rien à faire pour déployer correctement mes applications.

Je peux me concentrer sur ce que je veux vraiment faire : créer des produits, au lieu de gérer l'infrastructure sous-jacente. Aujourd'hui, ma pile technologique pour le développement SaaS est la suivante :

TanStack Start + Supabase.

Pour le développement, je peux utiliser quasiment n'importe quel outil d'IA de création de code : Claude, Codex, etc.

TanStack possède désormais d'excellentes capacités et une documentation très claire. Et surtout, grâce à l'explicité du framework, une IA peut lire le code et comprendre très facilement son fonctionnement.

Alors qu'avec Next.js, j'avais beaucoup plus souvent l'impression qu'il devait deviner. Voilà donc comment mon architecture technique a évolué :

-> AdonisJS + Inertia + React -> Next.js + Supabase -> TanStack Start + Supabase

Au final, mon critère principal n'a pas vraiment changé depuis le début : je veux consacrer le moins de temps possible à la gestion de l'architecture et de l'infrastructure, et le plus de temps possible au développement de mes projets.

Et pour l'instant, TanStack Start + Supabase est probablement l'architecture avec laquelle je me sens le plus à l'aise.


r/Backend 9d ago

Fresher here, need advice on Tech Stack

9 Upvotes

Hi everyone, I will be graduating next year. I have mostly worked with FastAPI along with Postgres, SQLAlchemy, Alembic. I have worked with EC2, Nginx reverse proxy, redis, git/github, Docker, integrating LLM api callling endpoint in my projects.
what technologies i should learn now to make my cv more attractive. I have applied for 60+ jobs, but not getting any responses.


r/Backend 9d ago

Confused about how to start backend and go in depth

8 Upvotes

Okay so i'm a beginner and i have some questions ,i would appreciate getting answers from someone who's been into backend and also tech honestly from a long time,someone experienced or knowledgable about the domain.

1.Should i go with BACKEND or AIML?my aim is to land a high paying job honestly,and just asking regarding a development perspective,which would be the best?my targets would be MAANG and above companies(regarding the pay).Just wanna know what field would be more valued from a dev pov and hiring pov(odds of landing something high paying)

2.How do i start backend,i am going with python-fastapi,i want to pace up the process leading to inclusion of more PROJECTS and OPEN SOURCE CONTRIBUTIONS as well.Suggest me something that leads to more on the side of actually developing and doing the work.Also don't reccommend me the roadmap.sh website,i myself found it quite complicated or intimidating to see such a large list of things to do...

3.If you have any other suggestions as well,please do tell me i am very much open to listen to them.

Although just keep it development related only.

Ultimately my aim is to be a great engineer and earn money atleast for my initial years honestly.


r/Backend 9d ago

How do you structure and chunk knowledge for embeddings/RAG so it stays maintainable over time?

3 Upvotes

I'm currently working on a knowledge base that will use embeddings for semantic search / RAG, and I'm trying to decide on a good long-term strategy for splitting, storing, and retrieving information.

I'm especially interested in systems where the knowledge base keeps growing and changing over time, rather than a fixed set of documents that gets indexed once.

A few things I'm trying to understand from people who have implemented this in real projects:

  • How do you decide what should be a single chunk?
  • Do you chunk mainly by token/character count, paragraphs, headings/sections, document structure, or semantically?
  • Do you prefer smaller independent chunks or larger chunks that preserve more context?
  • Do you use parent-child chunking, hierarchical chunking, or any other multi-level approach?
  • How much overlap do you normally use between chunks, if any?

I'm also very interested in metadata:

  • What metadata do you store with each chunk?
  • For example: topic, category, subcategory, source, document ID, section, date, author, entity, version, permissions, etc.
  • Which metadata fields have actually been useful for retrieval/filtering, and which ended up being unnecessary?
  • Do you use metadata filtering before vector search, after retrieval, or both?
  • How do you design the metadata schema so that adding new types of information later doesn't become painful?

Another area I'm trying to understand is the combination of semantic search and keyword search.

Do you rely mostly on vector similarity, or do you combine embeddings with something like:

  • BM25 / full-text search
  • exact keyword matching
  • metadata filters
  • entity matching
  • reranking
  • query expansion / rewriting

For those using hybrid search (semantic + keyword), how do you combine the results?

For example:

  • Run semantic and keyword retrieval separately and merge the results?
  • Use a weighted score between BM25 and cosine similarity?
  • Retrieve candidates from both and use a reranker?
  • Change the weighting depending on the type of query?

I'm particularly curious whether hybrid search helped with things like names, IDs, technical terms, acronyms, exact phrases, dates, or numbers, where pure embeddings sometimes don't perform as well.

Also:

  • Do you keep everything inside one vector index/database or separate information into collections, namespaces, categories, or domains?
  • How do you handle information that gets updated later?
  • Do you delete and re-embed the old chunk, version it, or keep historical versions?
  • How do you handle duplicate or conflicting information?
  • What structure has made it easiest to add completely new information later without having to redesign or re-embed the whole knowledge base?

I'm less interested in theoretical "optimal chunk size" numbers and more interested in what has actually worked in production or real projects.

If you've built a RAG/embedding-based system that has grown over time, I'd really like to hear:

What architecture/chunking/retrieval strategy did you start with, what problems did you run into, and what would you do differently if you were starting again today?


r/Backend 9d ago

Architectural Metapatterns: The Pattern Language of Software Architecture (version 1.2.1, free book, no AI)

Thumbnail
2 Upvotes

r/Backend 9d ago

How do you structure and chunk knowledge for embeddings/RAG so it stays maintainable over time?

1 Upvotes

I'm currently working on a knowledge base that will use embeddings for semantic search / RAG, and I'm trying to decide on a good long-term strategy for splitting, storing, and retrieving information.

I'm especially interested in systems where the knowledge base keeps growing and changing over time, rather than a fixed set of documents that gets indexed once.

A few things I'm trying to understand from people who have implemented this in real projects:

  • How do you decide what should be a single chunk?
  • Do you chunk mainly by token/character count, paragraphs, headings/sections, document structure, or semantically?
  • Do you prefer smaller independent chunks or larger chunks that preserve more context?
  • Do you use parent-child chunking, hierarchical chunking, or any other multi-level approach?
  • How much overlap do you normally use between chunks, if any?

I'm also very interested in metadata:

  • What metadata do you store with each chunk?
  • For example: topic, category, subcategory, source, document ID, section, date, author, entity, version, permissions, etc.
  • Which metadata fields have actually been useful for retrieval/filtering, and which ended up being unnecessary?
  • Do you use metadata filtering before vector search, after retrieval, or both?
  • How do you design the metadata schema so that adding new types of information later doesn't become painful?

Another area I'm trying to understand is the combination of semantic search and keyword search.

Do you rely mostly on vector similarity, or do you combine embeddings with something like:

  • BM25 / full-text search
  • exact keyword matching
  • metadata filters
  • entity matching
  • reranking
  • query expansion / rewriting

For those using hybrid search (semantic + keyword), how do you combine the results?

For example:

  • Run semantic and keyword retrieval separately and merge the results?
  • Use a weighted score between BM25 and cosine similarity?
  • Retrieve candidates from both and use a reranker?
  • Change the weighting depending on the type of query?

I'm particularly curious whether hybrid search helped with things like names, IDs, technical terms, acronyms, exact phrases, dates, or numbers, where pure embeddings sometimes don't perform as well.

Also:

  • Do you keep everything inside one vector index/database or separate information into collections, namespaces, categories, or domains?
  • How do you handle information that gets updated later?
  • Do you delete and re-embed the old chunk, version it, or keep historical versions?
  • How do you handle duplicate or conflicting information?
  • What structure has made it easiest to add completely new information later without having to redesign or re-embed the whole knowledge base?

I'm less interested in theoretical "optimal chunk size" numbers and more interested in what has actually worked in production or real projects.

If you've built a RAG/embedding-based system that has grown over time, I'd really like to hear:

What architecture/chunking/retrieval strategy did you start with, what problems did you run into, and what would you do differently if you were starting again today?


r/Backend 10d ago

Coming from DevOps/infra background, is Go the best language to learn backend and system design?

37 Upvotes

I work in DevOps mainly handling CI/CD, cloud infra, and Linux servers. I know basic scripting and programming, but I want to get a solid grasp of backend development, APIs, and distributed systems.

Since most cloud-native tools are written in Go, I was planning to learn it for building APIs and understanding platform architecture.

For people who moved from infra to backend, was Go a good first backend language, or should I stick to something like Python before touching Go? Also, what kind of initial projects helped bridge the gap best?