Stories about Software


Reader Question Round-Up: Corporate Culture, Code Quality and Counter Offers

Just when you thought I’d run out of steam, like some kind of content brown dwarf, I’ve found new life.  Seriously, it’s weird to look at the blog and see that it’s been a month since I’ve posted content.

Oh well.  C’est la vie.  I’ve got content for you today.

I just recently published another video (framed below) on my Youtube channel where, wow, I’m actually pushing 500 subscribers.  And I am, once again, answering reader questions:

  1. How does caring about problem domain relate to ethical concerns about employers?
  2. What is the new big boss’s real agenda for a “culture building” event?
  3. New job offer after only 4 months at current employer and a counter-offer. Should I accept the counter-offer?
  4. How important is code quality for the “efficiencer”?

(If you want to ask me a question for answering in a video or blog post, you can do so here).

As for the blog itself, the sparse content is more of an aberration than a trend.  I’m not shooting with do-or-die intention for a weekly cadence, but that is loosely my goal.  And I’ve decided to stop treating content creation as a kind of work, and opt to carve out a little time on Saturdays for it instead, treating it as a hobby.

So, no promises on cadence, but rest assured that if you’ve been coming here for content over the years, I have no intention of stopping the train.

Read More


Coders in the Hands of a Missing God: How Newly Minted Freelancers Badly Miss the Point

As any follower of this blog knows, I regularly answer reader questions, both with blog posts and videos.  Usually, these are fairly specific to an individual situation.

But sometimes, I get many variants of the same core question, such as “help, my boss sucks.”  When that happens, I answer a composite question.  And that’s kind of what I’m going to do today.

I say kind of because we’ve got two mitigating factors here:

  1. The questions actually differ considerably, but all miss the point in a common way.
  2. I won’t answer the question directly, but will instead try to get people asking these questions to think differently.  (I want to include this caveat because this is the equivalent of you asking, “how do I do X in Java” and me saying, “don’t use Java,” which is not the same thing as answering the question.)

How Can I Optimize ____ to Bring in Business

So with that aside, let’s look at what people ask me.  And bear in mind that the people asking this are either newly minted freelancers or freelancer-curious, considering going off on their own.

These people ask me questions like:

  • Which Stack Overflow tags should I answer to bring in lots of business?
  • How can I optimize my Upwork profile to get the most business?  (My five second answer here, if you’re interested.)
  • What’s the best title to give myself on LinkedIn to attract interest?
  • Does my current website copy sound polished and will it appeal to potential clients?

These are at best tactically different questions.  I’d actually call them nominally different, myself.  Underlying them is a common pattern.

All of them put the spotlight on you, personally, and not your prospective clients.

In other words, all of them assume that if you dial up the right and optimal magic sequence of words, points, layout, and presentation, you will earn business.  Notice that the client here doesn’t matter or have any agency; clients are almost like NPCs that simply have to hire you because the game dictates as much when you activate the magic stones in the right sequence.

My answer to any and all of these reader questions is both simple and bleak.

What you’re asking about doesn’t matter. And as long as you continue to think that it does, you’re going to have a painful journey likely to end in failure and an eventual return to salaried employment.

The good news is that you can easily avoid this fate and flourish.  You just need to grok and adopt a rather fundamental mindset shift.  Today I want to try to explain that shift with a bit of humor and metaphor.

Read More


5 Things I’ve Learned in 20 Years of Programming

This year, I’ve become increasingly acquainted with the DEV platform.  It’s a refreshingly positive oasis in the large sea of angry Reddit commenters and “well actually” connoisseurs that is the broader software world.

One interesting facet of this community is that it seems pretty beginner-heavy.  I regularly see posts written by and for industry newbies.  And by newbies, I mean folks that are aspiring programmers, in bootcamps, looking for entry level work or in roles with the unfortunate “junior” qualifier.

I find this enjoyable.  Relative newbies are generally enthusiastic and excited about the industry.  And that excitement is infectious.

But it also makes me feel my industry greybeard status.

I think of what I remember Bob Martin saying on a podcast or in a talk or something.

The demand for programmers has grown so dramatically over the last 4-5 decades that the number of programmers is always doubling every five years.  As a result, a programmer with 5 years of experienced has more industry tenure than half of the entire industry.

Old Man Status

I’m now pushing 20 years in the industry.  I spent about 10 of those in roles where my primary function was to write code.  The other 10 have involved managing programmers, coaching them, consulting with organizations about how to manage them, running a codebase assessment practice and these days, well, actually content marketing.

But in all of these roles I’ve written code to varying degrees.

By my calculations of geometric programmer growth, this makes me more grizzled than 94% of the industry.

So we have a bit of a juxtaposition.  I’m a programming lifer hanging around with a bunch of programming newbies.

This made me wonder to myself, “if I could summarize this experience into succinct bits of advice, and assuming that anyone actually cared, what would I tell these folks?”

And that’s the premise for this post.  The following are the things I consider to be the most important lessons and takeaways from a 20 year programming career.

Read More


Reader Question Round-Up: Freelance Taxes, Billing International Clients, and More

It has now officially been over a month since I posted anything related to the software industry.  Well, that ends today.

As I said in the video below, I’ll offer an explanation, but not an apology.  I was on a vacation.  After 2 and a half years of not ever taking a true vacation, we finally helped ourselves to one.  And we made it count by taking something like 19 days.

But now I’m back and ready to resume normal content operations.

Today I’ve got a reader-question round-up video and digest.  And this video even has some vacation B-roll in it, as I continue my slow trek away from complete video amateur status.

As a reminder, if you’d like to ask a reader question for me to answer in a video (or on the blog), you can ask here.

Read More


My Take on Thailand: A DaedTech Digest

Thought you were getting some dev-specific content this week?  Ha — ya got fooled!

Last Sunday, at 10:30 AM CST (10:30 PM in Thailand), Amanda and I left our hotel room to head to the airport.  We had been up since about 9:00 PM CST on Saturday.  From there, we took a six hour flight to Dubai, followed by a 15 hour flight to O’Hare, landing at about 3:00 PM on Monday.  We both barely slept on those flights.

And then, we picked up our car and drove 3 and a half hours through Chicago rush hour traffic to our house here in Michigan.  We finally went to bed at about 9:00 PM Central time on Monday night.

So, the totals, for those keeping score at home:

  • 36 hours of getting to the airport, flying, layovers, customs, riding, and driving with almost no sleep.
  • (Nearly) 48 total hours of wakefulness.

Was it worth it?

Absolutely, positively yes.  And I’m going to talk all about Thailand and our experience.

But did I have enough energy this week to fight through the jet lag, catch up with Hit Subscribe, and still write a piece of dev content for the blog?  Nah.

Read More