According to Top 10 Reasons to Work at Google, there are a number of workplace benefits that I'm currently being deprived of, namely:
Perhaps Google has been influenced by Peopleware's advice to focus on who does the work rather than how it is done. Simplifying outrageously, Peopleware's formula for success is:
Further to the interview guerrilla tactics discussed in On interviewing and interview questions, this meditation focuses on strategies for finding, hiring, inspiring and keeping top-notch developers.
Finding
It seems sound strategy to spread the word that your company is a great place to work. With that done, there should be less need to advertise jobs since top developers will hopefully come to you. Encouraging some of your developers to interact with outside programming communities, universities, and perhaps write a public blog discussing their work may help get the word out and develop contacts with potential new employees. Any other ideas?
Hiring
Apparently, Google employ the Lake Wobegon strategy, namely:
As already discussed in On interviewing and interview questions, there seems to be a broad consensus that candidates should be asked to write code at the interview and give some sort of technical presentation.
Staff Induction
Staff induction is considered so important at Hitachi Software that the chief scientist's principal function is the training of new hires! How are new hires trained at your company?
Inspiring
I'm struggling a bit with this section and suggestions are certainly welcome. Here is my list of management tips to get the best out of people:
Team Harmony
DeMarco and Lister provide a number of interesting suggestions for improving team harmony:
Deadlines
Peopleware provides convincing evidence that setting overly tight deadlines does not speed up product delivery. On the contrary, their analysis shows that unrealistic deadlines actually harm productivity and that higher productivity is achieved when working to realistic deadlines. Apart from harming productivity, unrealistic deadlines (especially artificially imposed ones) cause significant long term damage to staff morale, turnover and to the company's reputation for quality. To keep staff happier and more productive, allow the builder to set the deadlines and the quality standard.
People versus Process
In many disciplines, such as aircraft maintenance, following a strict, well-defined, step-by-step process has achieved excellent results. But what about software development? Should the job, the process, the methodology be strictly defined and the developer ordered to follow it? Or, at the other extreme, should each developer be allowed to choose any process or methodology he/she prefers based on individual taste, strengths and weaknesses? Perhaps methodologies and processes are best agreed by consensus at the team/project level rather than the company or individual level. How formally defined is the development process and methodology at your workplace? How strictly is it enforced?
References
Under the un-inspiring category: One of my personal peeves is working for a company that expects late hours when projects become critical, yet provides no support for this. For example, there is only junk food in the vending machines, mostly chips and candy bars. At comparable companies, there are major-meal vending machines providing soup, sandwiches, pasta, salad, yogurt, dried fruit -- heck, even breakfast cereal is better than a Snickers. And it's not like it has to cost the company anything -- the employees would gladly pay to have a real meal at 2am. When every newhire is given a laptop and a VPN login, they must think we come with our own wall adapter.
On the flipside, in another corporate incarnation, my team has worked late on several occasions. I've gone out of my way to get them a dinner break, even if it comes out of my own pocket. They're much more likely to work quickly and accurately if someone is looking after them, and it also becomes something of a social event to work late and share a meal.
-QM
--
Quantum Mechanics: The dreams stuff is made of
The first job I had after college was for a major chemical company in the Northeast US. At one point my boss asked three of us to pitch in and help out another developer on our team who had dithered around with the specs too long. In addition to our own responsibilities, we worked on this system most evenings until at least 9 pm and most weekends for more than six weeks. Our boss gave us carte blanche on expensing meals, saying any time we were there after 5 pm or on a weekend we could charge whatever we wanted to eat, to support us while we wrote this system. The total bill for all our meals was probably less than $1000 but was a major factor in our willingness to work long hours -- not because we were willing to work for food, but because we felt that the company took our sacrifice seriously. Afterward, we all received a spot award of a month's pay. I would have done anything for that boss -- that kind of pound-wise thinking is what separates the men from the boys in this area.
Some months later, that boss ran afoul of some internal politics and was shunted aside in favor of a man who could have been the prototype pointy-haired-boss. Not long after that our department was decimated by employee departures for greener pastures, myself included.
Now, we keep things great because the only people hired are those that will work well with every other developer. Or, put another way, every developer has right of veto over a prospective hire. This ensures that everyone will be able to work with everyone else, and that everyone will want to work with everyone else.
The second-best place I've worked was at Motorola. I think that it was more the team than the company. I was trusted to do my job. I had veto power over releases. No-one sat around and told me how to dress. In other words, I was treated like an adult. Too many times, companies feel that they have to treat their employees like children. If you look for childish behavior, you will find it.
Now, this means that about 70% of all prospective employees will not work out in your company, and you have to be willing to be extremely selective in hiring. Yes, you could fire people after trying them out, but that gets to be really disruptive over time. Much better to lose a qualified candidate than to fire an unqualified one. If your company is a good place to work, qualified candidates will find you.
I think your reply deserves a spotlight. By holding up your employment situation as an example, you've at least cursorily defined most of what makes a good tech employer to a T. One of the key ingredients, I think, is that the employer makes learning new things a desirable activity for its employees and fosters that. There are few ways to do this that compare with the "work on open source software projects when you're not on deadlines" approach. I think that really the most valuable aspect of Google's 20% time isn't the new projects and "products" that employees generate, either: it's the fact that it fosters, encourages, and supports learning — and makes that learning desirable to the employees in a way that "paid training" and similarly institutionalized corporate initiatives don't.
Bleeding edge technical industries, which covers almost everything related to computers these days, thrive on new knowledge. The core issue of this entire discussion is that tech employers need to harness that new knowledge phenomenon. The things to look for are people who learn about the field on their own time because they like it, because they want to know new things, and because the way they're wired you couldn't get them to stop learning and tinkering short of inducing burn-out. The things to do involve providing inducements and environments encouraging that learning, and the things to avoid doing are those stultifying bureaucratic and buzzword-compliant procedural things that contribute to burn-out and a feeling of oppression.
Autonomy is really one of the key ingredients to this. The only other such that comes to mind is creating a work environment where the employees don't have to worry about anything they're not getting paid to do. If you're working sixteen hour days to meet a deadline in an office building, for instance, the employer needs to find ways to address concerns like childcare, hot meals, and the like, so that the employees don't have to, and if you're a reasonably intelligent employee that was worth hiring in the first place the management should trust you to know what you're doing, be able to organize your own time, and be able to turn whatever interest grabs your attention into a benefit to the company, even if the primary benefit of it is just keeping you sharp.
Unfortunately, American corporate culture is pretty much diametrically opposed to these characteristics of a work environment that are most conducive to acquiring, keeping, and improving on quality employees.
|
- apotheon
CopyWrite Chad Perrin |
So I'm eager to see 10 years from now, how Google's plan has flowered or withered, especially as competition in data mining and record keeping increases.
Hmmm there is a problem hiring people? Might be a regional thing as I am told by HR they get calls and resumes for IT people all the time.
Benies? Well a great boss is a HUGE benefit. He leaves you alone if he feels you know what you are doing. I have a free hand to do just about anything I want. A company charge plate is useful especially when you are allowed to buy tech books as long as you don't go crazy. We get a free dinner on Wednesday and every so often a gathering with Beer and and wine.
Down side? Health Insurence is medicore. 401K is mediorcre. Training is rare though I am getting my first course in about 4 years. I have reached as far as I can go career wise. We are a staff of 4 and they aren't going to offer a managership when they have a director with 3 workers. Though there is hints of becoming the security manager. So a career path is good!
Hmmm there is a problem hiring people? Might be a regional thing as I am told by HR they get calls and resumes for IT people all the time.
Yes, most HR departments will get calls and resumes for IT people all the time. The problem is - they're not for good people :-)
The problem isn't hiring people. The problem is identifying, hiring, keeping, and supporting people that are worth paying for their work. HR departments, hiring managers, and so on, tend to hire people based on the wrong characteristics, and when they luck into a good hire the bosses have a tendency to turn them into bad hires.
|
- apotheon
CopyWrite Chad Perrin |
Smaller companies have the advantage of greater flexibility in their hiring terms. There's no fixed payscales, rigid hierarchies or corporate policies that need to be maintained company-wide. This gives small companies room to out flank the big ones by offering whatever it is that the new hires may want. The desirable perks will vary from person to person so Google's project day and MS's door won't appeal to everyone they would like.
In my case, I chose to work for a small company that would allow me to work part-time and remotely (even travelling internationally), was supportive of open source, had a nice staff and great coffee.
What sort of benefits do you currently enjoy?Eight cruises per year.
-- Randal L. Schwartz, Perl hacker
Be sure to read my standard disclaimer if this is a reply.
Finding:
Hiring:
Retaining
One way... to set yourself apart from your competitors is to offer a generous time-off package to new hires.
...a situation wherein the existing employee may feel that they must leave to retain any self-respect. I prefer to work for companies that are not afraid to grow leaders internally and show a strong bias for internal transfers and promotions.
One of the things that really gets my goat (substitute other metaphor as appropriate) is when employers treat new hires much better than their existing employees. It's one thing if a new hire is an experienced person coming from another company and negotiates some extraordinary benefits for himself. But when the company institutes an across-the-board hiring incentive program that gives the new folks better computers, better offices, more time off, etc. than what the old folks are getting, that's a real morale killer.
That is an excellent comparison! Kudos! It really points out some of the finer details of why the first example was a good one. In general, it's more important to know why some strategies work than to have a laundry-list of previously successful strategies. Don't ask yourself what workplace characteristics are conducive to good workers: ask yourself why those characteristics work. The details can change, but the underlying reasons those details were good at one time remain the same. While you didn't specifically point out the underlying reasons per se, you certainly pointed out that the underlying reasons aren't dependent upon the form they take.
|
- apotheon
CopyWrite Chad Perrin |
The good
The Bad
-------------------------------------
Nothing is too wonderful to be true
-- Michael Faraday
4 weeks vacation (Very, very enticing for me)
Here in France, legal vacation time is 5 weeks, good companies offer 6 to 8 :) Oh, did I mention legal week duration is 35 hours ? Unfortunately salaries are somewhat lower but you can't get everything.
In the United States, it is not uncommon for a software developer to move from job to job every two-to-three years. Many companies use accrued vacation seniority as an incentive for staying with a company (since company pensions are largely replaced by individual 401(k) plans) and will not negotiate on vacation time for new hires. While an employee who has been with a company for more than 10 years may enjoy as much as 5 weeks of vacation, it is not unusual for a new employee to have to make do with two weeks of vacation annually. Some people never get beyond that miserly allowance if they move around a lot between jobs, and some employers also won't let a new employee use vacation for the first three or six months, until they are 'vested'.
The new job law in France (and the law's apparent demise) have been much in the news lately -- the whole thing is a little foreign (pun intended) to those of us used to an 'at-will' employment model. How do people more established in their careers in France view this law, that would have allowed employers to 'try before they buy' prospective younger employees?
It seems to me, sitting here (fairly ignorantly) in the US, that the 'entitlement mentality' evidenced by the protests and demonstrations against what seems to be a reasonable law will end up being very destructive to job growth. Won't many companies simply relocate to find a more flexible workforce (perhaps with a lower price tag), leaving the youth of France with even fewer jobs? Am I missing something in this equation?
How do people more established in their careers in France view this law, that would have allowed employers to 'try before they buy' prospective younger employees?
General consensus is that the law wasn't good. This law was tailored for so called "MacJobs" (low wage, hard jobs) and didn't pleased that much employers. As an employer, I wouldn't want to hire some youngsters (engineers, programmers), train them for some months, and see them go away as soon as they're beginning to get efficient and productive (because the law of course allowed the employer to fire anyone anytime, but it also allowed the employees to leave whenever they want).
It seems to me, sitting here (fairly ignorantly) in the US, that the 'entitlement mentality' evidenced by the protests and demonstrations against what appears to be a reasonable law will end up being very destructive to job growth.
Well, actually nobody really knows if protective work laws drag down job growth or not. There are no clear evidence in worldwide statistics that it really matters at all. For instance Canada had low protection and high unemployment, while Sweden had high protection and no unemployment.
Won't many companies simply relocate to find a more flexible workforce (perhaps with a lower price tag), leaving the youth of France with even fewer jobs? Am I missing something in this equation?
You can't relocate much services, anyway. Chinese can't ship your pizza in time, or clean your office at night :o) I actually believe this law would augment unemployment, here's why : right now, Pizza Hut, McDonalds and friends employ only part time employees. Why? Because this way, they are sure to keep their employees young, docile, and the turnover very high (because nobody but students or youngsters living at dad and mom's can live on a part-time minimum wage). This is the way they compensate for the job-protective laws : people will quit anyway, soon. But in case they could employ people full-time, then maybe they'd simply fire half their workforce, making unemployment actually higher than it is already.
Thanks for this thoughtful response -- I appreciate getting more context to understand this problem.
Here in the US we also have trouble with employers who avoid protections by hiring only part time employees. When I took a year off from college to earn some tuition money, I worked for a major supermarket where they hired three of us for a two-person job to ensure that we wouldn't get enough hours to qualify for benefits. It seemed pretty mean-spirited and weaselly to me, although I'm sure they could argue that 'market pressures' drove them to such 'strategic' employment practices. I left that job after six weeks with no regrets.
For instance Canada had low protection and high unemployment, while Sweden had high protection and no unemployment.Uh, Sweden hasn't had "no" unemployment in nearly two decades. It certainly ended with the economic crisis of the early 90s.
It's fairly difficult to fire people without cause though. I think that's a pretty good thing, because it paves the way for a less strict and hierarchical organizational culture. This in turn leads to more personal initiatives, more outspoken employees, etc. when people feel secure in their work environment.
/J
It looks like Google is one company for whom the dot-com bubble never burst. Unfortunately, they're in a pretty unusual situation. What works for them is not necessary going to work for most companies. Just because we're all IT folks doesn't mean we work for Sili Valley start-ups. (And just because we all program in Perl doesn't mean we're IT folks. And just because we're reading this doesn't mean we're Perl programmers. ;-)
Google has a business model for web services that works. That's great. Most companies aren't web services companies, and of those that are, most don't have Google's business model. In short, the economics and market forces are not comparable to Google's. Company profiles are very different. Some companies are huge, multinational. So with regard to
All hiring at the company level, not the project level.
some folks (like me) are going to find it risible.
No offense, but I also find this ridiculous:
That formula only works by a very careful definition of "right". The "right" people are the ones who already perfectly understand the problem space and all the applicable technologies (or can learn them in time to get started on the project with plenty of time left to complete it on schedule). If we were not talking about this in the context of hiring, I'd grant that "right" people are grown in house. For example: management. Is the "right" manager someone you should expect to have to hire, or is it someone who has come up through the ranks of your organization and understands it inside and out? Your IT business is no different. In short: retaining is an antecedent to having the "right people". Of course, you could say that the right people to hire are the ones who will be the right people to have in ten years' time. Like I said, it's all in how you define "right".
- Get the right people.
- Make them happy so they don't want to leave.
- Turn them loose.
Under Team Harmony...
One of my jobs was a two person security team at a bank. 5 days / week suit and tie was the dress code. We both were slim, and needed to wear suspenders (a belt would not work well -- so much for the security "belt and suspenders" :). No-one else in the division did, so it became a team identity. After the team expanded a little bit, the new team members even adopted the suspenders :).
--MidLifeXis
Cheers - L~R
I once worked on a mainframe project that had a tight deadline and required a lot of late-night work. This was before 'casual day' became popular and we all wore suits and ties. Whenever we would stay late, we would take off our ties and wear them as headbands, turning up the local Oldies station on the radio and doing the Limbo with a piece of masking tape between cubicles. We called ourselves COBOL Ninja Warriors -- upper management learned to avoid our area after 5pm.
Very simple, really.
--
Ytrew
They give me money. In exchange, I do what I'm told.Very simple, until they tell you to build a system that does X, and you do, but they didn't tell you about features X1, X2, and X3, and you point this out and they say "but any idiot would have known those features are necessary", and you say "but it isn't in the spec I wrote and you approved", and they say "yes it is, it's right here in the bit that says '...all necessary functions...'". So you beg some more time to get it right, and this time you give them a daily build to ensure implementation details are clear, and all goes well until your contract is terminated for reasons only known to those resident in the adminisphere.
perlmonks.org content © perlmonks.org and adrianh, Anonymous Monk, apotheon, bsb, ciderpunx, dragonchild, EdwardG, eyepopslikeamosquito, freddo411, jdporter, jplindstrom, Limbic~Region, Marza, merlyn, MidLifeXis, ptum, QM, SamCG, wazoox, zentara
prlmnks.org © 2006 edmund von der burg (eccles & toad)
v 0.03