What Life Looks Like

I was listening to the Mapped Out Money podcast, and they mentioned a method for listing out goals, in sort of a road map. Personal goals broken out in 1 year, 3 years, 5 years, and 10 years. That method was about deciding what “life looks like”.

The idea within the podcast was to take what “life looks like”, and work back from there. E.g. Wanting to save $15K for a (I think it was a car down payment?) in 3 years, works to $5K a year, and $1250 every 3 months, etc.

So I thought I’d try it, and put it here to help hold myself accountable. I went ahead and padded my start by 4 months, to make everything start on January. Writing that down makes me realize how it was solely decorative to do that. Oh well, here goes:

1 Year / January 2022

CategoryGoal
CareerCredit Union. Principal Software Dev.
Knowing what I’m trying to do, and
who I’m helping.
XXK a year? *
Blog, 200 Followers
HomeCondo: Owe $236K on it.
Kitchen remodel completed.
HealthWeight 230-235, 20% body fat?
Maybe down to 2 blood pressure pills?
Check if this is possible?
5x a week Xfit
occasional weightlifting
running for 4-5 miles weekly
biking for 15+ miles biweekly.
< Redacted > *
TravelWalla Walla for a wine visit
Long Beach a few times.
FinanceRetirement accounts funded to legal maximum
Investing $250 per month
Full 2 months ahead in YNAB.
FamilyHappy + Healthy.
Zoe should be driving
(Sasha, most of the time.)
PersonalGuitar Lessons
StuffNew PC, Downstairs wine fridge
New Traeger
Kayaks

* I redacted as none-of-ya-bizness.

Career. I’ve only recently started at the Credit Union since February, 2020 and the slogging through COVID times makes me feel like it’ll be a bit before we get a ton moved along. I am hoping the blog picks up to 200 followers, mainly to increase the habit of writing.

Home: This one was easy. I just looked at my mortgage amortization table to see what I’d owe by then, figuring I’d make normal payments. We’ve saved for a remodel of the kitchen as well, and the plan is to have the remodel all the way done by then.

Health was the one I spent the most time specifically looking at defining specifically. I already check a lot of the boxes. I do CrossFit 5x a week. I’m close to 20% body fat (I think, I should get that rechecked.)

Travel: I don’t really have a lot of desire to travel too far right now. By January 2022, Walla Walla for a winery visit seems like a great idea, and I’ll go to Long Beach as often as I can, but big trips seem unwise.

Finance: I’m a personal finance nerd, so the first one is a no-brainer, and I’m absolutely loving YNAB so pushing myself to get to a 2nd full month completely budgeted will be a real stretch, but the investment account has never been the highest priority for me. Time to change that.

If you’ve never heard of YNAB, check it out here. If you want to subscribe to YNAB, use my referral link and they’ll give me a free month. It is really a game changer in terms of the way you think about budgeting though. It’s already paid for itself 4 times over by the way I use my cash-back credit card now.

Family: I didn’t have a lot of goals here. I just want everyone happy and healthy. I kinda think they should set their own goals here. I’ll probably tell them to do so.

Personal: I have never been very serious about my guitars. I think this next year I can get around to setting up some lessons.

Stuff: I’m not really a “stuff” guy. I like having less stuff, but there are a few things I’ve been genuinely thinking about. A new PC because my current desktop is 8+ years old (I build BIG PCs, so they tend to last.) A wine fridge downstairs, because I hate not having one down there (we have 2 upstairs, and keep ~80 bottles, but having table wine available in the dining room would be nice. The Traeger I have is 12 years old, rusting through, and the wife would like to be able to grill more. They have a combo smoker-grill I’ve been looking at. Finally, I think it’d just be too fun to get some inflatable kayaks so I can walk across the road and paddle over into Lake Washington.

3 Years / January 2024

CategoryGoal
CareerCredit Union.
Happy in my job.
Knowing what I’m trying to do,
and who I’m helping.
XXK * a year?
Blog, 2500 followers
1 Book Written (Published?)
HomeCondo. Owe <$200K on it.
HealthWeight 215-220,
17% body fat?
Maybe 1 blood pressure pill
5x a week Xfit
occasional weightlifting
running for 10-15 miles weekly
biking for 25+ miles biweekly.
TravelWine trips to Chelan
Walla Walla
maybe Oregon?
FinanceRetirement accounts funded to legal maximum.
Investing account $600 per month
5 months ahead in YNAB
FamilyHappy + Healthy.
Zoe should be in College.
Lydia driving?

* I redacted as none-of-ya-bizness

Not much changed in 3 years. I’m still planning on working at the Credit Union. I may be in my same Principal role, but maybe I take over a business unit? Or move into Architecture? Or take my bosses’ job… who knows.

I know I want my blog following to get bigger, and ideally, my writing to get to a point where I have put a book together. I don’t know how to do that yet, but I’ve read a lot of crummy books, so it can’t be that hard.

I really only bumped up some of the numbers on Home, Health and Finance figuring that was just a longer trail to the same thing. I’m hoping to have put more cash against my mortgage, so that I chip that down a bit more, and move more money into the investing account. Getting 5 months ahead in YNAB would be pretty darned incredible, but in 3 years, it seems doable.

Stuff seemed needless to think about (it’s just stuff, ya know?) I did want to do some more wine trips though, specifically through Oregon and Lake Chelan.

5 Years / January 2026

CategoryGoal
CareerBECU. Happy in my job.
Knowing what I’m trying to do,
and who I’m helping.
XXK * a year?
Blog, 15000 followers
1 Book Written and Published
Speaking at conferences?
HomeCondo. Owe <$160K on it.
HealthWeight 210 +- 1%, 16% body fat.
Generally quite active.
TravelNew Zealand
FinanceRetirement accounts funded to legal maximum.
Investing $1000 per month
FamilyHappy + Healthy.
Zoe and Lydia in College as students.
Emerson Driving.

* I redacted as none-of-ya-bizness

Big changes in 5 years. I’m hoping to have a book written and finished, and with 15K followers on a blog, maybe have enough folks who may actually buy the thing. Regularly speaking at conferences too. I do so irregularly now, so in 5 years, becoming someone who is requested to talk would be great.

Health goals were simplified a bit. I’m not really thinking about specifics anymore. Just being someone you’d describe as ‘quite active.’ Investing is still moving forward at a solid clip.

I would like to visit New Zealand in 5 years to wine taste through their Sauvignon Blancs. That was about all I could think to add.

10 Years / January 2031

CategoryGoal
CareerXX* K / year. Loving what I do.
2 Books Written and Published
HomeCondo – Paid for and renting out. Living in Seaview?
HealthWeight 190 +- 1%, 14-16% body fat.
Generally quite active.
FinanceInvesting bulk of income.
FamilyHappy + Healthy. Emerson in College.

* I redacted as none-of-ya-bizness

The 10 year goals are pretty high level. 2 books written and published. Probably working at the Credit Union, but regardless, loving what I do. Condo is paid off and maybe being rented out, while Heather and I live somewhere else (I mentioned Seaview, because that seems the most likely destination right now.)

It’s a pretty big jump on the weight side, but 20 pounds in 5 years isn’t THAT big of a drop, and I’ll be over 50 by then, so being smaller will definitely have its benefits. Financially, hopefully I’ll be investing most of my income.

Those are my goals. The nearer ones are 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. The 10 year goals are pretty non-specific. Even something like ‘investing bulk of income’ could just mean 51%.

I hope this post inspires you to think about your own goals. I know I’m thinking about ’em.

The Power of a Great Demo

I went to school at Western Washington University and got a degree in English, with a concentration in Creative Writing. In damn near every writing class, you’d hear the same 3 words. Show, don’t tell.

Independent of writing style, a scene inspires and communicates more. A quick example:

Version 1:
Bob was hurt and furious after Marie’s “I miss you.” text. “2 months and this shit?” he thought.
vs
Version 2:
The phone buzzed. A text. Marie: “I miss you.” Bob’s eyes watered a bit as he tapped the 3 dots, and hit ‘Block.’


I bring “Show, don’t Tell” up because, although it’s been embedded in my brain for the past ~20 years, a recent beer-night conversation with a friend (Hi Branden!) reminded me of those words. He was talking about the power of a good demo. Having tech to show off is simply more compelling than a simple conversation.

If you want to try something new, or convince someone of your idea, remember Branden and his idea. Show, don’t tell.


A developer I’ve been coaching finally executed a great demo on Angular for our weekly developer meeting. She spent nearly 3 months learning Angular. Her demo contained a soup to nuts implementation of a site, including tests, test coverage, a CI / CD pipeline deploying the site all the way to an azure site. She did this demo over the course of 45 minutes.

I was thinking about what sort of conversation it would be if she didn’t have the full demo. Maybe 5 minutes? Maybe she’d have been overruled, or even redirected to another technology.

But a full demo? She had the whole group listening.

Power Through, Part 2

As I left you in part one, I was in a pretty poor state. I was 34, 320 pounds, and I had been diagnosed with an extreme blood pressure event and congestive heart failure. Since I was still up and mobile, the doctor decided to start with drug treatments to clear out my lungs and get my blood pressure to a reasonable state.

I remember him saying that if the fluid didn’t clear on the drugs, I’d have to go in to the hospital. The fluid cleared.

I don’t remember taking a day off of work.


Early December of 2017. I was picking up Heather from her CrossFit gym. While she finished up the last of her workout, the owner of the gym approached me about a “new years new goal” thing.

For $100 bucks, I’d get daily access to the gym and a meal plan to follow for 3 months.

That gym owner had sponsored my daughters’ softball team for 3 straight years. I knew I wasn’t in the greatest shape, but I figured I owed him. So what the hell.

First thing was a meal plan date. I sat in a room with about a dozen and a half other folks talking about meal planning. Some folks were hardcore athletes, basically looking to bulk up and grow muscles. The rest were normal ‘trying to get fit’ folks. Folks that weren’t out of shape at all, but wouldn’t mind looking for a bit more than your standard “New Years Resolution.”

Then there was me and two others. We were the Bigguns. I was still over 300lbs but the other guy made me look small. He was 6’8″, and probably 360lbs. His wife made up the last of our group. Topping out at 5’4″, she was near 225lbs at least.

We had a long road.


To be continued…

Awesome Sauvignon Blancs

I’m a fan of Sauv Blancs. I drink a lot of wine from Washington, but I’ve been recently opening up my palette to New Zealand Sauv Blancs. I love a bright acidic push. I love the cool mid palette rush of New Zealand, but the dull fruit of Washington has a wonderful place.

Here are the Sauv Blanc’s I’ve been happiest with this past year.

I haven’t found a California one worth the hype yet.

Heather sitting under the Pergola, last year at Tildio.

Fidelitas Tasting Notes – 7/31

I got an email the other day advertising Fidelitas’ Canyons Malbec. I had to head in for a tasting!

2019 Red Mountain Semillon – Honeysuckle and creamy. Just a hint of acidic fruit on the finish.

2019 Optu White Blend – Gourgous and perfect for a hot day. I would have opened the tasting with it if I could have. Light floral nose. Beautifully fruity mid palate, with a hint of strawberry and peaches. Delicate finish. Outstanding stuff.

2017 Red Mountain Merlot – A standard Big Red Merlot from Washington. Lovely, but not what I was looking for that day.

2017 Optu Red Mountain Red Blend – Dark. Minerals and chocolate. A hint of plum on the finish. I felt a bit silly sitting outside on an 85 degree day in Woodinville drinking it. This felt like a good November evening wine.

2017 The Canyons Malbec – This was what I came to try. Nose was all dark fruit and baking spices. Palate was blackberries and honey. Just enough tannins to take notice. Long long long finish.

Don’t Break The Streak!

Here’s a quick accountability trick that I’ve been using to help me some of my fitness goals. It’s called ‘Don’t Break the Streak’, and it goes like this.

There’s something you want to improve. For me, it’s push-ups.

  1. Print off a calendar, and hang it someplace conspicuous.
  2. Do SOMETHING every day to get yourself better, and once you do it, check off of that calendar.
  3. Your goal is to make the streak of ‘checked days’ as long as possible.

This gives you a quick visual indicator of your improvement. A steady streak of Xs through days that you can count.

Your job is keep the streak alive, and make the snake as long as possible!

Just like the game.

My Long-Term Goal: Be able to do 50 real push-ups in less than a minute. Given where I am in my fitness, that’s a LONG-term goal.

My Daily Habit: 3 sets of 12 hand release push-ups with between 30 seconds and 60 seconds rest between them. The whole thing takes about 5 minutes to do.

My streak: 6 days (so far).

Developers – Make Your Own Metrics

Writing software can have a bit of a pile of metrics to pay attention to. I especially hate being held toward measurements I cannot get control of. One of the worst offenders can be the ‘Story Point.’

The Problem of Story Points

The story point starts with the best intentions. It gives a way to for a team to build consensus about how big something ‘feels’ without the burden of a deadline. Project managers can get a general gauge of velocity, and an idea of how long a project will take to complete. But there are some glaring holes.

First, there is no baseline for a story point. What’s a 1? Without a definition of the base, what does it mean when a team estimates something at an 8? Is an ‘8’ in fact 8 times bigger than 1? If not, what’s the value of a velocity ‘sum’? If you can’t trust 1+1 to equal 2, the fact that your team got 35 points done in a sprint is meaningless.

Second, in my day-to-day developer role, I can only minimally impact the larger measure of velocity with story points. My largest impact is simply showing up for work. In effect, velocity largely measures who was on vacation for a given week.

Metrics I Care About

Things that get measured, get improved.

There are plenty of things I can demonstrably impact as a developer though. I can write more LOC, or less. I can measure test case counts and the code-coverage of those tests. I can measure the complexity of functions and classes. I can measure the depth of dependency usage, and the number of interface implementations. I can count external dependencies, or compiler warnings. I can do stupidly easy stuff and count the number of ‘.Result’ calls on async methods. (Quick tip, your target is 0.)

It comes down to a issue of my own design though. The trick is to decide what that design is, and how to measure it. For my own aesthetic, I prefer the following:

  • Small code, thoroughly-tested, released often.
  • Code which is apparent in purpose and function.
  • Code with minimal external dependencies, which can be quickly replaced when warranted.

These are my design preferences, and having them help lead me towards the metrics I care about.

Small code, thoroughly-tested, released often = Cyclomatic complexity + Unit Test Coverage * Count of the number of deployments. These are simple numbers I can get out of build tools, and can ‘fiddle with’ right there in my editor. I can target small commits that are easily released to boot. I might not be directly able to control the release schedule, but I can target code that CAN be released often.

Code which is apparent in purpose and function = Average function length / Average class size * Average length of time commits are in code review. Again, I can fiddle with function length and class size directly in my editor, and I can make smaller commits / review sessions. I can do this every day to improve these numbers.

Code with minimal external dependencies = Count them. Did I install a Nuget package that came with 6 dependencies? Is there a comparable package that only has 2? If not, can I make one? If I don’t have time, can I minimize the surface area of that package? All of those items are directly under my control.

Communicate, Communicate, Communicate

Since I have my design aesthetics and metrics that show them, I can use them to communicate value and even push them further beyond story point as a measure of value. Some examples:

PM: We only completed 25 story points this sprint. Last sprint, we got 32. 😦
Me: We improved our test coverage by 28%, and last sprint, we had only gone up 4%. Our system is more robust against failure.
or
Me: We released 7 times this sprint! Last sprint, we released 5.
or
Me: Our average function length decreased by 8.5 lines, and our cyclomatic complexity stayed the same. That means our system is easier to work with for the next sprint!

Will my PM always understand these metrics? Probably not, but then my job is to get involved and communicate my values!

I might have to compromise. You don’t get to win everything, but having your principles backed with hard numbers is a much better way to win something and exercise some authority on some of your work.

I would rather be a stakeholder in what I am building than a cog in the machine.

Developers – Know Thyself

I am not suggesting that we change everything about story points or project management in a software project. There are better minds than mine on that. However, developers should do everything they can to decide how they want to write their code, and how to measure their improvement. Be regular, diligent, honest and thorough measuring your work. It is the best way to improve what you actually care about.

Ugh, when will this be over.

Burnout is a thing. Even without the regular commute, the gym being open, and my recent trips to Long Beach seeing the amazing summer sunsets, I’m tired and a bit sick of it all.

COVID19. My Pollyanna-esque brain wholly believes in humanity. We will overcome this, like we overcome everything else. Still, I can’t help recalling folks predicting a second wave, and it seems like we’re getting one in Washington.

Protests in the city. I have never distrusted police more than I do now. I will vote against their funding nearly every time from now on.

Teenagers. No, daughter-of-mine, a chore chart is not the same as misogyny.

The picture is of my middle kid when she was a baby. It showed up in my Google Photos, with a ‘remember this?’ message. It made me happy seeing her smile that much. I may be feeling a bit of burnout, but she’s too cute to not share.

Quick Tip : Learn by Testing

I have already talked about what to looking for when learning a new programming language. One of the points I brought there was “How do I test my code. Unit testing libraries are available in near every major programming language and are an important tool in the belt!

One way to use unit testing libraries effectively is to use them to give yourself a safe playground for learning other libraries or features of the language.

Say you’re working in the .NET space, and you are trying to learn AutoMapper. One of the easiest ways to try out that library is to spin up a simple unit test project, and test your way into understanding the new framework. Start with simple examples from the docs and assert the values you expect. Try out different functions! Be thorough, and try it all out in the safety of a unit testing project that will not negatively impact your current work.

This has a handy benefit of getting you muscle memory using the library as well.

You can do this for learning programming languages as well. Getting unit tests up and running is a great step in learning a new language, and can be inserted right after the ‘hello world’ step!

Even if you are not a TDD fan, consider starting from scratch with unit testing. Happy coding!

On Being Coachable

I have spent a few posts about my experiences coaching other folks. It is immensely satisfying to coach and mentor people in their careers, but not everyone is mentally ready to be coached by someone else. Pride is legit, and exposing yourself to the critical eye of others with the express purpose of having them break you down can be difficult. Many times the things we need the most coaching on are things we attach our sense of self to. Subsequently, we do not improve as fast as we could have, if we had that course correction.

Here are four tips for being coachable.

1. Remove the Personal Stake

Take a deep breath and start here: You are valuable. You matter. It is critical that you continue being who you are. Unfortunately, the things we need coaching on often are those same things that we use as a crutch to define our identity. Look very deeply and critically at your own crutches before you do anything else.

You do not need coaching on how to be a better you. Coaching is for skills, for empathy and awareness. A good coach pushes you towards a place where you can improve what you are doing, not who you are. If you attach your ego to a set of skills, you will buckle against guidance.

This is 2020. Most people will hold several careers over the course of their lives. There is no value in remaining static to a single set of skills, and just as so there little value attaching your identity to those skills. If you find yourself saying ‘but this is who I am’, step back, and ask ‘is this who I want to be?’

2. Make Yourself Conspicuous

A key element to being coachable is access, and making what you are doing open and visible. If your coach or mentor cannot see you what you do on a regular basis, you are limiting that person’s ability to help you. The key here is to make your coach aware of the specifics of what you are doing.

Examples: As a softball coach, I can talk in general terms about batting, but for an individual player, I can target her specific stance and swing when I see her swing. My CrossFit coaches address movement when they specifically see them, and the movement is still fresh in my mind. When pairing with a software developer, I can consistently nudge back to write tests before they write the implementation, as opposed to doing a simple code review, where I may not see that developer’s whole process.

3. Get a Regular Feedback Loop

Now that you have made what you do visible, you have to setup a regular feedback schedule. Look for feedback that is targeted, specific, and on a detail you are capable and interested in changing. Regularity of that feedback is the critical element here. Setup a scheduled time for that feedback and disconnect it from the immediacy of the moment.

This one sounds counter intuitive but coaching is done well during a time of introspection. During the moment, it is too easy to get emotionally attached to what it is you are doing, and so criticism hits buttons harder than they really are intended to. You need to pick the right time, when the moment is still fresh in your mind, but detached from those immediate emotional points connecting it to your sense of self.

4. Invest Your Time

The only way to get better at something is to put in the time, and it’s the most useful way to follow after a coaching session. You cannot watch a video on improving your short game, and just expect your handicap to drop three points. Spending time on Udemy watching guitar instruction videos is great, but you have to put in the work and practice what you’ve seen. Nobody learns to swim from a book about swimming.

Once you’ve taken the time to remove the personal stake, make yourself conspicuous, and set a regular feedback loop, the final step is to exercise consistent and deliberate practice. Things won’t necessarily come immediately, but you’ll be able to push forward more quickly. Dedicate calendar space and some distraction free time to practice the deep work required to improve. Turn off the rest of the world, and build your skills.