Engineering

Sometimes I take for granted the engineering part of software engineering. Since I’m usually working alone, on my own projects, it’s easy to get tunnel vision, and forget about the important stuff.

Many of the fields of engineering have been around for a long time. With under 100 years of history, software engineering is kind of an infant.

When it comes to building software, I’m also kind of an infant. Even so, I like to think that I care about what I do. I want to make things that last, and engineering can certainly help me with that.

Don’t forget about the other half of software engineering. Software is everywhere, and it needs to be good. I don’t want to think about what will happen when it all comes crumbling down.

 

Health Maintenance

When you sit down most of your life, you start to notice health issues that you didn’t expect. Or, maybe you expected them, but you’re too young to feel like this.

I’m only 32, but I have a handful of problems that make me feel much older.

It’s easier to start “getting healthy” when you have a constant reminder that something is wrong, but I have been thinking a lot about the stuff that hasn’t shown up yet.

If you’ve known me long enough, you’ve probably heard me rant about how bad software is. I even wrote a bit about obsession with innovation. In software, we are told to “fail fast” and to get to our “minimum viable product” as soon as possible. The maintenance will come later.

Most of the time, the maintenance never comes. If we’re lucky, something catastrophic happens, forcing us to make big changes and fix our mistakes. Otherwise, the software is doomed to become worse as we pile on more features.

That sounds a lot like what we do to our bodies. When we’re young, we don’t have to care about the maintenance because there are no immediate issues. Just do what you have to do, the maintenance will come later… or it’ll be too late.

It would be pretty hypocritical of me to ignore the maintenance I need to do with my health. I don’t want my back to fail fast, and I don’t need a minimum viable disability.

 

Frustration Inspires Creativity

My wife shared a video with me yesterday. It’s about how frustration inspires creativity. It’s pretty good.

As a programmer, I deal with frustrating tools every day. I also see how bad software is, in general.

Maybe our frustrating ecosystem isn’t really producing the kind of creativity we want.

Maybe we need tools that get out of our way, so that we can focus on our craft, instead of trying to create the next unicorn.

 

Autodidacticism

What a silly-looking word. It basically means ‘self-teaching’ which is something that happens everywhere now. Thanks internet. You win again.

One thing that traditional schools get right is bringing a group of people together. Unfortunately, they bring everyone together in the same class instead of grouping together people with similar interests, but you could argue there is value in that as well.

As a hobby programmer, I write code in my off time, read bucket loads of documentation, and I don’t get the real-time peer interaction that a classroom setting might afford. The internet has spawned plenty of people like me, and we’re all learning to program (poorly?) all by ourselves in our basements… right?

Well, I’ve noticed that we’re rarely alone anymore. Unless you’re doing deep work, focused on getting things done, you likely have some sort of forum, chat client, or social media site open on your second monitor. Many of us are getting that real-time interaction. Some of us even get to connect with mentors online. Even more of us can digitally observe our heroes, using them as mentors without them ever realizing we exist.

It’s been said plenty already: education sucks, and the internet does it better. I’ve heard people say it, but I didn’t internalize it until recently.

The one thing that all schools fail to do is force us to want to learn. That’s up to us, and when you’re online, toiling away in your basement, you’re probably already engaged, maybe even obsessed, with whatever it is you chose to learn.

 

Statistics

Statistics are cool. We can use them to make predictions about pretty much anything, and we use them to fuel artificial intelligence. They’re cool, and powerful.

I used to think statistics, as a field of study, was boring. Why would I care about probability? Pfft

Recently though, I have gotten a renewed interest in the subject. I’ve been poking around with SAS, and I’m even considering checking out R again.

The question is, what will I analyze? Where might I find interesting patterns that haven’t been uncovered yet? Sounds like a fun little challenge.

 

Flow or Pomodoro

There are two terms I hear the most in the context of productivity: ‘Flow‘ and ‘The Pomodoro Technique.’ Both of them are lauded as silver bullets for productivity godliness.

They both seem like good ideas, but I don’t think you can use them both. Some people say they switch techniques depending on what kind of work they’re doing. They may be onto something.

But, how can we possibly choose between the two?! We’re all doomed to a life of analysis paralysis, because there are two competing techniques that we can’t do at the same time.

No, don’t be silly.

First of all, don’t prematurely optimize your life. If you get work done, and you’re happy with the dent you’re making in the world, just relax and enjoy the ride. You don’t need any techniques.

Next, pretend you’re a good programmer, and find the answer for yourself. Try one technique for a while, and measure your productivity. Then, switch to the other, and measure again. You now have an obvious answer for which technique works best for you. Just make sure that you compare the same kind of work (deep vs shallow).


Today’s blog post idea brought to you by the guy who is making One Hour One Life. He did a talk at GDC that got me thinking about my own work style. Go watch it, and go play his game (it’s awesome).

I’ll update you once I have done my own performance profiling on my productivity.

 

Norse Myth

Mythology is cool. The gods did some amazing things, and the humans wrote some great stories. Of all the ‘genres’ of myth, Norse is my favorite.

Vikings are popular right now, which makes me a bit sad. Maybe it’s my inner hipster, but it bums me out when the rest of the world catches on to something that I thought I discovered for myself.

However, I don’t think there are many people reading the texts related to myth. The Greek plays are fantastic, and I would say they’re a must-read for anyone interested in the way people think.

Even fewer people seem to be reading the Norse writings. Unfortunately, most of it is from a later time, but you can still get a lot of insight from it.

Go read some myths. The gods were remarkably human.