Seven lessons learned from boarding a sinking ship
All of our customers were angry with us. Our Vice President kneecapped his own organization's ability to deliver on commitments to customers by firing 2/3 of his staff and expecting the other 1/3 to pick up the pieces. Upper management were all non-technical people who had no idea how to lead a software engineering department. A complete lack of direction and leadership. Human Resources was completely failing at their core job function -- to make sure employees are properly onboarded, paid what they're owed, and have what they need to do their jobs. It was the most dysfunctional work environment I had ever been a part of. This is what I learned from inadvertently joining a toxic company while it was spiralling the drain.
1. Take the time to conduct a reverse interview before signing your contract
I know it seems a bit counter-intuitive. After-all, as a candidate, you're trying to impress the interviewers so that they'll accept you into the company and pay you money to work for them. But don't forget, you're exchanging your talent and skills for that money. Interviews are a two-way street and you're interviewing the company just as much as they're interviewing you. And yet the vast majority of the interview time is usually spent getting grilled by the interviewer, leaving maybe 5-10 minutes at the end for you to ask them questions. Yet how can you really know if the company that's interviewing you is a good fit when you only get a few minutes to ask questions? How can you determine if the company is a sinking ship before you sign your contract? The only way to do that is to get the chance to interview them in turn.
Once you have an offer on the table that you want to accept (and provided they don't pressure you into signing within a day or two - which is a red flag in and of itself), let them know that you're still very interested, but that you have some additional questions before signing the contract. Ask them if they could set up another half-hour call with the hiring manager, or even some other people in the company to get their perspective. Either way, you should come up with a list of questions that can help you understand their company culture better. Here are some questions that I like to ask:
- Does the leadership team have a vision for where they want to go with their products and services?
- What are their company values (if they aren't publicly available on their website)?
- How do they measure success?
- What makes someone successful in this role?
- How is performance measured? How do they reward high performers?
- When do you typically start and end your day? When was the last time you worked unpaid overtime? (You're looking to gauge work-life balance with these questions.)
- What is most important to them? Meeting deadlines or employee happiness? How do they balance the two?
- Will you be expected to take frequent early morning or after-hours meetings (such as with teams in opposite time zones)?
2. Company culture is critical for team morale and motivation, especially when working remotely
Thanks to the global pandemic, many companies are embracing a fully remote culture. Others, however, have been forced into being fully remote, but don't know how to create an effective work culture when you no longer have the office camaraderie that naturally forms through organic interactions between co-workers who are physically sitting together. Many companies (often those that have been around for a long time) don't have a clearly defined company culture. Even if the company does, its R&D / Software Development organization might not. Without a company culture, it can be very difficult for staff to understand their purpose and the overall vision of what they're trying to achieve. Without a destination in mind, it can be pretty hard to know what to prioritize in order to achieve goals that don't exist. So how do you create an effective company culture? Here are some effective ways you can create an effective remote culture:
- Clearly define the vision for the organization, as well as the mission, and document it. Then make sure everyone is aware of those things. Why are we all here? What are we trying to achieve? What is our purpose here? These are extremely important questions to answer so that your teams can move towards achieving the vision together.
- Create clear and measurable goals. While the vision and mission explain why the organization exists and what we are trying to achieve, the goals define how we will achieve it. Goals are critically important to help teams understand their priorities and will serve as a razor to cut scope that's not critically important to achieving those goals.
- Make it clear how performance is measured and what the organization expects of its employees. How is high performance rewarded? How are low performers handled? How are teams rewarded for exceeding expectations?
- Create team building opportunities and encourage your teams to use them. Getting work done is important, but so is building team cohesion and trust. Things like Friday social hours where teams get together to play online games, or ice breakers where each member of the team shares something interesting about themselves... whatever it may be, encouraging teams to spend time together doing something other than just work is important for building relationships and a feeling of inclusion.
- Set proper boundaries and core working hours. Work-life balance is extremely important, and when your work happens at home, it can be easy for the two to blend together. Give your teams permission to have flexible hours and work when they need to, as long as the work gets done, that's what's important.
3. Properly documented processes are extremely important
Documentation is a contentious subject amongst engineers, and very few like to write documentation. There are many reasons for this, including:
- Nobody reads the documentation.
- The code frequently changes, so maintaining the documentation creates a lot of overhead.
- It's tedious and boring.
While all valid points, the first two points are only applicable if we're talking about documenting how the code works. That can easily be accomplished with code comments explaining why the code exists and what it's supposed to do. The other kind of documentation, the one I'm referring to in this instance, is the documentation that pertains to processes that largely don't change. This includes important reference information for anyone, such as:
- Product information, who the customers are, who the team is, and who the points of contact are for escalation
- Release processes for each product
- Standards and Best Practices
- Testing processes and standards
- How to set up the project and get started (in the form of a README)
That said, if a process doesn't exist and you and your devs have to figure out how to do something, make sure to document it along the way. If you solve a problem once and it might need to be done again in the future, always document how you solved the problem and make sure your team knows about it. Why? So that the next time you encounter the issue or need to go through the process, it can be done far quicker when you have reference material and clear instructions to follow. There are few things more frustrating and painful for engineers than having to figure out how to release a product that you've never worked with before because the subject matter experts have all left the company. Do yourself a favour and make sure to document the processes so that the next time you have to do it (or someone else has to), you don't need to figure it all over again.
4. Don't allow staff to become single points of failure
There's nothing more damaging to a team than someone turning themselves into a single point of failure by not sharing their knowledge with their team. When I joined the "sinking ship", my hiring manager left the company a week after my start date. I was immediately offered his job, but before I even had a chance to understand what I was getting into, my new boss threw me right into the fire. I was firefighting every day from that point forward, and the phrase I heard almost daily when people came to me with another fire was "Kent used to do that" or "Kent handled it before" (he was my hiring manager, but Kent wasn't his real name). Nobody knew how to do any of the things Kent did because he didn't share the knowledge or document how to do anything!
You might think that knowing things that nobody else does makes you a more valuable employee that the company can't afford to lose, but nobody is immune to layoffs or incompetent managers making foolish decisions. If you're a single point of failure and you leave the company for any reason, the people who have to pick up the pieces from your departure are not going to appreciate the giant gaping hole you left behind. You'll be a far more valuable employee if you teach the rest of your team what you know, and by virtue of your team being able to fill your shoes, it makes it possible for you to grow into your next role. Plus, there's the added bonus that you can actually take time off without risking getting called into work because you're the only person who knows how to solve the problem.
4. Effective communication is paramount to a team's success
Always try to have zero unread emails by the end of your work day, and always aim to answer emails that are directed to you, regardless of how busy you may be. Make the time. Set aside time in your calendar if you have to. If people have to repeatedly followup with you to get a response, you're not being a team player. Nobody expects you to stay on top of group chats if you're not directly involved, but if someone directs a question to you, do your best to answer it.
Aside from the daily communications, it is absolutely critical for upper management to regularly communicate with their staff. Radio silence from your department's Vice President, especially in times of turmoil, is a huge red flag. It's a sign of severe lack of leadership from someone who likely has no idea how to run their division. If you're a lower level manager, responsible for one or a few teams, it's still critically important to regularly communicate with your direct reports. Good communication creates trust, and trust is crucial for team cohesion. If a team doesn't trust each other, they will fall flat on their face and fail over and over again.
5. Set clear goals that are achievable
A team that doesn't have clearly defined goals is destined to go nowhere fast. Goals give your team a target to shoot for. They may not always hit their targets, but without goals they won't hit anything because there's no target to aim for. Sure, they might still produce good work, but is it the right work? How do you know you've succeeded without clear goals to strive for? Goals can be motivating and help with team morale, especially when those goals are actually achieved. They give teams a sense of purpose. Never underestimate the value that goals can provide.
Goals should be created at all levels - within the organization, within your team, and individual ones as well. I always ask my direct reports to have at least 3 business-related goals (which helps me measure their performance) and at least one professional development goal so they can improve their skills in some way.
6. Good, fast, or cheap - you can only have two of them
If you try to have all three, you'll get none of them. I learned this in college and it has stuck ever since. Surprisingly few managers, regardless of their domain, seem to understand this simple principle. Many demand all three, often because that's what their customers want or what executives demand. Then the project ends up late, over budget, and the quality is poor, and everyone is angry and panicking because customers are threatening to withhold payments until they get what they were promised.
Always remember:
- If you want something fast and cheap, it won't be good.
- If you want something cheap and good, it won't be fast.
- If you want something good and fast, it won't be cheap.
- If you want something fast, cheap, and good, it won't be any of them.
7. Toxic team members will drive away your best ones
When I joined the sinking ship, the biggest problem they had was their HR department. The HR person I had to deal with was rude, unhelpful, and failed at her core job function repeatedly. New hires frequently didn't get their laptops delivered to their homes in time for their first day on the job, making them unable to do anything for days, leaving a very poor first impression. She had no documented process for what hiring managers had to do in order to ensure a smooth onboarding process from the moment a new hire's contract is signed to their first day on the job. Not only that, bonus payouts were often late, promotions took months to process, and transferring staff to new managers would take forever, leaving everyone confused about who reports to whom. Requests to her for status updates were met with short and often rude and condescending messages in response. Literally everyone complained about her, but upper management wouldn't do anything about her.
That toxic behaviour is very costly for the company. Not only do toxic employees damage morale, which affects team performance, but it can easily lead to the best employees jumping ship for greener pastures. When employees, especially high performers, leave the company, it's very costly for the company. Time (and money) need to be spent sourcing new candidates, interviewing, and onboarding the new hire, not to mention that new hires often ask for higher salaries and there's the loss in productivity during the first 6 months as the new hire ramps up and takes time away from others for questions.
Never underestimate the cost and the impact that toxic employees have on your culture. Don't allow them to stick around or your products and services will suffer for it.
In conclusion, a toxic work environment can be a good learning experience, if only to understand what not to do. However, I don't recommend it. If at all possible, do your best to avoid joining a sinking ship. If the interview process is fast and they move on hiring really quickly, they may be desperate to hire, so be careful, and good luck!