How the Glorification of Software Developers Compromises Tech Companies
Instead of prioritizing coding work, we should instead look at our teams and companies as a complex and intricate organism, requiring every part of it to cooperate in order to work.
I recently started a job search for community management, event organisation, technical writing, or a related position in tech. Browsing the internet, Twitter and my personal networks, I found it extremely hard to find any positions of this kind, so hard that some of my friends (who work for medium or even large-sized tech companies) claimed their workplaces don’t even hold these roles. I found it particularly striking that at the same time I would hear a strong frustration from people about the lack of administration, organisation, work structure and proper communication at their jobs, which would suggest an overall shortage of this kind of personnel.
Still, almost all of the responses of the friends I asked was along the lines of “Unfortunately, I haven’t heard of anything, but what about a dev junior position or internship?”.
Don’t get me wrong — I appreciate each and every bit of help I received and shoutouts I got from all these awesome people who I’m truly happy to call my friends. What I found unsettling was how developers are still so much more sought after than other kinds of staff, even as the need for other types of workers is abundantly clear.
How exactly is it possible that a company can work effectively without a single operations employee? Who do the programmers refer to in case of non-technical challenges? Who writes the documentation? Who manages the communication with clients? You might say that in smaller companies the boss or founder serves this role, as the financial resources available don’t allow for an extended team to be formed. But how about prioritising the creation and preservation of a healthy work structure from the start? Maybe a non-dev person shouldn’t be the first hire of the company, but surely in the first ten.
Small companies aren’t isolated in their underestimation of importance of non-coders, though; Larry Page and Sergey Brin, the founders of Google, were at some point sceptical whether they needed a management team at all. To find out, Google carried out a long-term research effort called Project Oxygen on the role of the management layer in their company. What they found removed all doubts, revealing that “employees with high-scoring bosses consistently reported greater satisfaction in multiple areas, including innovation, work-life balance, and career development”. As HBR notes, even in an engineering-centric culture, “managers contributed in many other, important ways—for instance, by communicating strategy, helping employees prioritize projects, facilitating collaboration, supporting career development, and ensuring that processes and systems aligned with company goals.”
Yet even with such solid evidence from an organisation as reputable as Google, the appreciation of non-dev staff across tech is still unacceptably low. People don’t seem to realise that non-coders are well rounded people of many talents, they are flexible, and have to use many skills of different kinds at work. Admin staff is literally glue that allows the whole company to work without trouble. Often, especially in smaller companies, one person holding an admin position has to do many jobs of different kinds, from lunch ordering to bookkeeping, community & social media management, event organisation, documentation, etc. They are like office wizards, ready to get rid of any obstacle that may stand in the way of the team reaching its goals. They are as much problem solvers as software developers – not just in binary, but in the real world. Unfortunately, this still isn’t enough to turn the diminishing thinking.
Harmful stereotypes which nourish the belittling of non-coders are formed way before people actually enter the distorted tech job market. Recently I heard from a friend of mine, a 20-year-old male CS student, that the event organisation work I’ve been doing as a volunteer for the Python and Django community seems worthless and “fake”. Why? Because I don’t myself know Django on an expert level.
An unsettling pattern of thinking emerges from underneath these hostile words. What do my programming skills have to do with what I can achieve as an organiser? For some reason, people in other disciplines don’t hold on to the same belief. Often, it’s not doctors who organise medical symposia, not singers who organise their own concerts or festivals. How is the tech industry different from other areas in that respect? One does not need to know anatomy to be able to provide a thoughtful and logical timetable for a medical conference, nor does one need a deep technical expertise in Django to organise, promote and carry out a two-day programming workshop or a week-long conference. What one does need to have are people skills, a passion for organisation and a great amount of professionalism.
It’s pretty logical that an unappreciative and unwelcoming environment isn’t exactly what it takes for a person to thrive and grow at work. Multiple sources recognize these factors as major causes of burnout: TechRepublic talks about “lack of respect” and “no recognition”, Mayo Clinic lists “lack of social support” and “dysfunctional workplace dynamics”, and the Scientific American blog also points to “low social support” as contributing factors.
As a matter of fact, it’s difficult not to sense an underlying gender discrimination here. The statistics speak for themselves: in October 2014, 29.1% of Microsoft’s employees were female, with only 16.6% working on technical positions. As women working in STEM are obviously discriminated against pay-wise (in mathematics and computing science disciplines female workers earn 84 cents for every dollar a male employee earns), I can’t help but get the impression that this underappreciation has a slight gender bias to it.
There’s also the other side of the coin. Without dedicated staff to address the non-coding needs of the company, this work often falls to development teams to improvise or patch together. Administrative, non-dev work often requires a different set of skills than programming, and requiring those skills from a person who was hired for their programming abilities seems a little bit unfair (and also unrealistic). Putting such a pressure on software developers – that they ought to be both great coders and also step in to do management, administration, organisation, technical writing and other jobs – is another way in which such a system compromises the company’s effectiveness.
What consequences does an unbalanced focus on coding jobs have? For one, ignoring the importance of an HR specialist in your company sabotages it at the earliest stage, before the team(s) are even formed. The quality of a team isn’t about the sum of pages of its members’ CVs, but about how productive they can be while working together, whether everyone feels comfortable with the company’s culture, etc. The absence of a technical writer deprives your product of a great, thoughtful documentation – one of the most important, if not the most significant, part for a new user or client. In a similar vein, having no one to do the community management job sharply lowers your chances of extending the clientbase and improving recognition of your product; and if you hire the wrong kind of person on this position, you risk a total PR disaster.
Let’s look at a real life example of Microsoft and Apple, as described in an article by Rob Enderle. He discusses how Apple has won people over with its professional end-to-end marketing, while Microsoft has tried to forcefully evangelise tech sceptics into using their products. The effects of these approaches are visible now; people wait hours in line to buy beautifully designed and overpriced iPhones, while Windows Phones lag behind.
Ultimately, in technology we now see a visible shortage of administrative and organisational staff. Companies keep on deceiving themselves into thinking that the developers are the only important and worthy hires. While they might be a key part of product development, a product is useless if no one knows that it exists or how to use it, or if the development team feels exhausted and overworked, eventually burning out and neglecting key parts of the business.
Instead of prioritizing coding work, we should instead look at our teams and companies as a complex and intricate organism, requiring every part of it to cooperate in order to work. Equal appreciation and attention to each of the layers — development, administrative, managerial — would help people see the bigger picture, the process as a whole. Why not begin raising awareness at conferences by accepting more non-dev talks, and watching the language so that it doesn’t belittle (even unintentionally) the non-tech staff?
But as with everything, it’s best to start with yourself, sit back and think about how many people, holding different positions of different kinds, contributed to the tool you’re using at the moment.
Seems like a good start.