Skip to main content

IT - a fall back opportunity...

I don't mean to demean teachers & teaching but 'IT' has become what teaching had become to any university graduate before 1995 - a fall back opportunity in case you couldn't think of anything more interesting to do with your life. I remember quite a few graduates of the early 1990's who did teacher training just because they couldn't be bother to work out what they wanted to do with their lives, not exactly an encouraging state of affairs for the education system. It was only a fictitious TV show but Teachers hit the mark for me.

And now we're reaping the reward of this thinking in the computer industry, notice I don't say IT, I hate the expression 'IT', when ever I hear someone say I work in 'IT' - it tells me 'I couldn't be bother to work out what I wanted so I chased the easy money...'.
I'm not saying you have to have a PhD in 'pixel fibrillation and the effects on digital e-commerce' to work in this industry you just got have a passion for doing the job, some of the most passionate people I know don't have any qualifications.

The industry is now made up of too many people who don't care about the projects they work on, they only care about bonuses and the latest 'corporate handcuffs'. In the development community these are typified by people who either become managers because they didn't like writing code or developers who expect the company to provide training in technology. These people are the 'bad apples' in any development project they don't want to learn and they don't understand how developers think, they just don't get the statement 'the devils in the detail'. Ultimately these people are why methodologies like Agile & SCRUM will fail to deliver the benefits to the majority of software projects because these methodologies require people to take responsibility for their actions and do the job to the best of their abilities and these people definitely don't.

What's the out come of this?

Simple - The clever people are thinking of leaving...

I'm not one of those clever people (yet!), I care greatly about my time at work and the code I produce. And if this code is not up to the job it causes me great anguish when I've failed to deliver what's required. A good example was last week when we were having an OO analysis & design session and I produced a design that was sub-optimal compared to the final solution. This caused me some mental discomfort for the next 2 days. The outcome of which was I realised I need to improve my analytically skills when it comes requirements and use cases. I often discount stuff to early when analysing what's required. I meet to many developers\managers who don't think this way, to be blunt they don't care they didn't produce a solution the end user wanted. This attitude for me is why so many of the good people want to leave the industry.


Popular posts from this blog

WPF tips & tricks: Dispatcher thread performance

Not blogged for an age, and I received an email last week which provoked me back to life. It was a job spec for a WPF contract where they want help sorting out the performance of their app especially around grids and tabular data. I thought I'd shared some tips & tricks I've picked up along the way, these aren't probably going to solve any issues you might be having directly, but they might point you in the right direction when trying to find and resolve performance issues with a WPF app. First off, performance is something you shouldn't try and improve without evidence, and this means having evidence proving you've improved the performance - before & after metrics for example. Without this you're basically pissing into the wind, which can be fun from a developer point of view but bad for a project :) So, what do I mean by ' Dispatcher thread performance '? The 'dispatcher thread' or the 'UI thread' is probably the most

Showing a message box from a ViewModel in MVVM

I was doing a code review with a client last week for a WPF app using MVVM and they asked ' How can I show a message from the ViewModel? '. What follows is how I would (and have) solved the problem in the past. When I hear the words ' show a message... ' I instantly think you mean show a transient modal message box that requires the user input before continuing ' with something else ' - once the user has interacted with the message box it will disappear. The following solution only applies to this scenario. The first solution is the easiest but is very wrong from a separation perspective. It violates the ideas behind the Model-View-Controller pattern because it places View concerns inside the ViewModel - the ViewModel now knows about the type of the View and specifically it knows how to show a message box window: The second approach addresses this concern by introducing the idea of messaging\events between the ViewModel and the View. In the example below

Implementing a busy indicator using a visual overlay in MVVM

This is a technique we use at work to lock the UI whilst some long running process is happening - preventing the user clicking on stuff whilst it's retrieving or rendering data. Now we could have done this by launching a child dialog window but that feels rather out of date and clumsy, we wanted a more modern pattern similar to the way <div> overlays are done on the web. Imagine we have the following simple WPF app and when 'Click' is pressed a busy waiting overlay is shown for the duration entered into the text box. What I'm interested in here is not the actual UI element of the busy indicator but how I go about getting this to show & hide from when using MVVM. The actual UI elements are the standard Busy Indicator coming from the WPF Toolkit : The XAML behind this window is very simple, the important part is the ViewHost. As you can see the ViewHost uses a ContentPresenter element which is bound to the view model, IMainViewModel, it contains 3 child v