Are they too interested in tinkering with technical challenges? Do they over-estimate and under-deliver? Are they making technical choices that don't scale or aren't fault-tolerant?
The first thing to do is take maximum accountability. You need to improve the context and constraints inside which they work to improve their priorities and decisions.
Specifically...
Ensure they are organized into mission-driven, long-lived, cross-functional squads (Product managers, Engineering Managers and Engineers working together) rather than an amorphous "engineering team" or "core platform team".
Ensure each squad is led by a strong engineering manager with the right balance of technical credibility and business acumen
Ensure each squad has a strong Product manager who is setting priorities and creating lean, thin slices of minimum viable releases.
Ensure that Squads set ambitious outcome-driven OKRs. Key results with user adoption metrics or funnel conversion metrics are best. Launch dates are much less ideal. Unmeasurable Key Results are a fail.
Establish effective engineering-specific cultural values. How they should interact with each other, product, and other functions.
Establish high-quality technical principles that define how to approach problems. Testing, performance criteria, and more.
Develop principled performance review rubrics that operationalize the cultural values and technical principles. Without these, your values and principles are just words on a wiki.
Develop onboarding and professional development programs that educate on the values, principles, performance review process, etc
Hold people accountable. FIRE low performers
Hire better people - especially PMs that can push back on engineering (with better requirements, leaner scope, smaller iterations etc) and EMs that know how to encourage business-focused outcomes from engineers