Stack Ethnicity
Around 2016, I met a now friend on DevCongress’ slack. He needed help with a Java Swing1 application. At the time, I only knew how use Java for Android applications. It had just been a few months since I got into Android development. But I picked up the challenge and decided to help him.
Yes, we succeeded in getting that task done. I got a few euros as thanks.
A few years later, same friend got a gig for PHP which would bump me up by about 300 euros. I took that gig, delivered and got rich 🤑. Note that, I had never written a line of PHP before then. I promise! But I still took that job.
That was the only time I ever wrote PHP too.
Throughout my career, I’ve never for once thought I couldn’t solve any problem because I didn’t know a language or tech prior to the job.
It’s 202X;
After exchanging names after a tech broor sis introduction, the next question is “So what stack?” 90% of the time.
The first time I heard the term stack, it was used in the context of projects. MERN, MEAN, JAMstack 🤷🏽♂️. For whatever reason, because I wasn’t following for some time, “stack” became the identity of [new] developers.
As you may already know, I have authored a number of opensource libraries and projects. I do get more than a few DMs offering to contribute to some of the projects. In almost all introductions, people use the format:
“I do React with Tailwind. Can I contribute?"
"I know NextJS…”
These kind of introductions feel like getting a box before the present.
Basically, most of the introductions are in the form of knowing a particular library or framework. To generalize, people have tagged themselves with frameworks/tools sub a [programming] language. It has mostly felt weird to me when people respond that way. Weirder when I am asked to respond with my stack.
Like I said earlier, stacks are meant for projects not people. To identify with a few stacks must mean:
- There are actually lots of projects that require the exact stack or
- You aim to attract very few opportunities requiring that stack
But given the dynamics of the software development ecosystem, I’m going to bet that none of those reasons are beneficial to people that identify that way.
Contrasting this kind of reasoning with bigger projects led abroad, you’ll see popular opensource applications written in a language like C++, where the idea of “stack” is bogus, yet, the project has thousands of contributors. What happened to new developers2 and what is it with choosing stacks?
It’s fair if you said “I know Typescript [or PHP]”; so you’re open to opportunities revolving the language. But to pick just two or three sub-stacks and limit yourself is really really confusing to me.
The question is, what is it about knowing NextJS that can’t be transferred to Gatsby or Vue or HTMX? Are they really so different or you just don’t want to look?
Stacks are mostly frameworks with a bunch/set of APIs. These APIs and designs are learned; they are documented. The language stays the same throughout. To see a new opportunity with a different stack but dismiss it because it doesn’t match yours is nonsensical; unless you’ve decided not learn.
I hope this reshapes how we think about stacks going forward.