When I was a wee lad, engineers became managers so that they could be promoted and get salaries sufficient to put their children through college and eventually retire. Engineers could be bad managers because there were enough layers of managers to smooth things over. These are not those days and the hierarchy has collapsed. There are no safe managerial positions for aging programmers to slide into. If you dont like the prospects of managing stic with the art. The money oisnt that much better.
This is a form of deferred compensation. Old-style companies had armies of vice presidents who didn't do much, but in fact were being rewarded for work they'd already done, with a smooth transition to retirement. This is how those old-style companies encouraged loyalty. Now that that's gone, it's every employee for himself, hence the rise of contractors.
The value of a company isn't in the stuff it owns, or it's brand, or even in its source depot. It's that it's a collective of people who can identify and solve new and difficult problems. Loyalty matters more than ever... Managers who've never been actual practitioners don't understand this.
Reminds me of a great cartoon from decades back. The picture was of one of those small storefront loan offices. There was a sign in the window, sort of like the lottery signs with replaceable numbers, that said, "37 Vice Presidents on Duty".
Nowadays a good developer on a contract can earn more than his full-time manager. And less stress, and less responsibilities, and also different projects and different people. Yes, some corps do not treat contractors well, so, well - look for another contract.
Management? Only for really good money and interesting project with people I love to work with.
The one way to stay a programmer and avoid the tyranny of being 'managed' by a manager is to create a startup for oneself. Sure, you have to do more than just code -- but you can still code on your own terms, and it feels awesome to code for your customer instead of some requirements doc written by a manager with a pointy head.
I see what you're saying, but at the same time, you're going to get a new appreciation for all of the "useless" managers, slimy salesweasels, and busybodies around the office. In a healthy organization, they keep the real world at bay so you can program.
At your startup, you're going to be doing your own marketing, answering your own phone, ordering your own supplies from Staples... I bet you'll spend less time programming, not more.
Good programmers, need good managers. And the best software managers come from software development background. So do others a favor, don't be afraid to lead.
Developers should get promoted but in a way that they don’t forget the difference between bit and byte. This means that a developer should be promoted to Senior Developer then to Architect then to Enterprise Architect etc.
I don't see what the 'etc.' could be, exactly, without being a manager. Even the title "Enterprise Architect" sounds like a stretch to me. The article's point may be valid, but the solution proposed is very vague.
Management and programming are very different skillsets. The idea that one can take a good programmer and improve the company by promoting him to manager seems no more sensible to me than would promoting a manager to programmer.
They are different skillsets, but they aren't mutually exclusive. I work in a company which has dual career paths - technical and people management. At the bottom of the career ladder, you have OK programmers with OK people skills. This is the minimum you need to work effectively within a large team. Over time you improve both areas, but specialise in one. We end up with managers with technical backgrounds (which helps a lot in that they understand us and we respect them), and architects who know how to manage a team.
This is nonsense. When you transition from a programmer to a manager you don't give up an art, you trade one art for another. Getting a large group of people sufficiently motivated for a prolonged period of time to build great products is insanely difficult. I haven't seen evidence that it's any easier than writing good code. Just try it, and see what happens.
True story. I was a manager at Sun for 7+ years. I was on the original J2EE team and by any criteria you like, I was pretty successful as a manager (I have no problem lining up an initial interview based on my resume).
In 2006, I decided to leave Sun. Layoffs every 3 months was no fun and it was pretty stressful working so hard to protect my team (I am very proud to say that no one who worked for me got layed off).
I hadn't programmed since 1999 and the coding world had changed dramatically. I discovered that my management record was too good for someone who couldn't answer the basic programming questions. I couldn't get the Director position at Google, Amazon, or pretty much anywhere. For that matter, I couldn't get the engineering position or the Senior Management position either. The interview usually ended very quickly.
Today, I am very happy as a PHP engineer at a start up. Best decision I've ever made. I might go back into management if the start up gets big enough.
My lesson from this experience is that to have credibility as an engineering manager in this internet world, you need to keep your edge. Otherwise, you better be good at networking.
At my employer, no one in the Product Development group is strictly a manager. Even the VP does active development (though he still is responsible for managing the group). Product managers function as cross-functional managers, driving both the product development and the cross-functional teams that will support the products.
This seems to make project deadlines more reasonable, since my direct managers are in the trenches with us.
13 comments
[ 3.7 ms ] story [ 29.6 ms ] threadThe value of a company isn't in the stuff it owns, or it's brand, or even in its source depot. It's that it's a collective of people who can identify and solve new and difficult problems. Loyalty matters more than ever... Managers who've never been actual practitioners don't understand this.
Management? Only for really good money and interesting project with people I love to work with.
At your startup, you're going to be doing your own marketing, answering your own phone, ordering your own supplies from Staples... I bet you'll spend less time programming, not more.
I don't see what the 'etc.' could be, exactly, without being a manager. Even the title "Enterprise Architect" sounds like a stretch to me. The article's point may be valid, but the solution proposed is very vague.
In 2006, I decided to leave Sun. Layoffs every 3 months was no fun and it was pretty stressful working so hard to protect my team (I am very proud to say that no one who worked for me got layed off).
I hadn't programmed since 1999 and the coding world had changed dramatically. I discovered that my management record was too good for someone who couldn't answer the basic programming questions. I couldn't get the Director position at Google, Amazon, or pretty much anywhere. For that matter, I couldn't get the engineering position or the Senior Management position either. The interview usually ended very quickly.
Today, I am very happy as a PHP engineer at a start up. Best decision I've ever made. I might go back into management if the start up gets big enough.
My lesson from this experience is that to have credibility as an engineering manager in this internet world, you need to keep your edge. Otherwise, you better be good at networking.
This seems to make project deadlines more reasonable, since my direct managers are in the trenches with us.