This questionnaire covers a wide range of topics an interviewee should understand about a company before moving forward in the hiring process. While the answers to some of these questions may fall under NDA, any answers a company can make public should be made public to lessen the need to answer them repeatedly on a per-candidate basis.
- Questions
- 1. Technical
- 1.1 Describe the deployment process for the primary application
- 1.2 Describe the process for deploying security patches / OS updates
- 1.3 Describe the development environment
- 1.4 Describe the test environment
- 1.5 Roughly what percentage of code is in what language?
- 1.6 Any near-term future plans to dramatically change programming languages?
- 1.7 Describe an outage, the RCA and AAR, and any followup.
- 1.8 On-call and number of incidents / outages
- 1.9 Operational pain points
- 1.10 Roadmap
- 2. Managerial
- 3. Employee Compensation / Quality of Life / Benefits
- 4. About the company
- 1. Technical
One of the best indicators of the day to day quality of life for a technical employee can be reflected in the deployment process of a company's software. A great low friction deployment process requires a lot of tooling and thought. Describe the process of deployment for the primary application from developer commit to production.
Fill me out
- Mandatory code reviews (no unreviewed code gets deployed).
- End to end fully automated. Humans only commit. Software does the rest.
- Fully automated test suite.
- 100% test coverage.
- Fully automated production deployments.
- Canary deployments.
- Staggered deployments: 0.1%,1%,10%,20%,50%,75%,100% (vs all or nothing)
- Simian army -esque testing in production.
Similar to the above, please describe the process for patching security vulnerabilities and deploying software updates in the environment, if applicable.
Fill me out
- Fully automated. We patch as soon as upstream releases updated software and the patch has gone through automated testing.
Describe the development environment? How closely does it resemble the production environment? How long does it take to set up? What OS is it based on? How flexible is it with respect to allowing me to use whatever tools I want to use that will make me the most productive (ex. the dev environment is CentOS 6 but I want the latest version of emacs)?
Fill me out
Similar to 1.3, if applicable.
Fill me out
Are you mostly a Python shop with some Java? Explain.
Fill me out
Related to 1.5, are you having any scaling pains or accumulation of technical debt that's becoming burdensome? Any plans for a rewrite into another language?
Fill me out
This question seeks to understand the more operational aspects of your infrastructure. Outages happen to everyone. We want to understand what if any monitoring is in place. If someone is getting paged, who is it? What, if any warnings were there prior to catastrophe? Were there backups (if applicable)? What was the followup? Was automation put in place to ensure the situation could not happen again? Describe the AAR, if applicable. Do you practice Blameless PostMortems?
Fill me out
What does the on-call rotation look like? Who carries the pager for how long? For the average on-call shift, how often should someone expect to get paged? Is there a separate operations group that solely carries the pager or is the burden also shared by the development team? If developers are exempt from on-call, is there any plan to incorporate them into the rotation?
Fill me out
What are the biggest operational pain points?
Fill me out
What does the product roadmap look like? How is the backlog prioritized: new features vs bug fixes? Roughly what percentage of time is spent developing new features vs fixing bugs?
Fill me out
How is employee productivity measured? What does success look like for a given position?
Fill me out
How often and by whom are employee reviews conducted? What methodologies if any are used for the review process? Do skip level employee 1-on-1s occur?
Fill me out
How flexible are employee office hours with respect to start/stop/lunch times? Does the company allow telecommuting? How frequently? Are there core hours?
Fill me out
Do employees get regularly occurring raises? What criteria is used to determine the amount of the raise. Are there yearly cost of living adjustments? Is this rolled into the raise or on top of it?
Fill me out
Are employees granted equity or profit sharing? If equity, in what form? If as stock/options: how many shares are outstanding, what is the strike price?
Fill me out
Describe employee health coverage. What providers are available? When do health benefits kick in? Does your company provide on site or subsidize anything with respect to employee health (gym membership, etc).
Fill me out
Do you provide a 401k? Is there contribution match? What is the match?
Fill me out
Where will I work and what equipment will be provided: computer, desk, chair, etc? What is the floor plan: open, cubicles, offices? Are the desks height adjustable for sit/stand? Are the chairs modern and ergonomic?
Fill me out
Describe the vacation policy: unlimited, X hours, X mandatory hours?
Fill me out
Let's pretend I want to purchase a $50 book. What do I need to do do in order to get that approved? What does the expense process look like? How long will I generally spend filling out that single-item expense report?
Fill me out
Are there any questions you wish you had asked prior to accepting your job offer?
Fill me out
How do you reward tenure?
Fill me out
How transparent is the company internally? Are financials freely shared with respect (but not limited) to: revenue, profit, employee and executive compensation?
Fill me out
At the current burn rate how long until the company must secure additional funding?
Fill me out
What companies are the main competition for the market space you're in? Why work for you instead of them?
Fill me out
Related to 4.3, what is the company strategy to succeed?
Fill me out