Normally, there are way fewer senior level jobs available.
Dave, here are some answers for you. To me, the above implies that there is (allowed to be) a shortage of interesting work to go around. Here I discount the validity of some disappointments but not all based on, "grass is greener," I didn't get picked for a job. The point isn't on how good the culture is, nor on bashing, but brainstorming on what can cause bottlenecks. My company has 30% above senior level technical people (I think this is more than the average). Collectively, we compete for the remaining 2/3 of the technical work force.
My company does not appoint a single technical person to be in charge of a major project. There is a single manager selected who does not make the technical decisions. A culture has grown up where the technical people must help each other, regardless of the project or lines of authority. This creates more trust and respect than average. I don't offer this as an improvement suggestion, per se. It doesn't work when trust gets dashed, nor when we act like a divisive family.
Here is a variable: the ability for individual decision making on productivity, adding value and making deliveries that count - to the customer (as opposed to what? a narrower scope, counting LOC, counting checkins, other mechanized metrics).
I've been involved with FoxPro since December, 1990, before they were bought by Microsoft. I've been on betas, before and after the acquisition, in 1993. I've seen incredible creativity at work (VFP had full object capabilities in 1994), and I've seen a capable product pushed into obscurity by suck-up managers with little knowledge of products, with their eyes on promotions and power.
Hey, me too. Actually I was on the first beta of FoxPro as it evolved out of FoxBase. Thank God I don't have to use a language that crap anymore. What's the opposite of orthogonal anyway?
But the database engine was -- and is -- the fastest ever. Nothing can touch FoxPro DOS. MS did nothing for the product except slow it down with Windows cruft.
Bruce, I think the answer is found in the Mythical Man Month. The larger the project the slower it is, and the only way to deliver it on time is to cut scope not add resources. Seems to me this is the phenomenon you are writing about.
I think I see where we're out of synch. To you it implies that there is (allowed to be) a shortage of interesting work to go around. To me it implies that no matter how much generally interesting work there is to go around in any company, senior people will be somewhat less likely to find something personally interesting to them than will less senior people. This is only because senior people are often pickier about what they find interesting than they were earlier in their career. While I'm sure it's not true for everyone, it is certainly true for me and for some other people I know.
The variable you suggest is one of many that can have an impact on successful software development.
I still think there's no such thing as "the bottleneck". There are many potential bottlenecks. Which factors have the most impact varies widely from project to project and often change completely during the life of a project.
Microsoft is in a phase where they have a successful line up of products and they keep improving them.
Google has not made so many innovations. They are primarily a web search application development house, that's their main product, and that's what the world uses.
There is still great room for improvement of software, but neither Microsoft nor Google or any other big company will approach it, simply because they are too scared to dump their old stuff in the dustbin and start from scratch with modern principles.
When I say 'great room for improvement', I mean in robustness, HMIs, development tools etc. But in order to reap those benefits, the programming languages of yesteryear (namely C and its descendants) and the ideas of yesteryear (processes, files, handles, sockets etc) must be left in the closet.
Flat View: This topic has 33 replies
on 3 pages