I passed someone on the street the other day that I associate with a clique of people (that I’m not a member of). I realized that I had subconsciously pigeonholed her as a representative of “them” and that was how I thought of her – as a member of that group, not as an individual.
It occurred to me that I’m pretty sure that’s not how she sees herself at all. I mentally walked some steps in her shoes and realized that she probably spends most of her time helping her kids with homework, preparing meals, going to work, etc. In other words – her days are a lot like mine.
At that moment, I realized I had subconsciously perceived a barrier between us that didn’t actually exist. We concoct these groups and stick people into them. If we’re honest – we think we’re better than some of the groups, and we think some of the groups are better than we are.
How refreshing to realize that there is no “them”. There’s only “us”.
This one is geared towards my programmer brothers (and sisters!)
If you’re buying a suit, you can have one custom-made or you can buy “off the rack”. The Venn diagram intersection of software developers and people that have suits custom-made for them is pretty small (at least where I live), so most of us have embraced “off the rack” vs. custom when it comes to suits.
We need to learn to take the same approach to code.
Stereotypically (and I’m preaching to myself here as well as you) – we’d rather write our own functionality than use someone else’s. There are certainly exceptions to this. We all use 3rd party libraries like jQuery and iText, but I would argue this is for things that are either:
so comprehensive that it’s not feasible to do it ourselves (jQuery), or
something that we don’t know how to do and don’t want to take the time to learn (creating a PDF file from scratch)
If the task at hand is something we can do, our inclination is to do it ourselves instead of using someone else’s code. I’m currently working on a project that needs something to happen once a day (processing monthly subscription renewals), so I need something to virtually “press a button” to kick off a process once a day.
I’ve had a similar need many times in the past. I’ve written numerous Windows service programs whose only job was to wake up every minute, check a schedule and – if it’s the appropriate time – call a function.
The first time I did it, I didn’t really have any alternative and I was curious about how to write a Windows service. Today, those are no longer valid reasons.
A quick Google search this morning revealed that Microsoft Azure has something called Azure Functions that can be invoked on a schedule. (I’m sure there are other suitable offerings as well, like AWS Lambda functions.) There will be a little bit of a learning curve to use it the first time, but from a maintenance point of view – I need to let someone else worry about whether or not the machine that “presses this button once a day” is up and running.
I read something recently that I thought was insightful. It was that – “code is easier to write than to read”. (I wish I could remember where I read that so I could give proper credit.) I think that’s part of why we prefer home-grown (custom) code to someone else’s (off the rack).
There’s a certain “macho” (sorry sisters) programming mindset that says “I can do this better than anyone else”. Part of that came from disconnection. We didn’t know anyone that could do it better we could. In today’s connected world, that’s not really true anymore.
A pencil is a pretty simple object, but if you think of the manufacturing of a pencil – no one person would (I’m not even sure they could) perform all the steps needed to manufacture a pencil.* Older programmers (like me) grew up being a “jack of all trades”, but that isn’t an asset any more.
Let’s stop re-inventing the wheel, use that “off the rack” component and spend our time making something great.
I think I stole this from Seth Godin, but I’m not sure and I can’t find the post now.
My teenage son’s Xbox Live subscription expired and he wanted me to help him renew it. This annual ritual has become infamous in our house. All of my son’s have learned that this is going to put my in a “throw my keyboard through the window” kind of mood. It’s not a question of price (they are paying with their own money) or principle (I have no problem with them having an Xbox Live subscription). It’s all about Microsoft’s awful process for doing this.
Years ago, Microsoft had a Family Plan that worked well for us. Since they cancelled that offering, a parent helping their teenager renew is an awful process.
To renew my son’s account, I have to be logged on as him – even though the family relationship is still set up. Microsoft knows he’s my son. (I can change security and privacy settings for his account while logged in as myself.) This means we have to spend a few minutes figuring out what his login and password is. (This is the only thing he uses a Microsoft account for.) After we figure out his login credentials, we then have to get Microsoft to send us a code. (None of this is bad on it’s own – but it’s a lot of hoops to jump through.)
I have to save my credit card into his Microsoft account profile. That doesn’t feel right. Wait. Here’s an option to “Add money to his Microsoft account”. I like that better. I’m going to need to add $60. (The yearly renewal fee is $59.99.) That’s not an option. I can add $10 and then add $50 separately. I added $10 and then (based on previous Xbox Live renewal debacles) – the thought occurred to me “that would be just like them to not let the child use this money to renew Xbox Live”. So – before adding the other $50, I checked. My paranoia was justified.
Microsoft won’t let the child use the money you’ve added to their account to pay for an Xbox Live subscription. So even though they know I’m his father and will let me transfer money to his account – I still have to enter my credit card while logged into his account. I couldn’t find anywhere that says you wouldn’t be able to use this money for this purpose. (I looked.) I’m pretty sure this is because they turn on auto-renew by default. (If they just let him use the money in his account – they wouldn’t be able to charge my credit card in a year, when I’ve forgotten to cancel the renewal.)
You can’t just sign up for a one year (non-renewable) subscription. I made a point of carefully reading the Terms of Service to figure out when they would charge the renewal. It didn’t say specifically, but did say something along the lines of “your card may be charged a little before the subscription expires”. It also says “no refunds”.
They give terrible error messages. I posted this to Twitter a couple of years ago after a previous occurrence of this ritual. Got a similar error message this time. At this point, I have one browser (Edge) logged in as my son and another browser (Chrome) logged in as me, so I can try to figure out what setting I need to change to let him purchase the renewal. (Of course, the entire time – there’s a banner at the top of the page in Chrome suggesting that I try Edge.)
They won’t let me remove my credit card info from my son’s account. I did immediately change the auto-renew setting on the subscription to not renew in a year. (I was pleasantly surprised that was an option.) But – when I went to remove the credit card information from the Payment Methods in his account – it said that it couldn’t remove this because it was still being used. Recommended that I change the auto-renew setting (which I had already done).
This took me about 30 minutes to work through all of this. Then, I took deep breaths for about 15 minutes until the feeling of wanting to murder someone went away.
What’s to be learned from this? Eat your own dog food. Since Microsoft is who made that phrase famous – apparently there’s a little more to it than that. I feel certain that there are Microsoft employees who work in the Xbox division who have renewed their teenagers’ subscriptions. I’m wondering if they have watched adults who aren’t serious gamers do this process. My guess is no.
Am I getting carried away here? Maybe. Is this the end of the world? No. Am I exaggerating about how frustrating this was for me – at that point in time? Not a bit.
It’s a good rule of thumb to make the process your customers use to send you money as friction-less and pain-free as possible.
Well – at least I have a year before I have to fight this battle again.
By now, you’ve undoubtedly heard about the 50th anniversary edition of Sgt. Pepper’s Lonely Hearts Club Band. It was remixed by Giles Martin, son of original Beatles producer George Martin. If the word “remix” gives you pause in the context of a classic like Sgt. Pepper’s – don’t worry. It’s more of a restoration. You can read all the details elsewhere, but I wanted to put down a couple of thoughts.
It’s fantastic. Let’s just get that out of the way to begin with. Martin did a fabulous job. I can only imagine the pressure of feeling like “you better not screw this up” on something as beloved as this.
Since the album was originally released a few months before I was born, I obviously don’t remember that. What I do remember was the original CD release. In 1987 (I was in college), the Beatles albums were finally being released on CD. As I recall, they released them in batches – first 4 together, next 3 together, and then, on the 20th anniversary of its original release – the Sgt. Pepper CD was released by itself. I remember going to the record store (yes – there used to be record stores) that day to get it. Much ado was made about “It was 20 years today…” at that point. Hard to believe that that was 30 years ago (seems like yesterday). What’s not hard to believe is that the album is still hugely popular and influential.
I have said before that I think “Stay With Me” by The Faces has just about the perfect beginning to a rock and roll song. Listening to this, I realize the same thing can be said about “Lovely Rita”. The opening is perfect and even better on this version. Not only do the harmonies really pop, but even the kazoo sounds really come through.
I don’t usually think of Paul McCartney in the category of “best rock and roll bass players” – not because he’s not fantastic, but because what he doesn’t fill the traditional role of a bass player (John Paul Jones of Led Zeppelin is my favorite at this). He’s doing a completely different thing with the instrument. The bass line on “With A Little Help From My Friends” is a great example of this, and it really comes through now. I was listening to this while making breakfast this morning and realized I had a huge smile on my face. “Delightful” isn’t a word I use very often, but that’s the best word I can think of for it.
I love how you can really hear Paul, John, and George’s individual voices during the three part harmonies.
The cymbals are clearer and the kick drum really come through. (The end of “Good Morning Good Morning” is a great example of this.)
If you haven’t listened to it yet, set aside a few minutes. I definitely recommend headphones to really pick up all the nuances.
I’ve having a small project done at my house. The vendor hit a small snag and I’ve been waiting to find out how they’re going to resolve it. Yesterday, I called them because it had been a couple of days since I had heard anything and I was getting a little frustrated. This morning, I got a call back explaining what their plan is and I feel better about things, even though no additional actual work has been done yet.
It reminded me how powerful “appearance of motion” is for a project.
Don’t get me wrong – the project needs to be finished eventually. And – there are definitely some projects that absolutely, positively have to be done on time. But for most of what we do – you can buy yourself some goodwill (and some leeway to deal with the unexpected things that pop up along the way) if you will just continually give the client the feeling that things are moving in the right direction.
It’s easy to get buried in the weeds of doing the “real” work of moving towards the finish line. Don’t forget to take a second to keep the client in the loop.
I’ve heard some discussion in the press lately about whether or not a certain politician is “playing chess, while everyone else is playing checkers”. Whether or not that’s true – it got me to thinking about some people I know that probably think that about themselves. If I’m honest with myself, I’m sure I thought that’s what I was doing at times (or at least what I was trying to do).
It’s seductive to think that you’re operating on a completely different level than everyone else. Unfortunately, I think you’re usually just outsmarting yourself, not everyone else. Are you really going to be able to figure out a way to do this better than any one else has before? Occasionally – yes. Most of the time – no.
In many cases, I think this is looking for a shortcut as opposed to just doing the work. You’re probably better off just trying to get better at playing checkers.
I’ve noticed that a couple of non-fiction books I’ve read recently have really short chapters – frequently just a page or two. My initial reaction was “I didn’t know you could do that.” But I’ve realized – it’s good to make your point and move on.
As Jerry Seinfeld said – “Showmanship, George. When you hit that high note, say goodnight and walk off.”
I heard the always insightful Seth Godin say something along the lines of – great writing makes you feel like ‘That’s what I think. That’s what I meant to say. She just said it better.” (I can’t remember the exact quote, but that’s close enough for my purposes here.)
That’s how I feel about a book I just discovered – Unsubscribe by Jocelyn K. Glei. I had just written this post when I heard Gayle Allen’s Curious Minds podcast where she was talking about the book. If email is running your life (like most people), this is a great read.
I’ve observed that humans (myself included) are more interested in having been “right, all along” than in being “right, right now”. If we get new information that reveals our previous position to have been incorrect, our natural tendency is to deny it or to try and somehow justify that our previous position wasn’t actually incorrect after all. For some reason, this (defending ourselves from having been wrong) is more important than adjusting our position to be right at this point in time.
I first became aware of this from an unexpected source – college football polls. Until very recently, the NCAA didn’t award an official national championship in Division IA (now FBS) – so fans (myself included) paid (and still pay) a lot of attention to polls of sportswriters or coaches to determine “Who’s #1?”
Most voters have a preseason ranking of their “Top 25” teams and then release an updated ranking after every weekend’s games. Inevitably, some team (“Team A”) who was expected to be very good gets off to a slow start. They may have not lost a game yet, but their early season games against teams they were expected to trounce were much closer than expected. At the same time, some other team (“Team B”) that wasn’t expected to be as good is basically killing every team they are playing.
At that point in time, based on the actual performance on the field, Team B is clearly having a better season than Team A – but there seems to be some inertia keeping Team A ranked higher. It occurred to me that all the voters who predicted Team A to be #1 don’t want to admit that they were wrong. As long as it’s possible to apply some convoluted logic that lets their initial prediction be right, they’re going to stick with that.
I think we’re seeing this phenomenon in American politics now. At some point in the past, we picked a “team”. Now there are some things going on that suggest our team isn’t perfect, but we are hesitant to admit that because that might mean that we were wrong before. (I think this true of both sides.)
I think this is interesting because it’s possible to admit your team isn’t perfect without having to change your mind about your team being better than the alternative. But we don’t even like to do that. We want it to be obvious that we were right (and that you were wrong, which means that I’m better than you – right?)
None of us really knows what’s going to happen, but for some reason – we like the idea of being able to “read the tea leaves”. We like this so much that we subconsciously contort logic to keep our “prediction batting average” high. Let’s just admit that we don’t know (there’s no shame in not knowing) and take positions based on facts, without the inertia of needing to have been right all along.
I’ve been reading about how our desire for quick dopamine fixes has led to our smart phone addictions. (“Did anyone reply to my Tweet yet?”) When something new shows up on our phone, we get a quick shot of dopamine that makes us feel good. We like that feeling so we seek out ways to get another shot.
As soon as I read this, I was convicted that this was exactly what I was doing. I hope that “admitting that you have a problem is the first step to recovery.” I think being conscious of this has helped, at least a little so far.
The constant pursuit of the quick dopamine fix competes with spending time on long-term goals. Losing weight, writing a book, starting a new venture – none of these can happen instantly, overnight, or even in a few days or weeks. They require plodding, day after day, continued effort. That’s nowhere near as fun as the instant gratification you get when some “Likes” the picture from your recent trip.
“Gamification” has entered our vocabulary in the past few years. It’s why apps like Waze and Foursquare award you points for participating. Points and trophies make you feel like you are accomplishing something, even if it’s virtual.
When I think of gamification, it makes me think of someone else trying to get me to use their app, service, etc. more frequently than I otherwise would. But – you can use the same principal on yourself to help “addict” yourself to the daily grind on the path to your long-term goals.
Some fitness apps do this for you. The FitBit app rewards me for meeting my exercise goal 5 days in a row.
Try to gamify (“gamificate”?) your projects and goals. Do you want to write a book? Set a very reachable goal, something like – write 300 words a day. In 6 months, you’ll have written about 200 pages. Remember that 180 days x a few pages/day > 180 days x 0 pages/day.
This multiplying effect is the key to long-term success. Just like the tortoise – slow and steady wins the race.