January 1, 2022

Lesson 15: Full-stack Developers

Lesson 15: Full-stack Developers

I recently read an article debating whether Superman or Spectre was more powerful. A poll was taken and an overwhelming amount of nerds like me voted in favor of Spectre.

It makes sense.

Spectre is granted limitless power by The Presence (DC Comics version of God) to accomplish any feat within his imagination…

…It’s kinda hard to beat that.

If that wasn’t enough, he also has the ability to alter reality. He can warp time and space or shapeshift however he pleases.

Oh yeah. And he has all the knowledge in the universe. And not just the universe we know. Spectre has all the knowledge from all the universes that may have been subjected to a time distortion. Another arrow in the ol’ superpower quiver...

...He likely is also proficient with a bow and said arrow.

In one particular episode, Spectre even made The Joker feel remorse which was thought to have been impossible…

…nuff said.

So it should come as no surprise that every leader in every tech company is looking for the Spectre engineer with all the expected superpowers…

…and so without any further adieu, may I introduce to you…

…THE FULL STACK DEVELOPER!!!!!.

In the eyes of technology leaders, the full-stack developer has basically the same abilities as Spectre.

“What? We have a defect?” the CEO asks. “Can’t you just, like, warp time and go back and not do that?”

And like the comic superhero, not only is the full-stack developer all powerful…

…the full-stack developer is also completely make believe…

…it ain’t easy.

“Super FSD!” we all clamor. “Save us from delivery delays, crippling development dependencies, and painfully indecisive technology meetings.”

Adorned in his uniform of a hoodie and an unkempt hipster beard, Super FSD walks into the office as if he's flying on a smoke cloud of pot.

“Have no fear, my friends. I possess average intelligence in one specific thing and a superficial knowledge of all things,” he exclaims. “Here I am to save the day.”

He eagerly gets to work.

Once you get to know the full-stack developer, you soon begin to realize that this person is less like a superhero and more like a villain in a Scooby Doo episode. Several sprints of disappointing releases go by and like Fred and Velma you start putting the puzzle pieces together.

“Let’s see who is actually under this full-stack developer mask,” you say as you rip off the façade.

“Oh, he's actually just another mediocre developer,” everyone realizes the obvious.

“And I would have gotten away with it too if it wasn’t for those meddling Product Managers who actually expect me to produce something,” the developer laments.

On one particularly useless website, the full-stack developer is described as "someone who is an expert in the front end and the back end of an application. They also tend to be well versed in both business logic and user experience. They have good communication skills and their experience helps them become leaders in the organization"…

…They can also breathe underwater and kick a 63 yard field goal.

At this point in my career, I have literally worked with hundreds and hundreds of engineers all over the world…

…I have yet to meet a developer that fits that description.

Yet I know they are out there, lurking in the deep waters of the engineering profession like a 20 pound largemouth bass.

“Look what we caught,” Google says. “Check out the size of this one,” Apple says. “Wow this is a biggun,” Facebook says.

One thing is for sure. None of these mythical full-stack developers are being lured by the bait your company is throwing in the water…

…and yet…

…most likely your entire dev strategy is based on having a stocked pool of oversized bigmouth full-stack developers…

…and all you get is the oversized bigmouth part.

Fishing jokes aside, the legend of the full-stack developer wreaks its havoc in so many ways. It's never good when you think someone has skills to do something but they actually don't...

...just ask the San Diego Chargers who ended up with Ryan Leaf, the undisputed biggest draft bust in NFL history.

And to think that in 1998 he was considered a toss up for the #1 draft pick with Peyton Manning.

Here's the problem with Ryan Leaf.

After leading his high school football team to the state championship, he was told that his build and athleticism was perfect for tight end, or linebacker, or what the hell, why not quarterback.

Ryan Leaf was a full-stack football player. Honestly, do we even need anyone else on the team?

"Ryan Leaf takes the snap. Ryan Leaf passes to Ryan Leaf. Oooh. Ryan Leaf is tackled by Ryan Leaf."

Sounds ridiculous, right?

Yet we treat the full-stack developer the exact same way.

"Super FSD builds the database. Super FSD picks out a front-end framework. Super FSD polished the user interface with expertly crafted CSS."

By the time Ryan Leaf entered the NFL draft, his draft prospect profile described him as "self-confident to the point where some people view him as being arrogant and almost obnoxious."

Ever met a full-stack developer that meets that description...

...:grimmace:

So here’s the lesson. You likely don’t have a Spectre on your team. If you do, then count your luckily stars, say your Hail Marys, and perform whatever sacred ritual is required to get that person to stick around. Blackmail them if you have to because most likely they are being lured by better bait.

But since you don't have a Spectre, you're going to have to get to know each member of your team. Then, be brutally honest with yourself about the talent you have to work with. Then get to work on maximizing that talent for your product.

And in the end, it's better that you have a team of Peyton Mannings who are really focused, honest about their weaknesses, and good at their respective jobs...

...rather than a bunch of cocky full-stack Ryan Leafs...

...I mean, at least Peyton never went to prison...

...sheesh.