Good compensation. Remote work. Smart people (depends on the team/department).
HR processes are not transparent at all. The bureaucracy that was recently introduced is inefficient (random salary benchmarks, relocation is a pain).
Performance review is absolutely subjective. The only way to get promoted is to connect to your LM. Nepotism over professionalism.
Retail department is hell. Chaotic approach. Big tech debt, but management wants to keep expanding. As the result, even trivial change takes forever. Mono-repository, good luck with waiting hours to run some tests.
High people turnover in the last 2 years. I saw lots of people leave because either they got bored, or they couldn't negotiate salary/relocation. As the result, there are many places with code that is not owned by anyone, that is hard to maintain.
In-house solution that doesn't work (ES).
Depending on the team - long hours. You have to protect yourself from it, otherwise, there would be many people who would want to use you without additional pay.
KPIs between teams/departments are not synchronized. Sometimes they even work against each other.
Teams are gathered from different locations. On the one hand, this may be a good opportunity for you to join any team, but on the other hand, there is no way when you can choose a team that is based in a certain location. Therefore, you cannot be in the same time zone and meet with your teammates in the office.
Fix performance review - it should be easy to follow and objective.
Fix HR processes - make them transparent.
Introduce a 40-hour work week (easy request for overtime money).
Pay attention to tech debt, as it makes it slower to implement new features and expand to new markets.
I applied online. The process took 2 weeks. A lot of stages including live coding tasks, common engineering problems discussion, and system design task. After passing the technical stages, there were 3 culture fit interviews with different teams.
1. Recruiter Interview Default HR interview, except there were some basic technical questions about concurrency, ACID, database transactions, and list transaction isolation options. The interviewer exhibited cold, robot-like behavior and spoke very
Convenient and interested HR. They asked basic Java questions. The live coding session involved a simple but complex task. However, the decision-making process afterwards was strange. I completed 2 out of 3 tasks and discussed all solution features,
I applied online. The process took 2 weeks. A lot of stages including live coding tasks, common engineering problems discussion, and system design task. After passing the technical stages, there were 3 culture fit interviews with different teams.
1. Recruiter Interview Default HR interview, except there were some basic technical questions about concurrency, ACID, database transactions, and list transaction isolation options. The interviewer exhibited cold, robot-like behavior and spoke very
Convenient and interested HR. They asked basic Java questions. The live coding session involved a simple but complex task. However, the decision-making process afterwards was strange. I completed 2 out of 3 tasks and discussed all solution features,