Software engineering is a buyer's market
Where the buyer is the employee and the seller is the company. You can argue about who is the seller here, but for the sake of consistency I'm going to stick with the definition of seller = company / buyer = dev. If you think it should be the other way, invert the words in my answer, the core answer remains unchanged.
In a buyer's market, the customer has a wide range of choice of stores where they can go buy the product they need. Think of it like a car dealership: many brands of car exist, and I'm sure I would find a suitable and affordable car in any dealership. So you're going to have to convince me why I should be buying a car from your dealership.
This generally leads to dealerships catching consumer's attention through discounts, personal customer care, good service, ...
A good comparison here can be found in the Android ecosystem versus the iOS ecosystem. For this example, assume that people will choose Android/iOS and will never move from one to the other.
Apple intentionally keeps it a seller's market by ensuring that only they produce their iPhones and iPads. This gives them leverage over the customer, leading to higher prices and what most people consider anti-consumer decisions such as removing the headphone jack. The consumer can't go anywhere else to buy their iPhone anyway, so Apple can do this while still expecting the consumer to come to them.
Comparatively, Android is much more of a buyer's market, as there are multiple manufacturers of Android smartphones. If one Android smartphone manufacturer were to drive up costs or make anti-consumer decisions, customers can switch over to another Android smartphone manufacturer easily.
In this scenario, the customers are not guaranteed to return to the same manufacturer (as there are many of them to choose from), and therefore the manufacturer has to work harder at retaining its customer base.
Software development jobs are plentiful, and software engineers have a wide range of companies that are hiring. They're going to find a good job in many companies. So you're going to have to convince them to develop software at your company.
Much like the dealerships, this is going to lead to companies giving incentives to developers that their competitors don't offer (or offer less of): remote working, flexibly hours, above average salaries, great working atmosphere, ...
- One quit after his request for a paid software tool called Jetbrains was denied.
- Another quit after 3 months as he didn't know how he was evaluated (we use Scrum, so there aren't close performance stats as that defeats the project management style).
- Yet another quit over not seeing a clear promotion track technically.
From their point of view, your company is a low-budget company (no money for tooling), offers no clear career advancement (no promotion track) nor any reasonable system for awarding career advancement (no performance tracking).
Right now, your company is failing at the "convince them to develop software at your company" point of things. Simply put, your competitors (i.e. other companies with job openings) have much more to offer to software developers, so it's only natural for them to leave your company for one with a much better offer.