Andrew Harry

andrewharry.com

Important Questions to ask the business when applying as a...

Lead Engineer

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?

Contents