Computers are amazing.

-

Computers have changed our lives for the better. They allow us to learn, connect with each other, and express ourselves in amazing new ways. And every year computers get more powerful, less expensive, and more accessible - computers today can do things we hardly dreamed of twenty years ago.

+

Computing has changed our lives for the better. Computers allow us to learn, connect with each other, and express ourselves in amazing new ways. And every year our devices get more powerful, less expensive, and more accessible - computers today can do things we hardly dreamed of twenty years ago.

+

So why is software so terrible?

-

Why do web pages take ten seconds to load? Why do apps mess up scrolling? Why does your phone battery still die so quickly? And why does each update somehow make the problem worse?

-

And why do we all use huge frameworks that no one understands? Why do our projects take several minutes to compile? Why do we have to restart our language servers every twenty minutes? And why does everyone think this is fine?

+

Why do high-end gaming PCs struggle to browse the web at 60 frames per second? Why does a simple calculator need a splash screen? Why does your phone's battery still die so quickly? And why does each update make the problem worse?

+

And why do we all use huge frameworks that no one understands? Why do our projects take minutes to compile? Why do we have to restart our language servers every twenty minutes? And why does everyone think this is fine?

+

We made it terrible.

-

Not necessarily you or me, not necessarily anyone in particular. But we, the software development community, made it terrible through our thoughtless behavior. We ignored the hardware. We glued together libraries so we didn't have to learn. We built layers on top of layers, until no one knew how anything worked.

-

But worst of all: we put our own desires above the user's.

-

You may have learned that programming is about classes, monads, or type systems. You may have been taught to keep your code clean and pretty, abstract and future-proof. None of that matters when the end result is garbage.

+

We, programmers, have made it terrible through our thoughtless behavior. We rewrite our apps in new languages, and rather than measure anything, we just assume it will be better. We ship thousands of dependencies to our users to save ourselves a few minutes of effort. We build towers of abstractions, forget how they work, and then build new ones on top.

+

This isn't engineering. We're building Rube Goldberg machines, and users are paying the cost.

+

You may have learned that programming is about classes, monads, or type systems. You may have been taught to make your code clean, abstract, and future-proof. None of that matters when the end result is garbage.

+

But there is another way.

-

Some of us aren't satisfied with the current state of software. We think that wheels need to be reinvented. We like looking under the hood, understanding what others take for granted. We remember how software used to be, and know how much potential there is to make it better. We fight against the status quo, because we know how things could be.

-

This is what Handmade means. It's not a technique or a language or a management strategy. It's not a library or a framework or a paradigm. It's an idea. The idea that we can build software that works with the computer, not against it. The idea that the user matters more than the programmer. The idea that sometimes a small group can do more than an army of software engineers, and do it better.

-

You don't need a degree, a dissertation, or a decade of experience. You don't need an expensive computer or a certificate. All you need is an open mind and a sense of curiosity. We'll help you with the rest.

-

Will you join us?

-

Will you build your software by hand?

-

Written by Ben Visness and the Handmade community. Original by Andrew Chronister.

+

You can break out of this cycle. You can learn how computers actually work, so you can unleash the full potential of modern systems. You can dig deep into the tech stack and learn what others take for granted. When you run into a wall, rather than stop, you can dig under it.

+

This is our mission. You don't have to be a genius to make your software better - you just have to be willing to learn and willing to go against conventions. We're here to teach you, to inspire you, to help you break free from the mess of modern software development and make software the Handmade way.

+ +

So join us.

+

We know how much better software can be. The industry needs to change, and we're going to lead the way. Join us, and learn to build software by hand.