DEV Community

loading...
Cover image for Jack of the Stack

Jack of the Stack

molly profile image Molly Struve (she/her) ・4 min read

During the recent Web Application #DevDiscuss, the discussion of Full-Stack developers came up. From there, the discussion delved into the best ways to describe developers and their focus.

Liquid error: internal

A lot of people felt they had an understanding of the entire stack, but were not extensively skilled across all of it. This led to the coining of the phrase, "Jack of the Stack". Eventually, the conversation turned to describing other developer types. The common concept of the "T" engineer was one of the first to be thrown out.

The conversation was all downhill after that as a group of 4 of us tried to use the alphabet to describe different developers. Here is what Max, Laurie, James, and I came up with!

A - Academic

The developer who insists on CS purity over all else.

B - Bootstrap'er

The developer who insists all sites should just use Bootstrap for the front-end.

C - C Dev

The developer who doesn't want to learn anything else because C is where it all began for them.

D - Dev.to

The developer who posts constantly on DEV.

E - Everything

The developer that has general knowledge in a large number of areas, but also has a few areas where they have more depth of knowledge. This is a more realistic full stack developer definition.

F - F* It

The developer that writes their CSS inline, because F everything!

G - GIFs

The developer that always has a GIF with their PR!

H - Hater

The developer that only talks about how much they hate other programming languages.

I - I can do it all!

The developer ninja who wants to do everything themselves. The mythical 10x'er who probably causes more problems than they solve.

J - Javascript'er

The developer that thinks absolutely everything should be in JavaScript, from the databases to the front-end. Even if it means replacing everything!

K - Kick the Can

The developer that always insist on kicking the can down the road and solving the issue in a later PR.

L - Learner

The developer that rightly knows everything is about learning and is constantly trying to learn everything they can about all the things.

M - Mac

The developer that will not work on anything besides a Mac and they don’t understand why anyone uses Windows. Don’t get them started on Linux.

N - Narrow Minded

The developer with a singular focus on a particular stack to the point of recklessness. They want nothing to do with anything new.

O - O(n)

The developer who is obsessed with all things O(n).

P - Perfection!

The developer that writes the cleanest code, complete with descriptive names, comments, and a fantastic README.

Q - Quirky

The developer that mostly circles around the same tech with one disturbing aberration.

R - Recursion. Recursion. Recursion...

The developer that thinks of the recursive solution to everything.

S - Sassy

The developer that believes EVERYTHING needs a mixin!

T - Topic Expert

The developer that has a lot of general knowledge, but is also an expert on one specific topic.

U - Unicorn

The master full-stack developer, which likely doesn't exist.

V - View Challenged

The developer who decides to throw all the code inline in the view so the HTML is a jumbled mess no one can read.

W - What next?!

The developer that is constantly looking to work with the next shiny, new technology.

X - X marks the spot

The developer who nitpicks the incorrect semantics of every single PR, thinking it must be eXactly on the mark before being merged.

Y - Y isn’t this Accessible?

The developer focused on accessibility. They're so important they should be earlier in the alphabet, and are so essential to each word, you almost think it should be a vowel.

Z - Zzzzzz 😴

The developer that has an obsession with an obscure language that no one knows about, yet they want everyone to learn. It is enough to put you to sleep.

;

The developer who can’t take their mind off of programming, and at the end of the day they forget lists, like sentences, don’t end in semicolons;

SO, which developer can you relate to?! If you can relate to multiple of them, you might just be a "Jack of the Stack!"

BIG Shoutout to my co-authors who helped come up with all these different devs! HIGHLY recommend giving each of them a follow! πŸ€—

laurieontech image

maxwell_dev image

turnerj image

Discussion (34)

pic
Editor guide
Collapse
tvanantwerp profile image
Tom VanAntwerp • Edited

What's beyond full-stack? Because I'm simultaneously responsible for front-end, back-end, devops, and the damned office printers.

My feelings about printers in a gif.

Collapse
jjtowle profile image
Jason Towle

I think I'd end up doing this too if I didn't take so much pleasure in saying to people "sorry, you'll need to speak to IT Support for that". I've lost count how many times someone has come to me and said "my printers broken" and go on, what feels like, an hour long monologue before I lay that gem of a line on them.

Yes..... I do let them waste their breath telling me all about it first :)

Collapse
tvanantwerp profile image
Tom VanAntwerp

Wish I could do that. Sadly, I am IT support. I split my days between writing code and jiggling loose monitor cables whenever someone's screen goes black.

Collapse
jaakidup profile image
Jaaki

I know right. In small businesses and startups, you have to do everything. Even get cookies and coffee ready for meetings.
The corporate devs have it easy, they can concentrate on only one thing... actually sounds a bit boring :D

Collapse
thejoezack profile image
Joe Zack

Are you really sure that you actually exist? You might want to try pinching yourself. ;)

Collapse
jccorsanes profile image
John Cyrill Corsanes

Even replacing printer inks πŸ˜„

Collapse
yorodm profile image
Yoandy Rodriguez Martinez

Been there, done that, have the shrink bills to prove it πŸ˜‚!

Collapse
jjtowle profile image
Jason Towle

I class myself as a full-stack developer as, with reference to the above Unicorn comic strip, I do indeed "make the entire app" where I currently work. Literally everything, from back to front and front to back. That said, I certainly don't consider I'm a Unicorn "master" and Jack of the Stack may well be a fair assessment.

Collapse
thejoezack profile image
Joe Zack

My letters change throughout the day ;P

(But seriously, I keep hearing about how full stack devs "don't exist" and can never "truly master" the full stack but I'm still waiting to meet one of these mythical single-enders that have managed to "truly master" their half)

Collapse
chrishall78 profile image
Christopher Hall

What's even more mythical? The full stack designer/developer. Everything from Information Architecture to User Experience to Visual Design to HTML/CSS to Javascript to CMS integration...

Collapse
workingwebsites profile image
Lisa Armstrong

Agreed. You're either a designer who can do some coding, or a coder who has a sense of design. Artist or technician, never both.
I really think it's 2 different types of brains.

Collapse
adamgerthel profile image
Adam Gerthel

I have to say I strongly disagree with you.

I started out as a designer, but over the 10 years as a professional web developer I've moved more and more to programming after finally started learning javascript about 5 years ago. I know a lot about print design, web design, frontend, backend, devops etc. When I work with specialists (i.e. people that stick to a single field), I'm usually not better than they are at what they do, but I'm often not that far behind.

How I got to this point? Time and environment. I started making websites in the mid 90's when I was about 10. My parents are in creative fields (architecture and interior design) and I started out doing a lot of visual design with computers as a teen. I started a web agency at age 22, and have since worked professionally in all fields: Project management, design, frontend/backend, devops, information architecture, you name it. Spending 60+ hour work weeks over a couple of years adds up to a lot of time and skills.

I'm also not alone, I've stumbled (albeit not often) across other people with similar skills. So yes, I actually consider myself a pretty good full-stack developer, and I'm confident as one too. While I do consider my strong suit to be in the visual field more so than programming, I can do much more than "some coding".

Thread Thread
workingwebsites profile image
Lisa Armstrong

Sorry Adam, I should have been clearer.
My point is, IMHO, you need to be a little of both in this business.
If you're a designer, you need to be able to code and vice versa.

Of course designers can write good code, and coders can create good looking products.

However, I think it's difficult to have equally good skills in all areas because of the time it takes to develop and hone those skills.

I also suspect people are wired differently, and some things come easier than others.

Good on you for working on building up a variety of skills! Very often having a broad understanding of many things serves you well.

Thread Thread
adamgerthel profile image
Adam Gerthel • Edited

Thanks! Yes it does, most of the time. The downside is that I have trouble not wanting to have a say in parts of projects that are not necessarily within my area of responsibility. It's so much easier sometime to not know a lot about an area, because then you always trust those that you think are experts. The upside is that I'm generally wanted in projects due to my experience.

Sure, 100% equal skills is rare, but I don't really see that how it's relevant. You could apply the same argument to a developer who knows two different coding paradigms or two different languages. He/she will most likely be better than one than the other, but you wouldn't necessarily claim that it's impossible to be good at both those languages just because of that. Or, you could, but it wouldn't really mean much.

I do however think that there are traits that are more useful as a developer or as a designer. And I suppose developers are more prone to carry the traits that are better for programming and vice versa.

I think we as humans want to categorise things because it makes life easier, but life is seldom b/w. There's a lot of hues in-between.

UPDATE: Anyway, I think this discussion is excessive, most days I would agree with your original statement, because I also think most people are better than one than the other. I got little carried away by all the "anti-unicorn"-iness in this thread :)

Collapse
capsule profile image
Thibaut Allender • Edited

Isn't every web developer with 15+ years of experience that kind of unicorn?

Heck, I studied computer graphics 23 years ago, got my first job as a web designer / 3d artist / web developer. Started with HTML slicing, then DHTML (ahah), at the same time I was working on personal PHP (2.0!) projects while doing ASP, Perl and other obscure Windows CGI stuff. Then migrated the Win NT internet connection sharing server to Linux because it would constantly crash (yes, you had to do auto dial-in and NAT manually back in the day) and stared using PHP3 to develop the new business websites. I learned CSS when Firebird (yes, before it got renamed to Firefox, that was v0.6 I think) around 2003, taught it to colleagues a few years later, worked on bespoke PHP frameworks, participated in design studios, orchestrating UX, UI and front-end dev, created style guides and design patterns, the list goes on.

Today I mostly do front-end because I think that's the most exciting part but I could still do all the rest, from design to Apache setup with front and back end in between.

That artist/designer/technician split is wrong imho. Web design is, well, design. It's not a painting or art for the sake of it. You need to be the kind of designer that is in fact a technician. Or, I like to use the term craftsman. There's no point creating an interface that is completely useless, or a tool that is so technically complex that it is also useless (on top of being ugly).

Thread Thread
workingwebsites profile image
Lisa Armstrong

I hear you! I've been at this for a long time as well, since the days a hyperlink was leading technology. :-O

I followed a similar path, and agree the interesting stuff is on the front end these days and programming really is a craft.

You do need to code and have a sense of design. My point was you can do both and be good at it, but your probably a little better at one than the other by nature.

BTW, I love the idea that old programmers never die, they just turn into Unicorns. ;-)

Collapse
madhadron profile image
Fred Ross

That's an interesting assertion. So what about the many programmers who are artists (painters, musicians, poets, etc.)?

Thread Thread
workingwebsites profile image
Lisa Armstrong • Edited

They are the true unicorns! :)

I mean designers (look of the product) vs coders (make it run).

Generally I find people are either better designers than coders, or vice versa.

There is overlap of course! Designers can code well and coders can make good looking products.

However, finding someone who is equally good at both is rare.

Personally, I enjoy both the technical coding and the creative designing, but I also know one comes easier than the other.

I suspect (pure opinion here) it's because of how our brains are wired, plus our experience / bias.

I also think the 10k hour rule applies too. You need to invest a lot of time to be really good, so the odds are a little more time was spent on one thing vs another.

Bottom line, coding and design go hand in hand. You should be able to do both. IMHO

However, if you're looking for someone who can create brilliant design and brilliant code, that's a reach.

Thread Thread
madhadron profile image
Fred Ross

However, finding someone who is equally good at both is rare.

That's fair. At one point I was probably an equally good programmer and violinist, but programming pays the bills and I haven't kept up with my music.

Collapse
lmolivera profile image
Lucas Olivera

It seems like I've always wanted to be a unicorn haha. Excellent post!

Collapse
jenc profile image
jen chan

This made me giggle. TYVM πŸ§œβ€β™‚οΈ
I think I am a T-shaped, Dev.to-shitposting, Js-challenged, L-driven Jack.

Collapse
molly profile image
Molly Struve (she/her) Author

πŸ˜‚AH! I love it!!!!

Collapse
yechielk profile image
Yechiel Kalmenson • Edited

Love it! And they stack so I can say I'm a

developer -GDE

Hoping to add the -PT flags as well πŸ€“

Collapse
valkn0t profile image
Thomas Shallenberger

R should be for the guy who insists on using RegEx in everything

Collapse
rhymes profile image
rhymes

My dream is to become a F, "F* It" developer

Collapse
javlonbeksharipov profile image
Sharipov Javlonbek

May be I become JEL

Collapse
molly profile image
Molly Struve (she/her) Author

Would you say you are JEL'in then πŸ˜‰

Collapse
cescquintero profile image
Francisco Quintero πŸ‡¨πŸ‡΄

LOL this post is pure gold.

Collapse
david_j_eddy profile image
David J Eddy

Came for the Chibi characters, stayed for the entertaining article! Entertaining and educational, you hit the mark with this one Molly.

Collapse
molly profile image
Molly Struve (she/her) Author

Thanks! Could not have done it without Max, Laurie, and James! It was really a fun group effort putting it together 😊

Collapse
maxwell_dev profile image
Max Antonucci

Anime makes everything better :D

Animated image of an anime character jumping for joy while another awkwardly watches.

Collapse
jmfayard profile image
Collapse
jaakidup profile image
Jaaki

Haha, great stuff Molly.

This should totally be the official list of tell tale signs:D

"How to Spot a Jack of the Stack out in the wild"

Collapse
aeadedoyin profile image
Adedoyin Akande

🀣🀣🀣