How To Retain Your IT Employees For Longer

The IT industry is notorious for its high turnover rate of employees. In fact it has gotten to the point that most companies don’t expect to keep IT personnel for a longer than around 18 months when they hire them. If you’ve ever worked in software or IT you would certainly be familiar with phrases such as “… none of us are gonna be here 2 years from now …” or something along those lines. I believe it has almost become a self-fulfilling prophesy, since no-one expects IT people to hang around for long, most of them don’t.

Of course the industry itself is partly to blame. It is still a very young industry and growing rapidly, which creates a lot of new opportunities and being by nature a fast-paced field it creates perfect conditions for people to “jump ship” whenever the fancy strikes them.

Despite all of this I believe there are many things you as an employer can do to keep your staff for longer and it is certainly in your best interest to do so. The hiring process is expensive and time consuming and you still don’t really know what you’re getting. Most importantly however, domain knowledge is not something you can easily replace. It takes years to acquire business and technical domain knowledge and it should certainly be high on your list of priorities to not loose the employees who already have this knowledge. Especially not to your competitors!

Fortunately the power is very much in your hands when it comes to creating the kind of environment where employees feel happy and never want to leave and I am going to tell you exactly what you can do to achieve this in 7 “easy” steps.

7. Provide opportunity to learn and improve yourself.

Many companies already do this since it is fairly easy to pay for a conference or a book here and there but, you can differentiate yourself even here. Do pay for the conferences and the books, also try organising a training course or two onsite (ask your staff what they would like, don’t just offer a random useless course). Another good idea is providing some company sponsored time on a periodic basis for personal projects/study (e.g. Google 20% time). Try and hire some people who are highly respected in their field, working with a guru is a learning opportunity in and of itself. Be creative.

6. Provide a career path.

It is amazing how many companies don’t pay any attention to this. How do you expect people to stay around if they don’t really know what steps they can take to advance their career if they stay with the company? If you do have a career path for people, then make sure you actually articulate it – that is to say – tell them what the career path is. If there is no career path for a person at your company, they you have some work to do. The more varied career paths you can provide for people the better. This is of course much easier in a big company, but smaller companies can be creative with this as well. Think of different a novel ways how someone can progress their career while staying at your company. Maybe it is time to open a new office somewhere or shake-up the board a little bit with some fresh blood or perhaps getting a new partner on board is not such a bad idea. There are plenty of ways, listen to what a person wants and find creative ways to meet those goals with them. Many will appreciate you and your company just for trying. The thought really does count!

5. Hire people who are better than you and make sure they do the same.

This one is crucial as it will directly affect number 4 as well. Never settle when you’re hiring, even if you have to reject hundreds to find the right person, you will not be sorry in the long run. Hire people that you would love to work with and if one of their responsibilities is to hire other people, make sure they are also doing the same thing. By doing this you will create a group of people that will naturally want to “gel”. Conflicts will be easier to resolve, and most conflicts won’t lead to enmity. You will also be not only maintaining but improving the skill levels in your company and since you’re hiring for retention you will ultimately be the winner as these great people advance up whatever hierarchy you have and themselves hire even more awesome people to work with. John C. Maxwell explains how this works in great detail in his book “The 21 Irrefutable Laws of Leadership”. I don’t necessarily agree with everything he says but his core logic is certainly sound.

4. Foster a friendly and open atmosphere.

If you have a handle on number 5 this one should be a cinch. However do keep an eye on it. You need to handle conflicts if they develop and do actively make sure that people are socialising outside of work. More bonding happens in 30 minutes at the pub than you could get from weeks if not months in a work environment. The socialising thing doesn’t just apply to your people, it applies to you as well, after all you’re part of the group. People love to work with their friends, make sure they have the opportunity and they will want to hang around as long as their buddies are hanging around too.

3. Be flexible.

It is not the 19th century any more. The world is a fast, connected and busy, lots of stuff is happening all the time. Your people might want to be involved in some of this stuff. Such as – oh I don’t know – spending time with their family, or going on an extended holiday or maybe running a burrito stand on Friday afternoons. Who knows what they might be into? If you can be flexible enough to accommodate these little quirks, not only will people be happy and grateful, but if yours is one of the few companies that can offer them the kind of flexibility they need, who do you think they’ll want to work for? The funny thing about IT work is that it is there 247, it doesn’t have to get done between 9-5 on any particular day; it can get done in all sorts of different ways. You just need to be open to them.

2. Provide interesting work.

I am well aware that you can’t always control what kind of work is in the pipeline. However, the work itself doesn’t have to be inherently interesting as long is the way you execute the work is interesting. You can be building the next great spreadsheet application or accounting package, but if you use interesting and new technologies, let people experiment and don’t hold the reigns too tightly, it can become the most fun and exciting project that people have ever worked on. Numbers 3, 4 and 5 can also contribute a lot to how the interesting the work is perceived to be by the people doing it. In short, being a control freak is bad, keeping up with the latest and greatest in IT is good, being open to using the latest and greatest in novel and interesting ways is best.

1. Pay your people what they are worth.

How many companies do you know who just won’t shut up about how they hire the best people (just about all companies I guess :))? Well, news flash, if your salaries are commensurate with the average market rates, your employees will most likely be commensurate with the market average as well, unless you get lucky. Good people demand good pay, more than that, good people deserve good pay. A really good developer for example can be 2, 3 even 5 times more productive than an average one (maybe even more, there are studies on this, use Google to find them). So you should certainly be able to afford those extra few thousand if the productivity increase you are gonna get will be in the orders of magnitude higher. Am I right? Regardless, if you want to retain good people you have to pay more than most other companies are willing to pay. Otherwise people will just go and work for those companies that do pay more; it’s the smart thing to do after all.

All of these are very much common sense, right? Well, you will find that most employers can’t provide all seven and most can’t even provide three (it is so hard to part with money, even when it is for the greater good). Of course the most important one is number 1 :). If you do nothing else make sure you have number 1 covered, be warned however, that by itself it will only get you so far, unless it is supported by at least some of the other points, 1 will have only a marginal effect on your level of IT staff retention.

Endeavour to provide all seven points and you will be extremely surprised at what it does to your retention rate. People might even want to – god forbid – have a career at your company. At the very least your IT staff will hang around for longer and you will find that as word spreads, you will slowly get the better people applying for positions at your company. I don’t need to spell out the benefits of any of this, they should be pretty self-evident.

One final note, sometimes the best thing for someone is to go try new things and find new challenges, for whatever reasons. Do support your staff as much as you can if that is the decision they make. That doesn’t mean you don’t try to change their mind, but if the decision is final, do your best to help and support them. This will leave your relationship with that person with a positive “emotional bank account” (I borrow that phrase from “The 7 Habits of Highly Effective People” by Stephen Covey which is a great book by the way). This – of course – means that you will find it that much easier to hire that person again down the line should the opportunity present itself. It is only common sense.

Does Everybody Hate George Bush

I have met probably dozens of Americans over the last couple of years or so, and out of all of them I only remember about 2 of them admitting that they voted for Bush. This got me thinking, just how did Bush become president of the US in the first place and how was he able to remain for 2 terms.

Thinking back over the last few years, I simply can’t recall reading a news story that was praising George W. Bush for anything. I certainly can’t recall a conversation with anyone – American or not – where Bush was mentioned with respect and admiration. Surely those are how a leader should be perceived by his people and possibly even by the international community. Admittedly I am not American, so maybe I am missing some pieces of the puzzle, or something is lost in translation I don’t know, but I find the situation extremely curious.

One of the things that really gets to me is “bushisms”. Were they ever endearing? Since when were bad grammar and an inability to construct a meaningful sentence, the hallmarks of a visionary leader of men. I am just not prepared to make peace with the fact that in a country that gave us the auto-mobile, the atomic bomb, the internet even, that was the best leadership material they had. The saddest thing is that these “bushisms” occurred despite the speech writers and others of their ilk that were no doubt employed to keep just such things from occurring. These grammatical faux pas never made me like Bush more, but they surely must have done so for some people, or am I wrong?

What about his handling of the Iraq war. Let us not forget the fact that the “weapons of mass destruction” over which the war was started in the first place were never found. Let us also not forget that in the case of Iraq, democracy was foisted on the people living there (compelling a nation to adopt democracy through force of arms – was there ever a more ludicrous concept). Both of those things piss me off just a little, but what gets to me even more is the insistence that no-one put a foot wrong at any point with regards to the whole situation. Frankly I would have respected the current US administration a lot more had Bush come out at some point and said “Gee guys, we were wrong, but have to try and set things right now, doing the best we can”. And I am perfectly aware that I can’t blame Bush for the actions of the whole administration, he is not the only person involved. He is however the leader and as such has a responsibility – and a level accountability as well – whether things go right or not.

Bush is in no small part responsible for America having a frankly atrocious international reputation right this minute. America is seen as a bully and an aggressor by the rest of the world, despite many countries having to tow the line and follow Americas lead due to economic (and possibly other) pressures. This in turn reflects really badly on the American people. If I were American I certainly would not want to be judged by the action of one short-sighted and limited individual (who just happens to be the president :)) and the fact that I am being judged this way would annoy me no end.

Is all of this because Bush is just not a leader, but is in fact a sort of puppet for some group/s within the Republican Party? I mean, lets take the current Russia vs. Georgia conflict. Surely noone could lay hypocrisy on that thick without visibly cringing unless they are being controlled in some way and simply don’t have the capacity to understand what they are saying or doing. If it is the case then surely this is even more reason why Bush deserves our contempt for being bamboozled in this way by his “advisors”.

Given all that I said above I guess my question is, who actually voted for Bush and why? Even more so, why the second time? If you did vote for him, do you still retain some confidence in his abilities as a leader? Do you think he has done a good job in his 2 terms as president? I would be very curious to know what people have to say and if you’re not American I’d love to hear from anyone who admires Bush, or at least doesn’t dislike him, surely there must be someone.

3 Things They Should Have Taught In My Computer Science Degree

That’s right only 3 things. Oh, there are plenty of things that I wish I would have learned about at university, but I am well aware that no degree will give you an exhaustive education in your field. A degree is meant to teach you the basics and equip you with skills so that you can learn the rest yourself. However, as I get more experience as a software developer, I find that I am increasingly frustrated about not having been exposed to these three things before I entered the workforce.

I believe that any Computer Science degree can be made a lot more relevant simply by paying more attention to these three points. Had I had more exposure to these things before starting my working life, I believe it would have given me some real world skills that I could have applied straight away, rather than having to scramble to learn everything I needed to know on the job. It would have made me better able to deal with the requirements of my work and would also have made me a better citizen of the IT community.

1. Open Source Development

I found that open source was never really taught. Some students found out on their own and got into it, but the majority didn’t find out at all. At no other time in their lives will students have as much time on their hands to get involved as they do at university; it could truly be a mutually beneficial relationship. Instead, a great opportunity is lost here both for the students and for the open source movement.

I believe most CS subjects should encourage students to either start their own open source projects or preferably participate in existing ones. It should be part of the curriculum and part of the grading process. Open source projects could gain valuable contributions, while students not only gain skills in a real-world setting, but also the use of tools, processes and valuable interpersonal skills that a simulated university environment just can’t provide.

2. An Agile Process (e.g. XP, Scrum)

I’ll amend this; I wish they taught any process to such a degree that people can actually gain at least a passing familiarity with it, even waterfall. I found process was more or less glossed over during my university time. Sure there were a few lectures that mentioned it, but noone really explained the need for process and there was never any practical application of the knowledge. In this case without practical application it is almost impossible to take-in the concepts.

Of course it would have been even better had agile processes been taught since these are a lot more relevant to the industry today. Teaching agile processes to university students is probably one sure-fire way to start changing the software industry for the better. Students would come out with a decent understanding of how software should be built and would be a lot less likely to be brainwashed by companies with outmoded modi operandi (lets face there are still plenty around). Instead students enter the work force completely ignorant about how things should be done and another great opportunity is lost both for the students and for the IT industry in general.

3. Corporate Politics/Building Relationships

It may not seem so to most people, but I believe that this is by far the most important point where my CS degree let me down. So much emphasis is placed on technical subjects that you never get to find out how life really works in the corporate world. Of course this is the hardest to figure out on your own.

As a freshly minted CS grad, you think technology is the most important thing in the world. So, when you find your feet in the corporate world it is a bit of a rude shock how everything seems so dysfunctional and moves at such a glacial pace, until that is you figure out that technology is not the most important thing at all and that corporate politics rules the coop.

Even in high technology companies, politics is king and the cornerstone of politics is relationships. The right relationships can let you get things done, and make your life a lot less difficult. However the concepts around politics and relationships are not well defined, there are no hard and fast rules, everything is very relative and fluffy. Of course for technically minded people this is the most frustrating thing in the world.

It doesn’t have to be like this though, just like everything else, politics and relationship building have basic principles that can be taught, so I fail to see why they are not. Had they been maybe industry wouldn’t crying out anywhere near as much for technical people with great interpersonal skills. Because it is not the interpersonal skills that the grads are lacking (there are plenty of CS grads with great people skills), it is the ability to use these skills to effectively build relationships.

Well that’s, my take on it. It has been a few years since I was at university so maybe in the intervening years things have improved and what I mention above is part of the curriculum (somehow that strikes me as unlikely). Then again perhaps you disagree with me on one or all of the points I mentioned. Do you think there are any other vital subjects that your CS degree should cover? Let me know.