Common picture: medium to large company, few departments, there’s a successful software product that makes money, that is maintained by few software teams (each between 5 to 8 developers, plus managers and few directors and VPs).
In addition to tech department there are some sales, probably overgrown HR department, some people department (who obviously knows better than us what kind of trainings we need), maybe also graphic designers, recently super-fancy agile department, etc. Some of these departments are what I call “auxiliary” or “support-devs”.
Looks good at first glance but if you look closer, for each 50 full-time dev jobs there’s maybe 30 jobs around which usually does nothing but “controls” or “supports” developers. The “support” is usually create tons of documents and procedures so “everyone’s aligned” and “on same page” (e.g. development plans, appraisals frameworks, feedback frameworks, weekly meetings, monthly meetings, plus tons more).
(Sure, I want everyone to be aligned, but this should come naturally by having best people around.)
The company needs the 30 “support-devs” (auxiliary) jobs because the 50 devs weren’t the smartest at the market (company paying market average, and got average developers). Maybe 10-20% of them are really good.
We all know that good developer will create X times (2-5x) better job than average one (not mentioning the weak ones, which productivity is often negative).
Let’s assume that devs earn 10k (on average) and support jobs earns 7k (of whatever imaginary currency). Monthly cost is 710k.
(Don’t get me wrong, I know developers needs to grow careers, and need leaders etc. that’s obvious.)
But now imagine that company hires much better developers (pays them 15k = 50% above market average) and gets one of best devs on market.
These devs, additionally to their coding skills, have other skills as well. They can learn on their own, they understand product and business more, they can write automated tests, they can in agile without scrum master or agile coaches, and so on.
And suddenly company doesn’t need 50 devs and 30 of support guys, but maybe 30-35devs and 5-10 of support (485k-595k monthly cost) and everyone’s more happy. Developer’s get their pluralsight account, instead of low quality (often BS) internal training, company can invite bi-weekly a good external trainer (coach) to give training about topic that is really required by developers.
The end.
Explain me please, where’s flaw in my thinking? Why companies prefers to spend money on auxiliary departments rather then rise salaries and attract best as developers on the market?
I really want to understand.
Note: – The above text is based on my 13yrs experience as developer, lead developer and team manager in 5 companies on 2 continents (Europe and Asia). – The 50/30 ratio is taken from my observations. – The productivity is taken from my observations and articles.
submitted by /u/bzq84
[link] [comments]