Questions to ask a Django company
If you’re looking for questions to ask a software company, then here are a few to get you started. Keep in mind, these are not meant as “gotcha” questions. The point of them is to understand the company you would be joining, so you can make the best decision possible.
What does the team do to delivery quality software?
Press for information on the software development lifecycle (SDLC). Ask what your role would be in each of these phases. The goal here is to know how the team writes software, runs projects and ships features.
What versions of Python / Django / PostgreSQL are being used?
If the company doesn’t use Python / Django / PostgreSQL, switch them to the relevant technologies. The point here is to get a sense of how often the company upgrades their major dependencies. If they are a few versions behind, it’s likely the company has a fair amount of technical debt or they have processes / dependencies.
How does the team handle unexpected situations?
This could go many ways. The two that I would be most interested are what happens when a project goes long and what happens when there’s an outage after hours? All projects encounter unexpected complexity. Eventually it’ll occur to the extent that either the deadline needs to move, the scope needs to change or the resources need to change. The answer here will likely be “it depends”. If that happens, follow-up with, “what was the situation the last time this happened?”
The question around outages is more straight-forward. What are the expectations of you? Do you need to be on-call? What’s that schedule like? What does that mean for your personal life? Is there compensation associated with responding to after hours incidents? Finally, how often do these types of incidents occur?
How does the team resolve disagreements?
Disagreements are a natural and healthy part of any group. You need to know whether their typical process coincides with your own thinking and processes. If you’re meeting with multiple people from the company, you should ask this question of all of them. Before the interview, have some idea of what your ideal environment is, but be open-mind to any cultural differences with the company.
What is the team doing currently to improve itself and its processes?
Every person and organization should be trying to improve. Those improvements may not be formal or super structured, but they should be occurring. Teams and companies should be self-aware enough to recognize there’s always room for improvement. Healthy organizations make time for these improvements to occur.
What are the opportunities for continuous learning?
My personal belief is that you’re being hired because of the combination of your knowledge and desire to improve. That last part acknowledges that you don’t know everything and want to get better. The company and team should help you on that journey. After all, they have and will continue to benefit from people continuously getting better.
What does the company/team offer in terms of professional/career development?
This coincides with the previous question, but should be asked in a non-technical context. Your career will be influenced greatly by your soft-skills. A healthy organization will recognize this and help you get better. If you’re looking for a specific career advancement, both you and the company should be aligned on those expectations.
What is the performance review process?
This process will vary from company to company. Ask this to get an understanding of how this company operates. It is helpful to ask non-HR/management employees this question to understand it from the labor point of view. The goal here is to have clear expectations on how the company operates to reduce disappointing surprises.
Obviously there are other (and better) questions to ask. These are a good starting point and should help you make a decision with a greater set of information. If you find these helpful, I’d love to know. I wish you the best of luck in your ventures!
This post was inspired by a question on the Django Discord Server where someone asked for questions to ask a company during their interview. The person was new to Django and possibly software in general. I wrote the above questions without explanations and they seemed to resonate with folks. I wrote them as a blog post to include my reasoning and further details.