Stories about Software


How to Get Yourself Out of Technical Debt

This week, for reader question Tuesday, the question couldn’t be simpler.  It’s about technical debt, and here’s how it goes:

How do you get out of tech debt?

I told you it was simple.

I’ve talked about technical debt a number of times on this blog.  I offered my own definition years ago (in another reader question, actually).  I’ve talked about why it exists, and I’ve written at times about how you can use NDepend to identify and quantify it.  But I guess I’ve never really talked in any detail about how to escape it.

Let’s do that today.

Read More


DaedTech Digest: Pairing, Code Readability, and Writing My Own Code

Well, it was a good run going to lots of baseball games.  But Cubs’ spring training ended (at least here in Phoenix) on Sunday, so I’ve resumed somewhat of a normal working life.  At least, what passes for normal working life when you’re a remote-working nomad.

And return to work I have!  It’s been a relatively tiring week of working from waking up until going to bed, minus breaks to go jogging along a waterway in Phoenix (pictured below) and to eat.  I don’t recommend this sort of thing for work-life balance.  And I certainly don’t recommend it unless it’s in pursuit of building your own empire, rather than an employer’s.

But I got to spend some time writing code this week, which makes it all sorta worth it.


  • Just today, I followed this guide to using the Google Sheets API in .NET.  It involves some pretty easy setup, sample code, and the installation of a NuGet package, and you can get going easily in a few minutes.  This is a nicely polished getting started guide.
  • I’m going to throw a pick to StubHub for baseball game tickets.  I’m not in love with their app, per se, and I’m really not in love with their default setting of signing you up for teams’ mailing lists.  But their app has completely and seamlessly eliminated the need to mail/print/carry paper tickets.

The Digest


A New Way to Measure Software Careers

How do you measure the progress of software careers?  I don’t mean rhetorically — give it some thought.  As a software developer working your way through the workforce, subconsciously optimizing for AMP, how do you evaluate yourself?

I can think of some things that probably flash into your head:

Maybe you have others.  Weigh in below in the comments if so — I’m honestly interested to hear.

Anyway, today, I’m going to propose a different one.  At first blush, this measure seems kind of binary.  But I think there’s actually a subtle continuum, and this post will explore it.

So, how do I propose we measure progress in software developers’ careers?

Simple.  Your career is as mature as the degree to which you control the decision about whether or not to write software.

What Does It Mean to Decide Whether or Not to Build Software?

Before I get into the progress spectrum I mentioned, I should probably justify my assertion and elaborate a bit.

First of all, when I talk about the decision about whether or not to write software, I don’t mean it in some kind of granular, micro-sense.  I don’t mean that you have the autonomy to decide whether to roll your own logger or to use Log4j.  I don’t even mean that you’re an architect and you can push back on the business about technical feasibility in the short term.

No.  I mean that you make the business decision about whether or not to write software.

For instance, say you’re a free agent that specializes in helping mom and pop retailers establish an online sales channel.  When Mom’s Gourmet Macademia Nuts calls you and contracts you to help, you decide whether to build a custom web app, use Shopify, or send them to Etsy.  (Or whatever — this isn’t exactly my forte.)  Mom asks you for help, and you decide whether or not writing software should be part of that help.

Or take me and my content business, Hit Subscribe.  In order to earn my CTO designation on LinkedIn, I’m handling the business’s technical decisions, including whether to delegate tasks, automate them with off the shelf products, or build custom automation myself.

That’s what I mean about the build decision.

Read More


Mitigating Risk When Depending on Remote Work

A while back, I wrote a post about remote programming jobs and why you ought to go looking for them.  I’m probably the poster-person for remote work these days, given that my work is 100% remote, and that my wife and I take full advantage of that to vagabond.  Oh, and I love it and have never looked back.

When I wrote that post, someone weighed in with a question in the comments.  So let’s make today’s reader question Tuesday post about remote work.  Here’s a slightly abbreviated version (you can read the full question in the comments).

The Reader Question about the Risk of Remote Work

My wife and I have just recently talked about a medium-to-long term plan of moving out of our home in a metropolitan area in California to somewhere more rural in another state.

Certainly there are the considerations of leaving family and friends but on top of that is the concerns I have over how it will affect my career.

I’ve done pretty well for myself thus far, both in terms of salary and in terms of the kind of work I’ve been able to do all at companies where technology is a strategic asset to the business.

My worry is that there won’t be enough good remote opportunities, or that I won’t have the connections to score those jobs (all the jobs I’ve had except for my first were achieved in large part because I had former colleagues already at the new company who asked me to join them).

I’d be interested to hear what social media channels you recommend. I’d also be interested to hear what people have to say about working remotely from a rural locale.

Answering the Explicit Questions: Remote Work from a Rural Location and Social Media

I’d be doing a pretty bad job of answering reader questions if I didn’t actually answer the questions.  So let’s do that first.  Though I will elaborate on the subject of risk after I do that, since that’s really the core issue here.

First of all, remote work from somewhere rural, for me, mostly isn’t any different.  I have an office at our house in Michigan, and we have good internet.  When I’m there, it’s the same as working anywhere else, suburban, urban, or whatever.  The main difference is that I don’t have much access to throwback stuff, like printing things out, signing, faxing, and whatnot.  I’ve mostly optimized my life not to do things like that, but on the occasion that I have to, it can be a headache to drive a ways for these sorts of chores.

And, as for social media channels, I actually don’t recommend that as a solution.  So I can’t really speak to which ones help remote workers.  Social media can be fun and provide interesting interactions.  But unless it’s with people you know through some other channels, it creates relatively superficial relationships.  These aren’t the sorts of things that help you close six figure deals.  (And that’s exactly what programming jobs are.)

Read More


DaedTech Digest: Spring Training, Log Appenders, and Retiring Feature Flags

Happy Friday, everybody.  As always, I bring you another DaedTech Digest post where I go on a bit about the vagabond lifestyle, make some picks and link you to some posts I wrote about tech.  Last week, I chronicled our move to Phoenix for a month.  This week, we have a week of living in Phoenix under our belts.

It’s an insanely busy time right now for Hit Subscribe and the entire point of our trip was to attend a bunch of Cubs games for spring training.  I am succeeding on both fronts, which creates an interesting, manic work and recreation dynamic.  We’re going to baseball games every day, and basically working every moment we’re not at baseball games, including weekends.

Truth be told, it actually suits me pretty well.  I like our work, building businesses and watching baseball.

Here’s a screenshot of the experience in a nutshell (at least the baseball portion).  Beautiful weather, palm trees in the desert, the Cubs logo on the scoreboard, and a low-key, relatively intimate setting in the ballpark every night that includes picnic blankets on the lawn in the outfield, if you’re sitting out there.  There are also lots of mountains in the background (not pictured).


  • My wife and I have been listening to this book, “Built To Sell,” on Audible, about structuring a business so that you could sell it.  It’s really interesting, and it delivers on the title premise, but that’s not the valuable part, at least for me.  The real value, as far as I’m concerned, is how to take a generalized service-based business and turn it into a company that offers a productized-servie and behaves more like a product company.
  • I’m going to pick the combination of Farmers Insurance and this Jeep Dealership.  Apparently a fuel pump gave out on my Jeep the other day, causing it not to start.  I called Farmers and they sent a free tow out to take my car to the dealership, which replaced the part for free because it had a recall.  All of that was pretty nice, but the thing that impressed me across the board was how smooth the tech made it.  I was able to monitor the progress of the tow truck driver on my phone while I waited, and the dealership was ready for me with information already in the system from my VIN and records at my home dealership.  An incredibly smooth experience, given the circumstances.
  • If you’re ever in Phoenix and you want a place to go work, Sip (link removed because their site got hacked) has got you covered.  They feature a Starbucks-esque coffee scene, but also craft beers and cocktails as well as a nice light fare menu.  So, if you’re a vagabonder looking for some ambiance and wifi, you can spend your morning and afternoon with coffee and your work, and finish the day with beer and your work.

The Digest

As always, have a good weekend, and thanks for reading!