Sunday, August 19, 2018

Questions you might want to ask during your interview

There are multiple reasons one might want to leave a company: corporate culture (mismatching goals or corporate identity), ethical reasons, bad learning prospect, focus on proprietary or obsolete technologies, as well as a bad career prospect (Can you develop further in this job?). Less frequently reasons might be related to the working environment: the team (Do you fit in the team? Do you enrich it? Do they enrich you?), heterogeneous competence level (quoting “if you are the smartest guy in the room, then you are in the wrong room”), or even finding different interests and life goals.

If you, like me, have been through rounds of a job interview, you always came to the point in which they ask "Do you have any question for us?" and beside being interested in the future projects you will be working on or wanting to look smart asking whatever question, you may feel totally puzzled on how the daily job life will be looking like. A few years ago, while still being a PhD student and doing a few interviews I have collected a few thoughts of things I believe people tend to forget to ask and might lead to surprises afterwards. 

I believe 99% of the impression a company can give to a candidate is in the level of detail of the questions they ask. Having interviewed for Google and Amazon in the past I know well how a 1-hour telephone interview or a 5 hours onsite technical interview looks like: the part to assess the analytical mindset, the algorithm & data structure questions, up to the harsher details of the technologies the profile will be using, etc. While this might slightly differ among job profiles, the main underlying structure still looks the same and I strongly believe a good interview is that where both the candidate and the interviewer can learn something new. Therefore, while you might not have a 5 hours interview, a very good technical detail should (in my opinion) still be the baseline for you to decide whether to run away. The Joel Test is a list of 12 binary questions that can be used to identify flaws in a company software development process:
  1. Do you use source control?
  2. Can you make a build in one step?
  3. Do you make daily builds?
  4. Do you have a bug database?
  5. Do you fix bugs before writing new code?
  6. Do you have an up-to-date schedule?
  7. Do you have a spec?
  8. Do programmers have quiet working conditions?
  9. Do you use the best tools money can buy?
  10. Do you have testers?
  11. Do new candidates write code during their interview?
  12. Do you do hallway usability testing?
As mentioned by its creator Joel Spolsky, "A score of 12 is perfect, 11 is tolerable, but 10 or lower and you’ve got serious problems". In the world of open-office space, even question 8 alone could be a crucial question to stop you joining a company.

Later on in industry I have been interviewer at least 2 or 3 times a month and could better understand the dynamics behind one's decision to join a company beside the negotiated salary. Often, the desire of learning and develop one's self is indeed much stronger than the economical interest, with people valuing a clear prospect of their future tasks and development possibilities.

I report below a few points, that I believe shall be further elaborated after a good technical interview:

Role
  • What is a typical day (i.e. in terms of tasks and potential problems) of a person working in this role? Clarifying your contribution with respect to the other team member and your capabilities is something you should definitely do at first.
  • What is the autonomy expected from this role? What kind of decisions I am allowed to take?
  • You might want to understand how agile is your position with respect to the stakeholders.
  • What is the development process followed? Agile (e.g. Scrum, XP)? What’s the amount of meetings normally occurring? This might not be informative, but I had customers where in spite of the agile flavour adopted, the development process felt totally stranded from the amount of meetings and involved politics.
  • What are open challenges that I am expected to address? This is to frame your starting point.
  • What are expected goals I am supposed to achieved within the first year? 
  • What is the support (e.g. training) I will receive in the initial phase?
  • What personnel development tools are available:
    • for attending update courses?
    • For certifications (just in case you wanna achieve any)?  

Company
  • This will depend pretty much on how exhaustive the introduction from your potential employer was. You might want to know more of the company size, structuring (e.g. which business unit will you be involved with?) and team growing potential.
  • Important for you is also to understand how much business units (or departments) interact and how easy is mobility across them, shall you have any change of preference in future.
  • Depending on how ambitious and clear you want to be, knowing which career path (i.e., seniority levels) does your profile leads to (and what are necessary conditions for those career achievements) might be useful information before deciding.
  • What are the biggest challenges for the department/business-unit at the moment? Before deciding you might want to hear a future prospect.
  • What is the current employee retention? Make sure to understand how likely any of your colleagues will be quitting any time soon. This is normally not a good simptom.

Working environment
  • Concerning work/life balance:
    • How are over-working hours handled? Make sure you get compensated with either vacation or bonus salary for your additional working time. If you are applying for a startup this is pretty different, but then make sure you get at least involved in terms of equity for your additional effort.
    • What is the process to ask vacation? Was it ever difficult or topic of discussion one's vacation? Having been a consultant I know pretty well what sometimes taking vacation means, since you need to convince both your boss and customer(s) for taking days off. From the Germans I learned to plan (1 year) in advance my yearly vacation. Make sure you clarify how vacation is compensated in case you can not take it or how this is spilled to the next year. 
    • Depending on your age and marital status you might also want to ask concerning: kindergarden,  spouse support (e.g. for relocation), time dedicated to home office (in Germany is commonly at least once a week, such as Fridays),  and similar.
  • What is the dressing code required/suggested?
  • What about working time? Are you more concerned with performance or time? I was lucky enough to work for companies where performance was more important than time, often giving the possibility to work on Fridays from home, or even have offsite time from anywhere, yet very often time was a too important factor given our internal goals. If you work in traditional industrial fields (energy, insurances, pharmaceutics) or in companies or countries notoriously reluctant to flexible working time, this is surely something to ask.
  • What is the amount of traveling required? Abroad? 
  • Concerning perks/benefits:
    • Do you have a company kitchen?
    • Do you have a coffee machine, free beverages or something like that? Free coffee is nowadays a must. Beside creating an amazing office atmosphere, having worked in Munich I know what having unlimited Tegernseer and Augustiner means. That is simply the world's best beer.
    • Do you have a canteen? Where do employees normally have lunch? Does the team normally have lunch together?
  • Did your project manager and at least some of your colleagues live abroad? I believe especially if you are a foreigner in a different country, knowing how international (or diverse) your team and future bosses are is a must, to avoid being the only white fly in the environment.
  • Try to learn as much as possible of the background (studies, previous tasks) of the other team members.
  • What is the expected working language across the team? And with the customers?
  • Do you promote open source projects, both for projects internal or external to the company?
  • Is there any budget to attend professional (or scientific depending on the focus) conferences?

Workstation
  • Just to be sure. You do not use MS Windows, right? It might feel stupid, but I once forgot to ask about customizing my OS setup and I ended up working full time on an old windows notebook. Simple to say that I later on felt like wanting to kill myself. Nowadays most of companies offer full flexibility concerning hardware, but you might still want to ask.
  • How much would I be spending on a terminal and on a GUI? This is pointless if you are applying for a DevOps position or anything that is not meant for a junior. Anyways, stay away from drag&droppers.
  • Does the company use any collaboration system (e.g. Git, SVN)? Adopting clean development practices says everything on the level of maturity and consequently effort in your future team.
  • What test tools do you normally use (unit testing, integration testing, usability testing, performance testing, etc)? What about licenses? Try to learn as much as possibile of the existing codebase, the start-to-finish ownership (it is always best to ask those that actually did the job) and what issues shall be improved.
  • What about hardware budget? In case you work with anything requiring more than a pc, for instance if you develop embedded software you might need an oscilloscope or a signal generator.

Hope this helps. Bye.

No comments:

Post a Comment