Templates For In-Office and Remote Interviews
Let's face it, interviews are stressful. Every company has its own way of determining whether or not you're going to be a good fit for their organization. The secret sauce is in their bag of questions.
Below is an article originally written by Kahne Raja, Lead Engineer at PowerToFly Partner Stash, and published on March 26, 2018. Go to Stash's page on PowerToFly to see their open positions and learn more.
- Cracking the Coding Interview by Gayle Laakmann McDowell
- Clean Code: A Handbook of Agile Software Craftsmanship by Uncle Bob
- Extreme Programming Explained by Kent Beck
- Stash Invest Careers. Join us!
If you love clean code and you want to help disrupt the fintech industry, then look no further!
Recently, we here at Stash have upped our recruitment game. Over the past few months, I've seen the company double with an outstanding crew of new engineers who truly care about what they do and how they do it. We are dealing with scale issues on all fronts and we need your help!
The mission at Stash is clear. Build financial systems that work for everyone — not just the wealthy.
It's a big challenge and we have a long way to go. A big part of that is growing the team with the right people.
As an engineer at Stash myself, I regularly host technical interviews. Here are some of my notes on what it takes to pass our first stage code pairing challenge.
Back to basics.
Interview preparation takes weeks… even months. Do it in batches and do it well. Enjoy the nostalgia. Enjoy the beauty of math.
Your regular tech work life patterns and practices are important but quite often they are not so helpful when doing interviews. Here are some ideas to help you prepare for the engineering interview at Stash:
- Read Cracking the Coding Interview by Gayle Laakmann McDowell.
- Read Extreme Programming Explained by Kent Beck.
- Watch as much Uncle Bob talking about SOLID principles as possible.
- Ask a friend to test you at a whiteboard over lunch.
- Choose a language and get comfortable with it (without an IDE).
Our first line of code.
When I sit down with you to pair online @coderpad, this is what I am looking for:
- A focus on data structures and algorithms.
- At least one passing unit test.
- A simplification of complex ideas.
I want you to start by slicing off a single conditional in two to three lines of code. Something we can compile, run, test, and discuss.
Example challenge: Leap Year.
Problem statement: write a function that returns true or false depending on whether its input integer is a leap year or not.
If we can get to this place within a few minutes, that is a great start! We should then be able to complete a number of variations within 10 to 20 lines of code.
Try to avoid spending too much time on the following:
- Web app / CRUD design patterns like Controllers and Repositories.
- Database structures and persistence strategies.
- Language comparisons and platform specific features.
After each interview, I assess candidates on the following metrics. Ability to think on your feet, communication, critical thinking, creative problem-solving, debugging, speed, management of competing priorities, organizational skills, and test driven.
Following this initial online code pairing session, you'll be invited in for a half day session with a number of colleagues.
At Stash, extreme programming and solid principles are at the heart of what we do. We move fast and embrace change.
Please don't hesitate to hit me up on twitter — @kahneraja. I'm always happy to help a candidate get ready for an awesome new career at Stash.
Below is an article originally written by Sarah Gray, Engineering Manager and Software Engineer, at PowerToFly Partner PromptWorks, and published on March 10, 2017. Go to PromptWorks' page on PowerToFly to see their open positions and learn more.
As the spring semester winds down, I've been getting meeting requests from soon-to-be grads to discuss how to get that all-important first programming job. I find myself giving the same advice over and over … which means it's probably time for a blog post. So, these are my inside tips on how to have an advantage when trying to land your first full-time gig.
Background: Why is it so Hard to Hire a Junior Programmer?
Most employers will want to spend significant time on-boarding and mentoring junior devs before considering them independent contributors. Though junior developers are needed and employers want to provide a strong foundation, that ramp up time is expensive.
It's easier to invest in a junior candidate if they demonstrate that the on-boarding period is money well spent. Dedicated, curious juniors are priceless. As bootcamps continue to saturate the market for junior developers, junior candidates of all stripes are wise to differentiate themselves. Here are some tips on how to have an edge.
N.B.: You don't have to follow all of these suggestions. Acting on a smattering of these tips will help you stand out during the job search.
Be a Known Quantity
It's easier to know that a junior is a good investment if you see them participating in the local dev community. That participation hints at a deep desire to learn and grow. And, as a job seeker, I find personal connections to be the most effective way to look and apply for gigs.
- Go to Meetups that you are genuinely interested in. Ask questions, meet people.
- Participate in your local dev slack team. Ask questions, meet people :)
- Develop some sort of public, professional presence. Think twitter, stackoverflow, or linkedIn.
- Blog about what you are reading, your projects, and your experiences. Long format communication really helps the reader understand your thought process. Show off your problem-solving mindset and demonstrate grit.
- Consider getting a mentor in your local dev community. Mentors can be a welcome touchstone as you suss out development opportunities and begin your career.
Develop a Resources List
Many employers will want to know how you stay on top of industry developments or may ask you about current events in the tech world during the interview. It's good to be informed. And, in the long run, it's advantageous to be aware of changes within the fast-paced software industry.
Take some time on a regular basis to brush up on events in the field. Here are some of my favorite resources:
- Hacker News
- Joel on Software
- Software Lead Weekly
- The 'weekly' digest from your language of choice
- Follow the blogs and twitter feeds of developers you admire
Have a Low Signal to Noise Ratio in Your Resume
Sigh. This is the crummy part where I tell you to edit away things you toiled over and care about. The point of your resume is to make a strong case for yourself, knowing that a reviewer will spend 30 - 60 seconds reading your CV. Your related skills and experience should shine, but that means being a merciless editor and focusing your resume content.
- The usual resume advice applies. Typos, poor organization, and space filler will dilute the impact of relevant information.
- Make it easy to scan your resume for technical skills and how you met challenges. Use action words like "optimized", "researched", and "implemented." Back action words up with quantitative evidence if you have it, eg., "optimized our data compression algorithm, increasing our Weissman score from 2.8 to 5.2."
- If you have deployed code and you can show it off, make it easy for your reader to access it. Github and Heroku links are great. Make sure that your code is well groomed and has a thoughtful README.
- Note all of the professional development stuff you are doing like attending Meetups, blogging, etc.
- Briefly cite unrelated prior experience when it demonstrates consistent employment or increasing responsibility.
- Only keep fluff sections, like hobbies and volunteer experience, if they relate professionally. For example, note your passion for Ultimate Frisbee if you are applying at Wham-O, nix it for all other jobs.
- Keep the objective section if there is a compelling reason for it, like if it's the only way to marry some other area of experience with your development experience – and that combination directly relates to your job search.
Further Resume Reading:
Oh hey, you made it to the end of the article! Well, since you are still here, let me tell you about our job openings. We love Philadelphia and are committed to making it a great place to be a developer – we hope you'll consider working with us.