Lookout for Interviews Lies 🤨
Tags: interview, jobs, developers, beginners
Published: 2021-11-17 13:30:28

# Setting the stage
My last places of work were really really ok, however I found that there was a gap between what I expected of the job and what happened in reality. And it can be pinned down to the very first interview call.

The story goes like this - an "interviewer" tell you things you want to hear, name-dropping technologies, architectures and promises. Many times, these are future plans, wishes etc. I'm not saying these are intentioned lies. It's describing the job in future/partial terms, not talking about things you "don't want to hear" while hoping you will think "hey, this is exactly what I'm looking for, very soon this all be true".

BTW there are many variations to this phenomenon - not just to technologies/architectures considerations... it can be really anything related to your day-to-day - responsibilities, terms of employment, work place conditions, team properties (size etc), product roadmap, people interactions and the list goes on.

**I will focus here on Developers interviews, but you can infer it to other domains as well**

# Spoilers
In reality, months go by (even years) and the promises don't happen. 
You mostly do things you didn't think you'd do.
Every deviation of "the plan" is excused with a super important "Business requirement". 

# Do the thing
 
Every "interviewer" (recruiter, hr-rep, founder) you talk to - describe a very bright picture - fitting the story to your "ultimate" job description. 

# Pitfalls
Here are some aspects in the story you need to check before pursuing a job offer from any company:

### Lookout for "future plans"
`"This is going to be a distributed system...`
`"The next release will be with XXX technology...`
`"Eventually, there will be X people on the team...`
Many many aspects of your job can fall in these gaps - plans & promises with no definite roadmap or timeline. This is highly risky. 

### Lookout for % of focus
`"The team works on...`
`"The system uses...`

Even if something is talked about during an interview it doesn't mean YOU will do that. This can easily be "name-dropping" for things you want to hear.

### Lookout for on-going tasks/ technical debt / legacy
NOT talking about on-going tasks, legacy system - should trigger a red flag.
It can be very much not-intentional that an interviewer won't mention these things as they are not "sexy" to an interviewee. You need to make sure you understand what will be required of you for current systems that run. 


# Fireproof your decision

Here is a list of questions to ask the interviewer to make sure the job description is what you think it is. 

```Disclaimer: Not all companies/people will like you asking those questions. They can think you won't be a team player or you have some hidden agenda just doing things you love or interest you. Try to get the answers to these questions even without actually asking out loud - pick up clues and make self notes. ```

- Describe the team's last Sprint / assignments?
- What will be my first "serious" task?
- How do you do a... b... c... (in present tense) 
- Look for facts / not promises or opinions - 
    - last week we did a.... 
    - this sprint we do x,y,z... 
    - last bonus check was X% of salary.... 
    - we hired 2 new people last month... 
    - last design review took X hours.... 
    - We deploy X time a week... 
- Talk to a team mate in your level 
    - what is your day-to-day like?
    - did you feel you have impact on decisions - new tech/framework/features?
    - How many "on call"s you receive?
    - How did your manager received a suggestion you had?
    - how much time you spend coding / discussions?
    - How do you solve issues in the team? - ask for a concrete example
    - How do you solve issues with your manager? - ask for a concrete example
- Talk to your direct manager/supervisor

```Note: Some companies hide behind an NDA (non disclosure agreement) and can refuse to answer/show what you ask - This is straight up BS and I would recommend avoiding those companies altogether. NDA is not really a reason not to answer candidate's questions. ```


# Why does this happen?

### Human nature

It's the interviewers job to bring good people in. 
Once he/she decided you fit - it's human nature avoid telling you things that will disarm you or even change the facts a little bit. It's mostly unconscious decisions (I want to believe that...).
BTW, same goes for you: You're not telling things about yourself the other side doesn't want to hear, right?  

### Urgent Business requirements vs Advancing / Fast vs Right

Every project has a planned roadmap and things change as we go along. I'm not talking about complete Pivoting the company... I'm talking about what we do in the upcoming Sprint. this is ok of course. 

However, you don't want to be in a place of work where there is 0 new features, 0 new technology and 0 personal development. 

There is a spectrum of companies that behave differently - 
- keep a technology/code/etc even it doesn't fit anymore just because it requires "learning".
- avoiding refactoring "old/bad things".
- not listening to any suggestion for improvement by anyone.  

When a company/team is always busy with super urgent Business requirements it can never advance technically - which means you won't too. 


# Founders and Startup companies
The behaviour I described varies between companies (and teams). Take an extra step of cautious with Startup companies and the Founders that run them.

### Founders are extremely optimistic 
Founders are the most optimistic people regarding the company/product/future. When it comes to avoid talking about un-pleasant issues, technical debt, decision-making, roadmap - you can hardly trust them to come forward and bring up hard things to talk about. 

### Unknowns
Mostly, there is no way to verify the any thing they drop along a conversation.

### It's mostly business
As I already wrote, there is a spectrum of companies that will prefer Business requirements over "Innovation/New approaches/etc" - Most of times, Startup companies are 100% about Business requirements as they have very specific milestones and drastic changes in requirements.
For example:
- hard code something for this client
- do that thing manually, you know what? let's do this manually every week - mark it in your calendar, cheers.
- we don't need to pay for this service we really need every day, let's all work like cavemen in the 90th...
- hey this database is a better fit for this - no time now
- refactor this module? - no time now


# "It will be ok"
When you spell out the words "it will be ok..." before you consider taking an offer - really think about that. YOU are taking the risk here. will it really be ok??? because it won't. 
**You need to start your job feeling "It will be awesome"**


# The 20->80 rule
You start the job interview process - after the first call you are 20% certain that you understand the job description and what your future there will be like.

You need to take those 20% certainty and make it **80%** (as it never can be 100% until you really work there for some time).
How?
- ask the hard questions
- check online - glassdoor, hr groups etc
- talk to past employees


Best of luck!