Since 1999 I’ve been working in several countries at a dozen companies on products that have touched millions of people. I’ve had the privilege to code at a diverse range of IT businesses from fintech and healthcare to media and telecom. Having a MSc in System Engineering from one of Sweden’s top technical universities I sometimes find myself overwhelmed by the number of choices that today’s IT market provides. But having my share of trial and error, I’ve came up with a system that has served me well in the past 4 years when it comes to changing jobs.
Declaimer: all ideas are mine. I don’t talk on behalf of my employer or other people. This post might be useful only if you have choices. If it’s early in your career, it’s probably best to lower the bar and get the best opportunity that’s available and change a couple of jobs to make up your own opinion.
Alright, let’s get to it:
Here is something no recruiter or job ad tells you about: the people you’re going to spend your time with — your colleagues and your customers. Sure there’s a line about working with “a world class team” or “top players” but the job ads or recruitment conversations are mostly focused on two topics: “your skills” and “their needs”. Many IT recruitment processes are broken because of this very important factor. I cannot even begin to count my personal observations for talented people who excitedly started a job at a “top company” only to find themselves struggling with team culture or the chemistry with their manager. The manager is so important that I have a separate post about it: The most important decision you make in your professional life and beyond. So let’s talk about the rest.
Not everyone gets along with everyone. While some people may believe that their team culture is great, others may have difficulties “connecting to people” and have to leave because they don’t feel effective. Any large company has a wide spectrum of teams.
The “company culture” is a marketing myth. What you’re looking for is the “team culture” because each team is different.
The rule of thumb is to choose a company that lets you meet the team during the recruitment process. If you have the choice, always go for a team that values openness. Why openness is so important? Because it allows people from diverse walks of life to join forces together and create stronger products. Avoid homogeneous teams at any cost (unless it’s your first job). The most common demography for a software team is men in their 30’s. In my experience the greatest workplaces I’ve worked for have a healthy combination of male/female, introvert/extrovert, young/old, straight/LGBT, native/immigrant, etc. They don’t do it just to be nice to the society! This is way more important than that.
Each person brings something different to the table. We are not making products for males in their 30's!
Sadly I’ve learned it the hard way: at one job, the demography was noticeably different from any other company I have worked for: handsome male Swedes born in the 80’s was their formula for recruitment. When I referred a great British friend of mine to work with us, my manager dismissed the application saying: “our first priority is to hire locals and if we can’t find someone with our requirement we may consider people from other countries”. Needless to say all the awkward things Colin Moon jokingly says about Swedes where practiced! I quit and joined a very diverse company. I haven’t regretted a day ever since. The company parties are more genuine and fun (all those immigrants have different life stories to tell), the solutions are more practical (thanks to a diverse range of ideas) and generally I feel happier. (upcoming is a post about the 5 things your immigrant colleagues/classmates/friends secretly wish you knew).
The recruitment process for many companies feels like it’s set up for failure to meet the most important factor for both employer and employees.
If you don’t get a chance to meet your team during the recruitment process, you’re just gambling with your career.
Different companies have different cultures, but what’s common among all is that the type of the product they are building heavily affects the culture (more than people are willing to admit).
For example in my experience, the fintech attracts a certain type of people who enjoy working with money, something that is merely an idea according to Richard Kiyosaki. Such environments can have a gamified culture because people care too much about the numbers and sometimes it leads to unhealthy competition. Another example is the healthcare businesses that can be super slow (due to regulation) and outdated. This line of business attracts certain type of people who can’t make decisions and don’t mind hierarchies or endless meetings instead of actually trying something new.
At one job, I was working for a company that its main business was to sell short-term debts: you buy a product on credit and then end up part-paying it to the company plus the interests. On my last assignment, I was responsible to increase the conversion rate for their “buy” button. All the user studies suggested that if we hide the actual money that they end up paying, the conversion is much higher. There I faced a moral dilemma: if I do a good job, I get more people in debt. If I don’t, I’m not enjoying it. That was it. I quit that meaningless job and started at a cancer treatment planning software company.
Your time is limited on this planet. If you’re working, these are probably the best years of your life with your body at its peak. Don’t sacrifice that quantity and quality for no meaning.
In Hit-Refresh Satya Nadella explains how seeking meaning in everything he does helped this Indian immigrant to lead Microsoft to become one of the world’s top companies. For me, this sense of meaning is very important. When I get up in the morning I want to feel that my day is not gonna be lost to money, but it’s going to be a great opportunity to push humanity forward. Call me spoiled but there’s no other way I can get off my bed.
If you think about the job as a direct transition of time for money, the pay is probably the top reason to pick one job opportunity against another. It’s the 3rd factor in my list!
I’ll happily work for less money to get to work with great people and on an awesome product.
But not everyone thinks like that. We all have bills to pay and who doesn’t like a bit extra money? I have never been good at negotiation. My only strategy is to honestly tell what I make at my current job and usually the employer tops it up 5000 SEK (roughly 500$/month increase). At the end of one recruitment process, I had a strange call from my to-be manager. He said: “Alex we really liked you during the interview and we want to work with you but we cannot match the salary of your previous employer so we want you to go down 4%. I liked their product so I agreed. It was only after I started the job that I realized not everyone makes sacrifices about the money as easy as I did.
Don’t get me wrong: their pays were not higher than mine but I ended up with colleagues that estimated their worth correctly (or adjusted the amount of effort they put to work accordingly).
In The Passionate Programmer, Chad Fawler says: “Always be the worst guy in every band you’re in. — so you can learn. The people around you affect your performance. Choose your crowd wisely.” I really didn’t feel like the worst guy and that started to hurt after a few months. It seriously affected the tech skills, ambitious and potentials that the company had at its disposal to deliver products. Some bad decisions where made and executed even worse. This affected the quality of the product and eventually many people left including me.
If the company pays below the market range, you may end up working with people with the matching it and producing products with average quality.
The pay factor is usually correlated to the product and people:
- If the company is solving an important problem for a wide range of direct/indirect customers, it makes more money and offers a better pay
- top talent usually doesn’t sell themselves cheap, hence a company that has managed to hire skilled people often pays better to keep its human assets
The last item in the list is the place ie. the location of the office and the actual workplace.
The country matters
For example in the nordic region, all countries enjoy a good educational system but Sweden accommodating almost double the population of Finland or Norway is home to many famous digital companies (Spotify, Skype, Mindcraft, etc.). Even Google, Microsoft and Amazon have offices there to take advantage of the market.
The economy is a big contributor to the type of flourishing businesses. Norway’s talents are mostly focused in its oil & gas market while Finland and Sweden (due to lack of natural resources) have serious investments in the IT market. However, Finland’s tough immigration rules and language requirements have kept skilled workers at bay while you can live in Sweden for decades and survive only with English.
Country politics also play a strong rule: for example the recent changes in the US immigration regulations scared away the international student enrollment by 3.3% for the 2016–2017 academic year, and by a far higher 6.9% in the Fall 2017 semester. After Brexit not only the international workers got the tough end of the deal but it also diverted a number of talented people to the countries that are more open and promise a decent lifestyle.
The city matters
The offices in bigger cities usually enjoy a bigger pool of job seekers competing against each other to fill a position. Therefore the employers have the upper hand to hire top skilled people.
The region matters
If the place is central and easy to commute to, it absorbs talented people from a wider geographical range. Turns out not so many people want to work in a corner of the city, even if all the other factors (people, product, pay) are great. Weaker competition means less chance to hire top people. It’s not odd that this factor has a strong correlation with the previous factors:
- usually, the businesses that have a strong product, have a good money flow, and can afford a place that’s central
- the easier it is to access the workplace from a wider geographical area, the more chance the company must hire top talent
The workplace matters
The days of open office are over but is the employer willing to go the extra step and give up some of the precious space in favor of efficiency and productivity? Many top workplaces provide decent amount of mingling and meeting rooms, comfortable chairs and raising tables. Despite being the last item on the list, this is the one that affects your work life every day. Ideally you get the chance to see the workplace before signing the contract.
The place is not just a geographical Latitude:Longitude. It’s the definition of territory at the core of a brain that’s evolved for our hunter-gatherer species.
Update 2023–07–02: originally this post had only 4 items. 6 years later, I need to add an important one: your position on the ladder.
Your position in the chain of command and your reporting line has a significant effect on your impact radius.
I’m not saying that you should only apply for the highest possible positions. It should be the right level for you:
- Too high and it may be overwhelmingly exhausting to handle the challenges and responsibilities.
- Too low and it may be boring and unmotivating. Soon you’ll have to find your next job.
- A bit higher than your current skill level provides a sweet spot where you get to learn new skills at the job but still deliver value.
Unfortunately I learned this the expensive way:
- Too high: I got a job as a PM and it almost burned me out so I went back to engineering
- A bit higher: I got my first official staff engineering position after being a developer for several years. The soft-skills and leadership part was new learning, but I could use my technical skills to deliver value while self-onboarding. It was a very fun work experience and got me out of bed every day with lots of motivation.
Many companies use a career ladder to align company growth with personal growth, but most of the ladders are broken but it’s a huge red flag if:
- They don’t have any career ladder
- They claim the ladder doesn’t matter in their company and everybody is “empowered” (no they’re not)