37 Things you should ask to your next employer if you’re a developer
Please remember that there is no Silver bullet in software development, and it all depends. That shiny new programming language might be the best option from your point of view(and it might be the case), however all decisions are made within a context of scarce resources and priorities.
Also keep in mind that you don’t need to ask all these question directly but rather find a way to have the answers. Those answers will directly affect the quality of your employment and enjoyment.
Learning / Self improvement
- May I have a budget for books/conferences ?
- Would you like to host any technical meetups ?
- Do you have any company courses ?
- What frequency do you do company activities ?
- Do you donate to the languages or open-source projects do you use and depend on heavily ?
Hackathons
- Do you do company wide hackathons?
- At what frequency do you do them ?
- How many days do you spend on a hackathon?
- How many of those projects go into production ?
Hardware
- May I have dual monitors or a singe large screen ?
- May I have a proper keyboard & mouse ?
Deployment/Systems
- How frequently do you push code to production ?
- How many source code repositories do you have ?
- Who is responsible for the deployments ?
- Who is responsible for the production system ?
- Is there an on-call duty engineer ?
- Do you pay extra for the on-call week ? ( or extra vacation days )
- What caused you to receive a call at after 8 pm about the system ?
- Which systems do mostly fail ?
- Who does the application support ?
- Can you do one-click deploys?
- Does your web-app auto-scaled ?
- Do you roll out the features slowly ?
Events — Logs
- Do you have an event-pipeline?
- Where do you store your events ?
- Where do you store your logs ?
DB
- How frequently do you take backups ?
- Which DB do you use ?
- Do you have replicas/slaves ?
- Do you shard your main database ?
- Do you do sharding on code level or DB level ?
- Why did you choose X over Y ( Please don’t replace Y with a cool NoSQL db if X != NoSQL )
- Do you have a data warehouse ?
Infrastructure
- Do you have dedicated hardware or using Cloud Providers?
- Are you using Ansible/Puppet/Chef/Terraform to manage your servers ?
- Do you use containers to manage development environments ?
- Have you looked into/investigated Serverless Architecture ?
Web
- What’s your P95 latency ?
- What’s your P95 Page Load Time ?
Architecture
- Do you have a monolithic application ?
- What is the most problematic piece of your architecture ?
- What would be the first part that you will change ?
- How does the background jobs work ?
- What task management system do you use?
Methodology
- You’re doing Agile, right ?!
- How long is your sprints ?
- Do you do retrospectives ?
Team
- Do you have a team structure in your development organization ?
- How many Data Engineers do you have ? Planning to have one ?
- Do you have remote workers ?
- Do you have remote teams ?
- Do you have WFH days ? (work from home)
- Do you do team building events ?
Coding
- What’s the main programming language ?
- Are developers allowed to pick other programming languages ?
- Do you have selenium tests to validate your product functionality ?
- Do you have a PR policy ?
- When do you plan to migrate to Python 3.X ? (Whatever the language is)
- When do you plan to migrate Postgres 10.X ? ( Whatever the DB is)
- Do you have an ongoing technical debt list ?
- What percentage of their time do developers tackle the technical debt ?
Users
- What’s your DAU / MAU ?
- What’s your LTV ?
- What’s your Conversation Rate on X ?
- How much do you spend on Google Adwords ?
- What’s your main visitor channel?
A/B Testing
- How many A/B tests are you running right now?
- How long do you run an A/B at least ?
- Do you have an in-house A/B testing or 3rd party tool ?
- How do you evaluate those A/B Testing results ?
Testing
- How much of a test coverage does your codebase have ?
- Do you refactor your testing suite ?
Monitoring / Alerting
- Do you use DataDog / Graphite ?
- Do you use any Uptime Services ?
- Pagerduty ?
- How do you make sure your business engine working ?
Reporting
- What reporting tool do you use ?
- Can anybody access any information ?
What questions would you ask?
Thanks for reading this far. Let me know what you think. You should also follow me on twitter.com