In early December, Rocketplace’s very own VP of Engineering Justice Gray sat down with VanHack CEO Ilya Brotzky for a virtual fireside chat on the topic of the Canadian tech market.
People from all around the world — from Columbia to Israel to Nigeria — tuned in for the conversation, which centered on eng hiring broadly.
The full conversation is now on Youtube and it’s a really interesting watch. Low on time? We’ve bulleted out some of the key takeaways for you below.
🚀 FAST FACTS: Rocketplace’s VP of Engineering Justice Gray
- Lives in: Vancouver, Canada (or “the greatest country in the world”)
- Mother tongue: .NET
- Favorite server-side language: Tie between Ruby on Rails & Python
- Career path: Coder >> Team Lead >> Founder >> VP Eng
- If he wasn’t programming, he’d be: A doctor, maybe! Justice was within an inch of studying medicine at university when his dad gave him the advice to keep on coding instead.
+ Languages +
Justice and Ilya talked a lot about programming languages over the course of their chat. Here are a few of the key takeaways.
You don’t have to know every programming language.
Not knowing a certain programming language shouldn’t make you ineligible for a job. Programming languages are tools. A seasoned software engineer who understands fundamental concepts like unit testing or the proper way to do object-oriented vs. function-oriented programming will be able to adapt to a new language if needed.
SOUND BYTE: “I will talk to people who have had a high impact but who might not have all the coding tools or languages we need. You can teach people how to code in other languages but you can’t teach them how to take initiative.”
But you should know the big ones.
Engineers applying to senior roles should know how to code in both server-side and client-side languages. Justice’s recommendations are:
- Server-side: Python (or similar dynamic language like Ruby) or C# (or equivalent static language, like Java)
- Rocketplace’s core languages: They’re React & Python (Django). In fact, one of Rocketplace’s most recent hires hadn’t used Python very much when she was brought onto the team — but that didn’t stand in the way of her getting hired.
SOUND BYTE: “She told us honestly that she hadn’t used Python a lot, but she’d take the initiative to learn some at her current job. When we gave her a small technical assignment she did amazingly. That was enough. For us, understanding the fundamentals is more important than knowing a language by heart.”
Impact > languages.
You should absolutely list the languages you can code in on your CV. But if it’s not an endless-scroll, that’s ok. When reviewing candidates, Justice tends to bias for impact.
SOUND BYTE: “What I want to see, particularly for more senior roles, is what you’ve actually performed, not just what your responsibilities looked like. Maybe it’s that you stepped into a leadership role or that your project brought in a certain amount of revenue. If you have expertise in other areas that also helps. It shows that you have empathy for the other parts of the business.”
+ Initiative +
Rocketplace recently hired a new engineer. According to Justice, finding that person meant screening out more than 80 (!) applicants.
Here’s what Justice looks for:
- Leadership. This doesn’t always mean taking on the management of a team or leading on a project; sometimes it may be you taking ownership over something at the company that had none, or pulling people together in another way. You don’t require a title to be a leader in some way at your place of work.
- Impact. Explaining how a product you created made a real impact for the company. As in: “I implemented a tool that did X, which did Y & Z for the business.”
- Cross-functional work. Can you work with non-engineering teams? This is especially important for leadership roles and with smaller, early-stage startups where every team member has an outsize impact.
- Non-technical competencies. Do you know how to design? A bit about operations? Maybe you’re interested in content? Having skills beyond engineering makes you a higher-impact team member, and an easier sell when it comes time to interview with stakeholders outside of the engineering team.
- Interest in other sides of the business. Whether you plan to manage people or stay an individual contributor, understanding the various sides of the business will become crucial to growing as an engineer.
SOUND BYTE: “Find the people in your org who run the other divisions and get lunch with them. Ask them about what they do. I always used to ask: ‘What’s the most influential book you’ve read about your field?’ People are busy, but if you ask the right way, they’ll be only too happy to let you pick their brain.”
+ Remote Work +
The way we work has changed a lot in the past ten months. Justice, who spent more than a decade working remotely, explained what the shift to remote work has meant for companies like Rocketplace.
- Eng teams are generally more prepared for the transition. In tech it’s not unusual to have a partially or fully distributed engineering workforce and for this reason many tech teams are finding the transition comparably easy without losing productivity.
- Despite VISA jams, companies are hiring. Not all tech companies are pausing their hiring during this period; if anything many of them have now broadening their hiring borders past their home city (or even home country).
- Self-direction matters more than ever. One of the top qualities Justice biases for in job applicants — and something he sees a lot with international candidates — is a sense of self-direction. This is especially important for distributed teams.
+ Interviews +
Justice and Ilya talked about everything from interview stages to career development and more. Here are the high-level points, boiled down.
The hiring process.
At Rocketplace, it looks a little like this:
CV Screening > The “Psychopath Check” > Informal Conversation #1 > Informal Conversation #2 > The Take Home Test > The Take Home Test Debrief > Get to Know the Company > Final Discussion
Let’s break that down a little.
Step 1: Once screened, applicants are invited to a very informal call with Justice, the so-called “Psychopath Check.” If that goes well (applicant ≠ psychopath) they’re invited back for a longer conversation.
Steps 2 & 3: This is where the applicant learns about Rocketplace, it’s goals and values, and where Justice gets a feel for whether the applicant is a fit for the role or the team’s philosophy and culture. This is also where an applicant would be asked about their career goals. If that goes well, the candidate is then invited to do it all over again with the CTO.
Steps 4 & 5: Next is the take home test (according to Justice, it’s pretty straightforward) and a follow-up discussion with Justice and team.
Step 6: If the applicant makes it past the take home test, they’re invited to meet the other key stakeholders at the company, including the CEO and Head of Product. These are brief and informal check-ins, nothing technical.
Step 7: The final step is a philosophical discussion with the engineering team. Questions might include: How do you want to make an impact? What are your goals? What’s your ideal work situation? How do you want to be managed? Where do you see yourself in 10 years?
SOUND BYTE: “I give applicants a one pager about me and how I manage. Otherwise, it can be so one-sided. Details about company culture and values can seem really foofy but they’re not. Those things are important, and you want to be aligned.”
Some things to look out for along the way.
- The company you’re interviewing with doesn’t talk about their values. If it’s important to them, and it should be, they should bring it up.
- The company you’re interviewing with doesn’t ask you about your professional goals or work preferences. This is a two-way street, companies you’re interviewing with should be clear about the kinds of career development opportunities they are (or aren’t) prepared to offer you.
- The company isn’t willing to talk about their financial situation or burn rate. They should be honest about their funding situation and what kind of runway they have — and you should ask.
For hiring managers:
- Code for a take home test is an applicant’s chance to show what you’ve got, so put your best foot forward. Over his time spent hiring, Justice has seen tech submissions of all standards, ranging from the excellent to the person who throws code into a Word document of all things (Justice noted that he checked to see if this code compiled…it did not).
- The applicant gets combative while discussing their take home test. Conversations about code and best practices are the job. You have to be able to talk about your work.
- The applicant doesn’t ask about the growth plan for their role. When an applicant asks, it’s generally a sign that they are self-directed and prepared to take initiative.
- The applicant doesn’t seem excited about the company’s goals or products. Your interviewer can sense this — trust us.
On this point, Justice and Ilya were in complete agreement. You DO NOT need a computer science degree to work as a software engineer. If anything, experience is worth more, especially as you move forward in your career.
What makes good code?
While there’s a lot that goes into this, Justice’s 45 second summary was that it should be tight and readable at a glance. Unit testing should accompany the code and it should adhere to the programming language’s best practices. As Justice and Vinod both like to say at Rocketplace, code isn’t written for computers as much as it is written for human.
When reviewed, your code should be clean and succinct, and where it’s not, you should explain why.
Perfect English isn’t necessary for the job of being a programmer. If that’s an issue with a company you’re interviewing with, that’s a sign about that company and what they value.
SOUND BYTE: “If you can get a point across in a cogent way, you’re good.”
After the interview.
Thank you notes are always great. But if you didn’t show real enthusiasm for the role in the interview process, odds are a thank you note won’t change things. If you lose out on a role because you didn’t send a thank you letter, you didn’t lose out on a role worth having.
Questions? Comments? Thoughts? Let us know in the comments.