I am working in a startup. The tech team is small. The company looks like economically is doing fine. So we are hiring new developers. A new one is coming in a month. This person contacted me on LinkedIn and asked my opinion about the company.
Here it is were the problem arises. The company is not a good place for a developer with a minimum of self-love: the codebase is terrible, tons of spaghetti code, patterns are not followed or are wrongly implemented, no linting, no tests, no peer review, no style guidelines, no continuous integration, huge bugs on production and a technical debt that every day rises and will never be paid (refactoring would require days if not weeks). Unless it is a real blocker tickets about bugs are forgotten.
There are also issues about planning: time needed is constantly underestimated, and often there are big changes made on requirements at the very last minute before the deadline. This had the consequence of having to work some weekends from home. Obviously not paid work.
The technical manager does not have as a priority code neatness. The rest of the team are great work mates, but due to time constraints the code they write is not as great. There are always features to deliver. "Make it work (at any cost)" is the ultimate goal.
I have been working on many other companies and I can fortunately say that what happens at this company is not normal.
Definitively, this company is not an attractive choice if someone was aware of all these issues.
What should I say to this newcomer? Should not I reply at all if I do not want to get into trouble?
Several-months-later update: in the end I replied with a short generic answer, not very enthusiastically but at the same time without mentioning any of the specific company's problems described here. This person left three months after starting. And after checking their LinkedIn they have added the new position at a different company, yet not the short working experience at ours. To be fair, it wasn't all our company's fault. Another developer who started roughly at the same time has stayed much longer.
Eventually I left the company. Beside the constant code and project management problems, my experience at it could be considered as OK.
Final conclusion: after reading the answers here, and after the action I decided to take, my humble approach in this case was that providing all these details would have been problematic for me as it could have jeopardised my position, and it could also have given a too subjective opinion of the company that could be different if you asked some other workmate (even when most of the issues described were facts). In the end, the responsibility of getting a first impression of a company is of the newcomer. Providing this kind of details at this stage of the hiring process won't help anyone involved in the message exchange.