Friday, June 5, 2009

Top 10 Reasons Why Employees Leave in IT

Top 10 Reasons Why Employees Leave in IT

In no particular order of weight (but would have to say if I had to give it a weight the highest would be on #1, #2, #4, #7, #9, and #10)

1) Code & Run Shop

  • No industry best practices / development standards in place
  • No time built into schedule for testing, SOLID practices, or time to even think SOLID
  • expectation of everything big or small to be coded in 1-2 days or other totally unreasonable timeframes and no attention to refactoring bad code (technical debt) leads to chaos
    • Timelines are based on no estimates or are pushed by managers who have no insight or care to the process at hand. Estimates are pushed by managers at the blink of an eye and literally pulled out of thin air without any type measure whatsoever
  • No prioritization on items therefore constant interruptions in projects are the norm leaving projects unfinished due to a shift to “yet another project or task unexpectedly”
  • Excuse is “business needs it now” instead of lets try to get this thing out in a reasonable timeframe with testing in mind, and attention to quality code
    • Working till all hours of the morning fixing hacks or entertaining scope creep due to features added the night before! sad but all too true in IT which ultimately will lead to the good employees jumping ship

2) Absolutely NO structure

this is typical for mom & pop shops or those shops who have people who have never worked anywhere else BUT the company they work for. They’ve worked for the company for 10-20 years and do not know what “reality” is outside their environment and ways of doing things overall

  • This causes a code & run shop but I’m talking about absolutely NO structure here (see bullet 2). Code & run can come from lousy structure but no structure is even worse
  • While too much structure is not good, no structure is complete stupidity and ultimately complete Chaos
    • No priorities on queued tasks
    • No reason why we should even do task A, B, C but just do it cause the boss says so
    • No source control
    • No true Development, QA, Staging Environment (one or all)
    • No Bug system with prioritized task lists
    • Bug system has tasks or manager has them in his head but thrown out to the team at random thus interrupting their current tasks at hand without regard to what’s more important to the business. Disrupting someone’s current project and throwing in an unnecessary project prevents progress when there is no structure to these tasks being handed out. Tasks are handed out for no reason other than “I think it should be done”, not “Do we really need to do this or does this have more business impact or am disrupting the flow”
    • No testing (Unit testing, QA, Usability) is added to project timelines and testing is only done by developers at best which is NOT testing

3) Lack of regular communication

  • Everything is kept behind Closed Doors or at an “As need to know basis”
  • Too many meetings that do affect you but you are not included
  • Mysterious meetings happen and they are mysterious because the people who hold them hold them off site every time or behind closed doors. This creates a lot of suspision in many cases and therefore it’s a closed environment
  • Boss doesn’t communicate things that affect the team or you as an individual and makes all decisions without your knowledge only you finding about it later through another source
  • Not able to get solid answers to your questions (about the business, procedures, decisions that affect the team, you name it)
  • Emails are not responded to (the important ones). When you attempt to ask them in person, the question is dodged or you receive an answer that completely does not provide you any information at all
  • Communication is all done through email. This is not good communication and that’s common sense people. Talk face to face when at all possible, stop hiding behind emails. That’s mom & pop mentality.

4) Micro Managers

  • Managers that constantly have to babysit rather than trust their employees to do their job. Constantly checking in daily and worse, when checking in just checking in for status checks. Give your employees space or they will leave

5) No recognition of the work you’ve done and effort you’ve put in

  • Managers do not take the time to show their appreciation by a simple “good job” once in a while
  • Colleagues or managers take YOUR idea as their own. Lack of credit to the people who gave you the idea in the first place.
  • Managers who only harp on the fact that you can’t get things done fast enough, even if you are doing the “norm or above”

6) Reviews that are mostly all negative most of the time

  • It’s ok to point out some weaknesses or things that you think your employee can do better, but the entire review should be mostly uplifting if you value that employee. Don’t make it a session for “you suck” but rather motivate them and tell them what they did do right. At the end, talk 10 minutes about what you want them to improve and leave it at that. It’s pointless for your employee to leave unhappy from a review if you value that employee. You want them to leave motivated if you are keeping them long term. Consistent “unfair and demeaning” reviews that make the employee feel that they are never good enough for you drives employee motivation down and eventually away from the company.

7) Politics

  • This plays into many areas but typically it’s caused by bad apples. Those colleagues or managers who play favorites, who always are easily persuaded by other bad apples (cocky arrogant loud mouths), and those who make decisions not based on the situation or how an employee really has done but makes decisions to further themselves or based on peer pressure from others rather than decisions that benefit the employees or company as a whole
  • Managers who give out or try to promote others up the ladder because they are “friends” rather than based on their “performance”. Managers who fail to promote the very people who deserve it rather than who is popular or who they like rather than who really deserves it and has a great attitude and has worked hard for the company

8) Bad co-workers who do not get stomped out (let go) and hurt the culture

  • The arrogant bastard
    • This guy always has to make a cutting or cocky remark and is typically very very LOUD in addition to his cutting remarks. Always has to act macho and talk in a passive aggressive way to most others. It’s a shield for them as they believe if they initiate a conversation aggressively, that the person will actually listen to them and think they are important. They are constantly disrupting the team.
  • The Kiss Ass
    • This person could also be an arrogant bastard. Often times they play both. They kiss up to people and go to lunch with those people who they are trying to kiss ass to. They do it on purpose to try to change situations which don’t affect them and purposely set events and meetings to go against someone else. They often are paranoid and kiss ass because they are not good at the job that they do. They lack smarts.
    • This person could be dumb or could be smart. But they have no confidence which is equally as bad as being dumb
  • The Nosey Prick
    • This guy always has to be the life of the party in order to find out what’s going on in the office. Constantly interrupting conversations so that they can bud in and shed a light or two on something that completely has nothing to do with him/her
    • This guy constantly asks “what are you guys talking about”
    • This guy seems to walk into every meeting you have with your boss just to nose in and figure out what you’re meeting about. Typically this person is not in your department in fact.
  • The Lazy Snail
    • This dude always sluffs off. Does half the work and goes home. Not good for the team
  • The Idiot manager
    • This guy doesn’t know technology. Constantly promoting datasets, he thinks he’s a genius. Throwing out management terms even he doesn’t yet understand. Expecting the team to work in IE 6.0 and wonders “what’s this FireFox thin you’re using?”
  • The Know-it-All
    • They’ve done it, seen it, eaten it and in fact much better than you. This person hurts a team because they are not contributing, they are bragging.

9) No work-life balance

  • Those who preach it but truly are bluffing are burning their employees out. Eventually they leave. We are humans, build that into the system and let us relax outside of just vacation once in a while
  • Yes, business has to get done, but lets be real people. Stop using business as an excuse to drive your employees to death

10) No concept of “Team”

  • Employees are expected not to question anything, just do as told. This is NOT “Team”. Constructive criticism or going against the grain in a constructive fashion (not rude or out of control) is viewed as a problem rather than a positive. Teams work best when they collaborate and are allowed to question what the proposed process or standard is, not just following and doing what is told 100% of the time. If the process suggested or currently ongoing sucks, question it and expect your team to question it!
  • Manager not listening to and taking advantage of his employees and what they have to offer from their own experiences current or past
  • Consultants driving the business rather than the internal IT group. Consultants driving bad code or bad practices in environments. Not saying all consultants are bad but often times they do drive a lot of bullshit and unnecessary costs (refactoring, conflicts, self-interest) which hurts the team.
  • Manager is so stubborn and ignorant that “everything I say is right” and is constantly fighting to make himself “right” even if he is not
  • Employee has a breadth of experience in many environments but you continually are stubborn as a manager and make all the decisions rather than tap into and ask that Lead or employee a better way or process that could benefit the team as they’ve done it before
  • Employee comes up with an idea and manager disregards it because “no I’ve always done it my way” even if it’s a 1999 way of doing things
  • Employee comes up with a better idea than yours and you being the manager continually disregard those ideas that are better it because you are weak. Managers should be utilizing the people they hire including their ideas if they have a better process or idea/reason in mind. If you cannot, you suck as a manager. Your way is not always right, and most often 50% time wrong even if you are a very smart person

And all of these CAN be corrected or prevented if managers did their job to ensure this shit doesn’t happen.

No comments:

Post a Comment