Debunking a widely misconceived myth

The picture of a person holding Spongebob Squarepants-printed card in front of their face
The picture of a person holding Spongebob Squarepants-printed card in front of their face

Sometimes I hear executives, programmers, and even managers talking about how "programmer happiness" is essential for a project to succeed. Some of them have read an essay from DHH from 4 years ago where he talks about how optimizing for programmer happiness helped Ruby on Rails thrive in their niche. Others have been influenced by the programmers demand to work with better tooling and better frameworks.

It turns out there are programmers who interpret the idea of "programmer happiness" incorrectly. They see it as a principle supposed to make them happy, and only them. Like they should be allowed to…

A story about how specialisation could have ended in tragedy… and how to avoid it yourself

Has something like this ever happened to you?

You go on a website, and there’s a spinner which loads forever, or an empty screen that forces you to stare. There’s a disabled button that never enables, or a page that drains your battery only for the phone to die in the most inconvenient circumstances.

The software we use today doesn’t work; many of the causes boil down to specialisation.

One day, my colleague was refactoring the Big Ball of Mud inside of one of the many API services of their company. Initially, the members of his team were very defensive…

Locality, Opportunity, and Time.

A picture from a Rocky Balboa posing a sign of victory from the top of the steps of the Philadelphia Museum of Art, also known as The Rocky Steps.

As a programmer, I've read and learned a lot about tech and entrepreneurship in the past decade. I'm fascinated about how some entrepreneurs can create profitable tech companies while others with a similar technical background can't.

Life is about making an impact, not making an income.

Kevin E. Kruse

As a Growth Mindset practitioner, I don't believe we're born with talent or "born to be successful". Maybe we're born with a genetic predisposition for certain behaviours, but creating a successful company or generating impact is not a fundamental characteristic from since we're born. …

Guess what? Either way, you die.

The picture of two cartoon characters. One is wearing winter clothes, shaking from the cold weather. The other is wearing summer clothes, sweating from the hot weather.

In some periods of a year, there's no sense of urgency. Software developers tend to build more than what's necessary as an attempt to release "the best" code possible. It turns out "the best" is an over-engineered pile of… well. It would be easy to dismiss everything if it didn't work, but it does — at least most of the time.

In other periods of the year, there's a maximum sense of urgency. Deadlines start coming from nowhere. Managers start to put pressure on themselves and their teams. …

As if that makes any sense

A picture from the entry of Schermerhorn Symphony Center in Nashville. The entrance reassembles a classical architectural style with six pillars going from the ground up to the ceiling. There are hanging flags between each pillar showing the features of the center.

I worked in a company that successfully deployed and capitalized on the exponential value from a Hypermedia system in production. After we proved the practical business value of that Hypermedia system, this question still kept popping up:

Is GraphQL better than REST?

HTTP means Hypertext Transfer Protocol. Hypermedia is a mandatory constraint for you to apply the REST Architectural style. Roy Fielding, the creator of REST and earlier designer of the Web, has put it very clearly:

[…] if the engine of application state (and hence the API) is not being driven by hypertext, then it cannot be RESTful and…

Dependencies, technology, and who's the client?

The picture of a backpacker wearing a hiking gear and looking at Matterhorn, the big snowy mountain from Switzerland. The mountain is slightly covered by two clouds at the top.

There are a few patterns in the behavior of teams from small to large scale software organizations. Although culture may play some role in that behavior, it doesn't change the fact that some of them are known to yield better results.

The culture may become a barrier to implement some of these behaviors. In a company with a micro-management culture, for example, managers can force programmers to write short-term code they'll have to rewrite in a few weeks. …

How to avoid getting a completely different story at the end

The fantasy-style picture of a woman in a clean dress somewhere above the clouds. She's standing, looking at a place far away: a big castle supported by a floating rock.

Last time I wrote a post called The 3 Major Divides In Web Programming. It talked about 3 divides lurking around the Web Programming world:

  • "Back-End" and "Front-End"
  • "Operations" and "Product Development"
  • "UX Design" and "Front-End Development"

However, we seem to have forgotten the person who matters the most, lost in our memories as a distant myth, yet core to explain the reason why we all exist: the user.

Yes, there is a mythical human being living among us; their names are known to many, but their purpose to only a few. …

It starts with "they have nothing to talk about."

A ring in the format of a skull with a crown on top of a Macbook keyboard. All keys are blurred except for D, E, T, H.
A ring in the format of a skull with a crown on top of a Macbook keyboard. All keys are blurred except for D, E, T, H.
The picture of a skull ring, sitting on top of a keyboard. It has nothing to talk about.

The Great Divide is an essay by Chris Coyier, written in January 2019. The post tries to explain a recent effect that is happening in the Front-End community. It goes like this: on one side, developers heavily skilled in JavaScript; on the other, developers heavily skilled in HTML, CSS, Accessibility, and Web Design. Although they all call themselves "Front-End" developers, they don't share the same interest or skills.

According to Chris: "They have nothing to talk about."

However, there are other divides lurking around the software world beyond the Front-End. Some of those divides have been happening for decades, others…

There are many roads; only you can choose the one to take

The picture of a road, following a straight line to snowy mountains

If you believe the tech hiring process in your company or the industry as a whole is "good enough," this post is for you.

Lewis Carroll wrote in Alice in Wonderland: "if you don’t know where you are going any road can take you there." As an addition to that, if you don't know where you are going, you'll take the road everyone has already been.

There are common patterns of how companies hire these days. Some of those patterns may not bring the result they expect. …

The story of a programming prize strategy

The picture of a colorful entangled web of yarn. It's all connected using a plastic circle.

Recently I was reading a technical walkthrough. In that post, the author was making progress mostly by fixing bugs in the code. The author knew the solution to the problem he was solving. He was debugging with the least amount of tests, and the tests were all end to end.

That reminds me of a company where its software had so many bugs they couldn't afford any new feature. …

Fagner Brack

I believe ideas should be open/free. This is a non-profit initiative to write about challenging stuff you won’t find anywhere else. ~7 min post every few weeks.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store