What is the myth
There’s a belief that people in IT, specifically software developers are generally anti-social, introverted, desk-loving curmudgeons who act like Sheldon from the Big Bang Theory.
What’s more frustrating, is that this belief is prevalent even among those working in technology — that somehow great coders are silent geniuses who shun people, while coding in a dark office corner wearing over-sized headphones playing death metal music. This is not just a myth, it’s the anti-truth of what actually happens. The best developers (just like any other profession) are always people focused.
They’re good at the job, because they’re good with people. The most technically skilled developers who don’t work well with others are not assets to the company — truthfully they might liabilities that actually slow-down work rather than speed it up.
Why the myth is wrong
Modern software is complex. It invades every aspect of the business, even going as far as dominating non-technology related departments like HR and Finance. And because business’ are themselves complex, the software needed to support them mimics them in complexity.
It’s common to see large ERP systems expand throughout a organization, eventually entangling itself with everything from vendor payments to employee leave requests. Shut those system down, and the business is thrown into chaos.
Andy Greenberg, in his book Sandworm, explains what happened a Ukrainian hospital group, after they’re systems were attacked by NotPetya:
“..all upcoming appointments had to be canceled. The GPS system for locating the hospitals’ ambulances was dead. The IT administrators had a full backup of their system from 3 days earlier. But ever test that had been performed since then…would have to be redone.”
This is a Hospital group, not a high-end tech startup, and even they can’t survive without their IT systems — because these systems are integral to the business, and as such have absorbed the complexities of the business into themselves.
No longer does any single person in the organization know every nook and cranny of these complex behemoths. Heck, even the collective human knowledge of the company might pale in comparison to what some derisively call ‘legacy applications’.
I’ve been in meetings where nobody knew why a particular process required a series of unusual steps in a ‘legacy’ system — yet, there must have been a reason their predecessors codified those steps into the system. A rare piece of company knowledge that has long since been forgotten by the humans, is now forever captured in this software artifact — an artifact that no one dares switch off!
Sure, back in the good old’ days, it was possible that a single developer knew everything about a system — those were small, glorified versions of Excel spreadsheets. These organizations tolerated the eccentricities of single all-knowing developer, because they had not choice. But they knew that one lottery-winning developer would send them into a death spiral.
Those days are gone, the best developers (even mediocre ones), now all work in small teams. Those teams are often multi-disciplined and include non-technical project managers, and even business folks — some of whom struggle with VLOOKUP.
But that’s the reality, any developer who can’t work in a multi-discipline team, and learn the non-technical aspects of their job — is doomed to fail, or have a mediocre career (at best!)
Teaching
This is where our education system has failed us miserably. If developers have to learn to work in teams, that should be the primary focus of the education system — after all nearly 90% of what is thought in university is never used in the real-world anyway. I learnt quadratic equations when I was 16, and then continued to learn them till I graduated with my engineering degree 7 years later. I’ve **NEVER** had to use them in real-life — NEVER!!
What I truly learnt from my 4 year degree, was the ability to learn hard things — usually in a short span of time. We had 4 month semesters, but I’d cram that all in the 2 weeks just before the exam — that skill or learning, compressing and taking an exam has come in handy.
But what was missing was teaching students how to work in teams — because all university courses culminate with the dreaded Exam, which is a terrible way to teach this skill. After all, exams are time-bound, taken from a syllabus, and done alone without any internet access. The real-world is not time-bound, there is no syllabus, you’re working in teams with an always on internet connection — you couldn’t devise a more artificial anti-work pattern than an exam.
This is terrible, because university graduates are going to come out of university primed for answering exam questions — but then get shocked into a world that is the opposite of what they spent their last 4 years in.
Conclusion
So if you’re a fresh graduate in the market for a new job, know that the one thing you that guarantees your success more than anything is your grit and determination — but make sure you channel that grit into the right space, by working with people, rather than trying to figure stuff on your own.
Which also means, it’s vitally important to work in a good team, and have a good boss — these factors matter the most for your career, evaluate this more than company culture or even salary. A good boss and team can make or break your career, and learning that early in life will set you apart.