DEV Community

Cover image for The one mistake that cost me 1.5 year and 10 000$
ibtihel ben salah
ibtihel ben salah

Posted on

The one mistake that cost me 1.5 year and 10 000$

1.5 years ago, I set out to learn Node.js by building a fullstack e-commerce app using the MERN stack. It sounded like the perfect project at the time—challenging, practical, and impressive on a
Image description portfolio. But looking back, I regret it.

Don’t get me wrong: the project wasn’t a waste of time. I learned a lot about Express, MongoDB, and API integrations. I even gained some experience with payment gateways and inventory management. But here’s the problem: I wasn’t trying to become an e-commerce expert. I was trying to learn Node.js.

Instead of focusing on mastering Node.js fundamentals, I spent most of my time debugging e-commerce-specific features. The complexity of the project became a distraction, pulling me away from my original learning goals.

What I Should Have Done Instead

In hindsight, I should have started with smaller, more focused projects that aligned with my goal of learning Node.js.

These projects would have allowed me to deeply understand Node.js without getting bogged down by unnecessary complexity. Once I had a solid foundation, I could have gradually taken on more ambitious projects, like an e-commerce app.

Lessons Learned

This experience taught me two important lessons:

  1. Start Small

    It's tempting to jump into big, flashy projects, but mastering the basics is far more important. Small, focused projects allow you to build a strong foundation before tackling complexity.

  2. Align Projects with Learning Goals

    Choose projects that directly help you learn the skills you’re targeting. If your goal is to learn Node.js, don’t let yourself get distracted by features or technologies that aren’t relevant to that goal.

Final Thoughts

While I don’t regret the effort I put into the e-commerce app, I do regret not being more intentional about my learning journey. It’s a reminder that growth comes from focused, deliberate practice—not just ambitious projects.

What about you? Have you ever started a project that didn’t align with your learning goals? What did you do differently afterward? Let’s chat in the comments!

Top comments (8)

Collapse
 
mneme profile image
Alex T

mhm... I think the main challenge for learning new coding skills is the iteration to keep using it. I always learn new skills, frameworks, codings. The thing is once you don't always use it over and over again, you still lose it. like learning languages.

Collapse
 
stinklewinks profile image
Drew Marshall

I back this, wholeheartedly. I have found, also, by building small you can build more repetitively and get to know these languages. Build Small, Learn Small. Build Big, Learn None.

Collapse
 
gijs_epping_5604fb614af53 profile image
Gijs Epping

Well, looking at the rol of AI currently playing in the dev environment. I think really being able to understand complex environments and knowing how to debug is getting more valuable. And sometimes trowing yourself into the deepend provides more value insights then gradually dipping your tows in. But it is never a waist. You learn by failure.

Collapse
 
treybrown19 profile image
treybrown19

If you could go back, what are some examples of projects that would be better to start with?

Collapse
 
dvalin99 profile image
Domenico Tenace

Okay, you had to learn Node.js
But I do not know if it is the best for a complex project such as an e-commerce :(

Collapse
 
joelbonetr profile image
JoelBonetR 🥇 • Edited

Prestashop and WooCommerce are built (pretty badly I've to say) with PHP.
Based on the last time I've checked on them, the former has a hell of a mess in the table relationships, duplicated information across entities, questionable algorithms within its methods... And the latter treats the DB as a dumpster quite literally and to say the least. None of them have any unit, integration or e2e test.

Despite these they still work... kind of... so I'll assume Node would give a bit of an advantage in performance, amount of concurrent users served and so on. If you don't mess it up badly with the rest... Why not?

It will also probably outperform python and many other scripting languages as well nowadays.

Collapse
 
dvalin99 profile image
Domenico Tenace

In my experience, I can say that working with JavaScript/TypeScript, however versatile they are, the complexity of the project tends to increase and they are not robust enough to support the structure.

Confirm what you say about WooCommerce and Prestashop, they are quite confused and full of code.

This is my personal opinion: I come from the environment. NET for backend development and when I worked a bit with Node.js I didn’t feel so comfortable.

Thread Thread
 
joelbonetr profile image
JoelBonetR 🥇 • Edited

How's your architecture the languages fault? 😅

If you like the default .NET thingies just replicate them when using JS/TS 😊