Two Types of Developers: Hackers vs Builders

There are two types of developers: hackers and builders — those who love tinkering and those who love building.

The Hacker

The hacker loves tinkering; they are passionate about programming. They like searching, poking at obscure solutions, and coming up with innovative approaches. You can recognize them through several traits. Not all are required to fit the hacker archetype, but you’ll find many of them among your tinkerer friends.

  • They’re often into Raspberry Pi.
  • They love elegant architectures (clean architecture, hexagonal architecture, SOLID, etc.).
  • Their code is always very clean and readable.
  • They enjoy unit tests and integration tests.
  • They think about every security concern.
  • They love TDD.
  • They try to optimize everything.
  • They love creating pipelines to automate the slightest task and can spend whole days configuring them.
  • They think about the future of the application and how to adapt to a future overload of users.
  • Performance is paramount.
  • They handcraft libraries or fork existing ones to match the application’s needs perfectly.

They are passionate about code; they will do everything to create the best possible application. But understand that the end result matters less: what counts is the path and that it’s done right.

The Builder

The builder loves building. What drives them isn’t the code itself, but making something—ending up with a final, useful product. They could just as well have gone into another field like housing construction. They like building things that are useful and stand the test of time. Here are several traits that let you recognize the builder archetype:

  • They want to go fast.
  • They want to push directly to master.
  • They hate all ceremonies (meetings, sprints, planning poker, etc.).
  • They never write tests.
  • They don’t care about typing.
  • The language or framework doesn’t matter. They use what they’re comfortable with.
  • Architectures don’t interest them at all.
  • The less CI, the better.
  • The simpler the infrastructure, the faster and more robust it is.
  • They want an application prototype quickly.
  • They want the app to be easy to use and pleasant to look at.
  • As long as the app works, it’s fine.

For the builder, the thrill isn’t the code; it’s going home having accomplished something useful—something that will be used and have strong value. They want to be able to hand over something functional to the client quickly.

Conclusion

These are the two main developer archetypes. You may have recognized yourself, or surely some developers around you, in one of the categories.

Now I have a few questions for you. Take the time to think about each and answer honestly.

  • Between the two archetypes—hacker vs builder—which would you label a “bad” developer?

  • To build your application, would you prefer a tinkerer or a constructor?

  • In your current project, are you more a team of hackers or a team of builders?

  • The legacy project in your company—the one that’s successful and brings in revenue—was it coded by a hacker or by a builder?

  • Last and most important question: why did you choose different archetypes for question one and question two?