As you delve into the world of very large organisations where the sheer size of the company can easily hide the fact that one or more individuals may not actually be contributing that much in terms of real measurable deliverables, an interesting creature starts to emerge. Its the “fascinated programmer”. This is a guy who is next to useless for the organisation’s bottom line. This is someone who is more concerned with using the ultra latest Microsoft Enterprise Library Patterns and Practices version XYZ21.789 to ensure the way that he generates his application log files is perfectly consistent with some new buzzword that someone made up.
They are just log files - things happen, you write the details into a text file and store the file. Even worst case if you write your own custom logging class, it still only takes you a good half hour to do a really polished job. But instead these fascinated idiots need to link in 5 external assemblies and add 50 DLLs to their projects to create their log files. They create the kind of projects in visual studio .Net that are a nightmare to rebuild and maintain a year or two after they originally wrote it, now that all the linked assemblies are terribly out of date.
“Oh there’s a new version of Enterprise buzzword version x, so our super log file generator needs to be upgraded to this new platform and we need to fix all these missing DLL references because the path to Enterprise Library on your PC is different to that of the original author.”. Again, all to simply create a log file. These chumps are the hand brakes of large organisations, creating the illusion that the IT department is a mystical pit that noone understands because it takes so long to release anything.
The poor managers just keep pouring more money into IT because they have no choice. In the midst of a skills crisis, IT departments hold organisations to ransom. Fascinated programmers focus so much on complicating simple tasks that they completely lose sight of the original goal - which is always to simply move data from A to B. Its always about data, any program just moves data from somewhere to somewhere else. There is no need to make this a complex, multi-layered process.
The positive out of all this is that these people create amazing opportunities for the “fascinating programmer”. This is a guy who comes in, puts in a strong effort to understand the organisation’s business processes and practises with the underlying attitude of simply moving data from A to B in a way that is the most useful for the organisation. They will have their application creating detailed log files in the shortest time possible, they will fully comment their code and they will avoid creating complexity at all costs. The fascinating programmer is always a business analyst and a tester as well - you don’t need separate people for these roles if the programmer is doing their job properly. The reward for them is seeing their clients happy and surprised at how quick they achieved the given task, rather than how many fancy add-on XML components they brought in to mess things up.
In an environment where fascinated programmers dominate, the fascinating programmer can really stand out and get ahead. The business end up loving these guys and try to get them to work on everything, they become like the personal favourite for the clients, run off their feet. But of course in a skills crisis this works to their advantage and they can demand a bucket load of cash - because essentially they are patching up the holes in the sinking boat while the fascinated programmers are pouring new buckets of water in.
It becomes difficult for the fascinating programmer to work along side the fascinated programmer, because the latter’s major goal is to be constantly amazed by dabbling with weirder, newer, more hyped ways of achieving the same goal. While the “fascinating programmer” simply wants to deliver results. Most fascinated programmers that I see, never seemed to originate from true IT/nerd backgrounds. They never had computers when they were really really young, a lot of the time they have come across into IT mid-career and are still kind of going through all that learning and hype that young kid nerds went through when they were 8 years old on their Amiga 500s.
There is almost always a tendency for the fascinated programmers to be permanent staff comforted by the long term safety of their role as opposed to being in less stable contract positions. Organisations often end up bringing in external consultants/contractors to make up for the deficits and inefficiencies that the fascinated programmers created but didn’t need to create.
Another reason to be very selective with who you employ and to find people with a very broad/open approach, rather than your typical monkeys who have memorised version XYZ of Microsoft .Net ABC platform 123 and will need to go on another training course when the next version comes out.