Sitemap
InterviewNoodle

One stop learning portal for your next coding and system design interview.

Earning your stripes in tech

--

Press enter or click to view image in full size
Photo by Nathan Dumlao on Unsplash

I have many topics where I can talk people’s ears off and feel quite confident in my point of view. This one is NOT one of them. It’s more of musings on the subject.

How does SWE II in Google compare with a principal engineer in a tiny Noname startup vs. Sr. Staff Engineer in CrowdStrike?

What about a person who did five years in software security vs. seven years in games development?

Have this engineer learned ten years of experience or ten times the same year of experience?

I feel like, at some point, the resumes became almost irrelevant. I saw people with solid (not fake) resumes, a dozen years of experience who can’t solve Fizzbuzz problems, and interns who can code circles around way-way move senior engineers.

Get Victor Ronin’s stories in your inbox

Join Medium for free to get updates from this writer.

The strength of our industry is an easy entry. You don’t need a diploma from the Ivy league, certification, or approval from some authority. You could be a teen and give a lecture to a whole auditory of adults (I can’t find a link now, but I remember a 12-year boy was giving a presentation on Drupal development at some conference).

This openness allowed explosive growth of tech, which changed the world significantly in the last 20 years for better or worse.

However, as a flip side of the coin, this wild west of software development also creates many issues. I mentioned already candidates who can’t write solutions for the Fizzbuzz problem. I worked with a person who didn’t know about bitwise operations (AND, XOR, etc.) while working on low-level cryptographic functionality. Another person worked on complex multithreading code without an understanding of how mutexes works. All of these were senior people with 5–10 years of experience (on top of spending four years in university with a major in CS). I hope these people grew out of it, but their knowledge severely mismatched their titles back then.

I am looking at the martial arts world, where you truly have to earn your stripes. There still will be a massive difference for people even in the same rank (you can’t eliminate physical abilities, style peculiarities, and so on). However, you know that if a person earned a black belt, there were enough years, sweat, and bruises. There was a teacher of that person who was making sure that it’s genuinely earned (vs. given to keep a person from switching to another company).

The thing which I describe here is very close to the apprenticeship model. It has tons of cons and pros (which I won’t be covering here). However, in the end, it teaches strong fundamentals and makes sure that you advance based on your abilities, work, and knowledge (vs. some semi-accidental circumstances).

I understand that if the whole industry adopted such a model, we would have tons and tons of trouble (e.g., abuse of power, a massive deficit of teachers, etc.). As a result, I am not even arguing for it but just thinking out loud. And there is something in this idea.

And I think this story would be incomplete without saying thank you. Several people were my informal teachers, and I was happy to learn from them as much as I can.

A lot of appreciation goes to Kevin Sapp (who was/is my mentor for good 2/3 of my career), Michael Gaffney (who taught me a lot about software architecture and structured thinking), Dmitry Zemnitskiy (who was showing to incredibly young and junior me, what the actual software development is all about) and many others.

--

--