information-security/

The Hacker Mindset

4 min read codestinger updated

A hacker, in the original sense of the word, is someone who enjoys the intellectual challenge of building things and making them work. A hacker is curious about the corners other people ignore, believes information should be shared and likes helping others solve problems creatively. It has nothing to do with the kind of person who shows up in the news for breaking into systems.

Hackers are not crackers

People who break into systems for profit, fame or politics are crackers. Hackers build things; crackers break them. The rest of this post is about the first group.

Being a hacker is less about any one skill and more about a mindset. You start small, work hard on your craft, develop your own sense of design and slowly get to the point where you can build original things in your own style.

The best description of that mindset I've ever read is Eric S. Raymond's essay How To Become A Hacker. He describes five attitudes that hackers share. Read the original; it's worth it. Below is each attitude in a sentence and what it has come to mean for me after years of building software.

1. The world is full of fascinating problems waiting to be solved#

Raymond compares hackers to athletes: the motivation comes from a basic thrill in solving problems, sharpening your skills and exercising your intelligence.

For me, that thrill is the whole reason I still love this work. The trickiest integration, the report that's too big to render, the system that only fails on Tuesdays: those are the problems that make a day interesting. If you don't feel that pull naturally, you can grow it: pick a problem slightly beyond you and stay with it until it cracks.

“I find your lack of faith disturbing.” Darth Vader

The other half is faith in your own ability to learn. You rarely know everything you need at the start. Solve one small piece, learn from it and you'll know enough to solve the next piece. Repeat until done. That loop is how every large thing I've built actually got built.

2. No problem should ever have to be solved twice#

Creative brains are a limited resource. Every hour someone spends rediscovering a solution that already exists is an hour not spent on a new problem. That's why hackers treat sharing almost as a duty: solve it, then write it down and give it away.

This is the reason this blog exists. When I finally get something awkward working, a post here means the next person (often future me) doesn't have to start from zero.

It doesn't mean existing solutions are sacred. Studying the first attempt at a problem usually teaches you enough to do it better, so rebuilding it is fine. What isn't fine are artificial barriers that force people to reinvent wheels. And earning a living from your work is perfectly compatible with all of this; just don't lose your loyalty to the craft and to the people who taught you.

3. Boredom and drudgery are evil#

When a creative person is stuck doing mindless, repetitive work, the waste hurts everyone. So hackers automate the boring parts, for themselves and for everyone else too.

This one shaped my career. Whether I'm architecting a product, writing the code or running its DevOps, so much of the job is a war on drudgery: pipelines instead of manual releases, infrastructure as code instead of click-ops, generated test data instead of hand-built fixtures. If a task is done more than twice, it deserves a script.

The only exception is voluntary repetition: practising scales on a guitar or doing something repetitive to learn a skill or clear your head. That's a choice, not a burden.

4. Freedom is good#

Hackers are naturally suspicious of authority that exists only to control. Censorship, secrecy and forced "cooperation" all get in the way of solving problems.

That isn't the same as rejecting every rule. Teams need structure and systems need security. It means preferring openness where it's possible, questioning restrictions that serve no purpose and being willing to act on what you believe. Aaron Swartz remains the clearest example I know of someone who lived this.

“Do. Or do not. There is no try.” Yoda

5. Attitude is no substitute for competence#

You can adopt every attitude above and still not be a hacker. Becoming one takes intelligence, practice, dedication and hard work. I'd add one more: discipline.

So distrust posturing and respect competence in any form, especially in skills that demand focus and craft. The good news: once you truly respect competence, building it in yourself stops feeling like work and starts to feel like play.


The hacker mindset isn't something you get once. It's something you practise every time you stay curious a bit longer, share what you learned, automate the boring thing or choose the harder path of actually getting good.

The five attitudes are from Eric S. Raymond's How To Become A Hacker. The commentary is mine.