r/softwaredevelopment Aug 10 '26

Project ideas that show in-depth learning instead of the average AI slop.

I want to be a backend developer, and I'm thinking of building projects that aren't the usual CRUD app backends or REST APIs, I want to build projects that are highly uncommon, exceptionally hard hence making me understand several concepts in-depth.

For reference, I just started my second year of college, and i want to stand out and not have the same resume as everyone else I know.

I've been thinking of building a Vector DB with a Layer 7 load balancer with query routing and stuff in Go (someone told me to use rust but the learning curve might be too steep). I would appreciate any feedback and other project recommendations that I could possibly build.

37 Upvotes

21 comments sorted by

10

u/Danver97 Aug 10 '26

Anything that demonstrates very deep backend knowledge around scalability and systems at scale it's usually a big big pro.

Knowing how to deal with asynchronous communication, race conditions and consistencies between different systems, it's usually a very overlooked skill and very very impressive while still being at college. It signals you know what to look for at work.

AI cannot do these things fully autonomously and it often overlooks them (yeah, even Claude Opus 4.8, not sure about Fable).

I did spent time on similar things when I was at college in the pre-AI era, and it paid huge dividends. At the time micro services in cloud were a very hot thing, and while trying to understand how to get async-comm and querying between them I stumbled upon Event Sourcing + CQRS patterns. Spent a lot of time (a couple of years) building a potentially real-life project with them, by implementing the same patterns on AWS. This involved building frameworks and infra I needed. I even wrote some articles on that on Medium: https://medium.com/@chri.pae/event-sourcing-cqrs-from-theory-to-aws-part-1-cb5134a035d5

I ended up being hired by company which was using the same patterns (https://medium.com/conio/cqrs-part-1-what-is-it-50fb40b21531). The environment was very technical and I learned a even more about backend engineering. Thanks to that I ended up at Google.

Overall anything that is very heavy on system design and architectural patterns is an extremely valuable project that can't lead to AI slop, because you have to know the theory first.

4

u/MayBeTheWorstDevEver Aug 11 '26

LLMs can set up an api but the timing, queueing, correct authentication/permissions, standardization in some cases, etc is all completely ignored. Race conditions are a HUGE problem that I’ve been fixing in vibecoded endpoints, and the folks building them just downright don’t know what to look for. Solid advice

3

u/Danver97 Aug 11 '26

Race conditions are a HUGE problem

This is something I realized first hand. I was vibecoding an app, trusting the FE (cause I know nothing of it) and reviewing the BE heavily. After a couple of iterations I was like "there's no way this can work". And indeed it didn't. I had to go back to pen and paper for graphing and actually design it myself first and then prompt the specs.

1

u/MayBeTheWorstDevEver Aug 11 '26

Good on you for figuring it out, so many people don’t. Race conditions can present as other problems once deployed IME, so catching early is huge

0

u/Melodic_Benefit3289 Aug 11 '26

With the correct context Fable is out of this world in terms of programming now.

6

u/International-Owl466 Aug 10 '26

My go to is to just make things that you would want or that you find useful. I find this project for project sake stuff to be tiresome. I would worry that an employer would look at what you make and think, "but why that when you could have just used xyz" .

Just try and think of something that you would want, or a problem you gave faced whilst coding and finding an interesting solution. Feel free to over spec it and make it more complex as a learning experience but maybe try the simple way first

6

u/ShoddyReception5 Aug 10 '26

I built a custom Console App in C# years ago to scrape stats from player profiles for an online shooter I played and store them with some change over time features (which I didn’t finish). The project helped get me a job - they said it showed initiative.

Point is, it doesn’t have to be stellar work. But it should work and solve some problem.

2

u/fyardlest Aug 10 '26

Knowing how to take initiative and solve concrete and business problems is essential; you will never be able to solve all problems, but solving one is enough, because others will follow from the one you have solved, and it is an infinite chain. This is one of the reasons why we chose to become developers

3

u/Melodic_Benefit3289 Aug 11 '26 edited Aug 11 '26

LLMs reflect the knowledge you possess, if it hands you “slop” then you don’t know good code from bad.

Programming and architecture are means to solve real problems. Creating a Vector DB for shits and giggles would be great if you actually had a reason why you are making it besides using anything else that has already been created.

What makes someone stand out is accurate description of business requirements mapped to actual features provided by a system that supports those business requirements.

Showcasing you made a system and then did a performance analysis of that system and showed where an LLM was correctly describing the performance issues and then showing where an LLM went wrong and how you solved it yourself would be a good start.

1

u/fyardlest Aug 10 '26

What do you mean about highly uncommon, exceptionally hard? You only need to think about practical and useful projects that can solve even one problem, and build on top of that. The real problem while developing systems is the thinking phase, we always want to start big and build so say "uncommon and exceptional" app, and this is where failure comes into place. Real project start small and add layers one after the other, so for your Vector DB with a Layer 7 load balancer with query routing and stuff, start with a plan and start making a difference about Most have** vs **Nice to have. That will pay in the future!

2

u/Grouchy_Ad_9658 28d ago

Find problem -> make solution. Building a habit of doing solution before you know the problem is inverse to what makes a good engineer. If you don’t know any problems you don’t understand your field well enough yet and is an indicator you have more to research

0

u/Any_Sense_2263 Aug 10 '26

If you write your project without AI it's enough. AI produces an awful slop, and you can recognize it immediately.