Big tech company problems
For the last few years, I've been working at a large, multi-national software development contractor, developing and integrating solutions for a range of customers. It was an experience I definitely don't regret, and I learnt a lot about how companies function and how things get done. One of the things I realised was that the things that employees gripe about the most at the larger companies aren't really that different.
These problems seem to arise as a result of growth, and without a plan to counter them, they often snowball and become ingrained in the company culture. Addressing these issues early on is therefore key to minimising their effects, and may also head off other problems that may develop in the future, particularly problems with employee retention.
Here's a selection of the problems that I have come across.
A reactive training policy, i.e. no policy
In the IT industry, keeping your knowledge and skillset up-to-date is an important part of not only your career, but also your value to the company and hence the company's health and ability to perform.
Unfortunately, at many companies, training is often considered an ad-hoc perk, with the cost covered by your team/project, at your manager's discretion. This is often compounded by the lack of a guiding technological vision that helps steer employees in the direction which will help the company grow.
Often this problem manifests itself in the mad scrambles to skill up staff or the rushed recruitment drives to fill gaps in knowledge when commencing new projects. Effectively, the company becomes monkeys for hire instead of being an industry leader.
Companies should have company-wide training policies, with the cost coming from a separate 'bucket of money'. All employees should be guided throughout their career, training them as necessary to keep them ahead of the curve in line with the company vision, allowing the company to be more productive and grow. All employees must participate to reinforce the idea of continuous improvement, and also to ensure employees can take advantage of new developments without being held back by others.
Crumbling basic facilities, equipment and services for employees
I'm not talking about a shiny cafeteria complete with beer on tap or a company gym packed with every machine imaginable. I'm talking about basic facilities, like toilets that don't look worse than public toilets. Or buildings that aren't crawling with locusts on certain days of the year. Or offices that don't have broken air conditioning such that you could walk to the other side of the building and feel the need to put a jacket on.
I'm also talking about having the right equipment for the job, whether that'd be multiple monitors, a particular piece of software, a level desk, a comfortable chair, a clean keyboard or appropriate privileges so you can do your work efficiently. Nothing extravagant, just the basics so employees can work productively in whatever way they work best.
Finally, services. Along with outdated or inappropriate equipment, inefficient or deliberately hobbled services are an absolute pain, particularly when you have to use them regularly to carry out your job. Things like a broken timesheet web app - accidentally type in the timesheet code field and all the associated hours are gone. (I've never understood why internal organisation software is always terrible, worse than anything that gets produced for customers. At one company, an employee tried to fix this by coding an alternative implementation, only to be shut down by IT security when they found out.)
Another commonly hobbled service that infuriates developers is access to the internet. I've seen companies with a wonderfully restricted system where many useful sites were blocked, HTTP/S were practically the only allowed ports and HTTPS went via a man-in-the-middle (surreptitiously - many continued to do their internet banking without even knowing), while another had a rule that meant all access had to be done through IE.
The blocking of sites was annoying (one company even blocks StackOverflow; those poor developers), but it was bearable. The stealthy HTTPS MITM is just plain evil, but once you know, you can avoid it (just use your phone instead). The worst was the last point - it meant it was not possible to use package managers, a common best practice. The way IE-only access was enforced was by checking the User-Agent string in the HTTP request, so I spun up a Squid proxy instance to inject the appropriate headers to bypass it. Worked like a charm. Another team, one with more money, just said 'screw it', bought a laptop and a Telstra 4G USB stick, used that to mirror the repository before burning it to a DVD.
This isn't rocket science. Employees will not be efficient nor productive if the company passively and actively puts up roadblocks. Companies should have developer advocates in IT to ensure measures introduced don't unnecessarily and unreasonably impede developers, and give developers a budget each year to spend on whatever that would make them more productive (within reason).
Excessive red tape
TPS reports and red tape are a necessary evil. I actually don't mind it, because I know when I'm trying to sort something out for someone, I like to have all the necessary details and approvals to be able to do it efficiently.
The problem is when the red tape becomes out of sync with the actual process or the people actioning them. It leads to situations where things that take minutes take days or even months to complete; where people get told to always tick 'no' to a certain box or put a certain bit of information in another box; where you end up pissing off half the org chart above you just to get their approval (ah, those wonderful email chains where half the organisation is CC`ed). Eventually, no one remembers why things are done that way, or worse some processes end up having a 'fast-track' if you happen to know that right people, which leads to a terrible exclusive, cliquey company culture. Ick.
Companies should empower someone who works with a particular process regularly to change it, with simplification always the goal. Red tape is there to assist the process, not cause it to snowball into some unrecognisable monster.
A one-size-fits-all, pay-focused performance management system
If the only way a company can motivate me to stay is to pay me more, then they have already lost. In fact, I'd even consider it a demotivator if that was all that was offered, because it says that the company doesn't really care about my aspirations and complaints; they're happy to just throw me more money until I shut up or leave. It is one of the more expensive retention mechanisms with the least return in my opinion, and can often have a detrimental effect on the company culture.
I'm not sure what I'd rather see in terms of the actual process itself, but all the ones I've seen are just silly games all employees (managers and developers) hate but play to make HR happy.
A career ladder that always ends in management
For some reason, HR seems to assume everyone who wants to progress in their career wants to join management and shoot for the top job. Newsflash - we don't. Besides, who will do the grunt work when everyone is in management? :)
Companies should have progression paths that allow the employee to choose between entering management or furthering their engineering (or marketing or whatever) expertise, and make them equivalent in terms of pay grade. One should not have to become a manager just to earn more.
Patronising 'memos' from above
This is a pet peeve of mine. Maybe it is an American thing, but I hate reading emails about how 'you are our most important resource' (I'm a person damnit, not the office coffee machine), or how 'we would not have been able to do this without you', or 'this has been a tough and challenging year for all of us, and if not for our combined hard work, determination and dedication, we would not have been able to achieve this extraordinary result'. Why can't they just communicate like normal people do?
Also, stop the stupid /s/ rubbish. This is an email. No one cares about your signature.
Management who acknowledge issues but don't act
Ah, employee surveys - the big scam management holds every year or two to make employees feel that they are valued. I filled my first one in meticulously, proof-reading and rewriting the free-text comment box before submitting. Then nothing, except a patronising 'we heard you and will discuss the results soon' email. So disappointed.
A couple of the companies I worked with even had internal wiki pages making a mockery of the issues they faced (many part of the unofficial induction process). Others had a tag on the internal blog site dedicated to the parting thoughts of employees, with many recurring themes throughout the years.
If your employees are telling you something is an issue for them, and the same issue is reported repeatedly by others… just maybe it is a problem that should be fixed?
Silos of knowledge
This is a problem that affects companies of any size. I saw it when I was working at a small 4-person company, where knowledge was siloed inside each employee, and again at much larger companies, where knowledge was siloed by teams. No one knew who had what skill set outside of the team or who had experience with which customer. Got a question about Perl? Or maybe a question about IT security? Google. Want to know if there's anyone with Puppet expertise? Email those you know and hope for the best.
Knowledge transfer is important in any organisation, whether it be technical information, or information about the new travel process. A decent intranet is a good way to solve this. But ultimately, the solution to this problem isn't technical. The solution to the problem lies with management. They need to be committed to the solution and gently force the workforce to use it by leading by example.
Breaking down the silos also helps bring people from all over the organisation together and builds the company culture. People can choose to find out more about how another project is going, or organise themselves around common after-work interests.
Sidenote - Email alone is not the solution. At one company, there was no mechanism to communicate between staff besides email. New charge codes for timesheets? Email. Details about the upcoming performance assessment? Email. Coffee van had arrived? Email. (Yes, one every day at 11am.) Does any one know who has the key to the stationary cupboard? Email. Welcome to inbox hell. Sure knowledge is being disseminated, but the mechanism just isn't conducive to making the knowledge accessible when needed.
A lack of participation with the industry
Any organisation, particularly an IT organisation, can no longer afford to isolate themselves. The world is now much more connected and integrated than ever before, and isolation will only make the organisation less competitive. Any employee in the IT industry can't afford to isolate themselves either, potentially missing out on future career opportunities, new skills and connections.
Companies should communicate in plain English through their website and maintain a social media presence. Employees should be encouraged to engage the wider community, whether that be through social media, conferences, meetups, open source projects or something else to not only raise the profile of the company, but also to learn.