Improving Company Morale?
Undaar asks: "I work as a developer for a web development company. We were pretty hard hit (as were many companies that do what we do) by the "economic down-turn". The company went from over 500 people to under 200 in under two years. It's more stable now, but people are consistently laid-off. Consequently people feel like they always have to look over their shoulder to avoid getting fired. Most lunches are spent complaining about lack of enjoyment/challenge from the job and the fact that upper-management seems not to understand what we do. Employers: what have you done to improve employee morale in your company? As an employee, what can I do to improve the morale in the people I work with? How can I make my work environment more enjoyable? What kind of constructive suggestions can I take to management so that they can help improve the situation?"
People that are happy at work tend to be better workers, so letting them use the internet and phone for some personal business during work can be a "good thing." That's not to say they should be allowed to surf for porn all day, but looking a few websites outside of business during 9-5 can help.
Also, be flexible with work hours. Not everyone needs to work the same 9-5. Let departments figure out their own policy and be flexible with workers.
It's gonna be like this, in our job market at least, for a while. Hopefully not too long...!
what have you done to improve employee morale in your company? As an employee, what can I do to improve the morale in the people I work with? How can I make my work environment more enjoyable?
I left and went to another company with people that are happy. Much happier when I recognized that I couldn't steer a ship from the White Star Line with a paddle. Just not possible.
If the company intends to screw everyone after finishing a couple pieces to make a liquidation plausible, then it's pretty cold to try to improve morale if you know something horrible's about to go down.
#1 *ALWAYS LOOK FOR A BETTER JOB*.
That is, until you find a job where you don't feel you have to look over your shoulder and wonder why management doesn't get it. When management doesn't get it, there's usually no way to fix it. It becomes entrenched in the fabric of the company.
There is only one way for such a company to change--promote from within. This brings up the people who already understand the business PLUS understand the real-world problems faced by the little employees. But such companies rarely do this. They usually hire outside people who have no clue as to what goes on day-to-day. And they keep crapping on their own employees.
I really recommend looking for another job. If jobs in your area are scarce, then think about moving. Being flexible always provides better opportunities. I know the job market is tough right now, and I would not like to be looking for a job. But I've been in that situation many times. And there is not much hope for this type of a company. Unless they promote from within and start investing in their current employees, rather than try to find the next replacement manager who is going to solve all problems, there really is no hope.
Also, all employers should have incentive programs that are based on performance. If your employer does not offer such incentives--even something as little as free movie tickets for the top-performing departments based on measurable results (like lines of checked code, or # of support issues resolved and verified)--then it is another sign of problems with management.
---gralem
You can't compensate for customers that don't buy anymore. But you can give the company some kind of purpose - so that people don't feel lost anymore.
A manager could redefine the company so that people see a future for it. It could specialize. People could get trained so that a department becomes better and better. Such a specialization could even help when the layoff go on, because it will improve the chances for a new job.
Even a low level employee could help building such a view. Try to find collegues gor exchanging ideas and build your own "center of excellence". With a sense of purpose and collaboration even mediocre employees can achieve good results - provided the motivation is there.
Treat your people like professionals, not children. Tell them what you need them to do by when (set reasonable expectations, not impossibilities), tell them what their assets and resources are, and then leave them the hell alone to work. Don't hold enless status meetings, don't hassle them about what hours they're working, etc. If someone's struggling or not doing their work, you'll have to deal with that, but don't treat that as the default situation.
My last "bad" company was constantly under deadline pressure. My development VP responded to this my having daily status meetings, wasting an hour a day restating what was happening and getting status info that he could have gotten automatically if he'd just learned to use the damned change tracking system. They'd also give you shit if you tried to go home before 9 PM (even if your work was done; you should be "testing or something"). What did I learn there? Treat people like irresponsible children and that's how they'll act.
So, basically, don't overmanage and don't be a dick. Treat your people with respect that you'll get it in return.
There's one more thing I'd suggest, but in my experience this is either something you're good at or something you're not: I'm a firm believer in team building, but in an informal way -- when you go to grab lunch, ask your people to come with you. If you're going to grab a beer after work, invite your people along. In my experience, this works great and has a lot better effect than going to Dave & Busters once a quarter or something.
Every year during my review, I just pray the words "slashdot.org" aren't mentioned.
Our company's engineering department runs an annual "coding contest" with a nice prize or two. Last time, teams of two had two days to build the fastest-running solution to a series of problems.
It sounds kind of gimmicky, but there's apparently nothing like a little competition and a prize to get the software engineers' blood pumping. It was really all the discussion about the problems before and after that was so great... it did a lot to get different groups of people talking like they never had before.
It worked brilliantly as a team-building exercise for engineers. Heh, and maybe it helped the management spot the engineers crazy enough to spend the time on the contest, and win.
First, I agree with you totally. However, beoynd the web development/+5 years java experience/visual basic etc. etc. market, there exists a seedy underbelly to the IT world. That is the land of Legacy Systems.
There exist systems so large and arcane, that it takes a developer the better part of a calendar year just to understand some basics of how the system works (and I've seen others struggle for longer). There is ADA. There may be FORTRAN. And there is a whole lot of assembler.
These are systems that have their own operating systems written on top of the operating system. These have components that average 100,000 lines of code each- with another 100,000 lines of code for the test harness. Now multiply that by 12 support components. And we haven't even gotten to the actual APPLICATIONS that run on top!
For projects like these, management does have to watch their back. They don't have lots of money to keep useless developers on, but once a new project ramps up they say 'oh, we need developers who have a lot of experience with our system' hahaha! Hire back those guys you fired!
It is companies like these (think: big ol' gov't contracts) that have to play this dancing game of shelling out some money for pizza every now and then to keep people happy because if they let go of everyone now (or piss them off enough so they leave), they won't be able to staff up in time when the new projects come, and they won't be able to complete the new projects (because they are aggressively scheduled) and they never make a dime on new projects again.
In the future, I would want to not be isolated from my friends in the Space Station.
And don't take away the casual dress policy (if you have one). Nobody wants to have to wear a damn tie just to sit behind a desk all day. It makes no sense.
I was in a healthcare-related tech company that went under and in the last couple of months, you could see it coming. The bosses had no clue what they were doing and wanted all of us smaller people to come up with AND execute the big ideas.
Maybe the business should offer some info on how to make a great looking resume.
...All I can say is that my life is pretty strange...
My boss allows me to work from home on Mondays and Fridays. I avoid a long, stressful commute to work, and I save 40% on gasoline. Overall my productivity has increased, and I feel better.
This is soooo true. I have flex hours, I can work 6am-2pm, 2pm-10pm, or 9-5. I can work at home, or my office, thanks to things like a VPN and Avaya IP Softphone.
When your work load starts to be equal to that of 2 or 3 (or more!) head count, and you know that if you push yourself that you can do it... there are a few things that happen: 1) you realize that doing this work will save your job for the months to come so you do it, and 2) you realize that your boss doesn't really care if you sit in an office or the recliner in your home... as long as the work gets done the boss will be as happy as pig in shit.
--------
Free your mind.
It costs approximately $10-15k (before you spend dime one in salary) to hire your average full-time employee in America. (This is an average, not a locked-in-cement dollar amount... It includes advertising, agency efforts, the manager's time, the HR manager's time, how much time it takes to sift through 2,000 resumes for a $22k per year helpdesk job, any training they may need to provide to get the new guy up to speed, drug test, background check, reference check, etc...)
Given this fact, in the long run, it costs MORE to have high turnover in a company than you could ever spend on treating your staff like human beings... I'm not talking about pool tables and six-figure salaries, either. I'm referring to simple things like flex-time so people can actually see their kids and have interests in their lives besides work.
It seems to me that any company operating under this "Who gives a shit about you?" theory should be avoided... Sadly, in this employment market, the talent (that's us) doesn't have the option of voting "nay" to shitty employers by walking off to other jobs.
I am quite fortunate that my new employer is a private (profitable) corporation that doesn't have to whack $1,000,000 out of the budget every five minutes to meet short-term proft forecasts and prevent stock price fluctuations. My former employer made $36 billion in PROFIT the year they laid us off. Sorry, but if you have to fire 5,000 people one quarter, then need to have a "massive hiring drive" the next, that is short-sigthed mismanagement by drones in suits who put their 401k balances ahead of the company's long-term stability and reputation.
It is easy to say "We can cut 30% out of tech support and still field the same number of calls" but "# of calls" is not the same figure as "# of calls handled satisfactorily." As the quality drops, long-term sales prospects of the company's newer products slowly evaporate as CIOs and IT Managers say "Why the hell should we deal with those slow/incompetent jerks, when XYZ Corporation still offers good service?"
(Ever spend big money with a vendor after their "support staff budget cuts" led to lousy service? Me neither...)
Sadly, I'm afraid you're correct that we're going to have to deal with this sort of idiocy for a while longer... It is amazing to me that in strong economic times, managers complain endlessly about their "free agent" employees, louldy wondering where "loyalty" went?
Then, in the down times, selfsame managers do their best to shit all over said employees... Perhaps if employers didn't (ab)use their power over their employees in a lousy employment market they wouldn't be so eager to jump ship at the first opportunity.
Who did what now?
I agree with the internet and phone use for personal business. Most of the time I have to take a vacation day to compelete such tasks and no work gets done. On the flex hours, I would agree to a degree. In the past I have had a question for someone only to realize the that person would not be at work for another two hours (or has already left for the day). But I do not have a problem with 30 minutes to maybe an hour. 30 minutes can drastically affect commute time because you are no longer in sync with everyone else.
11 things developers can do
(not in any particular order)
1) Read "Code Complete" and "Design Patterns". Others will be thankful... trust me.
2) Have pride in what you do. Programming IS an art. It requires talent, practice, motiviation, inspiration, creativity, and experience to write good code. Know your craft.
3) Eliminate the KINGDOMS on your team. That is, one person should not solely own one part of the system... hence a "king". Make sure at least two people are knowledgeable about one part of a system.
4) Utilitize tried-and-true design patterns. These are your brushes and your paints.
5) Be politically aware in code reviews. Take constructive criticism constructively and remove your ego. If a reviewer is suggesting that you make a minor change, and the change doesn't harm anything... DO IT. Being inclusive of others' ideas in your code will make everyone happy.
6) When reviewing other people's code, don't be superficially critical. Programmers have different styles. A car, on the outside, may not appeal to you, but it doesn't mean that it isn't a well built/designed vehicle.
7) When designing (or refactoring) portions of code, have design reviews (informal or formal) with at least one other developer. Bounce all your ideas and thoughts. Get ideas and thoughts in return. Use your whiteboard for goodness sakes. That's what it is there for.
8) Praise other developers when they do well. Programmers need to know when they're doing good as well as bad. Programmers appreciate praise from other programmers more than they do from anyone else.
9) When you have to be critical of someone else's code, be constructive. Apply honesty with a feather... not with a sledge hammer. Instead of saying, "What the fuck??? You're not threadsafe and possibly creating multi-tons."... say... "Do you think that synchronizing this singleton might work here better... so we're threadsafe?"... for example.
10) Be consistent in your code. It makes your code more easily maintained by others.
11) Document. Please write comments. Don't be so egotistical to think that your code is self-documenting. Even in COBOL and Eiffel... the two most verbose languages on the planet... this isn't the case.
A couple of simple rules have always helped me with the morale of my team. If morale is poor, I nearly always point at one of these things and realise that I/my company is not doing it: 1. Clear, achievable deadlines
2. The best tools and equipment for the job (within reason obviously)
3. Insulation from the most insideous company politics and hopeless project managers.
4. Wages in the upper bracket of the industry for each role
Never, ever lose a file again. Ever.