My steps to find a great job fit
By: Leandro Gomes Da Silva
Tags: Job Hunting, Careers, Technology, Software Development

Nowadays I have been seeing an increased variety of jobs in Tech. With so many options and all those amazing job descriptions sometimes I get afraid of applying to a new role to find out, later, that it wasn’t what I was looking for.

When I mentioned that with my therapist we started working on my insecurities and all the disappointment I already faced in my 5+ years of experience. Because of that, I was able to come up with some key strengths that I value most in a company and what strategies I could follow to make sure that it would be a good fit for me.

As I realized already, I value informal workplaces where people enjoy their working days and companies in which the product has a good quality. With that being said, I came up with a few topics to check during the interview process and how to find the answers.

Positive feedback from employees

The first thing that I look at about a company is the work environment. Is it formal, or informal? What are the complaints about the managers and directors? Do people have fun working there?

I use to say that the tech world is small. Working as a Software Engineer in Portugal allowed me to meet many people from different places in the world. Some of them are Brazilians that worked with me in the past, or that we just talked once in a conference or even people that interviewed me for positions that turned out not to be a good fit. There is always someone that knows someone else who works for that company. Go on, hit send in that message to request feedback about the environment.

A good place to have a broader picture of the environment is Glassdoor.com. I look at all the cons from recent comments (last 3 months) for a pattern. Usually, companies with bad environments are marked with several comments about how bad the management layer is, about how the company values HIPPO (highest paid person’s opinion), or the long hours that the employees have to make.

With feedback from both current and past employees and all the reviews from Glassdoor, you probably already have enough information to decide on whether to keep evaluating the company or not.

Strong engineering team and culture

Strong engineering culture is almost impossible to achieve when a company has a high employee turnover rate. You could search on Linkedin for people who work on a specific company, looking for someone who works in there for more than 1 and a half years. Use this search also to identify the work experience of the team. Talk with a friend about this company.

A different source of information is the company career page. Usually, they have videos and information about core values, benefits, and the environment. Sometimes you can even find a blog with more information about solutions for tech problems they had or information about the company’s growth and strategies.

One question that I started to ask in every interview is about the support for engineers to attend conferences. If there is no budget to help the team to attend good conferences, I don’t believe that the engineering will be using the best practices and tools. Attending conferences also helps disseminate the culture of sharing, which I consider to be very important.

A product that customers love

If you ever used a terrible product or service, you probably ended up cursing the company and speaking terrible things about it. Do you want to be the engineer behind it? I know I don’t.

The best way to know if customers love the product is to use it yourself. Download the app, create an account on the service, and explore it for a while. This approach probably won’t work for a B2B company, so try to look on its website for current customers to see if you know the brands that work with them.

A data-driven company

Being data-driven, to me, means that the work I’ll do has a high probability of being meaningful. I want to understand the problems I’m trying to fix and how it changes the customer’s life or work. To do so, a company must have a strong Data team and the decisions must be based on key metrics.

During interviews, ask about how the engineering team creates a backlog. Where does the work come from? If the conversation does not start with key metrics to guide the company and never mentions metrics at all, this is a red flag. Probably the backlog comes from top-down requests or the sales team. There are definitely exceptions on this, just keep in mind that if being data-driven does not show up in mid-term goals, it may never be prioritized at all.

Freedom to make technological decisions

What is the role of a Software Engineer in that company? Engineers works as executors (they just type code) or they act like owners? The second is usually associated with better tools and freedom to choose your battles.

This is directly related to the way I like to work. I’m not a lonely wolf, but I need to have some time on my own to analyze metrics and document flows to only then work with the team to propose a solution.

I want to be able to develop scalable and maintainable code whenever possible. To do so, an engineer must have the freedom to make decisions. Should we build a new service? Is there any part of the system that needs refactoring? Having a non-technical person telling the engineering team how to do their jobs will not give you time to reason about technical debts or quality.

On an interview ask about how they ensure code quality. I expect to hear about a CI that runs at least test and linting. Low test coverage is also a red flag, it tells me that the company cares more about delivering everything on time than delivering parts of it with good quality. If it is an old codebase, the team may not be worried about refactoring existing code.

Opportunity to make an impact on the business

By having data to support your ideas and the freedom to put them into practice you will realize, in the end, that you have the right conditions to cause some impact in the business. You will have a say in business decisions.

I usually find it very difficult to have an impact on a large organization, especially if your team takes care of such a small piece of the product. But working in a smaller scope gives you different opportunities. You’ll start working on scalability problems and performance.

This can be easily identified in an interview by asking about the team structure and their scope. You can also ask about the current challenges that this team is dealing with right now and what are the plans for the next 12 months.