What Life Looks Like, Revisited

There has been a lot of changes since my initial “What Life Looks Like” post. I was rereading it, looking at the goals I had, and the goals I have now, and I noticed that a number of things have changed in the two years since that post. Many of the goals I blew through, others I’m still working towards, and some I’ve put completely on the back burner.

Here’s my current worksheet.

1 Year / Jan 2024

CategoryGoalProgress
CareerPet Store, XXK/Year101%
Blog 200 FollowersI think like 45?
HomeCondo, Owe $204K~208. On pace? by EOY.
New BathroomsCompleted.
HealthWeight: 220#~240.
Body Fat %: 1822.3
CrossFit 5x a Week5-6 times a week.
Occasional WeightliftingEvery Sunday
1.5 Miles Running Daily0 miles daily 😦
Biking 20 Miles biweekly0 miles biweekly. 😦
Finance401K fully fundedContribution on track to max out
After-tax investing $XX/month160% of goal per month
FamilyZoe in College, HappyZoe enrolled at WSU
Lydia driving, some sort of athletics. High School, Maybe a running start?Lydia in Drivers Ed. Aerial Silks 2x a week!
Emerson sports?, High SchoolEmerson fencing and rowing.

I made this sheet in January of this year, and I’ve done fairly well against my goals!

Met Goals

Career – Salary. I am right where I wanted to be at the beginning of the year. I got a decent review, and a solid bump in my salary that tipped me over the edge in April.

Home – New Bathrooms. After 17 years in the condo with 3 kids, 3 dogs, and up to 2 cats (RIP Edgar… we still miss you), the house was in some dire need of some TLC. The bathrooms were the next big thing, and it’s GREAT to have them completed!

Health – CrossFit and Weightlifting. It is just a daily habit now. It is awesome and I love it.

Finance – 401K and investing. I’m on pace to fully fund my retirement plan, and I’ve done a TON of work to REALLY ramp up my investing to nearly 160% of my monthly goal.

Family – Everyone’s doing pretty much exactly where we were hoping they’d be. Emerson has fencing and is rowing in high school. Lydia’s finally started driver’s ed, and does her aerial silks athletics twice a week, and Zoe is enrolled for her first semester at WSU.

Not Yet Met Goals

Blog – Follower Count – Blogs likely get more followers when they don’t get updated for a year. Gotta get back on the horse here.

Condo – Mortgage – I’m on pace to be close here, but the bathrooms were more expensive than I had anticipated. It’ll be a photo finish at the end of the year.

Health – Weight & Body Fat % – I’m headed in a good direction here. I’m down from my heaviest on the year (265… ugh), but even when eating mostly clean, it’s still a struggle.

Health – Running and Biking – I was doing well on this one. I was going about 2-3x a week, and had built up to some real distance. My longer runs were in the 8-10 mile range but I started getting some pretty severe hip pain afterwords. The biking just is not that interesting right now. I might just sell the bike to clear up some space.

Things that Changed Since 2021

When looking back at my old “2024” post, I wanted to be further along in my writing. I feel like had I stayed at the Credit Union, that would be a possibility, but a job change moving over to learning whole new stacks and languages required my research time to get good. On the plus side, I’m a decent Python, Kotlin, and Java programmer now, and I’m not so bad at AWS and Terraform.

I do not really include local travel goals anymore, unless they would require real planning. A trip to Walla Walla or Chelan only requires a little coordination with a hotel or AirBnB that allows for dogs. I would still like to get to New Zealand, but that’s still very much in the 3 years or more away.

I also changed my investing amount significantly. In 2021, I was working on pushing my “months ahead” forward in YNAB. After making a fair amount of progress on it (getting to nearly 4 months ‘ahead’), I started wondering if keeping all that cash on hand was truly necessary.

Now I feel like having much more than a month’s worth of cash on hand seems to be ‘enough.’ We are investing about 15% of post-tax income now.

The three and five year goals look very similar.

3 years / Jan 26

CategoryGoal
CareerHappy in my job. Knowing what I’m trying to do, and who I’m helping. Current + 10% a year?
Blog, 2500 followers
1 Book Written (Published? I dunno.)
HomeCondo. Owe $170K on it.
Health210# Maybe down to 1 blood pressure pill
5x a week CrossFit + occasional weightlifting, running for 10-15 miles weekly.
TravelNew Zealand
FinanceRetirement accounts funded to legal maximum.
Investing 2.5x current per month. (Somewhere between 35-40% of income?)
FamilyZoe and Lydia should be in College?
Emerson doing at least one sport

5 Years / Jan 28

CategoryGoal
CareerHappy in my job. Knowing what I’m trying to do, and who I’m helping. XXK + 25% a year?
Blog, 15000 followers
1 Book Written and Published
HomeCondo. Owe $135K on it.
Health200#
CrossFit, weights, and running. Generally quite active.
FinanceRetirement accounts funded to legal maximum.
Investing 50% monthly post-tax income.
FamilyAll kids in College?

The reality is that in the next 5 years, it is going to be a lot of the same. Aggressive pushes on salary goals and investing goals. Ideally, we will get to investing half of our post-tax income within 5 years time.

My health and maintaining a regular active lifestyle is probably the highest priority item. I am continuing a slow burn on the weight loss. I plan on working more on my writing, and within 5 years get a book published, but the health is definitely the higher priority.

Frankly, the blog followers number goal I might just drop entirely, as I cannot exactly control that. I have thought about making a “number of posts” goal to replace it, but I have yet to pull the trigger.

Finally, the family goals are very fungible. For example, Zoe seems to be interested in health care (specifically and oddly, mortuary science.) That requires a degree of some sort, but if the other kids wanted to join the military, or go to culinary school, or work to be an apprentice welder or plumber, I could not object.

The ten year goals are even more unspecific.

CategoryGoal
Career2 Books Written and Published
Advanced Degree?
HomeNot living in the condo. Mount Vernon / Bellingham?
Health180-190#
Generally active.
Still living with the same heart I was born with.
FinanceRetirement accounts funded to legal maximum.
Investing >50% monthly post-tax income.
FamilyHappy and Healthy

The big thing to notice is the drop on the salary goal. I don’t expect a drastic change from the 5 year goal in terms of an amount (although that could happen?), I’m just not pushing for it as hard.

I have been thinking about persuing an advanced degree, so that is a new goal development.

Paying off the condo remains on the 10 year goal, although with the Seaview property not available, we will likely look north. Heather likes Bellingham, and always has. I’m more fond of Mount Vernon, but something in Skagit / Whatcom county area of Washington seems like the most likely location.

The health goal adds a pretty heavy goal, and one that largely reflects something that happened a long time ago. Assuming I keep things going, and keep up the healthy habits, it should be attainable.

Those are my updated goals. The nearer ones are again more specific, and more easily actionable, and SMART folks will notice each of them generally has a number associated with it so I can figure out whether or not I’ve achieved it.

I hope this post inspires you to think about your own goals!

Lullabies

When my children were small, I was the one who put them to bed. I did so with a lullaby I had invented for them.

The lullaby:

One, Two, Three
It’s time to say goodnight.
One, Two, Three
It’s time to say goodnight.
Goodnight to the stars, and goodnight to the moon.
Goodnight to <<child’s name>>
And I love you.

To save a little face, I will not sing it for you.

The kids adored this song. Even if I was tired at the end of the day, and just wanted them to go sleep they demanded it, usually loudly.

I would start bedtime with silly versions of the song, pantomiming being a rockstar, a big-band leader, or a lounge singer while I sung. I embraced every opportunity to be the ham.

But it always ended up flowing into a slow, sleepy, cuddly version that allowed my kids to fall asleep gently.


My wife created a photo book with the lullaby lyrics printed in it. Photos of my kids pushing their hands together and ‘sleeping’, pointing to paper stars, a paper moon, and eventually pointing to the camera for ‘I love you.’

That book is the most important one I have.


Fast-forward to the present. Specifically mid-August 2023.

My oldest prepped the bulk of her belongings into boxes. Her plan is to study health and biology at Washington State University. 300 miles away.

We travelled to Pullman on Saturday, her move-in day, and unloaded her into her dorm. At the hotel that evening, I had an idea.

I called my voicemail, and pressed ‘2’ to send a message.

I recorded myself singing the old lullaby, saying goodnight to my daughter, and subsequently sent the message to her.

The next day while dropping her at her dorm, I asked “Did you get my voicemail?”

“What’s a voicemail?”


I have taught her many things in my life: how to drive, how to hit a softball.

I got to teach her one more thing before I left, how to check her voicemail.

And specifically how to save a voicemail. To play it later. Should she need it.

Shoveling

The day before New Years Eve, 2021 I got locked out of my house.

I needed to get in so I could let in contractors for my kitchen remodel, and my wife and children were away in a house we’d rented for the holiday.

It had dropped well below freezing the night before and my deadbolt broke, so I needed to wait for a locksmith to come and help me get into my house.

It was still quite cold and I was going to have to wait at least 2 hours for a locksmith, so I figured it’d be better to get the blood moving outside rather than playing on my phone. 

I looked around, and noticed that the parking lot had not been plowed. So, I started shoveling.

The thing is the parking lot is huge. Holds like 50 cars. No way I could do the whole thing. With 2 hours and a cheap plastic snow shovel? Not happening. Too big a job.

Still, I started plugging away on my side of the parking lot when Royce, my 88-year-old neighbor, came out of his place. He told me he needed to get to the doctor and asked if I could shovel a path to his car. With his portable oxygen machine, he couldn’t do it himself. For him, the stairs to his house are a lot. Walking through the snow would be too much.

I stepped up the pace, and cleaned a nice path to his car so he could get himself to where he needed to get.

While I was shoveling, other folks started coming out of their homes to see the parking lot one-sixth-of-the-way done, and me in a beanie trying to clear more snow with a crummy plastic shovel.

One after another, folks grabbed shovels, and started clearing off their own little area of the lot, or areas around the other cars.

By the time the locksmith came to the house, the lot was fully cleared. All the snow was in nice, neat little piles.

Metaphors are dumb, but you can clear the snow.

We all can.

As long as someone starts.

Start.

It’s Only Embarrassing If You’re Embarrassed

I recently got an email from “Tony” asking if he could write an article on my site. He wanted to write up an article (“no charge”, he assured me) about entrepreneurship and tools.

An ad.

My immediate thought was a bit of shock… has my blog gone viral? Do I have enough traffic to warrant someone thinking they could successfully advertise on it?

A graph showing my blog's views and visitors per day in bar form, over the month of July in 2023. It is NOT impressive, showing a max of 6 views on July 14th.
Blog stats clearly showing it has NOT gone viral.

After looking through my old blog posts, I revisited that old recognizable feeling of “wait, didn’t I used to do this?” And frankly, I was embarrassed.

Once again, had I let something that I love to do fall off the planet.

In my old job at the Credit Union, I used to write an all-engineers email every Friday morning. I would start it on Wednesday and then spend hours Thursday evening finishing it.

Yet once again, I couldn’t seem to break away for 20 minutes a day to write down what’s happening.


I do best in routines. I eat the same foods for breakfast / lunch, and only change up dinner because my wife doesn’t particularly appreciate eating the same things every day. I go to the gym on the same cadence every week: 4:30pm on Monday / Tuesday, and 11:30am on Wednesday through Friday, Saturday 9am, and Sunday 11am.

If something I love to do is not in my list of habits, I lose track of it.


Now, it seems I have fallen out of something I once identified with. Something that shows me to be a fraud, or not what I claim to be.

Even worse the shame remains because even while writing this I fear that I’m attempting to, once again, restate the lie that I am something of a creator. A writer.

As if doubling down on it as an identity will make blog posts happen.


I mentor folks in my job. Every day. Literally my favorite part of being a Staff engineer.

I would allow absolutely none of the people I mentor to be as harsh about themselves.

No negative self-talk: a rule I read and remember from Pete Carroll’s Win Forever. A rule I demand entirely from my mentees.

I’ve never been so much of a rule-follower.


I choose to NOT be embarrassed by these things.

Did I fail to document my learnings while working at a pet store? Yep.

Have I failed to document much of anything while working at the pet store? Yep.

Do I still have the voice I once had? Of course I do.


I’ll tell Tony that I’ll pass on the free article. I think a DYI approach to blogging might be a better way to go.

Change is How You Grow

I haven’t had time to really write anything too deeply lately for blog posts lately. I’m learning SO much at the pet store right now.

I’m really pushing myself to get to that point where I understand the code underneath the abstraction.

But, the old blog calls out to me yet again, dear reader.


EVERYONE in tech feels underpaid, because recruiting / hiring in tech is completely broken and crazy. Financially, we are incented to switch jobs WAY more often than we are incented to stay in one.

Salary and turnover and hiring is a fun topic but I’m going to hit you with something.

You are more than your job.

Do you believe that?

Honestly?

It’s OK if you don’t. Took me till I was about 38 years old to really believe it.


Think about a hypothetical situation.

Meet Nia. Nia is an Associate Software Developer.

She applied for a job, interviewed well, and got it, and now is happily coding away under the direction of Software Developers and Senior Software Developers.

After 3 years… Nia’s got quite a few releases under her belt. She knows a few different languages well, she’s ridden a few late nights with releases that went sideways, but she doesn’t make anywhere near the same mistakes she made before.

The job, Associate Software Developer, is still exactly as it was when she took it those years ago.

Her title hasn’t changed, nor has the role in any real sense.

Nia did though. Drastically. She grew.

But, assuming she does nothing, she’ll stay an Associate Software Developer, and will likely get around a 3-4% raise every year for satisfactory performance. 

If she started with an annual salary of $50,000, that means after 3 years at a 4% raise, she’s making $56,243.20.


What happened to our hypothetical associate developer? She grew faster than her job did.

Ask yourself these questions:

Do you believe Nia is worth more than her job pays?

Me? I certainly do! She has more experience than the position requires, knows more languages, and is simply a better developer.

If she was your mentee, would you tell her so?

Me? I would! But I’m a cheerleader for you all anyway…

Would you advocate for her if you were her boss?

Of course I would! I’ve happily done so for many others!

Would you tell her to look outside her role if her boss couldn’t get it done for her?

You’re damn right I would, and I hope you would too!

What if I told you that HR has been recruiting, and offers for new associate developers need to start at $60,000, otherwise we aren’t a competitive place to work, and we won’t get good candidates?

ARGH!!! GO GET THAT F@%!#&G PAPER NIA!!!

(This should be apparent, but the salary numbers above are purely hypothetical.)


If you answered yes to any of the above questions, ask yourself why?

Why would you advocate for a hypothetical person, if you aren’t willing to advocate for yourself?


But maybe you’re spotting a trick…

“But wait… what if they just gave her a raise that put her in line with what they’d have to do to hire her as if she was new?”

There’s LOTS of reasons!

  1. Her Boss’s Budget. Unless Nia’s reporting to the CEO or the CFO, her boss didn’t set the budget for her raise. The budget came from an executive committee that looked at total salaries for the group.
     
  2. Her co-workers.  A limited budget–and even a large budget–has to be shared with your co-workers. If her boss is given 3 percent of her salary budget (see reason 1) for raises and gives a spectacular performer 5 percent, that means there’s less for everyone else.
     
  3. Her own salary band. Many companies don’t just give people salaries–they set salaries within what’s called a salary band. Her job is evaluated and given a range. If she’s at or above the midpoint of that grade, she’ll see very, very small raises.

Remember this.

Salary budgets aren’t personal. Ever.

Your salary just FEELS personal.


Forget about Nia because I made her up.

But YOU. You are real.

So let’s get real.

I’ve been in the position where the bank account is hitting the single digits, and I’ve got multiple days left until the next paycheck. Sure, I can hit the credit card, but that balance just keeps getting bigger.

I’ve been in that position where someone got hired with my same job title and started making 15% more than me.

I’ve felt that ‘I’m worth more than this in this market’ when I looked at my paystub.

I’ve felt that same frustration, anger, fear and doubt and most decidedly the self-recrimination. I HATE feeling stupid, or like I’m a sucker.


I’m worth more than my job.

I have heard cheerleader blowhards (great #selfown, Mr. Brown) and new-age-hippie-types (#selfown-number-2) say it plenty of times.

But simply put, mathematically, it’s just true.

My first job as a programmer was at a tiny video editing software company. I made $27,500 a year. Minimum wage was 4.25 an hour, and I felt like I was BALLIN.’

The company no longer exists, but if they did, the position I had, Application Developer probably would pay someone hired off the street somewhere in the low 90s

According to some F# I wrote (did you wonder when I’d get an F# reference in?) if I stayed in that job and got a 3 or 4% raise every year.

module Interest = 
    type InterestCalculationOptions = {
        Compounding : Compounding
        Rate : float
        Principal : float
        TermInYears : float
    } 
    and Compounding = 
        | TimesPerYear of float 
        | Constant 
 
    let compound options = 
        let core r e = options.Principal * (r ** e)
        match options.Compounding with 
        | Constant -> core System.Math.E (options.Rate * options.TermInYears)
        | TimesPerYear f -> let rate = (options.Rate / f) + 1.0
                            core rate (f * options.TermInYears)
 
/// Christopher gets 3% a year.
let threePercentRaise = Interest.compound {
                             Compounding = (Interest.TimesPerYear 1.0); 
                                Rate = 0.03; Principal = 27500.0;
                                TermInYears = 21.0  };;

/// threePercentRaise = $51158!!!

/// Christopher gets 4% a year.
let fourPercentRaise = Interest.compound {
                             Compounding = (Interest.TimesPerYear 1.0); 
                                Rate = 0.04; Principal = 27500.0;
                                TermInYears = 21.0  };;

/// fourPercentRaise = $62666!!!

The thing is I grew.

I took jobs that were different. More challenging. More interesting. Different languages. Different scopes.

And, well, they paid more.

Three years ago, I took a Principal Software Engineer job at the credit union that paid much more than an Application Developer in Bellingham. And you know what? I asked around, and I was probably underpaid.

Three years later I proved it moving on to the pet store.


I’m not the only one who grew.

You know who grew a ton, and did it all at the credit union? Rihanna.

(Not the musician Rihanna. This is a reference to a person who is freaking awesome like Rihanna, but whom I didn’t ask about publishing their name in a blog post.)

I won’t speak to her specific numbers except the following.

Rihanna told me that she’s currently making around 10x what she was making when she started at the credit union.

The job she held when they started at the credit union still exists. There are people right now doing what Rihanna used to do.

Those folks do NOT get paid 10x what it was back when Rihanna started.

Rihanna had to grow. Sometimes uncomfortably. She moved into other jobs, 9 times, and in completely different departments. She had managers go to bat for her and win…

… and probably a LOT more times than she knew about, go to bat for her and strike out.

Do you think each manager wanted “turnover” when it was time for Rihanna to grow? Probably not. In the short term, her managers would have preferred she stay in the role she was in, because it would have been easier to not have to hire a backfill for her.

Why would we ever want to encourage higher turnover?

Because turnover is how you grow.


You are more than your job.

When I first heard that, there were all these pictures of my kids and my family going through my head. Of course I was more than my job. My life with them was my highest priority.

But that’s not all it means.

It also means you will grow faster than your job.

Your brain calculates 38 thousand trillion operations per second!

That is in YOU, dear reader. You. Are. Amazing.

No job will truly hold the amazing machine that is you, unless you absolutely love it, and want to remain in it, but please accept this:

Change is how you grow.

New Things

A big part of my career has involved change. Part of being a developer over the course of the late 90s to now involves a TON of change.

Technology change: The code I write, and what tools I do it with has changed drastically. I started coding professionally with C++ and Visual Basic. I got VERY good with C#, and made much with it. I made a fair amount of noise in F# and now I’m currently working in Java, Python, TypeScript and Kotlin.

Methodology change: I mean “how we do the code we do.” Test-driven development came up in the development community just as I did. The ubiquity of containers. Agile work patterns.

Personal change: What used to drive me was the feeling of being ‘the guy.’  I LOVED being the guy you needed to make and fix the things. Now, I love being ‘the guy’ who helps people grow.

And now, a job change!

I’ll have to update my goals, because at this point, I no longer work for the Credit Union! I now work for a well-known an online pet store! I get to work with data scientists trying to make your search and product discovery experience better.

That’s the update… I wish it was longer, and more in-depth, but I’m still learning the space, so I’m in absorb-mode.

Moving The Goalposts

Goalposts that move are a pain. They feel unfair, like you’ve been duped into working toward one thing, when you should have been working toward something else entirely.

Or worse… that the progress you made wasn’t really progress at all. It was some larger step that you didn’t realize you signed up for.

Here’s the dirty secret though: Moving your goalposts is precisely what you have to do to keep growing.

As you improve, the goals you set will not really be challenging enough for you to keep.

As you learn, you realize the goal you set isn’t really what you actually want.

As you try new things, you realize and say “this isn’t as important to me right now.”


Weight Loss – My ‘I Improved’ Story.

I mentioned having a goal around fitness in a couple prior posts. Check ’em out: Post #1 and Post #2

Specifically, I wanted to lose a fair amount of weight at the end of year 1, with a slowly downward push in 10 years. My goal was to get to 230-235 by the end of the year.

After the annual ‘Fitness Challenge’ contest weigh-in from my CrossFit gym we do every January-March, I weighed in at a whopping 257.7lbs! The next day, I joined Noom.

As of March 6th, I was down to 234lbs!!!

Here’s my Noom referral link, if you wanna try it. I’m really happy with it.

I have already met my ‘annual goal’. Since it was only early March the goalposts had to move.

New goalpost: 220lbs, and once I get there, maintain it for 5-6 months while slowly adding more calories back into the mix.


Retirement Funding – My ‘I Learned’ Story

My retirement funding goals were mentioned same posts as my weight (from above). I was targeting a simple approach: fully fund my 401k and my IRA.

However, after watching a few lectures about retirement on my Great Courses Plus subscription, I learned there might be a better choice.

The speaker in those videos talked about 401k plans, and mentioned how some 401k plans also offer a ROTH option. I decided to check, and it turned out that yes, my 401K did allow for ROTH funds to be contributed, just as easily as I set the contribution for my regular 401K.

All I had to do was to put in a percentage and voila, the next pay cycle, I’ve got money going into the ROTH option.

So with the new learning, I decided move the goal posts. Instead of ‘fully fund both plans’, I moved to a new goal: Fully fund the 401K, with a mix of pre and post-tax dollars, then fund the regular investing goal, and finally do the IRA with leftovers at the end of the month.

Doing it this way, I mix up my taxable and non-taxable accounts, so that I have more tax options in retirement. Options are nearly always good, especially when it comes to sources of money in retirement.

Do I miss out on the tax write off on fully funding the IRA? Maybe a little, but assuming I don’t fall completely off the savings wagon, I should be good for at least a portion of that tax benefit.


Guitar Lessons – My ‘I Tried’ Story

This one hurts a bit. My uncle made these guitars, and they’re beautiful.

The thing is, the more I looked at it, me taking guitar lessons NOW or LATER doesn’t really have much of a difference in terms of my happiness.

I love my guitars. I play on them often.

I just don’t really care about taking lessons right now.

So, I’m moving the goalposts. For now, I’m calling ‘guitar lessons’ as a within 10 years goal, rather than a ‘do this in 2021’ goal. For now, self taught is good enough.


To recap, moving goalposts is a necessary part of goals. As you improve, learn and try, your goals must change with your new abilities and knowledge.

That’s just life. It moves from out from under you.

When it does, move your goalposts.

The Imposter

I have teenagers. I hear about how much I suck on a regular basis.

But when my teenagers tell me I suck, it’s usually for something I’m pretty proud of: making them eat vegetables, do homework, save up their own money to buy something rather than buying it for them, ad parental nauseum.

The problem is, it isn’t usually the teenagers that have my ear.

Imposter syndrome is a helluva thing.


Imposter syndrome is what they call the feeling that you don’t belong or deserve the things you have. That your social status, your job, and anything else you have is completely and unequivocally unearned.

The feeling that you don’t deserve it.

That if the rest of the world only knew, they’d call you out as a fraud.

What if they knew that I pass off feelings and intuition for facts, like constantly. (You now know this, so read on with a critical eye.)

What if they knew I was a hick from nowhere. (Palouse region nowhere, thank you!)

That my “knowledge” was all off-hand bullshit I got from having not enough to do, and mostly came from being too lazy to get up from the computer.

Some say the best way to deal with imposter syndrome is to remember your empathy. That ALL people have similar self-doubts.

Frankly, it has never been a comfort for me to know that.


That only way I know how to combat imposter syndrome is to admit what I don’t do well, and hold myself to task on it. To shit, or get off the pot. Decide the priority on fixing it, and then get busy fixing it, or let it be.

Fundamentally, it comes down to giving myself permission. It’s perfectly acceptable to suck at some things. But the things I don’t want to suck at, I’ll work to improve.

A peach is a terrible apple, but both make wonderful pie.


In that vein of holding myself accountable, here’s a list of things I suck at.

I have a degree in English, with a concentration in creative writing from Western Washington University. With said degree, I have published nearly nothing. I don’t even blog all that often.

I still have pages I wrote twenty years ago. I recently read some, and it all sucked. It was preachy and self-important and one time, rather than using the world “mental” to describe a process happening in the mind, I made up a word.

“Mindic”.

In my word processor, there’s a red squiggly line that shows me that even my personal dictionary doesn’t include “Mindic” quite yet.


In tech, I suck at just about everything. Nearly all networking stuff. Kubernetes. Go and Ruby. Most programming languages that aren’t in my standard wheelhouse. Certificates. A lot of security stuff. Game development.

I do CrossFit five times a week, and after three years of doing it, I still suck at the following: double-unders, a pull up without a band, running faster than a 10 minute mile, Turkish Getups, Snatches, and pistols.

I am not a great boss. I’ve had many people report to me, and only a scant few of them are happy for it. Most simply tolerated it. Some had marked contempt for it.

I have 2 guitars that my uncle custom-made. I still can’t play anything beyond Mother from Danzig, or a slow version of Blind Melon’s No Rain.

I suck at cars, beyond checking the oil.

My wife rechecks the dishes after I wash them, to make sure they’re clean.

I’ve been told I need better aim in the bathroom.


See, the thing is, even after writing all that stuff out, it really isn’t all that bad. It ain’t my best work, but it’s honest.

If my boss (Hi Brian!) reads this blog and notices I’m not great at Kubernetes, well, I can work on that.

If my wife reads this and notices how the bathroom and dishes stuff was relegated to the bottom of the list, I’m sorry, and I’m working on it.

If my teenagers read this: Get back to your freaking homework! Eat more vegetables! And for the love of god stop begging for things and save up your allowance if you need it so damned much!

Photo Credit: Bobby McKay from Flickr
Used with permissions from the Creative Commons License 2.0

Getting Things Done, A Guide

I was inspired by Sarah Knight‘s, Get Your Sh*t Togther book here, and optimized her ideas for my needs. I read it once, then reread it right after, because it was so engaging. Buy it and read it yourself.


The Way

I start with four lists. First is my ‘To-do’ list, which is my generic catch all list for ideas. The next is my ‘Must-do’ list. This is the important list that requires daily attention. I take the highest priority items in the ‘To-do’ list, and pull over the items that must be done on the day into the ‘must-do’ list. The third list is the ‘Doing’ list. I pull one item from ‘Must-do’, and pull it into ‘Doing’ until it is complete. The last list is the ‘Done’ list, that starts out empty every morning, and is satisfyingly full at the end of every day.

The To-do List

The To-do List is meant to be an open catch all for tasks and items that creep into my head over the course of a day. “Get to the grocery store…”, gets added to the list. “Get the bikes tuned”, check. “Workout for {date}”, added to the list.

Sometimes I get a random thought, and I just add it to the To-do list, if only just to allow myself the freedom to say “this is worth spending some time thinking about, but it’s not the priority now.” The value here is that those things that are ‘wishes’ become things I allow myself to treat as eventually ‘doable’, just not as important right now. This works well for my ‘I need to rewrite this in F#’ feelings.

Prioritizing the To-do list

One of the major functions of the to do list is to show me a pile of all the things I’ve been thinking about, and enables me to stack them in a simple list of most important to least important. Simple and small items tend to get to the top of the list, if only because I know how to do them quickly, and the process of getting things done feels good.

Pro tip: Hack of the to-do list by making tasks small and manageable. “Spend half-an-hour on Udemy course” is MUCH simpler to schedule and accomplish than “Get Better with Machine Learning and AI.”

Prioritization is function of my values. One of my values is making sure my personal finances are in shape, as they were not, for an embarrassingly long time. My to-do list consistently has budgeting and finance items right at the top of the list. Self-care with physical fitness is also a high priority for me right now, so daily physical activity takes the top spots as well.

The Must-do List

The ‘Must-do’ list is where I put top priority items from the to do list. My ‘to-do’ list will contain forty or fifty things. The ‘Must-do’ list I keep less than eight, and only add items to it as items are completed. That keeps the list doable over the course of a day, and creates a simple block around what is actually possible.

Items that are regular ‘Must-dos’:

  • Daily workout.
  • Daily budget/finances check.
  • Write for 45 minutes.
  • Log food for the day.
  • Correspondence.

Putting these items as distinct tasks allow for some distinct optimizations. A daily workout is a scheduled item that ends up on my calendar. In COVID times, that has been a Zoom session, and with the update to phase 1.5 in King County, it’s a small class session at my old gym.

Correspondence tasks can tend to elongate over the course of a day, e.g. who hasn’t spent multiple hours on a slack channel, but when I treat it like a task with a defined end things take on a different mode. Personal email is managed in the morning. Work email is managed immediately afterwords, and then once again in the afternoon. Slack communications can follow the same cadence, and once folks are aware that is how you are working, the immediacy of the medium is not as demanding as it seems.

Logging food is usually a simple task, which can <5 minutes after any meal, but can be done at the end of the day. The point is to remember the intent of the task. I log food to remind myself to measure portions and be intentional about my consumption, not to be 100% accurate down to the calorie. I accept the risk of inaccuracy (did I eat 100 grams of blueberries or raspberries in my yogurt this morning?) for time management.

The Doing List

The Doing list is the loneliest column because I allow one thing in it at a time.

I cannot multitask. At all. In order to do anything competently, I need to focus on one thing at a time.

One valuable feature of the single ‘doing’ list, is that, when my brain has wondered I can quickly glance at the doing list, and ask myself “Am I really doing what I said I’m doing?”

If I have Twitter open, and my ‘Doing’ task doesn’t read ‘read Twitter feed and get pissed off’, there’s a good chance I need to re-engage myself on what I want to spend my time on.

The Done List

The Done list is the most fun list, obviously. I start with a clean list and as I complete tasks from the Must-do list, I put them on the Done list. Initially, an empty Done list is underwhelming, but as the day progresses, it can get satisfying and full. What makes this particularly satisfying is the list ends up usually in the 15-20 items completed over the course of a day, and all of them are the priority items according to what I value the most.

I prioritized ‘daily workout’ and got it done.
I prioritized ‘developer coaching session’ and got it done.

Getting done what I chose and prioritized is empowering.


Further Optimizations

One optimization I have made to this structure since starting it has been creating two other lists to assist some work items, and a few more ‘values’ based optimizations.

First, I created a ‘work week done’ list that simply contains the tasks I have done specifically for work. This helps me write full and accurate weekly status reports for work. In work-from-home COVID times, being able to communicate what I have accomplished over the course of the week seems invaluable.

Second, I created a ‘Do Every Day’ list that I use a simple copy feature to move to the ‘Must Do’ list. This saves me the few minutes spent putting the everyday tasks in the To-Do list.

Estimates: Time-Based vs Point-Based, and when to use them.

There are two general methods for software estimates, time-based and point-based. Here are some tips on when to choose either one.

Time-Based Estimates

Time-based estimates can be tricky. They are the simplest style of estimate and that simplistic nature lends engineers to treat them flippantly. Just about every engineer has said “That’s easy, it’ll take 15 minutes” about something trivial, and then spent a full workday working on it. Time-based estimates get a bad rap from engineers, because they feel punished for missing them. Project managers like them because planning work is simpler.

Time-based estimates work best for near immediate-priority bug fixes / feature requests, and costing and budgeting breakdowns.

Point-Based Estimates

Points-based estimates are a common model in Agile shops, and are largely the same except in terms of flavor when they are requested in terms of t-shirt sizes or Fibonacci series values. They are meant to be quick estimates that give a sizing gauge for the feature without the negativity associated with a missed estimate. Points-Based estimates get a bad rap from project managers, because the statistical approach to ‘backing into’ the time something takes is not accurate enough to get an ‘on-time’ delivery of anything. Engineers like them because they don’t feel as beholden to them.

Point-based estimates work best for high-level estimates of long-term work, or as a quick way to gauge consensus between engineers.


When To Use Them

A project team will generally follow a particular methodology (Agile, SAFE, Waterfall), so you may be held to the preferences and norms of that group, but in general, follow these guidelines for successful estimating.

  • When to use a Points-Based Estimate
    1. The amount of time dedicated to estimating is low.
    2. The priority on the work is variable; your product owner will use your estimate to assist in determining its priority.
    3. Engineers have substantively different approaches to the work, or the work is largely exploratory.
    4. Your dev-to-release cycle is fast.
  • When to use a Time-Based Estimate
    1. The work is your next immediate priority item.
    2. You will use the estimate to directly assess cost.
    3. There is an understood and correct way to do the work, and will not drastically change if done by one engineer or another.
    4. Your release cycle is slow, or singular.