How to match with your future potential employer? [JS dev perspective]
Published: 2023-02-27 16:00:00

As all of you know, recently the buzzword of the IT world is "layoffs". Since it started touching also my network I had to remind myself about a short useful list that I created some time ago.
After spending a significant amount of time in a great organizational culture when You are forced to switch the company, some of the obvious things might be also obvious to your future employer. **But in a totally different way!** So that's why the recruitment process is also a two-directional benefit - the company needs to know You better but You also have to identify: is your potential future team the right match. There is no worse thing than answering to questions like _"Do You have any questions about us?"_ with _"No, everything is clear!"_. It never is.

---

To improve the matchmaking process in the early stages I have created a list of important questions that need to be answered (by you itself, or by the company). **There are no right or bad answers** (_"Did You prefer remote/async or in-office work?"_, _"How did You track time?"_) but some of the company perks were crucial to my career from a wider perspective. For me, it is also an opportunity to say a big thank You to people that helped me develop myself in the startup/VC/web dev world!

So... without further delay, let's get started!

- What’s the type of company? Is this an agency/software house/consulting or a product company developing an application in-house? Or maybe a hybrid (like SH developing some internal tool/SaaS)? Ask yourself: do You want to work directly with the product team or rather with clients that could change quite often in the web agency world? SH might provide You with an extreme career/knowledge boost. On the other hand, in the product company, You will get to know the domain inside-out.
- How many products/apps do You maintain or how many clients apps are You currently developing? How many repositories/microservices? What is the tech stack? Is it easy to switch between them or maybe developers are maintaining them all at once? In what way developers are getting assigned to projects?
- Do You have a solid, tested tech stack/tech radar? What about trying hyped/new technologies (svelte, remix, playwright)? Did You prefer to stick with well-known/stable solutions? Are there any opportunities to try something new during the work? Without an amazing polish startup and playing with React decades ago I would probably be still djQuery or CSS-developer 😉
- Do You have established career paths? Did You use any evaluation framework (for salary benchmarking etc.)? Do You have regular quarterly/yearly 1:1 meetings when You are discussing salaries/development/plans/goals or rather do this ad-hoc when needed?
- _follow up on prev question:_ Are You collecting peers-feedback? via 15five or any other tools?
- _(remote-first companies)_ Did You differentiate employee salary based on location/country?
- _(more formal/financial stuff)_ Do you have any bonuses for the basic salary? What is the PTO policy(paid/unpaid)? How many days, what about sick leave/childcare? If unlimited PTO - how it works and what are your opinions about it?
- What time-tracking system did You use (if any)? What about over-hours?
- _(influence on the product)_ Are You organising any on-site workshops to discuss future features and refine them with the product team or clients?
- _follow up to prev:_ Are developers involved in feature-scoping/refinements? Did we rather get problems to solve (and then create solutions, tasks, and implementation) or rather get defined requirements/confirmed designs which need to be implemented?
- What does the product lifecycle look like? How long are sprints? How often do You add new features? How are You managing releases or Continues Delivery?
- What are Your QA and testing practices? Do You have a manual QA process? What about e2e and unit tests and code coverage? There is no good or bad answer but forcing 100% CC in the frontend world might be a red flag 😬.
- What’s your understanding of remote (and/or) async work? [side note: please read async/remote by Andrzej Krzywda & R. Pankowiecki] Do You have no-meeting-days? How many planning/retro/refinement and daily meetings do You have during the week? What’s your preferred way of communication/documentation (slack/jira/notion/huddles/meets)?
- What do development teams look like? Fully cross-functional or rather specialized in a single domain? How the company structure looks like and where are the developers there?
- What are the options for company equipment/laptops? Can we work on our personal PC/Macbook? Can we pick between dell/macbook/other or size (14 vs 16) and so on? What about external monitors or a home office budget? It might look like a weird question but for one of the companies, it was obvious that I will be working on a personal PC (so secure!) and it came out really late.
- Are You delegating some work to other companies? Like DevOps, infrastructure, copywriting, and design?
- What does the distribution of the developer seniority look like? Do you work mostly with experienced senior/staff? Do You hire juniors/interns?
- Do You have any code-related best practices/documentation/storybooks? Any internal tools, libraries, or maybe an internal npm repository?
- How did You communicate with the backend team? API contracts, API documentation? Swagger, GraphQl schema? Any code-gen tools for creating utils/types based on the API scheme?

_and last but not least:_
- what is the weakest part of <u>your</u> team and where do You see the company in the next 5 years? 🥸

If some other important parts are missing please let me know! The v2 version definitely should be shortened and rearranged.