Use the Fresh Washcloth Principle to Level Up your Software Skillset
We were a bit poor when I was a kid.
I always had enough to eat, but when you are poor, your mindset is a bit different. Call it the poverty mindset. Everything is scarce, you shouldn't ever waste. Don't spend money. Buy the cheapest things you can.
We grew up with that mindset until I was around 11 or 12, when we moved and my dad got a better job. However, some of those mindsets and thought patterns remained, even into adulthood.
How Many Times Should You Use A Washcloth?
The grossest one is that we would reuse washcloths.
I don't mean reusing by running them through the washing machine between showers. I mean using the same washcloth for a week without putting it through the laundry.
Gross, right? You're basically just wiping the grime and germs back onto your body each shower.
We did this as a kid because we were always taught not to waste, and to make sure we didn't use more than we had. Poverty mindset.
Like many of these childhood learnings, I had to unlearn this as an adult because our circumstances change. However, it happened embarrassingly later than you would hope.
Introducing: A Non-Weirdo
Long after I was out on my own and married, my wife and I went on a week-long vacation to rest and relax. We asked a friend to be our house sitter during the trip, and gave her free reign of the house while we were gone. During cleanup after we returned from our vacation, I noticed that she had used a ton of washcloths while we were gone: one for each day of the week. This confounded me, and I asked my wife "Is she using a new washcloth every time she showers?"
My wife gave me a look and said "well yes, that's what a lot of people do".
My jaw dropped, and I had no idea what to say, because of course it made sense. I was the weird one, not our house sitter. I recognized that I'd been doing it wrong for decades by that point.
Sometimes you need to be exposed to someone who uses a fresh washcloth every day to notice that there are better ways to do things.
It's similar to the mentor model, except these skills are naturally acquired with observation.
Admitting You Have a Problem
Good habits are tough to get started on if you don't know they exist, so the first step is exposure. You'll also be more likely to acquire someone else's habits if you are constantly exposed to them, especially if their habit or skill is superior to your own style.
So here's the principle:
- Expose yourself to other people
- Observe what they do
- See if their habits and practices are better than your own
- Adopt the best ones
If you do this over and over, and refine your skillset over time, you'll be able to stand on the shoulders of giants.
Software Development Worst Practices
In the software world, this is a common problem. Many of my clients are instantly better off once they are exposed to better ways of doing things. It's not that they are stupid, or don't follow any best practices, but we all know that software is complex, and even experienced developers are not omniscient gods.
Developing good habits and turning them into routine processes is a crucial step for all software developers and organizations.
Where To Get Exposure?
So, the big question is, how do you get this exposure? As a developer, you should be aiming to learn from other people on your team, and sharing knowledge across other teams, when possible. If your company isn't large enough for this opportunity, don't worry! There are many other opportunities too.
Contributing to open source software, or at the very least just observing how it is built, is commonly useful.
Mentors, meetups, courses, and groups are also super helpful.
Changing companies or teams is a good way to exposure yourself to a new group of developers as well.
And finally, my favorite is for people to hire software best practices consultants, because that's what I do for a living 😉
Good consultants frequently have a breadth of exposure that even senior developers won't get, and although there are bad apples, there are many excellent consultants with a lot of best practices to share.
I talk about software development best practices on Twitter, come talk to me there! @jordanambra