DISCLAIMER:
As always these are my opinions, and do not necessarily reflect those of my employer. This post is not directed at my current employer, I am very happy with my job, this is more a broad look at the industry. I work with customers on a daily basis who are in these types of situations, and hear the complaints about turnover, unproductive employees, etc. This is my thoughts on how to make things better. This is not a new concept, I am not the first one to say this, but because this is becoming more of a conversation, I feel it is worth bringing up again.
For many of us who came up through the ranks of IT, we were taught that you had to specialize, pick an area of focus, and then become the master in that area. That was the way of IT. This has led to our current environments where it is assumed that hiring the best administrator/engineer in the field will somehow bring a greater value to IT. Of course virtualization has changed the dynamic, but we don’t seem to have kept up on the structure of the organization.
Break the siloed model
We really need to look at the model we use now for IT organizations. As in the diagram, many enterprises separate out their major roles, some use more, but generally this model helps the discussion.
The biggest challenge is a process flow issue. Since everyone is an expert in their field, cross functional teams tend to be created for projects, but are not incentivized to work together on a regular basis, and indeed in many cases have their own agendas, the primary being to protect their territory.
To resolve this issue, in the past many of us have advocated for splitting into cross functional teams split out as Architects to design, Engineers to build, and Administrators to manage, much like the diagram below.
This seems to make sense, but then we start to find the vision of architecture is an ideal, but is not followed by engineering and administration, and we suffer from a serious disconnect.
In the software defined datacenter, it makes sense then to have hybrid teams of each discipline working together, but also defining architecture and design. I am a firm believer that architects, engineers, and admin’s have very different skill sets, and even personalities, but at the same time, I think there needs to be some cross pollination of the teams. I think the model above works, but there should be bleed over between groups.
By using cross functional teams, it is then much simpler for the architecture team to work with the deployment/engineering team to put the product into production. It also allows engineering teams to have input into design. Administrators as well should be involved not only in the deployment process, but also in the design. This ensures their feedback is considered, and allows them to buy into the architectural vision.
Recruit the right people
Enough cannot be said about the value of having the right people in the right positions. It pains me to see people who have been with a company for 10+ years, in the same position, or similar ones, who are there because they have been around and know the processes. Turnover is a necessary part of any business. Businesses, even non-profit ones, exist to make money, whether for the shareholders, or for those they serve, it is necessary for them to ensure their employees add value. It should not be a negative thing when someone moves on, process should be such that when someone leaves the company, they are missed, but it is not catastrophic. Organizations should be able to recruit quickly, and find good people who are suited to their environments.
When recruiting, we need to stop looking for someone who’s resume meets the job description. Personality, diverse experience, and future potential should be considered. Organizations should also consider candidates with a different background. A software developer might be the perfect enterprise architect, if he has the right personality. A project manager might be an exceptional engineer if he has the technical proficiency, and might bring a fresh approach. It isn’t always about the resume, sometimes it is about the fit.
Train people for success
Training is a huge expense, there is no doubt about it, but it is an investment. Even with higher turnover rates, you are contributing to a future. Certainly that person may leave after you train them, but the next person you hire may bring those skills or others. By training your people, you elevate the entire team. You encourage them to move up within the organization.
Training is not just about technical training either. Internal training programs, preparing individuals for leadership roles, program management roles, or even just to be better communicators are critical. If you want people to stick around, develop them, make them better, contribute to their sense of value, and make them important to the companies future. Make them directly responsible for the companies wellbeing, show them a path to being the best they can be.
Pay people like you want them to stay
Finally pay, that ever painful discussion. For most of us, there comes a point in our careers that money is not a primary motivator. That being said, I have been in 1 organization in the past 11 years where I received a pay raise that was above the cost of living index, without having to threaten to leave. I love what I do, and if I were independently wealthy I would probably do my job for free. Money has not been a primary motivator for some time. That being said, I am not independently wealthy, and while money is not a primary motivator, it is a measure of what a company thinks of my performance.
My advice to managers, pay your good employees enough to keep them happy, and keep raising the bar. If they aren’t worth more money to you, someone else will happily take them. There is no more work for a single company for 40 years and retire with a pension for most of us. Loyalty is a two way street, and we are mostly all at will employees. No hard feelings, if your employees aren’t worth giving raises on a regular basis, you should probably find new ones.
It is really all about a better state of being for companies. As we automate more and more, IT employees are going to need to develop further skills, and as such are going to become more valuable. I am very much pro business and capitalism, and I think that individuals should be paid based on their skills. As many of us continue to develop new skills, and work hard to be the best we can, I think it makes sense to create environments where we can thrive, and where those who choose not to develop their skills can be moved to roles they are better suited for.