Not Perfect, Just Better(satfax.substack.com) |
Not Perfect, Just Better(satfax.substack.com) |
That desire for perfection can also be a desire to be done. To have it finished and get closure. It's hard to accept that some things are going to take a long time or a lifetime.
It's what I tried to capture in the post, but probably could have put better.
The sense of just taking the steps I can today, rather than burdening myself with the expectation of needing to have worked it all out and achieved all of my comparison-driven life goals.
The key is to find healthy rhythms that help us continue to better ourselves over time.
I did similar too. Amongst the dozens of despicable things, one of the precious few good things to come out of a divorce is the new appreciation and deep understanding of God accepting us just as we are. Married or not, perfect or not (mostly not!), guilty or not. He pursues us, loves us, and improves us, slowly, over time.
when i read caps i can almost feel the author's resentment at having had to reach for one of those shift keys and break up their typing rhythm, when without them text can flow so easily.
I find it harder to read and it comes across as the author using a passive aggressive tone where they can't be bothered to form sentences properly.
Probably the best way to describe it is, itwouldbelikesomeonenotbotheringtousespacesandexpectingyoutomakesenseofit. It makes communication harder.
Personally the caps are second nature. You may find me sending U's and O's before you see me sending i's :-)
When I first began cutting up oxen, all I could see was the ox itself. After three years, I no longer saw the ox as a whole. And now—now I meet it with my spirit and don’t look with my eyes. My senses and conscious awareness have shut down and my spiritual desires take me away. I follow the Heavenly pattern of the ox, thrusting into the big hollows, guiding the knife through the big openings, and adapting my motions to the fixed structure of the ox. In this way, I never touch the smallest ligament or tendon, much less a main joint.
Thanks for sharing!
Striving for perfection is a toxic habit (not just to your team, but to yourself too). However, there's also a category of people that write sloppy/unthoughtful code at the expense of their colleagues. Often times this is just due to inexperience, and we should reach out with advice and mentorship, but also have patience with their pace of improvement.
However, there's also a subset of people who abuse this compassion to get away with being sloppy intentionally (ie lazy). We should be mindful that these people exist, as they also create resentment/contempt, which also creates a toxic work environment.
It's different from the one I tend to apply, in my own work.
I used to work for a famous Japanese imaging corporation. Their brand was pretty much synonymous with "Quality."
They got that way, by practicing Perfection as a religion. It could be very, very tough, to deal with, but it gave me a great appreciation for a Quality mindset, in my own work.
The result is that even my lash-up, throwaway code, tends to be better than many folks' final release code.
This has great advantages for me. In fact, I just experienced one, a few minutes ago. If the baseline code is of as high Quality as I can possibly make it, then I can avoid lash-ups, or at least, reduce their severity, later. I refactored a fairly complex server interaction timeline, and it was made much easier, because I was pretty damn anal, when I first wrote it, maybe six months ago.
I can fall into perfectionism, but I find this a suboptimal mindset for healthy outcomes.
Excellence seems the far better path.
Keeping a high bar still, but not expecting something that's unreasonable.
Continuing to challenge yourself to get better, but not expecting yourself to have achieved something already that's out of your grasp.
For me it's about trajectory and momentum over perfection.
It's fine to solve a vague problem by simply having the machine ask for human direction in a few cases. It's not fine to have the machine do something inappropriate or crash because a valid case wasn't handled in any way.
Everything below these vague areas can, and should, be perfect. People who claim this be an unobtainable goal are liars.
You may want to rethink this one
It is a lot of pressure. Not for the faint of heart. They are demanding as hell. Their testing/QA is crazy. 3,000-line Excel punchlists. If even one item on that list fails, the whole shooting match is sent back.
You can't argue with the results, though. They have been selling very expensive optical gear, for over 100 years, and people base their entire careers on this gear.
That said, I think they are really struggling, these days, and I believe that their conservatism and rigidity play a big part in that.
This is not embracing mediocrity, it is not disengagement, slacking, or merely rejecting perfectionism. It is understanding that the process of growth and improvement exacts a toll, and that growth is not always a pure function of time invested.
Intentionally sloppy vs. inexperienced/tired/overworked/ADHD sloppy
I'd say I probably had a handful of such colleagues out of roughly ~70 devs I've worked with. They were all good people though, and had different reasons for their "sloppyness," but I think it kinda boiled down to being slightly more insecure and egotistical, or self-serving than I'm personally comfortable with (not that I hold it against them; all these traits are gradients). One was very open that he doesn't care about maintenance burden, and couldn't understand why I'm frustrated by the idea of amalgamated hacks. It was just the cost doing business to him. I sometimes think about this attitude and the wonder of I'd be happier by caring less about quality and maintainability than I do right now.
There's other components to all the other kinds you listed, IMO. People who are inexperienced tend to learn from their mistakes and don't repeat them (or at least try not to) once they know better. People who are tired/burnt out also show this indirectly outside of code in different ways. And people with ADHD don't tend to be sloppy in my experience, but they tend to just have a more erratic cadence (depending on how well they can maintain focus), or just be a bit sporadic (ie not get anything done for almost two weeks then have a barrage of PRs on Thursday/Friday).
All of these can be addressed if the person is willing to improve, though.
Probably. Do they get paid any less than you? At the end of the day it’s your employer that benefits from your commitment to quality, not you. Your employer is also the one paying your colleague, so unless your his/her boss it’s not really you who gets to judge the quality of their work.
Like you said, it is a gradient. We are all a bit different, in my work it was much more beneficial to me and everyone involved to just understand each other honestly, without judgement. That way it is much easier for everyone to find a good path to work happily and grow as people.
Some do not want to improve that much and I still think it's ok as long as it doesn't hinder anyone else's work. They may get switched to simpler and less challenging work over time but there's usually plenty of that to go around.