An interview is only half the battle. In interviews, it is not always obvious how the work processes will actually be arranged, and the reality may not be so rosy. How to choose the project where you will be truly happy? Stack Overflow uses Joel’s dough – these are 12 questions that should help assess the quality of the team’s work. 12 simple questions, yes / no answers. But this list is already 20 years old, and Gergely Orosz spoke with many developers and adapted the test to modern realities… Here is the translation of several blocks and the developer’s comments: he just recently went to work for a new company.
Necessary, but not enough: 3 requirements for a new company
There are three points that Jerjeli calls basic: without them it is impossible to work comfortably and develop in a new place.
– psychological safety: do people feel safe expressing opinions that differ from those of the rest of the team?
– compensation worthy of your work: do you get a salary that matches the market?
– flexible working hours: can they flexibly organize their working hours?
The last point seems unclear, but in covid times there was a sharp increase in the number of positions at a distance. Therefore, in order to compete with each other for the best talent, companies must be flexible in terms of scheduling.
“It all started well: they invited me to a small project. It is developing rapidly, the team has a good technical level – this is very encouraging. And then – everything slipped somewhere.
The atmosphere is unhealthy – eternal political games. For example, they fired two colleagues who worked harder than everyone else, they did not explain the reasons. And in general, the team is unproductive – when no one wants to work, it becomes boring, I wanted more ambitious tasks.
They began to relocate all employees to Prague, and I was one step away from signing the documents – but I thought about it. Do I want to sign a contract for two years and stay with the team further? Not really.
Before that, I worked for an IT giant for a year – a big machine, a lot of bureaucracy, if you have your own ideas on how to improve the product, it is difficult to promote them. The managers have plans for two years ahead. Therefore, I decided to stick to my line: to look for some kind of startup.
I wanted to have enough freedom, so that the team did not create the appearance of being overloaded, but really worked. It should be a place where people are passionate about what they do.
I also like to work remotely. I wanted to keep the ability to choose my own pace of life.
Maybe IT workers are spoiled in comparison with other specialties: but on the other hand, if all companies have roughly equalized in terms of compensation, “coffee and buns in the kitchen,” IT specialists can really afford to choose the project that really responds whose values you share. Why put up with a boring project and an unpleasant team? ” – Artyom S.
5 questions about teamwork
Self-reliant and creative people thrive in companies where there is clarity of processes, the possibility of autonomy on the one hand and collaboration on the other. What aspects of the team’s work does Jerjeli suggest paying attention to? 4 points out of 5 can be fulfilled.
- Conditionality of actions. Is there a process that allows you to share business requests, why do you need to complete this or that task? Product roadmap, OKRs, company goals.
- Product backlog / roadmap and engineers who contribute to these processes. Does the team have a clear backlog that allows you to answer the question “what will be working on next and why”? Can engineers make suggestions to the roadmap? Does this prioritize proposals to repay technical debt?
- Direct communication in case of problems. Can developers communicate directly with developers on other teams? Or they should talk to their manager, who will talk to another manager, who will talk to another manager, who will talk to …
- Collaboration with specialists from other fields. Can developers work directly with designers, product managers, data scientists and other stakeholders without resorting to intermediaries such as managers?
- Initiative is encouraged. Are people rewarded with new ideas and initiatives, or are they considered a waste of attention?
“For 12 years in IT, I managed to work in both large and small companies. I threw some place, simply because I realized that it wasn’t catchy. And I came to work in a startup almost for free: because I got into a super-strong ideological team. The team was on fire: in the year of the football championship in Russia, we partnered with FIFA, Apple did featured – and all this without budgets, on one enthusiasm. We couldn’t find the right monetization scheme, so we decided to scatter, but the atmosphere itself was cool.
I thought about it when I saw Wheely – I knew about them and before looking for a job, I have acquaintances there. I accidentally saw a vacancy, talked to the guys, responded through bot – it really was more convenient. I decided that I didn’t want to go to Prague, I wanted to work normally.
They also coincided in ideological terms: Wheely refused provide data on the movement of its users.
You can work remotely – and that’s right, I think. I believe that if a person works, he will work from anywhere. And if he dodges responsibility, then in the office he will find an opportunity not to take it upon himself, ”- Artyom S.
5 questions about engineering culture
Stable engineering culture – so that specialists do not burn out at work and are not disappointed. These are the principles that most IT projects adhere to – and developers can quickly develop within the company. 4 points out of 5 can be fulfilled.
- Whether the stages “functional readiness” and “readiness for production” differ. Are there any differences between prototype, MVP and production ready product? Is there a quality checklist that the product is ready for release?
- Code review and testing – are they part of the routine development process, and their absence is a rare exception?
- Is the continuous integration process well established? Do you have a continuous deployment process to push code straight to production, and if not, can developers submit their own code to that environment?
- Oncall does not affect the health of employees. For projects with oncall, do they monitor how it affects the state of people and work on the product?
- Access to the source code. Can any developer view and contribute to the source code?
“At the old place of work, there were a lot of meetings with products, endless discussions, constantly sorting out and discussing something. But it was not possible in any way to establish processes within the team, something constantly interfered with someone. People were unhappy.
But it turns out that you can only call up once a day for 15 minutes, and that’s enough for everyone. Does it work like that? All Agile, Scrum, and other methodologies fail when the team is not well organized. The smallest effort is enough to start the processes and make the team comfortable to work.
And in order to move on, to strive for something new, an emotional component is needed, without it it will not work. If the project is not interesting in principle, it will most likely not be successful. In general, the corporate culture forms the developer’s interest, it seems to me “, – Artem S.
In addition to these two, the author singles out a separate block about career development in a particular company: the presence of a “feedback culture”, career ladder, managers with a technical background.
The list is good, but how practical is it? Jerjeli says that judging by his experience of communicating with developers from different countries, it is quite, and many innovative and fast-growing companies from FAANG to successful startups use these principles.
Do you think this is possible? And what is most important in the company? Please write in the comments.