Good enough for someone to pay me for it. I've learned not to think too hard about it beyond that.
Programming or knowledge about that has such a high ceiling that the own knowlege always looks like nothing. I always tell myself i do alright to turn down my insecrurities.
Some cartoonist said everyone has ten thousand bad drawings in them, and the only way to get them out is to draw them.
Everyone's supply of bad code is limitless.
The engineering maxim is that to build something right you have to build it twice, but really, you can keep coding the same thing over and over and over, indefinitely, and you'll keep finding ways that past-you was an idiot. You'll discover there's some terribly clever and beautifully clean way to solve a problem that was once a tremendous pain in the ass. You make this look like progress and growth by abandoning things (sorry, "shipping") and using those clever new solutions in new projects.
In other words, we can't worry that our code might be terrible. It is. Everyone's is, to a more trained eye. And if there's some living ur-coder who is above all others, they look back at things they did last week and mutter "well that was dumb."
I mean that's exactly me only that my boss and some coworkers who are super nerds keep praising my working-for-only-1-year-now ass so it's a battle between insecurities and people telling me I'm doing good.
I have an even bigger problem. I have no reference within my company, I am the one who knows the most about programming, which is why praise is inherently hollow because it comes from people who couldn't make a proper judgement on that.
It's like me praising someone playing the piano. Like, I can tell if I like it, but this goes basically only to the point of recognize if someone just plays very badly or not.
Your self-awareness is a good sign. My predecessor was a self-taught cowboy coder with no one to draw comparisons with. He was the lead (read: only) software engineer at my company, barring fresh graduates that didn't know any better.
Then I came along to point out all of his anti-patterns & cruft. By that point, he was too entrenched & self-assured in his abilities to listen to reason. Some people have imposter syndrome, others are imposters that failed upwards in spite of their incompetence.
Sean, if you're reading this - fuck you. I'm still coming across code you refuctored
Dang man. Hitting me in the feels.
You clearly have it worse. I find myself really lucky because I started out in a rather small company but with some very passionate programmers whom I can look up to.
Trust your coworkers. If you sucked, they wouldn't be saying that.
I've seen the code scientists and engineers (not programmers) write. It's real bad
Me: "Yes"
It’s a big of a problem.
amogus