You're reading Sentences, etc., a design and development blog by Justin Michael.

Road Trip

July 7, 2016 • Link to this Entry

“Don’t let the fear of failure stop you from achieving your goals.”

Has someone ever said something like that to you? Have you read something like that before now? Probably. It’s pretty common advice. But have you thought about what it really means? Have you considered what it would mean for your life if you really didn’t let fear stop you?

Let’s turn it around. How would you act, what would you do, if you knew you were going to succeed? Take a moment and think about it, because that’s what we’re really talking about here. If you expect to succeed you’re not going to let your fear of failure stop you.

Think of the path to your goals as a road trip. Some road trips are short, others are long, but all road trips require three things: planning, time, and money.

It all starts with planning. You don’t just get in your car and drive hundreds or thousands of miles on whim. You make sure you really want to go to your destination. You figure out your route in advance. You plan your stops along the way. You get your car checked out before you depart. You schedule your road trip and dedicate time to it. You come up with a budget, which means you might need to save a little or earn a little extra before you leave.

You make many arrangements long before you get behind the wheel, but you know what you don’t do when you’re planning a road trip? You don’t let fear stop you. You assume and expect your road trip to work out just fine as long as you plan it out and use common sense despite the fact that there’s a ton of stuff that can go wrong during a road trip:

Those are just what I could think of off the top of my head. A road trip is far from risk-free. A lot can go wrong. So why doesn’t fear of failure stop most people from taking road trips?

They know that most of what can go wrong can be mitigated by planning and common sense. They know that they have a support system they can depend on along the way, be it friends or family they can call or roadside assistance they’ve budgeted for. They know that many other people take road trips every day without any issues. They know that getting hit by a meteorite is such an unlikely possibility that it doesn’t even factor in when they plan a road trip.

What it all boils down to is that people go on road trips all the time because they expect to get where they’re going. They expect to succeed. They plan, they prepare, they take the risks, and they arrive.

So are you making progress toward your goals, or are you letting fear of flat tire stop you? Are you fretting over running out of money or are you planning a budget and saving? Are you worried you’ll get lost or are you planning a route and finding a support system you can depend on? Are you worried about a meteorite, or have you realized that you can never eliminate all risk, and some risks are worth taking?

You have to expect to achieve your goals. You can’t just hop in the car one day and start driving, but if you plan, prepare, and take calculated risks you can achieve them.

Don’t let fear stop you.

Wasting Time

June 25, 2016 • Link to this Entry

Have you ever wasted someone else’s time? I’m not talking about a few minutes, I’m talking about a half hour. Or an hour. Or even several hours.

It felt awful, right? You feel this wet, goopy, disgusting mix of a bunch of emotions: Worry that you’ve disrupted their day. Sadness that their opinion of you has been diminished. Disappointment that you could be so inconsiderate. A yearning to give them their time back.

The frustration of knowing that you never can.

That’s the thing about time: It’s limited, and there’s nothing we can do about it. I can’t transfer some of my time to you. None of us can do anything to make more time. Time is a fixed, limited, and unknown quantity for each and every one of us.

Thus, we do our best to avoid wasting other people’s time. We schedule things. We leave early so no one is waiting on us. We respect the fact that time is a limited resource when it comes to other people.

But what about your time? Do you worry about wasting your own time the same way you worry about wasting the time of other people? Do you treat your own time with the same reverence you would the time of another?

Before I started writing today’s entry I caught myself scrolling up and down my list of drafts, trying to pick one to work on. I kept telling myself that none of them felt right, it wasn’t the right moment for this one, I’m not in the right mood for that one. I was procrastinating.

I was wasting my own time.

When I realized what I was doing I immediately opened a new sheet and forced myself to write. The first few paragraphs I wrote were horrible, and no one else is ever going to see them, but those three paragraphs were, in many ways, the very best paragraphs I’ll write all day.

Those three paragraphs, as bad as they were, sparked some ideas. They made me think. They built momentum. This entry would not exist if it weren’t for those three paragraphs.

And those three horrible, wonderful, delightful, deleted paragraphs would never have existed if I hadn’t realized that I was wasting my own time, and realized how disrespectful I was being to myself.

Think about how you’re spending your time. Think about how you would be spending it if it belonged to someone else. Think about how bad you feel when you waste someone else’s time, and realize that you should feel even worse about wasting your own time.

Respect the time you have. Don’t waste a minute of it.

Don't Dismiss Simple

June 21, 2016 • Link to this Entry

When we work on things that require a lot of iterations, a lot of effort, it’s easy to fall into the trap of thinking that the final solution is going to reflect the complexity of the work required to produce it. In other words, it’s easy to think that complex work should produce a complex result.

This is a very dangerous mindset; the ideal solution could be sitting right in front of your face, but if it doesn’t look complex enough, you might dismiss it if you’re not being careful.

One of the most important things to keep in mind while working on a hard problem is that the road to simplicity is long, rough, and winding. Elegant and refined solutions are backed by a history littered with artifacts that are anything but. You have to be aware that, when it comes to design, your destination rarely resembles the path you travel to get there.

This is why breaks are so important. This is why sleeping on things is so important. A renewed mind and a fresh perspective helps reveal the fallacy of the thought that something is “too simple,” or seems too straightforward given how much work it took to produce.

Remember, the solution stands on it’s own. The end result is never going to sit side by side with the hundred iterations and a log of the hours it took to create. The effort and the final product, in many ways, have no relationship to one another. The final product either achieves the goals, or it doesn’t. It either achieves them well, or it doesn’t.

Do not judge your work solely through the lens of effort applied.

Choosing

June 9, 2016 • Link to this Entry

The tools at our disposal have never been as capable, numerous, or easy to use as they are today, and they’re improving all the time. We have, at our fingertips, the ability to create videos, music, podcasts, apps, games, books, courses, shirts, hats, bags, and so much more.

With so many options comes the paralysis of choice. How can we select just one thing to do from so many? How can we be sure the choice we make is the correct one? We become so concerned with making the right move that we don’t make any move at all. We let our fear of selecting the wrong thing stop us from choosing anything.

There are indeed good and bad choices, but they are extremes, and they’re obvious. Making your website load as fast as possible is a good idea. Using copy that insults your customers is a bad idea. Obvious.

Other choices, other ideas (especially the ones you’re struggling with) are neither good nor bad. They’re starting points. They’re titles without stories. Execution tells the story, and the story is what turns out to be good or bad.

If you find yourself unintentionally doing nothing, make yourself do something. Pick something at random from your list of choices and do it.

Yes, at random.

If it’s on your list of possibilities, it has the potential for greatness. If there are things on your list that don’t have the potential for greatness, you need to get them off your list.

Try things. Start telling a story. If you realize you’re telling a bad story, stop, and start telling a different one. Don’t get too attached. Strive to tell good stories, but realize that telling bad ones is a normal and healthy part of the creative process.

Just don’t end up telling no story at all.

Learn to Code If You Want To

June 7, 2016 • Link to this Entry

Quincy Larson, in Please do learn to code, attempts to make the case that everyone should learn programming. He summarizes his primary argument quite succinctly:

Here’s why programming — unlike plumbing — is an important skill that everyone should learn: programming is how humans talk to machines.

His article goes on to explain that, now that machines are doing more and more of the work, everyone needs to learn how to talk to them so they can get work done. Instead of telling people what to do with spoken and written words we all need to be able to tell machines what to do with code.

Quincy fails to take into account two factors: the relative infancy of modern technology, and the rapidly evolving nature of it.

If you want to tell a computer or machine how to do some work right now, today, you might need to write some code, but probably not. If your task is a common one there are likely many choices of both machines and software running on them to help you do what you want to get done without knowing the first thing about programming.

Now, if you have a task that’s not common, or new, or you want it done in a particular way then yeah, you might have to write some code to get your machine to do what you want.

But that’s today. Today, programming is how humans talk to machines about these things. Today we are in the caveman era of computers. We currently have the equivalent of cave paintings and grunts to communicate with our computers.

That will not always be the case.

In the earliest days of computing people had to jump through extraordinary hoops to get their computers to do anything. They had to create hundreds of punch cards and feed them into a computer the size of a room, one at a time, in exactly the right order, to do the simplest of tasks.

Using punch cards is like drawing rough shapes and lines in the dirt and gesturing to a pile of rocks. If you’re careful, and if you gesture in exactly the right way, you might get the outcome you want.

But there are better ways. Physical switches, teletypes, assembly, interactive displays, keyboards, a whole host of different programming languages, graphical user interfaces, mice, touch screens… and who knows what’s coming? The way we talk to our machines has evolved, and is still evolving.

In the earliest days of computing the only way to talk to computers was using code. Now some people talk to computers using code, some talk to them by typing commands, some click on buttons with a mouse, and others tap on a touch screen.

As I said earlier, we’re at the cave painting level right now. As sophisticated and advanced as our various abilities to communicate with computers are these days, we’re still in early days. What we’ve got now is much better than scratching around in the dirt, but we still have a long way to go.

Today, lots of people write code, because it’s still the best way (or, in a lot of cases, the only way) to accomplish certain things. Tomorrow, hardly anyone will use programming languages, because simply talking to your computer will be easier and faster, because computers will have evolved beyond the cave painting stage.

Coding is the new literacy. Like reading was in the 12th century, writing was in the 16th century, arithmetic was in the 18th century, and driving a car was in the 20th century.

No, it isn’t. Creating and feeding punch cards into a mainframe is not something anyone in today’s world should be required to learn. Reading, writing, and arithmetic are fundamental skills. Programming is not, just like using punch cards is not, just like drawing on cave walls is not.

Millions and millions of people order their computers and machines around just fine, today, without knowing how to write even a single line of code, and it’s getting easier all the time. The dialog is getting richer every single day. It won’t be long before we don’t even think about how we’re talking to machines.

Now, don’t get me wrong: the last thing I want to do is discourage you from learning to code if that’s what you want to do. In fact, I actively encourage anyone with an interest in programming to dive in and see what comes of it, and I believe that anyone can learn to code if they set their mind to it.

But not everyone is interested. Not everyone wants to learn this skill. And that’s perfectly okay, because not everyone needs to learn how to code. That’s true today, and it’ll be especially true as time and technology move forward.

If you want to code, learn. If you don’t, that’s fine, don’t feel pressured to. You’ll be just fine either way.