Lessons from a software engineering back-end recruitment “speed dating” style event in San Francisco
I feel that each company had their own take on the ideal path that could lead to getting hired at their company. If there was one major take away from the evening, I would say that the Silicon Valley/ Bay Area startup space seems to emphasize prior experience for their back end positions. If you are at a loss for how to get that initial experience, the advice that I heard more than once last night was to perhaps approach a larger tech company for an internship or apprenticeship.
Don’t be discouraged though! Speaking from my own experience, and that of many of my colleagues, it is possible to get hired with a startup immediately after graduating from a boot camp, as I did in 2014.
I’m not certain what keyword searches my various online engineering activities overlapped with, but this was the second time that I had been offered a free ticket to the HackerX recruiting event.
I didn’t attend the first time because I was not seeking additional employment, and also nearly declined on the event again until I read that they welcomed passive job seekers. Although I’m currently very happy with my engineering balance of teaching, mentoring, personal projects and study, I felt it would be valuable to learn more about the types of roles the industry is currently hiring for.
After some brief presentations by the sponsoring companies, the “speed dating” portion of the evening began. As I was next in line to begin my first 5- minute interview, I realized the absurdity of the situation and quickly scrambled to figure out what would make the evening both entertaining and informative. I thought about my students and wondered what I could bring back to my students and mentees that could be useful. Out of my brain came the following question which I proceeded to ask for the remainder of the evening:
“[…quick personal introduction]. If you could reverse engineer the ideal employee for the positions you are hiring for, what skills and experience would you guide that candidate to gather right from the start of their learning path? Both soft and hard skills.”
Here’s a summary of what I learned, organized by the companies that I spoke to. Many of the companies also shared their opinions about boot camp graduates, as I had introduced myself as a technical mentor/teaching assistant for current boot camp students.
- Most useful skill prior to applying: learn how to architect for distributed computing. The main question somebody should keep in mind while learning that skill is: “Can it scale? To millions?” Learn how to make applications that are simple and fast.
- The “unicorn” that this person was looking for would be an expert in databases who can also solve problems on a software and hardware level. Someone who can handle when stuff goes wrong. Also looking to hire someone who can remove busywork. Someone who is able to automate repetitive tasks.
- Looking for people with experience in building resilient applications. Can the systems handle failure?
- Most important soft skills: collaboration. This is useful in the industry in general. Can you comment effectively on others’ work? Conversely can you receive feedback gracefully?
- Most useful soft skill: the ability to defend your design. If you can’t clearly and logically describe your design from start to end, it probably won’t work.
- Values candidates having diverse skills backgrounds, which is often the case of boot camp graduates since they come from a variety of not-necessarily-technical backgrounds. They find that fresh perspective is even more useful than someone coming in with a CS college degree.
- Encourages generalists to apply, yet also wants to see evidence of depth. this could be as simple as being clear about what part of the stack you enjoy working on.
- In order to practice the skills that could be useful for a backend position with this company, building APIs would be good preparation as it provides a good balance of difficulty, yet allows for quick iterative development. Wants to see engineers that can produce results relatively quickly.
- Learn about professional engineering teams and how scrum works. They felt that many junior candidates without experience in engineering teams didn’t know how to leverage stand up as a chance to expose blockers and work as a team.
- Ideal prior experience: working with startups.
- Useful hard skills: learn the popular frameworks/structures that are actively being developed in your major tech market, if any. For example: here in the Bay Area, they lean heavily on the Facebook React ecosystem.
- A startup often doesn’t have time to reinvent the wheel, so they seek to find engineers that are skilled in the locally developed popular frameworks and libraries.
- They mentioned another example that if you were in Seattle, learn to lean heavily on AWS infrastructure.
- Framework/library recommendations: React/Rails.
- Feelings about boot camp students: they have breath but no depth, yet.
- Recommended intermediary step prior to applying to this company: learn hard skills including deploying database frameworks such as GraphQL
- Useful hard skills: mobile and full stack. Using Objective-C/swift for iOS. Using all Java for android, moving toward Kotlin next.
- Seeking applicants with full stack experience including high-level skills in Ruby on Rails and React.
- Soft skills: strong and cross collaborative. Ability to move fast. Ability to ship, even if fixes are required later. Not looking for super meticulous coders who unnecessarily delay pushing to production.
- Recommended intermediary step prior to applying to this company: they have had excellent applicants who had spent some time working or interning at Netflix.
- According to their Engineering101 document that they handed out, they value: People looking to make a quick impact / Elegant solutions that allow us to learn as a company / Paying off technical debt / People who can thrive in ambiguity / A drive to design and build solutions to meet customer needs / Cleaner implementations focusing on team efficiency, future speed, future capabilities, or scalability
- Recommendations to all applicants: understand a company and its culture first.
- How they vet their engineers: initial skills match → technical interview → company culture fit interview
- Soft skills: ability to learn new skills and be a good team player.
- Hard skills: considered very unimportant due to the number of different projects that they provide engineering services for.
- Hard skills: full stack. Knowing React is good, but they also want backend applicants that are skilled with Python/Ruby.
- Thoughts about boot camp grads: 60% of boot camp grads aren’t strong beyond the latest front end libraries such as React.
- Recommended intermediary step prior to replying to this company: internship experience. They mentioned some companies that offer internships or apprenticeship such as dropbox, lyft, or google. Go to a big company and spend some time developing your skills because training is not available at a small startup such as this one.
- Recommended amount of industry experience prior to applying here: 1 year
- Recommended portfolio items: evidence of shipping code. Boot camp projects might be impressive, but don’t show evidence of shipping production code.
- Interview skills: data structures/algorithms/big O notation.
- Thoughts about boot camp graduates: they may be up-to-date with the latest tech, but this may not be so important. They want applicants who have experience with architecture and business logic.
- Learn the tools that can allow a startup to remain small and lean as long as possible, such as learning faas (function as a service) such as aws lambda.
- Learn how to avoid putting bottlenecks into servers, such as offloading static assets.
- What are some other factors that make a great candidate for them: applicants that write technical blog posts on medium and actively contribute to open source.