I'm just turned 60 and wrote my first professional programme (ie I was paid to write it) in 1969. There have been several different themes in this whole article and this seems like a good place to summarise my thoughts on them all
Until about 1976 or so I was a programmer/designer - mostly in assembler language (mostly PDP 11, but lots of other stuff too). About that point in my career I drifted upwards into managerial roles with less of a programming input. Initially I was pretty lousy as a manager, I didn't understand people skills - particularly tending to treat people like robots. I got criticised badly for that in my performance reviews, but I learnt and got better. I think by the end of the 1980s I was considered a good manager. At least I can claim that many of the people I was responsible for in those days are still quite good friends and when we meet socially there is still discussions of team building activities that went on back then. I wasn't at all of them - I was a divisional manager and I had just authorised the expenditure for the project manager to take out his project and a completion of some milestone or other - but we also held occasional divisional level events and these are still remembered too. I had financial targets to meet as well - but I was convinced that such expenditures were trivial with respect to the benefits I got from improved productivity from good morale and from better communications because people knew each other better.
Two other elements of managing seems to me to be important and views that I don't often see expressed here.
1) I felt that to be a good manager I had to understand the technology. It wasn't just at the programming level either (although I did teach myself C and did write the odd bit of software in it), but in terms of frameworks, operating systems, databases, and the software engineering processes. My unit - with my managerial lead - developed an early version of distributed version control which as recently as 3 or 4 years ago I know was still being used on some projects in the company that were nothing to do with me (my junior protégées had grown into senior positions and were using it), and I remember spending a long time understanding the issues surrounding Object Orientation (the mind shift traditional programmers need to design a system round an object concept as opposed to a functional concept is significant and you have to put some quite strong controls in place to ensure a project is successful)
2) All this 80hour week stuff is rubbish and I tried to prevent it. I was convinced then and still am (although my view has modified with respect to those that are doing out of love rather than peer pressure) that if you push people much more than 40 hours per week, except in very short bursts to meet a deadline, then burnout gives you a negative productivity gain
I want to tie that into a comment about value (ie cost of a programmer) v experience. Of course on a project you need balance between senior and junior guys. In one year in my career as a manager I hired 27 new graduates into a team of 70 (with a spread of experience). We strained and lost a bit of quality in our development. I think I went to far down the junior balance, but not a long way too far. My most senior guy still actively writing software on a regular basis had had (at that time) about 12 years experience. I think I was gaining little from him over the last 6 of those 12 years on the programming front (his most productive and innovative stuff had been at about 6 years of experience) but he was still immensely useful as a design authority. But I also had younger guys coming through who became gurus in (again at the time) Windows NT as a graphical workstation. About 6 years experience seemed to have been long enough to have gathered sufficient experience to be an expert. (The two have still technically oriented careers, but they are now being paid for skills related to the application of technology to the business rather than as programmers).
Back to me. I have achieved some income - but not a full time role but small projects. I have formed my own company and I sell my skills. I don't charge a vast rate - more applicable to the 6 years of experience rather than the 40 and I can only support myself because I have pension income as well. But I continue to learn and want to. In the past year or so I have become a Microsoft Access expert (including of course Visual Basic) and of the back of that have also learnt Transact SQL (sql server) and Classic .asp. I also developed software in Visual Basic .net. I have generally sold myself through personal contact - I haven't tried hard, but have had zero response to just sending off a CV and covering letter to possible roles - so far everything has come from existing contacts from before who are now in roles where they find my skills useful.