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.
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.
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!
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.
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'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.
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.
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.
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.
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.
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