That said, surely there must be a less blunt way of saying it? Something like "I believe in the team, but we still need improvement".
That said, surely there must be a less blunt way of saying it? Something like "I believe in the team, but we still need improvement".
One piece of advice I give all new jr devs (I've mentored more than 100 at this point) is: "Don't feel feelings about your code, because your code doesn't feel any feelings about you. Investing emotions in your code is entering into an abusive relationship".
It's hard when you're proud of something you made and it gets criticized, or replaced in production in a short amount of time, or immediately polluted by somebody who doesn't seem to care as much as you did. Try to realize that the actionable grievance is the wasted time and effort. It can be hard to get people to respect your feelings, but it is pretty easy to make a case that wasting your time and effort should be avoided.
I’ll caveat that I’m not sure what exactly OP was saying “suck” about: there’s a form of that that’s just an insult, and those are never helpful or appropriate.
But I and my team, for example, suck at writing and vetting kernel code, and at vetting every single package in the supply chain—so we’ll hire Red Hat or somebody. We suck more than we think we do at cryptography, so we’ll use a library rather than try and spin our own.
With respect to your alternate phrasing—when I say we suck at a thing (to our team who all communicate that way), I don’t think that means we need improvement and I don’t believe in our team to realistically wake up to be kernel hackers—they would agree—and I think that’s fine! Nobody wants us to be! Being honest and realistic about our self-appraisals helps us make better choices. As does routinely being appreciative and supportive of each other about things we don’t suck at.