Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I work in the IT department as a web applications developer for a major company.

Recently as I was at a coworker's desk (he's an architect), I saw this graph that was entitled "Likely Future Roles in IT in 2015". It basically was this chart outlining the roles in IT that would have more importance in the future and the roles that would diminish in importance. I'm not sure where it came from but it was a printout from our VP of IT. He got it from some magazine I think.

Anyway, I was surprised to see that developers/programmers were on the diminished importance list. The roles on this list were projected to be less important and deemed liable for externalization which basically means offshoring. Also included on this list was roles like development managers and system administrators.

In the group of increased importance were roles like Business Analysts, Project Managers, Cloud Solutions Engineer, and Technical Architects.

I found this strange and surprising. I can tell you for one thing that there is no doubt in my mind that Architects are very important to an organization. Especially ones who still do coding. They are indispensable. But business analysts and project managers?

In my company, I've always found the BAs and PMs to be middlemen and tend to "get in the way." The real work is actually done by the developers. The developers in my company aren't just a bunch of coders who have no people skills. We actually work directly with the stakeholders in the business and solve their issues and make the company run more efficiently.

The BAs and PMs may scope out things in a bigger picture and more long-term fashion but the actual execution and solving of problems is done by the developers. So I was really surprised to find that our roles were on the diminished importance list.

I'm also surprised that our VP doesn't recognize this as he has always seemed to be appreciative of the efforts of the developers and recognize the value we bring.

Developers who can code but also have the organizational and communication skills to figure out the problems the business is facing are indispensable in my opinion. They are the ones who keep the wheels rolling.

I realize there are certain kinds of development activities you can offshore. And in today's market, it's dirt cheap but there are certain things that you just can't hand off to someone who is in a different time zone and has a language/culture barrier. I know that because my company has tried it before and it just didn't work out.

Nevertheless, this has basically raised a concern with me. Are programmers/developers becoming a commodity or will be a commodity? Lots of people can code these days. Of course the best programmers will always have jobs but what about the "good" programmers like the rest of us?

Are future IT departments just going to consist of a bunch of top-heavy employees like PMs, BAs, VPs, product managers and so on and externalize all the people who actually do the work? It just doesn't make sense to me.

I read this article on techrepublic that says we are entering the decade of the developer.

Yet there are other indications that developers are going to be in diminishing importance. I would appreciate some thoughts on this one.

share|improve this question

closed as not constructive by Mark Trapp Jan 12 '12 at 9:08

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

Importance is perhaps the wrong word. Valuable might be more appropriate. In the long term, will 2 or 3 analysts be more or less valuable than a single developer? I think the answer is always "it depends", but that's the rationale behind such decisions. Developers are expensive. – Mayo Jan 12 '12 at 6:18
They are announcing the fall of developers since 80s. – user2567 Jan 12 '12 at 6:21
People who understand both the tech and the specific business problems of a company will always be valuable, always. And personally I don't even understand the concept of an "architect" who doesn't still code, at least to some extent. Example: Peter Norvig, Director of Research at Google. The guy still writes Python/Java/whatever code even though he is about as high up as you can go in the Techniverse. – Peter Rowell Jan 12 '12 at 6:30
Of course this is the tendency: companies want to have a great number of low-skilled (or "only enough skilled"), easily replaceable developers. In this way they can reduce the dependency from each individual developer and reduce development costs. This is also one of the goals of agile methodologies. – Giorgio Jan 12 '12 at 6:44
"The one absolutely solid place to store your capital today — if you know how to do it – is in software developers’ wallets..." (The Rise of Developeronomics) – gnat Jan 12 '12 at 7:15

Its an old problem. Corporations see themselves as a hierarchy of people in various roles forming a perfect pyramid with layer of unskilled low paid staff at the bottom leading up to single CEO at the top. This works pretty well for something like shipbuilding where you have laborers, riveters, machinists, foremen, marine architects, managers forming a nice cohesive pyramid.

However this model fell apart quite early on. Railroads, telephones etc. required technicians and engineers who were much more valuable to the company than the managers. Corporations generally dealt with this problem by pretending it didn't exist. Only the entertainment and sports businesses really got to grip with how to deal with staff who are more valuable than the middle management.

Having said that if you were to have a hierarchy of IT roles the list given was probably about right for most organizations apart from the obligatory pointless inclusion of something "cloudy".

share|improve this answer
+1 for the reference to entertainment and sports. So true. – sevenseacat Jan 12 '12 at 7:48
++1, +1 for "cloudy" and +1 for sports and entertainment – zencv Feb 23 '14 at 22:08

1) Schools are not turning out enough developers as it is - shortage of developers.

2) Schools are churning out BA and Commerce degrees like theres no tomorrow - glut of BA and PM's

3) Theres no silver bullet - as an industry we have been searching for it for five decades. In the end, someone still has to write the code. That code is, to all intense purposes, high level assembly, requiring a "Mk1 Organic Brain" to make it work.

However, where I might be wrong is if there is a shift from bespoke solutions to commodity solutions in the IT world. "The Cloud" merges with "appliances" Download and install an appliance on a local VM, or use a server provided in the "cloud" and your users cannot tell the difference. - not a developer in sight, lots of IT/BA and PMs though.

share|improve this answer

As far as i see there are 2 types of programmers.

  • working for passion
  • working for money.

The passionate becomes an asset to an organization or starts a company over a period of time.

The Money followers treat technologies as commodities and try to sell themselves towards better pay packages. But the worst part is they also realize the missing passion in them over a period of time when filled with enough money.

share|improve this answer
I don't think that this answer really gets to the heart of the OP's question. I've worked with many passionate workers who followed the technology, and many money followers who were true assets to their companies. Both types of people work in roles from the most junior coder to the most senior architects and analysts, so the question the OP is asking is who will have jobs in X-number of years, and who will miss out? Is the employment really trending in this way, or is there something else going on?... – S.Robins Jan 12 '12 at 8:05
Robins - thanks, i dindt complete the answer. So the Passionate will get a choice to get retained, but he may choose to be an entrepreneur or joins a passionate team. Money Followers - As Robin says there are many who still achieve, if they haven't learnt the passion driven lifestyle still, then they will get the hit hard. Above all - Any true and passionate hard-worker will not suffer for a long time, he will keep getting better things in life provided he maintains the same pace in his career. – Futur Jan 31 '12 at 14:07

So the developers go offshore. Then what? Do they just do what they like? Of course not! They need to be managed and managed well. In fact they need to be managed better than those onshore.

Until project managers get better - really better - this will usually end in tears.

share|improve this answer

If you look at it from an organizational point of view it makes sense to think that architects, analysts, project managers etc are valued higher than a developer role. Assuming that you have really good people in these roles they can increase the return on investments for development projects (of course it can go the other way as well). I want to think of these roles that if they work in an organisation they can provide good leverage for the organisation as a whole.

However, if you look at it from the developer perspective, as you say, very often these roles just "get in the way" when you are tasked to solve a specific problem.

My take though is that as more and more organisations are increasingly agile in their development process, and agile methods are more developer-centric and less hierarchical, the importance of developers will not diminish in the mindsets of corporate HR.

share|improve this answer

I think that this is largely an issue of a perception of value.

Big corporations tend to do things in a very hierarchical manner because they have a range of products that usually don't change too often because they don't really need to. Take the big financial institutions for example. They either create their products for use in house, or work closely with a vendor to keep maintaining some big nasty legacy system that's likely been around since before we were born. Their main products are usually dependent on this software staying relatively static and stable at it's core, and only tweaked around the edges as their staple products change over time. Layers of middle management allow for outsourcing the mundane tasks, while still maintaining strict ownership and control over the code base, so in this case, they see their value in their products, and their employees as mere resources to manage.

Smaller companies don't have the same level of entrenchment in terms of their products. They need to create something new, and defunct their older products often, in order to stay ahead of the competition. There are lots more smaller companies out there to compete with, so they need a business model that can keep up with or outpace their rivals. Their customers need to be many and varied to avoid uncertainties due to their business customers folding, and they don't need the added uncertainty that can come from losing access to their outsources, or because of a high employee turnover. Smaller companies don't generally have the funding to maintain a top-heavy hierarchy which wouldn't work for them anyway, so they adopt leaner and more agile processes and structure, allowing the more senior developers to gain valuable experience as Architects, PMs and BAs, while still keeping their hands dirty in the code. These types of companies value their employee as more than as just mere resources, but also as colleagues and as a free value added bonus in the relationships that the employees build within their product communities, and in the relationships the employees build with their customers.

As for the articles you've read, that jibes totally with what I've just been saying. In some business areas, there has been a steady outflow of IT work at junior grades, while in others the juniors are more valued. This is something that I think will prove to be largely cyclical and will probably continue for the foreseeable future as new game-changing technologies continue to be introduced to businesses over time.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.