Building a Good Engineering Team In a Competitive Market
Nerval's Lobster writes It's a pretty good market out there for tech professionals, at least on a statistical level. That can make it difficult for companies (both large ones and startups) to find good talent for their developer and engineering ranks. According to Ron Pragides, who rode the wave of IPOs at Salesforce and Twitter before joining Bigcommerce, the trick to hiring good tech people isn't necessarily a matter of offering the best perks, or the most money, or even an office with all sorts of fun stuff (although those can help). Instead, it's often a matter of selling them on a vision of the company's future. "It is about presenting the opportunity and the potential of what it could be if we have the right attitude, the right focus, the right work ethic," he said in an interview, "It's about making people feel like this is your company and making them understand they are going to help the culture and will have a big direction in how the office develops. I tell them, 'This is your company, this is your startup.'" But even that might not be enough in places like Silicon Valley, where lots of companies offer that "vision thing." So what does it take to pull in good people to work on your projects? Or does it really just come down to money in the end?
> This is your company, this is your startup
Really? So I've got a 10% equity stake?
Didnt think so.
There's no formula that works for everyone. Some people want cash. Some (especially those with dependents) want benefits. Some want guarantees that respect their free-time during the workweek. Some want vacation.
What it comes down to is either treating people well so they want to stay, or paying them so well that they stay even if they're unhappy. Trouble with the latter is that they don't necessarily do any better work, even if they're trying, because unhappiness can hurt productivity.
If you want to build a core that works well together, don't let problems fester, don't let middle-management screw things up, and do what you can to make the employees content and motivated toward the goal. So, pretty much read Dilbert and don't do whatever Scott Adams has illustrated.
Do not look into laser with remaining eye.
Show me the money.
Then you'd better offer a lot of free Mountain Dew and Nerf toys.
A LOT.
I did some consulting at one of those "We want to be in the top 50 places to work" companies. Lots of silly office perks. But the employee parking lot behind the building was full of shitty cars. That said a lot right there.
Which does not work if the talent ever gets the impression they have been misled.
If you over work them, if you treat them with anything less than humanity and respect for their goals and life, if you use the s**t rolls down hill business model or you promise them the moon and they never move up or your idea of motivating employees is holding the constant threat of firing over their head. You will fail. Period.
You have a choice as a leader either learn from this or become another social dynamics statistic.
I have seen this business model many times before and am not impressed. Show some respect and don't promise anything you are not 110% prepared to deliver on.
I manage a technical team in a medium sized corporation (~3000 employees). Our primary offerings are SaaS based applications and we are on board with all of the buzzword trends from the last few years; virtualization, cloud, flash storage, blah blah blah. Our environment is fairly small with 60 UCS servers at two sites (full SRDF/A replication between them) running ~1500 VMs.
One of my guys is an engineering rock star. He can pick up any language given a week or two to sit down with it. On top of that he is an excellent systems administrator, DBA, networking guy and project manager. Retention is a constant challenge because there are very few engineers who excel in so many different areas.
The technologies that we are working with are widely deployed. We could be implementing them somewhere else and making the same money. At a high level, we are just infrastructure plumbers. We could care less about the applications. Our purpose is to make sure that they are stable and that they perform well. With my particular employee, he keeps coming to work because we give him the opportunity to work with the latest technologies and the ability to leverage them to make his, and everyone else's, lives easier.
The two things that keep this team together are money, and the leeway to continually improve things. We have had a lot of territorial disputes with various teams over their inability to effectively manage infrastructure at scale. In many ways, they are scared of losing their jobs and are resistant to adopting better ways of doing things. We win those battles one at a time, but continually fighting them gets lame.
In that regard, I think that the author of the article is on point with the observation that good engineers need to believe that they are involved in setting the direction of how the office, and most importantly, operations, will develop. There are too many companies who need good engineers, and not enough good engineers to go around. Therefore good engineers will choose to work for companies where they can do things "the right way". Life is too short to put up with organizations who are slow to adopt new technologies and better ways of doing things.
As already noted in the comments, "this is your startup" doesn't mean much if I don't have a meaningful equity stake, but that's only one part of the equation. At least in my social circle, the most competent tech people are wanting to work for companies that are actually changing the world, and if your company isn't doing that, then the only thing it has to offer is money. If it's actually doing something interesting that affects the world at large, you'll have a better chance of attracting my interest even if the pay is likely to be lower.
If all you have is money and Wednesday beer nights and a pool table in the office or whatever, that's great, but that mostly just translates to "trying to keep you at the office as much as possible" usually, so that sort of cultural stuff is less interesting.
Personally, I'd rather work at a $40k/year job where I feel like I'm contributing to making the world a better place than a $100k/year job where I'm just enriching the company owner in exchange for all of my free time, but obviously different people will have different ways of calculating what's worthwhile to them. Also, obviously, family and location play into it - the "best pay" may not be in the most family-friendly markets, and you could easily make yourself unattractive to highly-skilled engineers with families no matter what your pay is like if your company is located somewhere with crazy real estate prices.
picpix image polls. create - share - vote. fun!
Real jobs offer a real salary range. If you want good people, you want people who don't waste applying for jobs that might only pay $30k when their skills are worth $60-$90k elsewhere. Real, good jobs provide a direct contact number or email. Don't rely on an anonymous Craigslist relay or skip your company name. I'd take a chance on bobs burger house having a legit software job than some bs posting with no identifiable data on CL or dice. I call at your designated hour, we confirm salary and experience, have a two minute pre interview and decide if we want to meet. If you like, I will even curse to give you an HR out for compliance on the call if it saves me a trip to a bogus interview.
Can you describe an ideal engineering recruit?
There is no ideal, but there are great traits such as intelligent, communicative, can work in a team, not afraid of hard problems, curious, passionate, and wants to make a difference. An engineer who is not impressive is someone who is just in it for a paycheck.
Translation: "We want a kid whole will work his ass off for shit pay and an extremely small chance of getting a nice nest egg with stock options."
When I grew up, I realized that what I want is not to be bored and a fat paycheck. They might think their business and software idea is gonna make the world a better place but is usually just more bullshit like Twitter, facebook or some other thing that lowers people's quality of life.
My passions are my family and I am making a real difference by contributing to my community and doing my best to raise well adjusted kids.
Developing for some dipshit service that in the grand scheme of things offers no value to society means nothing to me.
Bigcommerce? snore.
Decent pay and pay-rises. Sensible hours. Reasonable benefits. Extra pay/time in lieu for overtime. Honest managers. If the work is interesting, so much the better.
It's not rocket science, but in 30 years I've yet to find a company that has all the above.
This sig left unintentionally blank.
People generally want to work at a company that does interesting things and lets them use their talents in ways they find rewarding; but they also expect to be rewarded for their work. Too often the "vision thing" is corp speak for "We want someone who will give his life to us at below market rates..."
I'm a consultant - I convert gibberish into cash-flow.
Is to offer good pay and equity stake in the outcome of your idea.
Other than that, think about what you are asking of an engineer.
1. Sign up to work on YOUR idea.
2. Sign up to work long hours with little time off to meet your schedule.
3. Sign up to work for low and non-advancing wages, at least until the idea pays off, if it ever does.
4. Sign up with a company with an obviously shaky future where they can get canned at a moment's notice when you run out of money..
You might find the risk taking young engineer willing to buy into this kind of thing, but to find the experience and skills you really need to make things work, you are going to need some seasoned help. It's the seasoned help that will be the hardest to sell and thus the hardest to find and pay, but you only need a few of those. After that it's the young smart bucks for no bucks you need...
My suggestion is to be ready to pay handsomely for the seasoned engineers and sell them on the idea first. Guarantee their employment up front by contract for the expected development time. Then let them plan the project and hire the young bucks for you. If you can offer stock options or equity stakes great, but if your investors won't let you, pay what you can. Then treat your employees like family and hope you finish before the money runs out.
"File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
"It's a pretty good market out there for tech professionals,"
Yes, for the market for those willing to take salary cuts in competition from outsourced jobs, monopolies, and salary price fixing.
I have been working in a great environment for two years. Of course a reasonable salary is important. But I always tell candidates there are two questions I would always like to ask if I were being interviewed:
1 Is there a lot of unpaid overtime ?
2 Does the management and team have a reasonable level of interpersonal skills ? (if you've been at this a while you know how important it ends up being)
So I tell them we have little OT, and an unusually high level of people skills and cooperation, base on my career experience. There is a lot more to think about than money,
Every color ( except white )! Every gender ( except male )!
At least, that's the message I get from various media and state organizations.
Mod me down with all of your hatred and your journey towards the dark side will be complete!
Not sure if it's something that we're doing wrong but our funded startup is having a very difficult time finding software engineers with a few years of experience. We've worked with a handful of staffing agencies and most people we've interviewed were very bad. Granted I'm in an area with a very competitive market.
You should hire lots of talented foreign workers at lower wages than domestic workers make using short term visas. Then, you can argue that the workers that you've spent the last year training have skills that no domestic workers have and use this to justify permanent work status (green cards). This will take 3-5 years to process, so you will benefit from the cheaper wages for a good amount of time before they are able to jump ship. Finally, rest assured that most big tech companies engage in this practice, so you are very unlikely to be prosecuted for immigration fraud :-)
I'm currently working for much less money than I might work elsewhere. I'm here partly because the people above me and around me pretty much stay out of the way and let me get the job done. They don't micromanage or have me spend my day filling out TPS reports.
I figure if you want to keep good people, and have them refer friends, watch Office Space and pretty much do the opposite of whatever Lumbergh does.
Specifically, remember people are ends, never just means. The purpose of the company is to serve the people involved - customers, employees, and owners. If you're seeing your customers as solely a means to an end, you're doing it wrong. If you're treating your employees as solely a means to some end, you're doing it wrong. If you see your boss or owners as just a means to get what you want, you're doing it wrong. We get together as an organization in order to benefit all concerned, that is the purpose.
Only someone who has already made his millions can believe that the primary motivator for employees could be the future of the company. Unless you actually give me some equity, helping to build a company is only a mildly motivating potential resume booster. Yes, I want my work to be challenging and meaningful, but at the end of the day the real reason I show up every day is because you compensate me for my efforts. If I didn't need money I might as well go to the golf course instead of the office. Compensation in terms of salary, bonuses and benefits, paired with the opportunity for promotions and career development, is vastly more important when I decide who to work for.
I get it that some executives would like to believe that it can all be replaced by sweet words, but wake up and smell the checkbook. In this market people stay because you make them feel well compensated, otherwise they will be out the door the next time a recruiter calls with an opportunity.
I'm currently a non-conventional (aka old) senior at one of the "top 10" engineering schools and I've thought about this a lot. Personally, I'm amazed by the business culture today. We let executives fire tens of thousands of people with a flippant "it's just business" or standby and watch our employers lobby to bring in more H1B's, knowing the whole time that their main motivation for doing so is to drive down our wages, or watch our company .
What I would love to see, where I would love to work, is a place that doesn't act like that. Where the guys at the top of the ladder wouldn't push any of us down the stairs to pile another dump truck load of money on their already unspendable fortune. A company committed to hiring the best people in order to make the best product. No MBA cut corners with a say in product development, and no IPO to avoid wall-street taking over the place and turning it into a run of the mill, employee hating shithole. A place where employees are encouraged to excellence by sharing in the profits the company makes, and significantly so.
If there's a stable paycheck, people will believe in whatever you want. Nobody has the luxury of cherry picking or wandering from job to job; if you find a job that will keep you, stay there. It's either that, or the unemployment line.
My beard is getting grey, so here comes a rant. I've changed job every 4 years (average) because the wonderful companies I go to always find themselves in a downturn. All, without exception.
I am sick and tired of this "we can't hire good people" nonsense.
Here's why you can't hire good people.
You say you want the best, yet don't put out informative job ads. You talk PHB-drivel in them. When you get a good candidate, who is intelligent, diligent and technically proficient, you can't see it for reasons of nebulous pointy-haired prejudice. Most of the time you don't get them through the door because your job ads are stupid anyway...
We can spot buzzword BS a mile off. Drop it. We don't believe the crap about how well the company is doing and how wonderful the products are when we are given a tour and see three obviously over-worked, burnt out engineers trying to do a $20M project due yesterday while answering support calls and producing useless charts for the pHBs.
We can spot cruel and unusual interview techniques a mile off and politely decline your offers, since we'd rather not work with a bunch of sadists.
Training? Progression? Plans for the year after next? Oh, you only have one idea, and this is it?
You have high staff turn-over? Why do you have so few people? Why the empty desks with junk on them and name badges still up?
Keeping costs under control, you say? How many jobs was that this year? Oh, but the profit and share price keeps going up? So why did these people leave again? Why do you have so many short-term contractors?
You obviously have no plans longer that the end of the next quarter, so why should I go through all the hassle of joining the company, with all the added inconvenience and insecurity that implies, learning all your corporate procedures, suffering your induction training, being brainwashed etc. to have to go through it all again in 18 months when I'm burnt out.
Oh, talking of which, no one here only does their contracted hours. We all realise we have to pull our weight to get things done. So no family life, no time to recuperate and no time for self-training (because you sure as hell don't pay for that on company time)... No life, health sacrificed for the VPs' bonuses and the investors' returns.
So, you'd better just hire a dozen border-line starving Indians.
I'd sooner throw myself under a train... Or your BMW 7-series.
There is really no way you're going to get the people you want based on perks, salary, benefits, and the like.
However: virtually every company has some insufferable ***holes on staff, either in engineering, or management, or both. If you're lucky, you get to meet one during your interview process, and strike that company from your list. In other cases you think you're golden - only to meet the offending employee(s) during your first week or two. Then you have to restart the whole job search thing once again.
I'm not saying that everyone needs to be perfect. Everyone is a jerk once in a while; but the fewer loud, arrogant, sexist/homophobic/prejudiced/intolerant people on staff, the happer everyone will be. If I'm going to spend 10 hours a day with people, then they should be people I'd choose to hang out with anyway, not people I'd avoid.
Yes, I'm going to leave my six-figure salary job to come work at your company for less pay, longer hours so I can be part of your vision. Hahahahahahahaha!
I can't quickly find it, but years ago I read a nice 1 page column that summed up how ot motivate your employees well.
1) Give employees the tools to do their jobs well (don't make us fight over licenses, etc).
2) Give clear goals and direction (know what you want before unleashing the whole team on it).
3) Get out of their way (keep the meetings and paperwork truly to a minimum).
All else seems to be window dressing.
You want to keep employees, and keep them in a happy state? It's simple. Stop the idiot HR people from acting like they hate the employees. Stupid-ass rules and policies won't make anyone want to stay, and will guarantee turnover. Making sure the crew thinks you actually want them three months after you've hired them (and fun-and-games on their time don't count) will do the trick.
Either pay a market salary or offer real stock (not options (== lottery tickets that could cost me $$$ to even take a chance on them) that will not be diluted to hell. Don't want to? others will. There goes your great engineer.
-------
1. Enjoy your job
2. Make lots of money
3. Work within the law
Choose any two.
Anything else is just whining about how you're entitled to an exception to basic economic laws of supply and demand.
There's a lot of good advice here, if you can't figure out what the good stuff is, smeg off.
But one piece they missed: No Rockstars. Experience is great, senior and architect level great. But if you see someone who comes across as a Rockstar, dump them. They may seem great to start with, but they will burn you in the long run.
That can make it difficult for companies (both large ones and startups) to find good talent for their developer and engineering ranks.
Violate a good number of this, and you will have a revolving door of top talent in no time. Companies sacrificed the meaning of loyalty a long time ago, and they expect us foot soldiers to show loyalties when are now nothing more than commodities. Fuck you. We are mercenaries now.
This might be the time too sit down with HR and go over the rejected resumes. Like the ones from highly qualified individuals that happen to be over 50. and or caught by one of the outsourcing things. or the ones from the folks working on C# when you need C++ or something similar. They act like they want someone who will be there for 20 years. We all know the odds of being outsourced/acquired/right sized in the next 5 years are good.
So why discard the older folks.
Rod
What are you hiring? Are you hiring a resume or are you hiring a person? In order to get a good team, you need to start with good people and let them carefully add who they think will mesh with the team. This usually results in long term team stability since the team gets along with each other and works well together. If you have a good team core in place and try to force the rockstar that HR found onto the team or alternately the low waged, inexperienced H1-B without input it could end badly. This could result in team dissatisfaction and abandonment.
What is a good team?
A good team eats lunch together, more often than not.
A good team protects each other and shoulders the work load together.
A good team plays together, voluntarily, not the BS team building stuff the companies artificially put together.
A good team builds bonds which leads to everyone be honest and open about problems, skillets, and new ideas.
Not every person on a good team has to be a rockstar but a team should have base talent, be willing to learn, and of course be willing to be part of the team.
A team is like a little family you spend 8-10 hours a day with.
And... it is nice to say thank you to your TEAM. TEAM = Together Everyone Achieves Money
Good luck building your TEAM.
I asked one of them last year what was their pitch to you (they have been wanting to recruit me too but I have no interest, am quite happy where I am now). He said it was basically he was handed a piece of paper and said "write down how much you want".
I know folks there that make easily $40-50k more than their previous positions so don't tell me it isn't about money (for me it is not because I am not career focused right now).
Maybe it has changed in the past few months but that is how big commerce was when they first launched their office in the bay area.
posting as AC since I've never had a slashdot account, and on average I post less than once every 2 years.
It sounds like a no brainer but so often companies don't support or put any effort into preparing the people who will be doing the interviewing. The end result is often that without any guidance is that the person doing the interview will ask the person questions about the job that they are doing, not the job they are interviewing for. The prospective PM or Scrum Master gets asked to step up to the board and write code because they are being interviewed by a hardcore dev who can't seem to understand that a different job requires different skills.
Most managers suffer from the Dunning Kruger effect.
http://en.wikipedia.org/wiki/Dunning–Kruger_effect
and to quote the story that inspired the original insight in the study, Most managers I have encountered might as well be saying "But I wore the Juice!"
They wouldn't know talent if it cured their type 2 diabetes induced obesity, erectile disfunction and male pattern baldness.
I found myself happiest in places where I was trusted to go off and make things happen. Examples:
* A P-card, even if it was a small limited one, to spend however I thought would give the company the most bang for the buck. Maybe we just need a special cable to get a demo project working. Maybe I save it up for a second monitor. Maybe the group just needs to chill out together over a beer at the end of the day. We can deal with full transparency and expense reports, just don't make us go through a months-long procurement cycle for silly stuff that will make our lives better.
* Business travel perks - some of the larger companies I worked for had pretty nice deals worked out with airlines and hotels and rental car agencies. I kinda miss some of those loyalty perks more than I thought I would. Transit passes are also a nice one, and a big tax-deductible perk as well.
* Control over some of my own time. Maybe call them "hack days" or whatever Google's 20% time used to be back in the day, but give your workers their own small budget of time to work on whatever they see fit to fix. Whether they invest it in new R&D or tackling old tech debt that's been nagging them, they probably know better than any of the project managers where their time would be best spent to give them more free time and capabilities in the future.
* Pet projects: in a similar vein, some of my best managers would kinda create projects that... didn't exactly make business sense, but would be nice engineering challenges to offer our engineers to allow them to take ownership of a relatively unimportant component that would nevertheless challenge them to use parts of their engineering education that would otherwise not get engaged. Examples might be a little custom button box interface for an HMI engineer, or a custom sensor for an electrical engineer... things that would be almost trivial to adapt an existing COTS part for or just outsource and bill the customer. But these give a nice, polished, customized touch to the delivered product that the engineer actually had a deeper hand in designing, implementing, and showing off.
* Access to good office administrators. Haven't really had one to take care of the many administrative hassles until recently. They are a big help! Unfortunately the larger companies had spent so much money building "self-service" web-based junk that they were continually changing (and retraining for), that we were always wasting lots of high cost engineering hours taking care of expense reports and office supplies and maintenance when a well-connected office administrator at half the pay could deftly take care of that stuff for us and shield the engineers from a lot of the frustrations.
* Mentoring opportunities: I'm not going to say that you'll get more work out of interns than you put in to training them (and fixing some of the jobs that you inadequately trained them to tackle :P ). But nothing really forces you to know your job well than teaching someone else to do it. And it does foster a certain amount of pride in your work at your workplace, if only because you're constantly reintroducing your people as "this is my co-worker X, and they're good at Y; and if you need something done with Z, go seek person DD". It's important to occasionally acknowledge what your working group is good and functional at, because if you only complain about everything, then what are you doing surrounding yourself with incompetents?
* Personal development plans: (not to be confused with the performance review for business objectives) ... this includes continuous education and training (hey, more things with favorable tax incentives!), professional certifications, attendance/presentations at conferences and trade shows, and other forward-looking goals. It does mean much to me that my managers take an interest in developing my long-range plan, with both serious and somewhat entertaining pursuits, and what they can do with their network to provide opp
If you do, you do not really understand or care about your developers and unless you can tempt them with FU money, they aren't going to want to work there.
The key to building a good engineering team is knowing how to run a business. Decent pay is important, but that's a function of knowing what you need to build, what kind of capital you need to build it, and how to run the team that's going to build it.
There's a lot of interesting people with interesting ideas out there; but they are such horrible businesspeople that it doesn't matter how much I love what they want me to work on. If they can't figure out how run a f**king business; it's all going to fall apart, no matter how hard I work.
I love my job; but the main reason why my job still exists is that my company's founder knew a thing or two about running a business, and made sure that I ended up with a reasonable wage.
No, I will not work for your startup
That and nobody wants to work for snot nosed punks who think they will take over the world by reinventing the wheel
money. more than anyone else is offering, plus at least 10%. sure you might be able to pick up someone on the cheap, but once they know how under paid they are (and they will find out), they'll be out the door. if you can't pony up the cash, equity needs to be on the table. environment is important too. needs to be comfortable and accommodating. quiet spaces, collaborative spaces, open spaces. perks. snacks, free lunches onsite, occasional splurges offsite. company picks up the tab. free coffee, energy drinks, etc. pretend to care about people. appreciation goes a long way.
Scott
Structure your organisation with Right/Centre/Left branches for sales/admin/production and you can fit the right personality types in and then they all get their different achievements. Look at Left-Right-Center at http://vulpeculox.net/treems/i...
Sure a lot of other things are important, but saying there's a shortage is just admitting you're not paying what the job's worth. If a good CEO is worth $1M, then a superb and highly productive engineer is certainly worth that. But you won't be finding many engineers paid better than "well".
If you're looking for individuals with superhero skills, then maybe you're looking for a single person when you should give up and hire several, each with superb skills in a certain area. After all, if a leader is worth the pay, they should be able to get the individuals to function as a team.
Another option is to try to identify those with potential and train them, then do whatever it takes to keep them. Again, pay well and offer those less tangible benefits. Not being willing to train people is just admitting that you don't expect to need them for the long term or don't plan to pay them enough later to stay.
If someone is instrumental to a law practice, they get a partnership. Why shouldn't the same model apply to other endeavors where people are required to be highly competent and creative in their endeavors towards increasing the outcome of a business. The 9-to-5 model is a remnant of the age where people worked on assembly lines and performed repetitive tasks. If you want individuals whose work is non-repetitive and requires half-a-lifetime of dedication to master, why should they settle for anything less than a partnership?
Any guest worker system is indistinguishable from indentured servitude.