This is a list of great questions to ask at a job interview. This is not my list. It was taken from DevIceMan on Reddit and replicated here for posterity.
- Name – (Write it down!)
- Your role? Which office do you work at?
- Time with company?
- Years in existence?
- Core Product(s) & Core Software Product(s)? Who uses the software?
- Total employees? Total technical staff? Tech-staff breakdown (dev,qa,ops,etc)
- Business model? Customers? Clients? Specialties?
- Location – Commute, Stuff nearby
- Environment – Cleanliness, Comfort, See where Engineers sit, Desk Size / Monitors / Standing desks, Nearby Sales teams, Breakout rooms, Personalization (desk toys or pictures?), spacious vs sardines, kitchen area
- Seating – Open office, cubicles, shared office, private? Spacious vs sardines?
- Equipment – Monitors? Keyboard/Mouse? Desk? Standing Desk? Anything expensable?
- Other – Dress code? Parking cost?
- Me – “Tell me, do I want to work here?” “Why?” “Why might I not want to work here?”
- Motivation – What do you find motivational about working for [company]?
- Trap – “What do you find the most challenging or frustrating working at at [company]?”
- Hours – Average # of hours YOU work? Any after-hours or weekends?
- Office Hours – What are typically required office hours? WFH/remote?
- Crunch-Time – How often is crunch time? What causes it?
- Other – Travel? On-Call? Remote teams (late/early meetings)?
- Development Process – Step me through your development process, from a ticket/task, to code on production.
- Design, Planning, Coding, Code Reviews, QA, CI, Testing, Deployment, GIT?
- Management / Agile style?
- Meetings – What meetings? Time in meetings? Estimates? Client/Customer? Scrum meetings? Retrospectives?
- Work Examples – Examples of tasks YOU (interviewer) recently worked on, or currently working on?
- Needs – What need(s) are you trying to fulfill with your open position(s)?
- Daily – What kind of tasks/work should i expect daily? Any non-specialty or non-dev tasks (i.e. SysOps work?)
- Tech Stack – FE, BE, Deployment, 3rd party Integrations, Libraries, Languages, Architecture.
- Team Breakdown – PM, QA, DevOps, FE, BE, SQL, etc.
- Tech Debt – % time for tech-debt, refactoring, readability, automation, or improving the code base.
- Experimental – % experimenting with libraries / languages / techniques?
Deadlines & Tasks
- Task Source – Who decides what gets worked on? Where do features/tasks come from?
- Influence – How much influence do engineers have over features/tasks? % of tasks driven by Engineering team?
- Autonomy – How autonomous do you feel in your daily work? Why?
- Deadline Source – Who creates deadlines? Where do they come from?
- Deadline Pressure – How much deadline pressure is there?
- Software Licenses? – IntelliJ / etc.
- Learning Resources?
- Provided food/snacks/drinks?
- Any office perks?
- Motivation – How are engineers supported in their continual professional development?
- Resource – Can any professional development resources be expensed, such as books, training materials, classes, or conferences?
- Mentorship – Does your company specifically practice mentoring? What does that usually look like?
- Events – Internal classes/presentations? Hackathon week?
- How strict are times employees are required on site?
- Work from home?
- Dress code?
- Health Insurance?
- Company Activities?
- What can be expensed? Learning resources?
- Raises? Promotions?
- Steps required between now & actual employment – or anything that may prevent employment after an offer? Drug tests, references, security clearance, other paperwork.
- Copy of employment contract / Agreements. IP Assignment clause & non-compete.
Michael is a polyglot software engineer, committed to reducing complexity in systems and making them more predictable. Working with a variety of languages and tools, he shares his technical expertise to audiences all around the world at user groups and conferences. You can follow @mheap on Twitter