These questions are orientated towards a software company which has a B2B software offering and are looking for a new Lead Engineer
Great article which is worth reading
Role Expectations
Lots of company’s have different internal expectations attached to the same role title.
It is important to get a firm understanding of the responsibilities and expectations for the particular role.
- Do I need to do budget planning?
- Am I expected to hire/fire people?
- How will you evaluate my success?
- What spurred the need for this role? What gaps are you hoping to fill / issues to fix?
Team Dynamics
- Can I meet the team?
- Can I meet with some of the stakeholders I will work with?
- What is the team churn rate? Any recent turbulence?
- How is the team’s morale? are they feeling good? are they anxious?
Company Road Map
Healthy companies should have well thought out road maps for where they are headed. I would expect there to be vision statements and Long term goals. Depending on how old/new the company, 6 months might be considered ‘long term’. I am mainly looking for a strong sense of direction.
- Is there a clear road map?
- How far in to the road map is the company currently?
- How often is it reevaluated?
How are features decided?
- Who is deciding what features are in or out?
- If someone disagrees or has a better idea - how is this handled? is it handled well?
- Are suggestions from the developers taken seriously? Are there examples of when this has happened?
- What is the process by which new ideas are introduced or prioritised?
Technical Questions - Code Health
This is a critical question if you are applying for a technical role in the development team. “How healthy is the code base?”
- Are there areas whether no one wants to work or make changes?
- How good is the unit test code coverage?
- Is there a good level of supporting documentation / training?
- How many distinct generations of systems are there? (Important for older companies)
- Are there area specialists on the team?
- Is the team following best practices regarding GIT branching + Code reviews
Technical Questions - Quality Assurance
- How are new features tested?
- Is there extensive regression testing required - or routinely done?
- Does the testing team have clear test plans?
- Do we have automated smoke testing?
Technical Questions - Deployment Routines
- Are deployments fully automated? OR semi automated i.e. ‘click a couple of buttons’?
- Do the individual teams have separate releases?
- How often are releases happening?
Technical Questions - Environments
- Are individual stories tested in isolation in their own environment?
- How easily can a new environment be created?
- Are we using containerised infrastructure?
Technical Questions - Databases
- How many databases / data stores do we have in production?
- Is there one big monolithic database?
- Do we many databases?
Technical Questions - Authentication
- Do we allow our B2B customers to bring there own authentication systems? i.e. Active Directory?
Product Questions
- How often are we building custom features for a specific customer?
- How is the product structured for the different clients
- Do we have separate environments per customer?
Technical Questions - Disaster Recovery
- Is the system capable of being recreated after a disaster?
- How confident are we in the backup/restore systems?