I wish you luck in your endeavors, and suggest that it will probably improve.
I have made (and continue to make) many mistakes. Some, are used as leverage by others, to attack me. Most, I find them, myself, and feel like a jackass, but the problem gets fixed (sometimes, in both cases, but always, in the second case), and the lesson gets learned (in both cases).
I'm generally my own harshest critic. I expect a lot from myself, and don't cut myself much slack.
I've come to learn that having a critical and unvarnished self-awareness, takes the teeth out of whatever anyone else thinks of me.
Call it a "fearless and searching self-inventory." I know myself, quite well. There's a bunch of stuff that I'm really good at -way above average-, but there's ten times as much stuff I'm not good at -some, embarrassingly bad. I need to have a clear and unbiased awareness of this.
I don't hide what I'm good at -and that often ends up with people calling me "arrogant," but I also don't claim expertise in stuff I'm not good at, I welcome valid criticism, and self-correct, when necessary.
I now believe and do stuff that, once upon a time, I scoffed at.
"Good judgment comes from experience. Experience comes from bad judgment."
When it comes to criticism of my work, it's often context-sensitive. For example, thread-studly code can look quite primitive, because we aren't doing fancy stuff in a long line, but doing simple stuff in small chunks, and being careful where we get it, and where we put it, or we don't DRY, because we don't want to break cache or pipelines. We may also write code that is designed to be maintained by less-skilled engineers, so claims of "overengineering" may have merit, whereas, if we are writing code that we, or a skilled engineer, will maintain, then getting fancy is fine.
Much criticism actually comes from personal insecurity. We may feel bad, but the person delivering the criticism may feel worse. If I'm on a team with them, then it might be a good idea for me to be empathetic, polite and forgiving, as opposed to telling them to go piss up a rope, or sawing on my wrist with a butterknife over it. Maybe simply explaining why we are doing things the way we are, could actually teach them, or reacting politely, when they are deliberately trying to goad us, may help teach them to be better team members.
The lessons aren't always technical, and they can go both ways.
Also, I am often wrong, and become right, by admitting that -even if it is humbling and embarrassing. Just because someone else is delivering their criticism like a jerk, doesn't mean they are wrong.
I have made (and continue to make) many mistakes. Some, are used as leverage by others, to attack me. Most, I find them, myself, and feel like a jackass, but the problem gets fixed (sometimes, in both cases, but always, in the second case), and the lesson gets learned (in both cases).
I'm generally my own harshest critic. I expect a lot from myself, and don't cut myself much slack.
I've come to learn that having a critical and unvarnished self-awareness, takes the teeth out of whatever anyone else thinks of me.
Call it a "fearless and searching self-inventory." I know myself, quite well. There's a bunch of stuff that I'm really good at -way above average-, but there's ten times as much stuff I'm not good at -some, embarrassingly bad. I need to have a clear and unbiased awareness of this.
I don't hide what I'm good at -and that often ends up with people calling me "arrogant," but I also don't claim expertise in stuff I'm not good at, I welcome valid criticism, and self-correct, when necessary.
I now believe and do stuff that, once upon a time, I scoffed at.
"Good judgment comes from experience. Experience comes from bad judgment."
When it comes to criticism of my work, it's often context-sensitive. For example, thread-studly code can look quite primitive, because we aren't doing fancy stuff in a long line, but doing simple stuff in small chunks, and being careful where we get it, and where we put it, or we don't DRY, because we don't want to break cache or pipelines. We may also write code that is designed to be maintained by less-skilled engineers, so claims of "overengineering" may have merit, whereas, if we are writing code that we, or a skilled engineer, will maintain, then getting fancy is fine.
Much criticism actually comes from personal insecurity. We may feel bad, but the person delivering the criticism may feel worse. If I'm on a team with them, then it might be a good idea for me to be empathetic, polite and forgiving, as opposed to telling them to go piss up a rope, or sawing on my wrist with a butterknife over it. Maybe simply explaining why we are doing things the way we are, could actually teach them, or reacting politely, when they are deliberately trying to goad us, may help teach them to be better team members.
The lessons aren't always technical, and they can go both ways.
Also, I am often wrong, and become right, by admitting that -even if it is humbling and embarrassing. Just because someone else is delivering their criticism like a jerk, doesn't mean they are wrong.