At a certain point in your career, taking a job is a real “caveat emptor” situation. Or maybe “buyee beware”. There are a lot of parasitic personalities out there than can seriously detract from your happiness, and adversely impact your career. It’s a terrible feeling when you arrive at a workplace and discover that the people you’re working for, or the culture they’ve created, is rude, ineffective, or parasitic. Getting out of those situations is a real pain (trust me on that), and you might find yourself stuck in a really bad situation for months or even years.
One approach to the problem is to lower your standards. Working with parasites can actually be really comfortable, because it’s easy to spot and manipulate their weaknesses.
Another approach is to keep your eyes open before going in to the situation.
Here’s a great article on questions you can ask during an interview to see if you’re going to be comfortable in a workplace, and if it’s going to meet your technical and career ambitions:
Almost every interview cycle these days includes some time for the interviewee to ask questions. So ask! Not only does it make you look good, but it might save you the hassle of getting stuck in a situation you would have avoided if you’d known.
From that list, here are the ones I like best:
- Do you test your code?
- (Or…) What is your unit testing strategy? What is your target for code coverage?
- How do you make sure that all code is understood by more than one person?
- Who is responsible for doing deployment? How often do you deploy?
- How do you think about code correctness?
- When something goes wrong, how do you handle it? Do devs get shamed for breaking the build?
- Can you give me an example of someone who’s been in a technical role at your company for a long time, and how their responsibilities and role have changed? (I love this question)
- How are decisions made? Is architecture dictated top down? Are ideas from anyone welcomed? If so, in what scope/context?
- How are disagreements solved – both technical disagreements and other kinds? What happens when personalities clash?
- How is performance evaluated?
- What time do people normally leave work?
- Do people work on the weekend?
- Do you cover travel to conferences? How many conferences a year do devs typically go to?
- How do you determine if someone is a poor fit for your company?