Most great companies attract people because they have a great mission which is marketed well. Say you have a great commercial startup idea but not a great marketable vision (Think of a B2B software that'd help people with xyz), how do you convince good people to join you? You can't say - "This is the greatest thing the world has ever seen". Is it only money then?
Having had an unsexy startup, all of the above helped to attract good talent. As developers ourselves, we were attracted to an environment like the one you describe and so we created a company that we would want to work in. We had no turnover for several years as a result.
Even if it’s a mundane problem, if your product solves a valuable need for an underserved market you shouldn’t have problems making a market rate hire. There are plenty of people who would be happy to work on a good opportunity while enjoying the freedoms of a small company. Substance is more attractive than marketable hype any day.
Just pay more. Developers care a lot less than you think about what it is they're building. I mean sure, we'd all like to build something cool. But not if it means leaving money on the table.
If you can’t sell the vision to a prospective employee you’ll fail to sell to clients. Not being a dick to you, just I have seen this before. Doesn’t make you bad just a good gut/reality check to help you adjust as needed.
The pitch is very similar between the two. You are selling the employee on the same base values you sell a client on.
Show why the client wins and how your solution will address the pain. Highlight the challenges because even in mundane problems there are always challenges. Engineers sometimes fail to see the challenges of why a problem would be fun to tackle so that is the one area you have to help highlight.
I do agree that the less interesting and challenging the problem then you do have to compensate in other ways to attract talent. But also be honest you don’t always need high end engineers to solve simple problems. So hire what you need and don’t fall victim to hiring the wrong type of person for the type of work you need done.
Let everyone architect but only after they've completed some challenging but reasonable tasks. For example:
- passes multiple choice test about how current code works
- has a professional knowledge of the language they are using (part 2 of the test)
- has read and done a book report on 2-3 design-pattern/architecture books.
Once you do all that you go in the queue. New developers have precedence over seasoned developers. When a new project comes up the developer who gets that greenfield is the first developer in that queue who hasn't had a chance to architect yet.
The main idea is that good developers don't want to be assembly line workers and yet a total lack of autonomy seems to be the norm for (I think) most software developers. So the ability to make technical decisions is a real benefit IMO.
Some other things that might be advantages:
- you now have a team of experts. Good job.
- you can avoid senior devs possessing all of the knowledge of the companies software (because only that select few got to design anything) and then not having an incentive to improve.
- Creating a genuine interest in new code (because you want to see how the new guy did it).
"Everyone is an architect" should be your tag line.
Although this may attract developers initially which is the original question, this seems like an ineffective strategy for a business. In The Mythical Man Month, the author argues that one of the most important things in software architecture is conceptual integrity. Having many different architects cycle through seems like a great way to end up with too many different ideas in your systems and a poor conceptual integrity.
Maybe this could work for a short time at a startup, but I'd be curious to know your thoughts in response.
That's a good point. I left out a concept of constraints. For example, it has to be written in the same language as our other applications. But if it's not different enough from an existing application just copy the existing application and don't call it a greenfield.
Or let someone burn their turn by copying the existing application but making minor tweaks and changes. That could work just as well.
You've no doubt heard the story of the two brick layers.* One sees himself as "building a wall." The other sees himself as "building a cathedral."
You should hash it out with someone and figure out how to explain why it matters. No one thinks Burger King is "solving world hunger" but the reality is that ubiquitous cheap eateries are, in fact, part of why there is no widespread, devastating starvation in the US.
I really like a couple of scenes from The Devil Wears Prada" when Andy is given a big picture overview of why both fashion generally and this fashion magazine in particular matter.
You need to work on your visioning statement or elevator speech or similar. If you are providing a service and doing it well, it's possible to get excited about it. You may need a little help with figuring out how to communicate it, but it can be done.
If it's also "boring" insofar as being reliable, steady and well-paid work, there are lots of people who will see that as a huge draw. Not everyone ascribes to the philosophy that "It's better to burn out than to fade away." Some people like a lack of drama in their lives.
Besides what others people have mentioned - flexibility, growth, and learning. Do people have autonomy? Is there sane work life balance? Good engineering practices (including good code review and reasonable prioritizing of technical debt)? Good overall company dynamic and practices (sane, including clients not overly dictating internal company operations, internal teams working well together, collaborative / non-competitive people who are trying to accomplish some shared goals)? Stability (high-value customers, lots of them, and/or lots of money raised)? Little politics? Unique technical issues (huge scale, real time, etc)? Are people heard / is their feedback taken into account?
Those who claim that their product is the greatest thing since sliced bread (which ironically itself wasn't the "greatest thing since sliced bread" at first) sometimes might be delusional or even just lying.
I'd take an honest product that provably helps people over a mere pipe dream any day. That's not to say that a visionary product doesn't have appeal or can't be truly world-changing but chances are that you'll make a far greater impact in changing the world by taking small, incremental steps.
You don't. It works only after you get enough funding to afford them. Initially you just stay focused on getting simple things done. And done well. That attracts better people through your satisfied customers and investors.
Companies should never advertise unlimited time off. This is a myth. There's always a limit, and what this does is just impose extra stress when trying to guess what it is.
Yeah, it depends on the maturity of the team and requires a lot of trust. Obviously, you can't take off half the year.
4 day workweeks mean about 52 extra days off, and yet not everyone wants a 3 day weekend. I'd enjoy some 3 day weekends, but too much will be stressful when dealing with the bottomless amount of things to do at a startup.
You can straight up say every year has 66 day PTO, but that means that people will feel guilty about not using it. But maybe this approach is the best.
an employer happily offering 3 or 4 day workweeks is viewed as a huge perk by some employees (especially some of those with young children) vs other employers that will never consider it
Hmm, I'm not sure that's universally true or even true for a majority. Though I might just be in a bubble.
I care deeply about what a job would be asking me to build and I will absolutely leave money on the table if the product is immoral (for example gambling, ad tech, software for ICE, most arms manufacturers, most energy companies).
Work is unfortunately about 33% of your time on earth and it matters what you do with it, some people are mercenary and only care about money and that's their lookout but your statement reads as a consensus when I don't think it is. If it was no one would work for charities or public schools or public healthcare bodies.
In answer to the OP as long as the work isn't actively harmful then it's about quality of Life (and yes, money). No silly 40 hour plus weeks, etc.
I've found that is not true... I've been able to recruit amazing people for less pay in exchange for working with great people, working on hard problem, and creating an environment that is not stressful, if flexible, and generally makes their life easier.
Why are you doing it if you’re not excited about it? Why are you excited about it if not the “vision?” Sometimes just the money is good enough. (And being realistic about this is way better than claiming to save the world with your b2b widget.)
Sell the developer on the chance for career growth as the company grows.
Sell the developer on the fast paced environment without all the meetings and bureaucracy of larger companies.
Sell the developer on the chance to work broadly across many projects and not be stuck doing the same specialism all the time.
Sell the developer on being a big fish in a small pond and not just another numbered resource.
Your selling the culture and environment.