I had an interesting conversation with a coworker today where he claimed that developers are really second class citizens in our business.
I don’t know if I would agree with this. Let me provide a little bit of setup for this one.
Where I work, the company has everyone on a single floor in a building. The floor layout is such that everyone who works in engineering and IT is on one half of the floor. The other half of the floor is composed of sales, marketing, services, project management, etc. The elevators, lobby, and a string of offices in the middle of the floor keep these sections separated.
You would think this is a benefit since developers often state that they want to be isolated from these groups in order to have a quiet environment. If you look at this in action though, it’s actually helped to develop a culture that has a bit of “us vs them,” from the engineering point of view. (I can’t comment on the view from the “business” side.) You will hear developers talking about “that side” almost as if it were an entirely different piece of the company focused on an entirely different set of goals.
Teams are focused on the same goal though — make our company the best in our industry and continue to work hard until that goal is met.
The point raised is that if you want to know who the company truly values, compare salaries. They believe that the salaries on the other side are higher on average than the salaries on the engineering side. This may or may not be true, I honestly have no idea. I also don’t take my value from my salary versus the salaries of those around me. More on this later.
I can advocate that developers should not be treated in a manner that makes them feel like second class citizens. I think most people would be able to agree with this.
The fact is if you were to have no one working in your engineering teams then you would have no product. You can have great marketing that drives sales, and a great sales team that drives growth, but without developers you’d have no product to sell. You would quickly find that your product is being outclassed by companies that have evolving products. You’d also end up having a hard time scaling your product to an increasing customer base with no development team to analyze where scaling is needed and how to optimize the code for scale.
I read an article last week titled “Why Women Shouldn’t Code” by Francine Hardaway. This article makes a lot of claims that I don’t agree with:
- Developers don’t get to make important decisions.
- Developers are told by the important people what to do.
- Development is an entry level position.
- Developers will be a glut in a few years.
- Developers don’t often rise to CEO.
This post isn’t about this article, but it seems to make the point that developers are indeed second class citizens.
It is simply not my experience that developers don’t get to make important decisions and are just told by important people what to do. If you do not believe that making decisions that dictate the performance of your product are not important decisions then you are wrong. The performance of your product is almost certainly important to your customers. It is rare to have a product focused company where your product is so highly desired that it doesn’t need to work well.
It is true that developers don’t often rise to CEO. Certainly not within a company, although they may rise to CTO or CIO, it is often the COO that ends up being groomed for CEO succession. However, you will find that developers become CEO when they start their own businesses — which they have the ability to do since they can quite literally create value from nothing.
It is also true that development is an entry level position. But it is also an intermediate and senior position. Development is a career path. It is not a single job. Like other career paths, as you become senior in your function your responsibilities increase and so does your compensation. One area where the business side of the house differs from the development side is the speed at which people rise to senior positions. Someone might look at general salaries of both groups and decide that the business professionals are more highly valued, but the amount of time people have put into their careers is not necessarily the same. Personally, I switched career paths into development and my salary dropped like a rock. That should be expected since I came in at an entry level instead of with the years of experience I had on the business side.
Lastly, I don’t believe that there will be a glut of developers but how I wish that were true. If there is a glut of developers then I fully expect half of them to be unemployable. Anecdotally, my CEO told me once that if he posts a position for something that is not a developer position he gets 70 applicants in a week. When a development position is posted we get almost no applicants. The market is just that tight in our area. On top of that, the majority of developers we interview don’t make the cut. We simply can’t hire someone who doesn’t make the grade since a bad developer has the ability to infect the product at its core and cause significant damage to the brand. It also becomes much more important to keep the developers that you have. Losing even a single developer can hurt since it can take a significant investment to backfill even a single position.
I definitely do not believe that developers should be treated as second class citizens, but on top of that I don’t think that we’re treating them as second class citizens where I work now either.