DEV Community

Cover image for Developer Differences: Makers vs Menders
Andrea Goulet for corgibytes

Posted on

Developer Differences: Makers vs Menders

When you think of a developer what comes to mind? A brogrammer living in San Francisco working 23 hours a day on the next Facebook? If so, you wouldn't be alone. Like so many industries, software development is rife with stereotypes. And one that is particularly pervasive is the idea that all developers, if given the chance, would opt for a complete rewrite of an application.

While it's true that there are many software developers who do enjoy starting with a clean slate, there is also a group who loves working on making existing applications better. Rather than starting from scratch and building an 80% solution, these developers are ideal for taking over a project once it's become stable, and nurturing it for a long time. Neither developer is better. Both are needed in the software world. You just need to understand when to use each one.

Makers Enjoy Initial Development & MVPs

To demonstrate how these developers are different, let's look at the typical product lifecycle. When a project begins, there is a burst of development that must occur for a project to get off the ground. For developers that identify as "makers", this is an ideal state. They love a blank canvas. So much so, that these types of projects, are often referred to as Greenfield projects. For developers who enjoy testing the viability of an idea, working on projects like these can feel like a little slice of heaven. Anything seems possible. The sky is blue, dotted with white puffy clouds, and the grass, in their mind, is always greener.

Once the project has the desired feature set, it's time to introduce it to market. Often this is done as a Minimum Viable Product (MVP). The app is still small, and the mental model is generally not too complex. At this point, the market will decide what happens next. Either the app will gain traction, and grow its user base, or it will fade into obscurity.

Menders Prefer Working on Apps that Are Stable and Growing

At this point, the tasks for the developer shift. Instead of thinking big and implementing architecture, they'll need to focus on things like security, scalability, performance, bug fixes, and feature enhancements. The work becomes more detailed than it was at the beginning of a project and to the frustration of many a product owner, the developer's interest begins to wane. To makers, the fine details and craftsmanship required at this phase aren't as fun.

But there is a group of developers whose talents and interests are well suited for these types of tasks. They haven't had a name until now, but we like to call them "menders". Menders love refactoring, or editing code to enhance clarity. Bug fixes genuinely excite them and they get a little giddy about testing. These are all qualities that may not be as useful at the beginning of a project, but as your app grows and becomes more complex, these are definitely traits that you'll want on your team.

Makers : New Construction :: Menders : Remodeling

Another way to think of the maker mender difference is to think about the difference between new construction and remodeling. With new construction, you're often starting with a cleared piece of land, similar to that blank text editor that makers like so much. Mending, on the other hand, is more like the show "This Old House". There's often a very good reason that the existing structure should stay, but to update it requires digging in, knocking down walls, and sometimes dealing with the unexpected things you find.

Motivation Tactics for Makers and Menders

Like with any mix of personalities, diversity is typically a good thing. Most likely, you'll want to have a mix of makers and menders on your team. The key is knowing how to motivate them so you'll get the best performance. Makers are like rabbits –Â they burst with speed for a short period of time. Menders are more like the tortoise. In their world, slow and steady improvements wins the race.

Let Makers Experiment and Give Them a Deadline

Nothing bores a maker more than repetition. So keep your makers engaged by tasking them with experiments. Allow them freedom to look into the future and employ design thinking. Need a prototype to prove a concept? Call on a maker. They'll enjoy standing something up quickly. Makers are also likely to thrive at hackathons where there's high energy for a short period of time. And if you're in a crunch and on a deadline, makers will step up to the challenge as they are often motivated by time pressure. Crossing over a big deadline gives them a sense of accomplishment, so sprints are a good project management tool for these folks. Just don't expect them to stay put on one project for too long. Makers love exploring new ideas and will get bored easily if their project is too tedious.

Give Menders a Series of Small Wins Throughout the Day

The blue-sky thinking and deadline driven project management that motivates a maker is often stress inducing for a mender. What they may lack in excitability, they make up for in consistency. A mender is an ideal person to tackle technical debt, fix bugs, fine tune features, create a style guide, and monitor support tickets. Unlike their maker friends, menders do best when their work is steady and relatively predictable. Have a problem that no one has been able to solve yet? Share it with a mender. They'll enjoy the challenge of digging in really deep and figuring out what's going on. Just be careful not to micromanage your menders, as that will annoy them to no end. Instead, develop a long backlog of tasks and give your menders autonomy as to what gets done and when. If there is a priority or deadline, communicate it well in advance to allow for unkown unknowns to surface.

So how about you? Are you a maker? Mender? Something in between? What motivates you to develop your best software?

Latest comments (44)

Collapse
 
ngarbezza profile image
Nahuel Garbezza

Great post! Definitely I'm a mender. But I discovered that after 8 years of programming, before that I was not aware of this distinction

Collapse
 
lemarhenry profile image
lemarhenry

I think i am a maker

Collapse
 
karloabapo profile image
Karlo Abapo

I think I am more of a maker. I like spinning up new projects hoping that I finish them. I don't mind mending as long as I know what I am doing.

Collapse
 
ssmusoke profile image
Stephen Senkomago Musoke

I asked the same question on Twitter just this week

twitter.com/ssmusoke/status/987959...

I am finding myself more of a mender, and less of a maker... Maybe it is because I can not type and learn as fast as I used to... but the cleaning/refactoring/re-architecturing brings a joy within me

Collapse
 
rhymes profile image
rhymes

I'm a maker who loves mending.

:-D

Collapse
 
arne_mertz profile image
Arne Mertz

I'm a little in both camps. I also don't that people who are exclusively makers or exclusively menders are good for a project's success. The early making needs to be done with mending in mind, else we quickly end up with an unmaintainable mess. Also, the menders in the later phase of a project need to have the creativity and imagination to see things like emerging frameworks. Sometimes the solution to the problems a mender has to fix is an entirely new tool or a DSL. It needs a bit of a maker's mindset to see and implement that.

Collapse
 
tejasjadhav profile image
Tejas Jadhav

Oh freak! I never thought there were people out there who love maintaining and fixing old code. Nonetheless, this is a great piece of wisdom.

Collapse
 
alex_escalante profile image
Alex Escalante

I always feel more like a maker than a mender, but when you develop for instance, your own product, you have to evolve it over time switching from one perspective to the other. That's an experience I enjoy!

Collapse
 
inozex profile image
Tiago Marques

Looks like I am a Maker :D

Collapse
 
spanazzi profile image
Daniel Gonçalves

I'm on both extremes of the spectrum, although not sure if it's good or bad, as I can be under the influence of the mood of the day! Anyways, nice article!

Collapse
 
martinhaeusler profile image
Martin Häusler

I am both, in certain aspects. Greenfield is always great. But I approach it with the idea that the architecture should be even better than the last project I did. I often write more test code than production code and enjoy seeing the number of tests increase. I totally hate deadlines - it's done when it's done. I want to build software that lasts and isn't thrown away once it's done. But I can't stand writing migration functions that keep persistent data alive. If I don't have days where I can just throw another 3000 new lines of code per day on the project, then I'm not happy either. So what am I?

Collapse
 
rajatsurana profile image
Rajat Kumar Surana

I'm more of a maker. And I love to work on POCs but working on feature addition to an ongoing project is also what I like. Participanting in hackathons and finishing tasks on deadline is what I like so much.

Collapse
 
kwabenberko profile image
Kwabena Bio Berko

I am more of a maker. I really love building stuff from the ground up. I get the opportunity to learn new tools and new ways of doing things.

Collapse
 
felruivo profile image
Felipe Piacsek

Mending is awesome and I'm definitely a mender! No one likes working in a messy codebase, and menders like to make things cleaner. There is no better feeling in programming than transforming 1k loc into 150 loc without breaking the system.

Collapse
 
falansari profile image
Ash

Say during an interview, how would you know if the person you're interviewing is the mender type? What kind of questions would you ask to glean that kind of information from them?

I find myself in-between, more a maker type that gets giddy about testing and debugging, however in the short term! I want to develop my own apps as services but the idea of supporting them for years on end myself fills me with dread lol! I much rather a business model where I develop the idea and get it stable for market release, support it myself for a limited time and when it's earning enough, hand over the reigns to a support developer. I obviously need a mender for that.