An open source list of developer questions to ask prospective employers
6,906
76 commits
updated Aug 28, 2022
InterviewThis is an open source list of developer questions to ask prospective employers during the hiring process. I created this list because, frankly, the existing lists that I saw on this topic really sucked. Many of the starting questions came about from years of hiring into jobs only to find out about some lousy attribute of the company which, had I known about, I probably wouldn't have accepted. Since I began this list I've received many additional contributions from other developers.
This is not a checklist, this is not a shopping list. If you send this entire list to an employer, they probably won't be calling you back. This list is intended to serve as a reference point for things to be aware of during your interview process. Not all of these questions will be relevant to every person or position, you should choose the ones that are relevant to you and what you are interviewing for. It's OK for there to be questions on this list that you personally do not care about.
The questions on this list are not all appropriate for the initial interview, many could not even be answered by the HR person likely to conduct an initial interview. This list is intended to be a comprehensive collection of things a developer may want to know about a company before they accept an offer.
Use your discretion when choosing what questions to ask and when to ask them.
Pull requests and Issues are very welcomed and encouraged, but please don't get offended if I reject your question or do not merge your question verbatim. I may ask that you reword it to be clearer, or may even rewrite it myself.
Why are you hiring for this position?
What would my role at the company be?
How long am I expected to remain in this position?
What will be my day to day responsibilities?
What programming languages will I be expected to work in?
Do you have a target salary range?
How is your team structured?
Are teams seated together?
Do teams have isolated areas from the rest of the staff / other teams?
How frequently do team members find themselves in meetings?
Do your developers pair program on a regular basis?
Do your developers use screen sharing or collaborative coding tools?
What is your (or my future boss') leadership style?
Do you follow an agile methodology for project management (Kanban, scrum, etc)
How do you assign work?
How do you estimate work?
Single product, or will I be regularly working on different projects?
How frequently does your company/team start a new project?
What are your group's best and worst working relationships with other groups in the company?
How frequently does your team interact with other teams?
Do you find yourself frequently blocked by dependencies from other teams?
What hours does the team work?
What source control do you use? Can you explain why you chose it?
Are your repos hosted in-house or on a third-party service?
What is your workflow currently, with regards to developers pushing changes.
Are you using a ticket system or is it more play it by ear?
Who determines the features that would go into the product? How are these chosen?
How do you track development time?
Do you have a code review process?
Does your team encourage the use of SOLID and DRY design principles to avoid cyclomatic complexity?
Do you have established code style rules?
What are your development environments like?
Will I be provided with a new laptop?
(Author Note: These are basically more direct versions of the Joel Test "best tools" question.)
What is your release schedule like?
Will I communicate directly with clients on a regular basis, or does this typically happen through an intermediary?
What can I expect to see in terms of project specifications and/or mock-ups prior to beginning a new project?
How is QA/testing done?
Who designs the User Interface?
Are there compliance requirements in the company like CMM or SOC?
Do you have an SLA (Service Level Agreement)?
How satisfied are your engineers with their current toolset? If they had to replace one tool, which would it be and what would they replace it with?
Do you have any application-level logging? If so, how are logs accessed?
Do you use any monitoring software? (Nagios, Icinga, Zabbix, etc.)
Do you regularly record and review application performance metrics? How are performance optimizations prioritized with respect to other types of tasks?
How does it inform staff of error conditions? (PagerDuty, Email, SMS, big monitors in each teams room, etc.)
Is there a permanent on-call duty for each IT team?
Is there a permanent "control center" that keeps track of events and informs the responsible on-call duty?
Is there an escalation process if someone cannot be reached?
Do the developers also have an on-call duty?
Does time working on incidents/problems after-hours, when on on-call duty, count as overtime?
Are employees expected to be doing after-hours work while waiting on-call?
What timezone/hours does the company work in?
Will the company pay for home office equipment such as electronics or furniture?
Do you have a team chat setup such as Slack or Jabber? Do your developers actively use it, is it their primary communication channel?
Do your developers use video chat software such as Skype or Google Hangouts?
If a portion of the team works in-office, do you have a dedicated computer to be used for video chat with remote employees?
Will I have to work over a VPN?
How frequently will I be expected to visit the office?
Will my visits and travel costs be reimbursed, or covered outright by the company?
How flexible are my hours? Can I take time off during the day if needed and make up for it in the evenings?
Do you use open source libraries?
Does your company release open source code?
Does your company contribute to (or encourage their developers to contribute to) open source libraries?
What is the company policy with regards to me releasing open source code (personal projects)?
How old is your codebase?
Do you have an automated test suite?
Do you regularly correct technical debt?
On a scale of 1 to 10, how much spaghetti code do you have?
How well-documented is your codebase?
Pure CSS, or compiled middleware (LESS, SASS, etc)?
What browser and operating system versions do you support?
Does your codebase require a build process, and is it automated?
Do you have a continuous integration process implemented?
Do you use MVC or similar code structuring?
Is there an in-house framework, and if so who controls it?
Do you host your product yourself (Local, CoLo, VPS) or is it running on a cloud platform such as AWS or Heroku?
What percentage of the company is non-male?
What percentage of the company is non-white?
What percentage of the company is LGBTQ?
What percentage of the company is non-development staff?
What is the rhythm to the work around here? Is there a time of year that it's all hands on deck and we're pulling all-nighters, or is it pretty consistent throughout the year? How about during the week / month? Is it pretty evenly spread throughout the week / month, or are there crunch days?
What made you (the interviewer) choose to join this company?
Who are the heroes at your company?
Is there a company reward system for employee accomplishments?
What type of people are successful here? What type of people are not?
Am I allowed or expected to take my work home with me?
What are the expectations with regards to hours worked, deadlines, and overtime?
How much vacation time do you provide?
Open office, personal offices or cubicles?
Is there a dress code?
What relationship does your dev department have with your sales department? Who sets the deadlines?
Does the company provide snacks and/or drinks?
What are your expectations for how many productive hours a developer will have per day?
Is your company currently profitable?
What's the biggest change your group has gone through in the last year?
If I get the job, how do I earn a "gold star" on my performance review? What are the key accomplishments you'd like to see in this role over the next year?
Which competitor are you most worried about?
How does sales / operations / technology / marketing / finance work around here? (I.e., groups other than the one you're looking to work in.)
What's one thing that's key to this company's success that somebody from outside the company wouldn't know about?
How did you get your start in this industry? Why do you stay?
What keeps you up at night? What's your biggest worry these days?
What is your biggest complaint about the company?
If we have a very successful year, what would that look like? What will have happened over the next 12 months? How does this position help achieve that?
How does the company / my future boss do performance reviews? How do I make the most of the performance review process to ensure that I'm doing the best I can for the company?
What information is shared with the employees (revenues, costs, operating metrics)?
Who is your health-care provider?
What percentage of insurance does your company pay?
Does your company provide maternal/parental leave?
Will the company pay for training programs / certifications / conferences? What is the approval process like?
What is the company policy with regards to side projects? Am I allowed to work on my own sites?
Do I own the code I make in my own time on my own hardware, or does the company claim it as theirs?
Do you use a public framework or is it an in-house environment?
Do you use PHP-driven HTML templates, or a third-party template engine such as Smarty or Twig?
Do you use Composer?
Do you encourage your developers to take the ZCE exam?
Which version of PHP are you using?
What is your frontend software stack? (jQuery?, Underscore/Lodash?, Angular/Ember/React?, etc)
Is your front-end code bundled using a module loader such as Webpack or Browserify?
Do you use a templating engine, such as EJS, Jade, or Handlebars?
Do you use a compiled language such as Coffeescript or Typescript? (If yes, is it required?)
Do you use NodeJS as a software platform? (ie, beyond tooling)
Do you use a configuration management tool? (Puppet, Chef, cfengine, Ansible)
Are configurations version controlled?
What is the process for granting a user access rights (RDP, SSH, etc.) to a system?
Are there multiple access levels for different classes of user?
Do developers have admin/root rights on systems?
Do you have different staging environments for testing/development? (Like: DEV, QA, PreLIVE, LIVE)
Are developers allowed to connect to systems outside of the development environment?
Do you have a Change Management process? (ITIL, etc.)
How do you organize system administration, application development, application deployment and application operating so they fit together?
Is there a wiki for server documentation/howtos/best practises?
Do you use the same OS distribution on all your servers, or is each server configured for specific needs?
Are development systems and services standardized, or do developers choose their own environments?
Do tools need to be approved before use, or may I use whatever I want?
How frequently do you replace server hardware?
Do I have to replace hardware parts myself or is there a dedicated team / external contractor?
What software / services do you use to load balance?
Are your applications architectured for horizontal or vertical scaling?
What is the average uptime of your servers?
How do you test fault tolerance? Do you have some kind of "Chaos Monkey"?
Is there a process for self-build packages (.deb/.rpm/.msi) to be put on some internal repository when an official repository can't provide a package/bugfix?
How do you manage IP addresses and DNS records on your network?
Do you have plans for (switching to) IPv6?
Do you categorize your networks? (database server network, frontend network, middleware network?) or is everything mixed together in various networks?
Are DEV/QA/PreLIVE/LIVE systems all in one big network, or is each on a separate network? Are they firewalled so a DEV system can't DoS a LIVE system?
What is the process for managing rules on internal/external firewalls?
(top 24 of 71)
174 followers · starred Sep 2022
660 followers · starred Aug 2022
95 followers · starred Jun 2013
13,535 followers · starred Sep 2017
An open source list of developer questions to ask prospective employers
6,906
76 commits
updated Aug 28, 2022
InterviewThis is an open source list of developer questions to ask prospective employers during the hiring process. I created this list because, frankly, the existing lists that I saw on this topic really sucked. Many of the starting questions came about from years of hiring into jobs only to find out about some lousy attribute of the company which, had I known about, I probably wouldn't have accepted. Since I began this list I've received many additional contributions from other developers.
This is not a checklist, this is not a shopping list. If you send this entire list to an employer, they probably won't be calling you back. This list is intended to serve as a reference point for things to be aware of during your interview process. Not all of these questions will be relevant to every person or position, you should choose the ones that are relevant to you and what you are interviewing for. It's OK for there to be questions on this list that you personally do not care about.
The questions on this list are not all appropriate for the initial interview, many could not even be answered by the HR person likely to conduct an initial interview. This list is intended to be a comprehensive collection of things a developer may want to know about a company before they accept an offer.
Use your discretion when choosing what questions to ask and when to ask them.
Pull requests and Issues are very welcomed and encouraged, but please don't get offended if I reject your question or do not merge your question verbatim. I may ask that you reword it to be clearer, or may even rewrite it myself.
Why are you hiring for this position?
What would my role at the company be?
How long am I expected to remain in this position?
What will be my day to day responsibilities?
What programming languages will I be expected to work in?
Do you have a target salary range?
How is your team structured?
Are teams seated together?
Do teams have isolated areas from the rest of the staff / other teams?
How frequently do team members find themselves in meetings?
Do your developers pair program on a regular basis?
Do your developers use screen sharing or collaborative coding tools?
What is your (or my future boss') leadership style?
Do you follow an agile methodology for project management (Kanban, scrum, etc)
How do you assign work?
How do you estimate work?
Single product, or will I be regularly working on different projects?
How frequently does your company/team start a new project?
What are your group's best and worst working relationships with other groups in the company?
How frequently does your team interact with other teams?
Do you find yourself frequently blocked by dependencies from other teams?
What hours does the team work?
What source control do you use? Can you explain why you chose it?
Are your repos hosted in-house or on a third-party service?
What is your workflow currently, with regards to developers pushing changes.
Are you using a ticket system or is it more play it by ear?
Who determines the features that would go into the product? How are these chosen?
How do you track development time?
Do you have a code review process?
Does your team encourage the use of SOLID and DRY design principles to avoid cyclomatic complexity?
Do you have established code style rules?
What are your development environments like?
Will I be provided with a new laptop?
(Author Note: These are basically more direct versions of the Joel Test "best tools" question.)
What is your release schedule like?
Will I communicate directly with clients on a regular basis, or does this typically happen through an intermediary?
What can I expect to see in terms of project specifications and/or mock-ups prior to beginning a new project?
How is QA/testing done?
Who designs the User Interface?
Are there compliance requirements in the company like CMM or SOC?
Do you have an SLA (Service Level Agreement)?
How satisfied are your engineers with their current toolset? If they had to replace one tool, which would it be and what would they replace it with?
Do you have any application-level logging? If so, how are logs accessed?
Do you use any monitoring software? (Nagios, Icinga, Zabbix, etc.)
Do you regularly record and review application performance metrics? How are performance optimizations prioritized with respect to other types of tasks?
How does it inform staff of error conditions? (PagerDuty, Email, SMS, big monitors in each teams room, etc.)
Is there a permanent on-call duty for each IT team?
Is there a permanent "control center" that keeps track of events and informs the responsible on-call duty?
Is there an escalation process if someone cannot be reached?
Do the developers also have an on-call duty?
Does time working on incidents/problems after-hours, when on on-call duty, count as overtime?
Are employees expected to be doing after-hours work while waiting on-call?
What timezone/hours does the company work in?
Will the company pay for home office equipment such as electronics or furniture?
Do you have a team chat setup such as Slack or Jabber? Do your developers actively use it, is it their primary communication channel?
Do your developers use video chat software such as Skype or Google Hangouts?
If a portion of the team works in-office, do you have a dedicated computer to be used for video chat with remote employees?
Will I have to work over a VPN?
How frequently will I be expected to visit the office?
Will my visits and travel costs be reimbursed, or covered outright by the company?
How flexible are my hours? Can I take time off during the day if needed and make up for it in the evenings?
Do you use open source libraries?
Does your company release open source code?
Does your company contribute to (or encourage their developers to contribute to) open source libraries?
What is the company policy with regards to me releasing open source code (personal projects)?
How old is your codebase?
Do you have an automated test suite?
Do you regularly correct technical debt?
On a scale of 1 to 10, how much spaghetti code do you have?
How well-documented is your codebase?
Pure CSS, or compiled middleware (LESS, SASS, etc)?
What browser and operating system versions do you support?
Does your codebase require a build process, and is it automated?
Do you have a continuous integration process implemented?
Do you use MVC or similar code structuring?
Is there an in-house framework, and if so who controls it?
Do you host your product yourself (Local, CoLo, VPS) or is it running on a cloud platform such as AWS or Heroku?
What percentage of the company is non-male?
What percentage of the company is non-white?
What percentage of the company is LGBTQ?
What percentage of the company is non-development staff?
What is the rhythm to the work around here? Is there a time of year that it's all hands on deck and we're pulling all-nighters, or is it pretty consistent throughout the year? How about during the week / month? Is it pretty evenly spread throughout the week / month, or are there crunch days?
What made you (the interviewer) choose to join this company?
Who are the heroes at your company?
Is there a company reward system for employee accomplishments?
What type of people are successful here? What type of people are not?
Am I allowed or expected to take my work home with me?
What are the expectations with regards to hours worked, deadlines, and overtime?
How much vacation time do you provide?
Open office, personal offices or cubicles?
Is there a dress code?
What relationship does your dev department have with your sales department? Who sets the deadlines?
Does the company provide snacks and/or drinks?
What are your expectations for how many productive hours a developer will have per day?
Is your company currently profitable?
What's the biggest change your group has gone through in the last year?
If I get the job, how do I earn a "gold star" on my performance review? What are the key accomplishments you'd like to see in this role over the next year?
Which competitor are you most worried about?
How does sales / operations / technology / marketing / finance work around here? (I.e., groups other than the one you're looking to work in.)
What's one thing that's key to this company's success that somebody from outside the company wouldn't know about?
How did you get your start in this industry? Why do you stay?
What keeps you up at night? What's your biggest worry these days?
What is your biggest complaint about the company?
If we have a very successful year, what would that look like? What will have happened over the next 12 months? How does this position help achieve that?
How does the company / my future boss do performance reviews? How do I make the most of the performance review process to ensure that I'm doing the best I can for the company?
What information is shared with the employees (revenues, costs, operating metrics)?
Who is your health-care provider?
What percentage of insurance does your company pay?
Does your company provide maternal/parental leave?
Will the company pay for training programs / certifications / conferences? What is the approval process like?
What is the company policy with regards to side projects? Am I allowed to work on my own sites?
Do I own the code I make in my own time on my own hardware, or does the company claim it as theirs?
Do you use a public framework or is it an in-house environment?
Do you use PHP-driven HTML templates, or a third-party template engine such as Smarty or Twig?
Do you use Composer?
Do you encourage your developers to take the ZCE exam?
Which version of PHP are you using?
What is your frontend software stack? (jQuery?, Underscore/Lodash?, Angular/Ember/React?, etc)
Is your front-end code bundled using a module loader such as Webpack or Browserify?
Do you use a templating engine, such as EJS, Jade, or Handlebars?
Do you use a compiled language such as Coffeescript or Typescript? (If yes, is it required?)
Do you use NodeJS as a software platform? (ie, beyond tooling)
Do you use a configuration management tool? (Puppet, Chef, cfengine, Ansible)
Are configurations version controlled?
What is the process for granting a user access rights (RDP, SSH, etc.) to a system?
Are there multiple access levels for different classes of user?
Do developers have admin/root rights on systems?
Do you have different staging environments for testing/development? (Like: DEV, QA, PreLIVE, LIVE)
Are developers allowed to connect to systems outside of the development environment?
Do you have a Change Management process? (ITIL, etc.)
How do you organize system administration, application development, application deployment and application operating so they fit together?
Is there a wiki for server documentation/howtos/best practises?
Do you use the same OS distribution on all your servers, or is each server configured for specific needs?
Are development systems and services standardized, or do developers choose their own environments?
Do tools need to be approved before use, or may I use whatever I want?
How frequently do you replace server hardware?
Do I have to replace hardware parts myself or is there a dedicated team / external contractor?
What software / services do you use to load balance?
Are your applications architectured for horizontal or vertical scaling?
What is the average uptime of your servers?
How do you test fault tolerance? Do you have some kind of "Chaos Monkey"?
Is there a process for self-build packages (.deb/.rpm/.msi) to be put on some internal repository when an official repository can't provide a package/bugfix?
How do you manage IP addresses and DNS records on your network?
Do you have plans for (switching to) IPv6?
Do you categorize your networks? (database server network, frontend network, middleware network?) or is everything mixed together in various networks?
Are DEV/QA/PreLIVE/LIVE systems all in one big network, or is each on a separate network? Are they firewalled so a DEV system can't DoS a LIVE system?
What is the process for managing rules on internal/external firewalls?
(top 24 of 71)
174 followers · starred Sep 2022
660 followers · starred Aug 2022
95 followers · starred Jun 2013
13,535 followers · starred Sep 2017