I agree - it's why I believe you need to focus less on knowledge of the systems you work on, and more on keeping up with current skills and methodologies.
Wow - I haven't been so wound up by a post in a long time. I'm sorry but I need to call out the BS. The development teams I run in has an average age of 40-something. They are working on modern stuff (functional programming, very high performance modern architectures). If you're good, you'll get paid (significantly) over $100K as age has absolutely nothing to do with it. At the extremes I have a brilliant 25 year old and at the other a great late 50-something. What I can tell you is that I've rejected/fired/removed lots of people - all of them based on ability and performance. And I am I working on removing the role of "project manager" from the large (1,500 person) department I (co-manage) entirely.
Funny - agile isn't new. It's actually a shift backwards 20 years getting rid of all the "buzzword-compliant critical-paradigm-shifting methodology". It's really simple at it's heart - you get close to the business, you work on the things they care about most right now and you deliver regularly (weeks rather than months or years). Back to the early 90's. Also, I didn't say remove "overhead" entirely - I only said be wary of being in a group of people who do not actually deliver anything - most especially in these rather challenging times. Management is still needed, but not the 20-40% middle management we see in so many large organizations these days.
Interestingly I didn't use the word "developer" or "coder" in my post at all. I only said "worker". If you understand anything at all about what agile is all about, you would know that it requires multi-disciplinary teams that self organize. Self organization doesn't mean dis-organized - in fact I have found that agile teams are at least an order of magnitude more organized than any traditional team where the "organization" is single threaded through an overworked team lead (for example - stuck waiting for input).
Rather sadly I have the title of "chief architect" (which I despise since it means nothing) but I am most proud to be a team member (who writes at least some code every day) delivering the right value at the right time to the business I support (not serve). Thankfully, agile says nothing about architecture - it merely says you focus on the most important things and continue to adapt.
Since I am also one of the management team of 10 people who run the 1,500 person department I work within I am also fully accountable to make it deliver. It didn't deliver very well with waterfall and lots of project managers. It's doing a little better now.
I am in my late 40's and very happy working closely with some great people and a business that really appreciates what we do. This seems to be at odds with many people posting in this thread. It might not be perfect, but at least I'm enjoying myself.
The CIO of one of the investment banks once said - in a very public forum - there are really only three roles in IT. Peon - the new guys who don't know very much yet, but should become valuable soon. Worker/do-er - those that actually create the stuff that makes the organization run. Overhead - everyone else. He then said - "be very wary of being promoted into "overhead".
This is very sage advice. There is no such thing as "grunt development work" - developers will make or break your project. Project managers are only there to support the team and to protect them from the rest of the organization.
The world is steadily moving to agile - only those delivering value to the team matter. Everyone else is "overhead". Be wary.
Please don't do an MBA - that fad is done. If I see a candidate has an MBA I pretty much dismiss them at the resume screening stage - too many bad experiences. There are a lot of people who believe the same.
Contracting can be good (been there, done that for many years), but you have to be prepared for the lean times when they come.
I am a senior IT manager in an investment bank in my mid 40's, one of six who run a group of 1,500, yet my aim is to still code for some hours of the day. I sit with the core team on the development floor (average age - in their 40's). One of my peers does the same, four do not - this is choice about management style. Management does not mean "not technical".
Great people are always in demand. Find the "right" sort of organization/group to work for - one that does modern methodologies (agile) and modern technologies (mixed imperative/functional languages, no-sql etc.) where you can stay up to date. Don't assume you'll ever make yourself invaluable by being the guy maintaining the legacy system - it's just that kind of stuff that some crazy manager thinks about outsourcing.
You don't need to worry if you're truly technical and good at it. Ask yourself - are you good enough? If not, make yourself good enough.
1. If you were a startup would you want to do business with Silverlake having seen this?
2. If you were an exec working at a startup owned by Silverlake would you be reviewing your contract?
Dumb move. In business if both sides don't feel that there is a win for them in a deal, then the "winner" will shortly have very few people to do business with.
Here's the damages:
More than one person who has been hired by my firm has been fired for a falsified CV/résumé (here's a thought - why is it that US wants to use a French name, and the UK wants to use Latin? (Curriculum vitae) - pretty screwy...I thought we both used English, but hey...) . We check *everything* you put down. If it says that in 1988 you worked for 3 months in a pizza parlour, it gets backtracked and checked. If it doesn't add up, that's it...you're out. No "if...". No "but...".
How would you like to be just settling into your job 6-7 weeks in, only to be frog-marched to the door and ejected?
I can't believe this stuff still goes on...
There's a simple reason for this - the price of petrol (gas) in the UK.
Average price per liter in the UK is 98.9p (http://www.petrolprices.com/)
Which is 374.38 p / US gallon = 6.30USD / US gallon (www.xe.com)
So we're all pretty fixated on fuel efficiency.
Hence the majority of cars now sold are Diesel, which although has a slightly higher cost (2-5% typically) is easily offset by the high MPG you get. One of the most popular small saloons on the road is the BMW 320d - this does 58.9MPG (imperial) = 47MPG US and yet does 0-60 in under 8 seconds and a top speed of 143mph (http://www.bmw.co.uk/bmwuk/pricesandspecifications_technical_specs/0,,1156_181246516__bs-Mw%3D%3D%40bb-TEkwOA%3D%3D%40bm-WkoxNw%3D%3D,00.html?tab=technicalSpec)
My e-mail archive is the single most important piece of data I have. It goes on the EMC DMX array behind the NetApp filers. This is also snap-mirrored - so there's another copy on a backup DMX array at the backup site.
Expensive - yep.
Oh - and the only place on my local workstation disk that isn't locked down solid is profile. Which is set up for roaming. So when I log out it will try to resync my 50GB of files.
If you're into Microsoft end to end this is a much better way of handling the attachment problem. Collaborative working on a single document with a change history is a lot easier than trying to piece stuff back together from 100 e-mails.
Of course you could save a lot of money and look at a Wiki instead...
Why do Exchange admins do this? It's just plain dumb.
I - like many of my colleagues - archive almost every mail. Why? Because we live in a highly political organization where an old mail can save your butt.
So (because we have an arbitrary 50MB mailbox limit) when I archive I have to make a copy of everything to my (HUGE 50GB) set of PST file. I say set because PST files are not terribly reliable when they get big. This is disadvantage #1.
On to #2 - Because many of the mails we receive are to multiple users - we now explode the amount of storage that is required. Why? Because Exchange does a reasonable job of ensuring that a mail with a 1MB attachment to 500 users only keeps one copy of the attachment. Guess what happens when we all archive it to a PST? Yep - 500MB.
On to #3 We use OWA (the web front end to Exchange). When I'm using this I no longer have access to my PSTs - because they're on my shared drive. This sucks.
So PLEASE - all you Exchange admins. STOP putting dumb limits on your Exchange storage. We're going to use that storage anyway - it's just somewhere else.
Check the power numbers on Intel CPUs - they exceed 100w for all of the enterprise stuff. In a dense rack using blade servers the number of processors can exceed 100 (and there are configurations of around 200). Do the math and you see than this is 10KW. If you look at the specs for a typical set up, the input for this kind of kit is around 20 to 24KW - so around 40-50% of the heat is the CPUs.
This is right on the nail. One of the many reasons why desktop apps outside of Microsoft suck is the lack of common component architecture to allow them to interoperate. Even something as basic as getting consistent clipboard operation is extremely difficult.
If you know your history, OLE (the previous name for COM) was critical in allows applications to plug together seamlessly.
The interesting thing is that there still isn't a standard for this outside of Microsoft. CORBA just doesn't cut it for the inter-ORB compatibility reasons documented elsewhere.
Microsoft will continue to rule the desktop - and because C# is a "ripped-off" (or perhaps evolved/better) Java the middle tier that J2EE currently owns may change. I currently develop Java/J2EE - and it sucks for all the same reasons CORBA sucks - i.e. compatibility across versions, difficult to use etc. etc. Microsoft have had transacted distributed objects sorted for some time - but they were horrible to use from C++ in DCOM. The implementation of.NET with MTS and C# is compelling - all those issues disappear, you get the nice M$ tools and the neat C# programming language.
Sun - please don't blow it. Bring the J2EE vendors together and think about a better client side strategy that integrates the component object models.
Actually you can put two copies of the same COM component on the same system - it's called side-by-side running. It aint pretty, but it works.
There was nothing particularly wrong with the approach M$ took with only allowing one instance of a single version of a component to be installed. The problem was all the hackers out there who didn't understand the versioning schema - and hence failed to provide backwards compatibility for their components under the same GUID.
COM is complicated - but then again so is J2EE (which is what I'm now developing with).
Under.NET everything gets much nicer with the fine grained versioning and scoping on assemblies. Oh yes, and let's see how Java approaches the issue - ah yes - we ignore it entirely. OK we don't have system wide issues, but if you've ever played the game called "which version of Xerces works with all my third party utilities" you'll know what I mean.
Microsoft has its problems - but they think through their stuff well.
Since I started this I think I'd better reply. The issue I find is that expressive nature of the language encourages people to do things in the most concise way possible - you can write some true horrors with an approach like this (check out the (in?)famous DeCSS implementation in Perl whose implementation fitted on a business card).
'C' (and to some extent C++) is just as bad - if not worse. I spent 10 years working in 'C'/C++ and when I was working with it I thought it was the best thing ever. It's only when you quit you realize just how bad it is - you end up using heavy software management process to get around all the shortcomings in the language. The same is true of Perl - it is possible to do some amazing things with it, and make the code maintainable - but only with a lot of work.
I wish Perl had more of the Java mindset - strip out all the fuzzy, poorly defined stuff and leave the minimum to do the job.
As for the chap working on 250,000 lines of Perl - well, congratulations - you must have a good development process in place and good common practice amongst your programmers.
Languages impact the way you think - whether they are the spoken type, or the digital type. My argument is that Perl tends to encourage your thinking to be a little fuzzy.
Is there anyone out there
on
Perl 6 Essentials
·
· Score: 0, Flamebait
who like me, absolutely hates Perl?
I really detest it - for some reason it brings the worst in people - it encourages them to be "clever", writing obscure unmaintainable garbage. I have seen readable Perl - but it seems a rare thing.
The hassle with PDAs is that it is really difficult to get past the form factor. They are too big to intregrate well into a phone - and since I don't want to carry two devices this is a real issue for me - and I want as small and light a phone as I can get.
The latest Nokia phones (e.g. 6100 - the one I own) also have the key functionality I want - i.e. the ability to sync my Outlook contacts and schedule.
All the other functionality is fluff that isn't as well handled as a regular laptop or other device. If I do e-mail, I want to be able to reply without taking 4 hours to scribble it in. Hence I'll carry a light weight laptop instead (like my Sony Vaio). The same goes for note taking.
If I want to do media, I'd rather use my laptop or my i-Pod, both of which have enough storage to put all my MP-3s on (about 1400 tracks at present), or I'll choose one of the new phones from Nokia again if I'm prepared to compromise and only to carry 20-50 tracks.
Ultimately PDAs don't do anything well - I've owned four and all four now sit in the drawer, having been replaced by the devices mentioned above.
- Nick
Like many from my era... It took years to undo the damage!
I agree - it's why I believe you need to focus less on knowledge of the systems you work on, and more on keeping up with current skills and methodologies.
Wow - I haven't been so wound up by a post in a long time. I'm sorry but I need to call out the BS. The development teams I run in has an average age of 40-something. They are working on modern stuff (functional programming, very high performance modern architectures). If you're good, you'll get paid (significantly) over $100K as age has absolutely nothing to do with it. At the extremes I have a brilliant 25 year old and at the other a great late 50-something. What I can tell you is that I've rejected/fired/removed lots of people - all of them based on ability and performance. And I am I working on removing the role of "project manager" from the large (1,500 person) department I (co-manage) entirely.
Funny - agile isn't new. It's actually a shift backwards 20 years getting rid of all the "buzzword-compliant critical-paradigm-shifting methodology". It's really simple at it's heart - you get close to the business, you work on the things they care about most right now and you deliver regularly (weeks rather than months or years). Back to the early 90's. Also, I didn't say remove "overhead" entirely - I only said be wary of being in a group of people who do not actually deliver anything - most especially in these rather challenging times. Management is still needed, but not the 20-40% middle management we see in so many large organizations these days.
Ever been micro-managed? How was it? That's all the theory says.
Rather sadly I have the title of "chief architect" (which I despise since it means nothing) but I am most proud to be a team member (who writes at least some code every day) delivering the right value at the right time to the business I support (not serve). Thankfully, agile says nothing about architecture - it merely says you focus on the most important things and continue to adapt.
Since I am also one of the management team of 10 people who run the 1,500 person department I work within I am also fully accountable to make it deliver. It didn't deliver very well with waterfall and lots of project managers. It's doing a little better now.
I am in my late 40's and very happy working closely with some great people and a business that really appreciates what we do. This seems to be at odds with many people posting in this thread. It might not be perfect, but at least I'm enjoying myself.
Are you?
This is very sage advice. There is no such thing as "grunt development work" - developers will make or break your project. Project managers are only there to support the team and to protect them from the rest of the organization.
The world is steadily moving to agile - only those delivering value to the team matter. Everyone else is "overhead". Be wary.
Completely agree - keep training. Keep up to date. Keep increasing your personal value through better skills.
Contracting can be good (been there, done that for many years), but you have to be prepared for the lean times when they come.
I am a senior IT manager in an investment bank in my mid 40's, one of six who run a group of 1,500, yet my aim is to still code for some hours of the day. I sit with the core team on the development floor (average age - in their 40's). One of my peers does the same, four do not - this is choice about management style. Management does not mean "not technical".
Great people are always in demand. Find the "right" sort of organization/group to work for - one that does modern methodologies (agile) and modern technologies (mixed imperative/functional languages, no-sql etc.) where you can stay up to date. Don't assume you'll ever make yourself invaluable by being the guy maintaining the legacy system - it's just that kind of stuff that some crazy manager thinks about outsourcing.
You don't need to worry if you're truly technical and good at it. Ask yourself - are you good enough? If not, make yourself good enough.
Check this out http://blogs.reuters.com/felix-salmon/2011/06/20/beware-silicon-valley-financiers-skype-edition/
1. If you were a startup would you want to do business with Silverlake having seen this?
2. If you were an exec working at a startup owned by Silverlake would you be reviewing your contract?
Dumb move. In business if both sides don't feel that there is a win for them in a deal, then the "winner" will shortly have very few people to do business with.
Here's the damages: More than one person who has been hired by my firm has been fired for a falsified CV/résumé (here's a thought - why is it that US wants to use a French name, and the UK wants to use Latin? (Curriculum vitae) - pretty screwy...I thought we both used English, but hey...) . We check *everything* you put down. If it says that in 1988 you worked for 3 months in a pizza parlour, it gets backtracked and checked. If it doesn't add up, that's it...you're out. No "if...". No "but...". How would you like to be just settling into your job 6-7 weeks in, only to be frog-marched to the door and ejected? I can't believe this stuff still goes on...
There's a simple reason for this - the price of petrol (gas) in the UK. Average price per liter in the UK is 98.9p (http://www.petrolprices.com/) Which is 374.38 p / US gallon = 6.30USD / US gallon (www.xe.com) So we're all pretty fixated on fuel efficiency. Hence the majority of cars now sold are Diesel, which although has a slightly higher cost (2-5% typically) is easily offset by the high MPG you get. One of the most popular small saloons on the road is the BMW 320d - this does 58.9MPG (imperial) = 47MPG US and yet does 0-60 in under 8 seconds and a top speed of 143mph (http://www.bmw.co.uk/bmwuk/pricesandspecifications_technical_specs/0,,1156_181246516__bs-Mw%3D%3D%40bb-TEkwOA%3D%3D%40bm-WkoxNw%3D%3D,00.html?tab=technicalSpec)
Expensive - yep.
Oh - and the only place on my local workstation disk that isn't locked down solid is profile. Which is set up for roaming. So when I log out it will try to resync my 50GB of files.
DUMB DUMB DUMB
Of course you could save a lot of money and look at a Wiki instead...
I - like many of my colleagues - archive almost every mail. Why? Because we live in a highly political organization where an old mail can save your butt.
So (because we have an arbitrary 50MB mailbox limit) when I archive I have to make a copy of everything to my (HUGE 50GB) set of PST file. I say set because PST files are not terribly reliable when they get big. This is disadvantage #1.
On to #2 - Because many of the mails we receive are to multiple users - we now explode the amount of storage that is required. Why? Because Exchange does a reasonable job of ensuring that a mail with a 1MB attachment to 500 users only keeps one copy of the attachment. Guess what happens when we all archive it to a PST? Yep - 500MB.
On to #3 We use OWA (the web front end to Exchange). When I'm using this I no longer have access to my PSTs - because they're on my shared drive. This sucks.
So PLEASE - all you Exchange admins. STOP putting dumb limits on your Exchange storage. We're going to use that storage anyway - it's just somewhere else.
Check the power numbers on Intel CPUs - they exceed 100w for all of the enterprise stuff. In a dense rack using blade servers the number of processors can exceed 100 (and there are configurations of around 200). Do the math and you see than this is 10KW. If you look at the specs for a typical set up, the input for this kind of kit is around 20 to 24KW - so around 40-50% of the heat is the CPUs.
If you know your history, OLE (the previous name for COM) was critical in allows applications to plug together seamlessly.
The interesting thing is that there still isn't a standard for this outside of Microsoft. CORBA just doesn't cut it for the inter-ORB compatibility reasons documented elsewhere.
Microsoft will continue to rule the desktop - and because C# is a "ripped-off" (or perhaps evolved/better) Java the middle tier that J2EE currently owns may change. I currently develop Java/J2EE - and it sucks for all the same reasons CORBA sucks - i.e. compatibility across versions, difficult to use etc. etc. Microsoft have had transacted distributed objects sorted for some time - but they were horrible to use from C++ in DCOM. The implementation of .NET with MTS and C# is compelling - all those issues disappear, you get the nice M$ tools and the neat C# programming language.
Sun - please don't blow it. Bring the J2EE vendors together and think about a better client side strategy that integrates the component object models.
There was nothing particularly wrong with the approach M$ took with only allowing one instance of a single version of a component to be installed. The problem was all the hackers out there who didn't understand the versioning schema - and hence failed to provide backwards compatibility for their components under the same GUID.
COM is complicated - but then again so is J2EE (which is what I'm now developing with).
Under .NET everything gets much nicer with the fine grained versioning and scoping on assemblies. Oh yes, and let's see how Java approaches the issue - ah yes - we ignore it entirely. OK we don't have system wide issues, but if you've ever played the game called "which version of Xerces works with all my third party utilities" you'll know what I mean.
Microsoft has its problems - but they think through their stuff well.
Trie, bit Slshdt dsnyt hive e speeling chckr
'C' (and to some extent C++) is just as bad - if not worse. I spent 10 years working in 'C'/C++ and when I was working with it I thought it was the best thing ever. It's only when you quit you realize just how bad it is - you end up using heavy software management process to get around all the shortcomings in the language. The same is true of Perl - it is possible to do some amazing things with it, and make the code maintainable - but only with a lot of work.
I wish Perl had more of the Java mindset - strip out all the fuzzy, poorly defined stuff and leave the minimum to do the job.
As for the chap working on 250,000 lines of Perl - well, congratulations - you must have a good development process in place and good common practice amongst your programmers.
Languages impact the way you think - whether they are the spoken type, or the digital type. My argument is that Perl tends to encourage your thinking to be a little fuzzy.
I really detest it - for some reason it brings the worst in people - it encourages them to be "clever", writing obscure unmaintainable garbage. I have seen readable Perl - but it seems a rare thing.
Any idea why this is the case?
The hassle with PDAs is that it is really difficult to get past the form factor. They are too big to intregrate well into a phone - and since I don't want to carry two devices this is a real issue for me - and I want as small and light a phone as I can get. The latest Nokia phones (e.g. 6100 - the one I own) also have the key functionality I want - i.e. the ability to sync my Outlook contacts and schedule. All the other functionality is fluff that isn't as well handled as a regular laptop or other device. If I do e-mail, I want to be able to reply without taking 4 hours to scribble it in. Hence I'll carry a light weight laptop instead (like my Sony Vaio). The same goes for note taking. If I want to do media, I'd rather use my laptop or my i-Pod, both of which have enough storage to put all my MP-3s on (about 1400 tracks at present), or I'll choose one of the new phones from Nokia again if I'm prepared to compromise and only to carry 20-50 tracks. Ultimately PDAs don't do anything well - I've owned four and all four now sit in the drawer, having been replaced by the devices mentioned above. - Nick