So, you want to roll your own framework…

Martin Roldan Araujo
2 min readJan 8, 2018

--

Once upon a time, there was a software development team that didn’t want to use an existing framework, so they decided to roll their own.

Hey, I’m smart enough, so I can create my own tools.

<Name of the framework here> is stupid.

I don’t have time to learn yet another framework.

Our business rules are way too complex.

I’ve been doing <something> for <N> years, I know how to <something>.

These were some of their reasonings.

So they started a 10,000 year journey.

And they failed. They ended with an unmaintainable, fragile product.

Here’s what happened.

They didn’t have enough time

If you want to build a framework, you’ll need different, complex things.

Data mapper, router, templating, asset bundler, security… They didn’t have the proper time to develop all those.

Lack of Expertise

But also, they didn’t how to build any of those. They didn’t have any experience using other frameworks, or any architectural experience whatsoever.

No documentation. At all.

They just puke code all day. Didn’t take the time to document.

This lead to waste of time when trying to reuse code. And when they realized code couldn’t be reused, they constantly reinvented the wheel, resulting in a huge, spaghetti codebase.

Testing? We don’t have time for that.

They didn’t believe in testing, a recipe for doom.

This resulted in a fragile, obscure system. Modifications where extremely difficult, since they had to test manually every time a new feature was added.

Also, the team was constantly fixing bugs (old and new).

Their customers often called, asking why something that worked before now it’s missing or broken.

Standards

They also believed that standards and code styles are stupid. They didn’t realize at first, but as the codebase was growing, it was harder and harder to read and follow logic, since every developer wanted to add “something of their own”.

The Takeaway

  • Make sure you always have enough time.
  • Never rush deliverables.
  • ALWAYS write some kind of test.
  • Have at least someone with enough experience working with other frameworks.
  • More often than not, programmer’s only way of communication is their code. As any other way of communication, the clearer it is, the faster it’s for others to catch up.

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

Martin Roldan Araujo
Martin Roldan Araujo

Written by Martin Roldan Araujo

I write code 🤖 👾 🍳 🇲🇽 🏍

No responses yet

Write a response