DEV Community

FAREED AHMED
FAREED AHMED

Posted on

What Project Helped You Learn the Most?

Hey developers!

I'm curious to know:

• What was the first project you built that actually taught you a lot?
• What technologies did you use?
• What was the biggest challenge you faced while building it?
• Would you build it differently today?

I'm currently building projects as part of my learning journey, and I'd love to hear what projects helped others improve their development skills.

Drop your project or experience in the comments!

DEVCommunity #Programming #WebDevelopment #Learning

Top comments (1)

Collapse
 
unitbuilds profile image
UnitBuilds

V.A.L.I.D. it was the first time I took a step back and let AI do it's thing, while I orchestrate and review. It was in the era where AI generated code was terrible still, everything had to be validated by hand and more often than not fixed. It taught me to be thorough when reviewing AI generated code, along with opening new ways of thinking I never expected.

It was in C#, with a hint of F#, tied together with Roslyn and a chrome extension... But I applied unmanaged slabs, which is a Rusty thing, but it let me drop the VDOM entirely, which 6x'd the throughput, WHILE running cross-contaminating rules, as opposed to no rules at all. It blew my mind and made me realize even companies as massive as Microsoft are dealing with the same struggles... Legacy code is deprecating fast... And most of us are kept up at night maintaining it, instead of replacing it. I had been struggling with CSLA, it just kept bugging, so I wanted a better solution, I never expected it would fix Blazor to actually make it as responsive as React, except with the added bonus of being offline-first and F#'s certainty... Not to mention, it writes all the tests and boilerplate with Roslyn generators, so you just write a DTO, tag the valid objects, write up the markup for the UI, it does the rest.

It made me realize, everything we take for granted like Node.js for MCP servers, or Electron for IDEs, even HTTP and gRPC for data transfer, are all legacy code and someone out there is maintaining it, while you could be building it's successor.

In terms of struggles, getting Roslyn generators to work was a big 1, because it meant ALOT of verifying, because you cant just read it and think it works, it's too interconnected for that.

I actually did go back to it after a while, i figured the pipeline is solid, what if I threw rust at it, to make it zero-alloc? It worked, but it was slower, because F# is fundamentally faster at rule execution, the overhead rust added, was exactly against what made the system scalable. For perspective, you can run 1000 rules per pass and it would still be faster than vanilla blazor... That meant you could scale its complexity as far as you want to, it just works and it doesnt slow down. That stuck with me. Somedays a rewrite is worth it, other times, it's tradeoffs are optimization, not something that should be ripped apart.