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…
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…
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.
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. …
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. …
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…
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. …
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:
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. …
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…
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. …
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. …
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.