What should companies look for in their first tech hires?
The first tech hire should really be yourself. You don't need to become the best engineer or be on track to CTO, but to be able to prototype your idea, spot new opportunities years before they're featured on Techcrunch and work alongside other engineers is a huge asset.
If you already have these skills, look for 3 things in your next hire:
William Sentance - CEO and Cofounder at Codesmith
A product engineer - someone who cares about the solution that the product is providing - has the creativity, sensitivity, and empathy. Many software engineers now worked in non-technical fields before and have this capacity.
- 90th percentile in engineering problem-solving ability (even if they're not an expert in your particular domain).
- An excellent communicator - someone who can talk through their code clearly and who is a good partner and team member.
What three books would you recommend to people to fine-tune their startup skills?
I mostly read blog posts from startup founders or team members. My favorite resource on team culture is Buffer's Open blog - I've learned from many of their approaches. For growth, Growth Hackers is like a Hacker news for growth ideas which I often turn to. And for the tech and startup market in general, Paul Graham and Benedict Evans (at A16Z) are excellent. With any writing, it's important to identify what's specific to their experience and what applies to your company.
What are the benefits of outsourced versus in-house tech talent?
In-house talent is almost always preferable to outsourced, although there are exceptions. If your offering requires significant non-technical infrastructure (for example, Rent the Runway) and is quickly enormously valuable for customer, the tech might be outsourced and you can still be very successful.
But if you have the ability in-house to create, fix and iterate on your core tech platform without the organizational overhead of outsourcing, it's only going to help you achieve product-market fit sooner and more effectively.
Codesmith is an awesome idea, but why an immersion program rather than digital/remote program?
It's been incredible seeing the impact of the program on students. We had Codesmith Hiring Day last week where Disney, ESPN, Ticketmaster, Whisper and 25 or so companies come to Codesmith HQ to see the grads present and meet for one-on-one interviews - and the first $100k job offer came in 2 days later!
Part of what makes that possible is that companies love that the graduates are not only technical experts but thoughtful and empathetic communicators and problem-solvers. In-person 'pair-programming' is a huge part of growing the grads as excellent communicators.
Students spend over 400+ hours pair-programming - a way of programming that requires you to explain to your partner how to solve the problem “The best way to learn is to teach”. If you have ever had to talk through a financial model you know how demanding it is but how it tests the true
extent of your understanding. It is also tiring so having a group that is tight-knit and incredibly emotionally supportive is vital.
This is hard to achieve without being together in person and becoming a tight-knit group of friends pushing each other through the tough challenges. When it's possible to achieve that online, we will certainly consider it.
How does a tech company ensure that it gets the best tech talent?
The best way to attract talented people - those who have the biggest impact on the company - is to immerse the company in the engineering community and have software engineering and its mentality of creative problem-solving at the heart of the company's ethos.
You want someone who cares about the product, is a creative problem-solver, a supportive team-member and has technical experience (ideally in your domain)
Ideally, the founding team will be the early-stage tech talent but after you expand, the best tech talent is drawn from a larger pool. To do so, you should have a strong and clear vision for the product, the problem it is solving and the way the work of the team directly contributes to solving that problem. You will attract people who care about that problem and product as a result
Reaching these people requires immersing yourself in the tech community - Host engineering meetups, speak at engineering meetups. Be open to new technologies and encourage your engineering team to continue to grow and learn. Reach out to the top coding bootcamps or academies to try to attract their graduates.
You can apply to attend Codesmith's Hiring Event by emailing firstname.lastname@example.org.
What should companies do to retain top tech talent
The best engineers want work that is challenging and impactful. Challenging in that it requires creative problem-solving (these are often new problems or require new solutions) and impactful in that it directly supports the company's core goals (goals they care about).
It's impossible for work to be both challenging and impactful all the time, but you can do things to help.
- Avoid work that is neither impactful nor challenging - that doesn't make sense (although there's a lot of it done)
- Where work is impactful but less creative (a lot of maintaining existing systems and some bug fixing), make sure team members understand the company's goals and how their work contributes directly to them
- Give team members the chance to do challenging work even if it's sometimes not directly impacting the company's goals with fulfilling side projects - hackathons or open source projects.
It's easiest to see how if your company's work involves groundbreaking technology engineers' work can feel impactful. But you can stretch engineers technically even in more traditional domains like e-commerce. Dollar Shave Club
, an e-commerce company in LA that sells shaving kits, does remarkable engineering work to increase the company and product efficiency - optimizing page load times and using machine learning to improve customer support.
Where is software engineering heading? What will be the trends for 2016?
First, software engineering teams are set to diversify. The top coding academies are producing a new type of engineer - one that has potentially explored other career paths before focusing on software engineering. This is creating teams with diverse ideas and from diverse backgrounds. Graduates of elite coding academies are going to find themselves heading teams at some of the largest technology companies including Google, Uber and Facebook. This will further continue this shift.
Second, companies that would previously not be considered tech companies will increasingly employ software engineers in leadership positions. I expect to see a class of leader at major financial and media companies begin to emerge who have backgrounds as software engineers and who, just like the CEOs of the top tech companies, may not have seriously coded in years, but deeply understand and relate to the software engineer mindset. In industries where this doesn't happen, expect to see new players emerge and bypass the established companies.
What will Codesmith look like in 2020?
As 'software eats the world' more companies will either adapt to the role software engineering plays at their core or they'll be overtaken. Industries that are currently relatively untouched - finance, consulting, classic post-MBA domains, by 2020, will likely be much more software engineering dominated.
I want Codesmith to train this generation of leaders - who are immersed in the engineering community as members, not just 'able to speak to devs', and who fuse a product-oriented problem-solving mentality with a deep understanding of software. This is what creates truly remarkable companies like Amazon, Google and Uber.