DaedTech

Stories about Software

By

DaedTech Digest: Agile, Code Review Horror Stories, Test Smells

First of all, some housekeeping.  Back when I finally gave Disqus the boot, it reverted comment settings to WordPress’s defaults.  One of these was, apparently, to turn off comments after 28 days.

Sorry about that.

Backlink spammers notwithstanding, I welcome comments on posts new and ancient.  So I want to be clear that I did not do this intentionally.

Alright, now, back to business.  I’m bringing you the second installment of the DaedTech digest wherein I aggregate some of my posts instead of cross posting.  The feedback on this format has, so far, been positive, inasmuch as I’ve gotten it.  So let me know if you have thoughts one way or the other.

This is part of a pivot that I’m planning with DaedTech, for which I’m currently ideating a bit on a mission statement for the blog.  I’m thinking at the moment that the mission, going forward, will be “helping software developers become the boss of their software development.”  This could include opportunist plays to earn promotions in the office as well as help with side hustles and going free agent.

And Now, the Digest

But, I digress.  Onto the digest.  Note that these posts are ones that I wrote some time back.  I’m doing beefed up digests to catch up, and then I’ll start linking you to the various posts I’ve written for clients during the week.

Anyway, I think that 5 a week should eventually get us current.  But, if not, I’ll crank up the juice on these.  Man, putting these together, I realize that I write a LOT of blog posts.  I guess it’s no accident that I wound up founding a blogging business.

By

Should I Quit My Job? Take This Quiz to–Just Kidding

Should I quit my job?

This is a question people ask me with a frequency that surprises me and in a variety of contexts.  I could answer as one of my reader question Monday posts, I suppose, but I’ll just answer straight out.

If you’re a regular reader or someone who came here via share, and you’re asking yourself, “should I quit my job,” the answer is yes.

And if you wound up here from a Google search for “should I quit my job” then the answer becomes “Dear God, yes.”

Why?

Well, before I get to that, just look at the results of that Google search.  You’ll see why I had a little fun in the title of this post.  Each site that addresses this topic goes something like this.

Should I quit my job?  Answer the following 25 questions on a scale of 1 to 5, with 1 being strongly disagree and 5 being strongly agree.

  1. Does coming to work each day make me want to drink bleach?
  2. Does my boss actually, literally make me drink bleach?
  3. …………………
  4. Meta question: if I were taking a quiz about should I quit my job and it asked me if I should quit my job, would I say yes?

Now, tabulate your score.  If you got more than a 50, you should quit your job, mister, yah, you betcha!

So let’s just skip the quizzes and head games and get straight to why you should quit your job.  I’m just dispensing with the busy work and telling you what you came looking to hear.

Understanding Your Motivation

Do a thought exercise with me, if you’re one of those wondering, “should I quit my job?”  (Or, go ahead even if you love your job, but the effect will be understandably muted.)

Say you do this internet search, land on one of those silly quizzes and take it, giving your career the same treatment as a Buzzfeed quiz about finding out which character from Game of Thrones you are.

Don't sacrifice your positioning strategy to code-jousting sites, as illustrated by this joust-ready knight.

Let’s then say that the answer comes in.  You should, most decidedly, NOT quit your job.

What’s your next move?

Do you shrug and say, “welp, that settles that.  Back to the grind, never to contemplate this again!”

Or do you keep taking quizzes and reading articles about quitting?

I bet it’s the latter.  And you do something like this because you’re shopping for an answer.  You’re not looking for the internet to answer your question as much as you’re looking for it to supply you with ammunition.

So roll with it.  Accept that you should quit, gather your ammunition, and start planning when and how you’ll quit.

I’ll offer more on when and how momentarily, but with a quick spoiler.  I’m going to counsel patience and a long game.  If you’re looking for someone to validate your plan to march in like a moron and let your boss have it, I’d suggest looking for apocryphal Facebook posts.

Read More

By

Should I Incorporate? The Knowledge Worker’s Dilemma

Happy Monday, everybody.  To help prolong your procrastination over morning coffee just a little bit longer, I’ll offer you the latest installment of reader question Monday.  Today, I answer a question that many reading my blog probably have: should I incorporate?

Here’s the actual question, as I recorded it.

What is the cost/benefit of incorporating? Should I just keep paying for domain/hosting through my [credit card], or would it be worth the hassle to move to a real business?

As you can see, I’ve generalized a bit in order to make it more broadly applicable.  But I’ll speak to all salient points through the post.

Should I Incorporate?

Yes.  Alright, post over.

Just kidding.  At least, I’m kidding about the “post over” part.  I do think that you should incorporate.

“But you don’t know anything about my situation, my job, or my life!” you protest.  And, while that’s true, I’d argue that I don’t need to know anything about it, assuming you’re a knowledge worker.  To make my case, let me now speak explicitly to costs and benefits, as requested.

Should I incorporate? The monopoly guy here thinks the answer is yes, and so do I.

Read More

By

The First DaedTech Digest

I mentioned this idea in a post I wrote the other day, the idea of a digest style of post.  So today, I’d like to give it a try.

You see this sort of thing a lot, all over the place.  So-called planet sites have been around for a long time, aggregating community-related articles into a single place.  Examples include one of my personal favorites, the Morning Brew.

There’s just one difference in what I’m proposing.  Instead of gathering stuff that others have written, I’m going to digest the stuff that I’ve written.  In the last year, we’ve turned my paid blogging for other sites into a tech content business, taking blogging from a side hustle and hobby to a professional gig.  So, I write a lot of blog posts.

Historically, I’ve simply cross posted these with canonical linking, leading in with “editorial note: I originally wrote this post for…”  But I’m thinking of taking DaedTech in a bit of a different direction than just generalized software-oriented blog posts.  More on that later.

The point here is that, instead of pushing one of these cross posts out per day, I’m going to do a single digest post per week containing posts that I’ve made.  I have about 90 backlogged drafts in my folder, so at first it’s going to be posts I made some months back.  But sooner or later, I’ll catch up and give the posts I’ve published in the last week.

But anyway, without further ado, here’s the digest.

Some Posts to Check Out

  • This is a piece that I wrote for the Monitis blog.  It’s about threat modeling and the woes of being an e-retailer and guarding yourself against criminals and ne’er do wells.
  • I wrote a post for TechTown that was a primer about unit testing in C#.  It gives you a back to basics explanation, the value proposition, and the simplest imaginable examples of writing unit tests.
  • This is another post that I wrote for Monitis. It’s about the C# IEnumerable construct and how, if you misunderstand it, you can kill your site’s performance.  This has to do with how IEnumerable can encapsulate deferred execution, and that it only promises a strategy for obtaining items, rather than giving you those items.
  • I wrote this post for SubMain.  It’s about how something that’s seemingly inconsequential — spell checking your code (specifically, C#) is more important than you might think.  There are subtle things to consider that you might not have considered.
  • This post is actually going to become part of Microsoft’s official documentation!  Seriously, no kidding.  Bill Wagner wrote to Patrick and I about this post, and it’s now in their documentation build on Github.  Anyway, I wrote it for NDepend, and it’s a walk back through past major version of C#, reflecting back on nearly 2 decades of the language.  It was a fun journey down memory lane.

And, that’s it.   Happy reading, and happy Friday!

By

The Programmer Skill Fetish, Contextualized

I am currently considering something of a content pivot for DaedTech.  I haven’t really decided anything for sure yet, but I’m leaning toward putting cross posts into digest format once per week and then doing fewer posts, but ones that are more focused on developer empowerment and the efficiencer dream.  Your feedback on this is entirely welcome in the comments or on Twitter or Facebook or anywhere, really.  I’d honestly like to know what you think.

I mention that because I think I need to refocus a little on some hypotheses that underpin all of this.  In the time between writing Developer Hegemony and now, I’ve found myself distracted by changing my lifestyle, selling a house, starting a couple of businesses and, well, life.  But throughout that time, I’ve given some thought to what I ought to offer people with this site.  Should I continue (against the advice that I offer everyone else blogging with purpose) to keep the blog as a chronicle of my many thoughts?  Or should I orient it around a theme in which I help people solve some kind of problem.

And I’m leaning toward trying to solve a problem.

So back to the hypotheses.  First one that I’ll mention is that programmers should specialize and seek options outside of full time employment.  (Not as in immediately making it your goal to escape the rat race.  Rather, make it your goal to have options outside of serving at the pleasure of some single employer.)  The second one, following from that first, is that we focus on programmer skill to the point of fetishizing it.  And, we do this to our detriment.

The Known, But Unheeded, Career Wisdom for Programmers

Let me lay out a few points that surround the issue.  None of these will probably be especially new to you, but taken together, they’re interesting.

  • You often hear some variant of “part of being a great developer is knowing when NOT to write code.”  In other words, being really good at writing code helps no one if you code up a useless product.
  • Successful “entreprogrammer” John Sonmez, in promoting his “Soft Skills” book, often talked about how he wasn’t successful because he was the best programmer, but because he learned the material that he was communicating in the book — strategies for business and dealing with other people.
  • In most organizations, it’s not necessarily the “best” programmers that wind up with higher pay and vanity titles like “senior,” “tech lead” and “architect.”  It’s generally the longest tenured ones.  Long time readers will remember my writing on this subject.
  • Businesses and non-technical people often don’t listen to the “best” developers, often because those developers take pride in spewing jargon and being indecipherable.
  • We can’t even define “best” programmers.  Do a google search on it.  Page one alone promises more than 100 answers.  These include technical knowledge, but also things like “positive attitude” and “good communication skills.”

Put all this together, and you have an interesting picture.  The business world and the greater non-programming world in general values one thing.  Programmers, when we get together, value something different.  We’re fully aware of how outsiders value us, but we just can’t resist the impulse to compare ourselves to others with code competitions, programming challenges, data structure interviews, and claims that we’re “10x” better than others.

The Skill Fetish, Explained Indirectly

This brings me to what I think will be the fun part about writing this post.  I want to use a metaphorical story to help bring context to why we do this, and how shotgun-blast-to-our-own-feet it is.  It’s easy enough to sit there in the waiting room of GiganTech, waiting to see if they deem you better at O-notation than the other 430 applicants, and get caught up in all of this.  It becomes normal.  So I’m going to draw a parallel to a different line of work.

I did this to an extent in Developer Hegemony, but as part of a larger point about journeyman idealists.  Here, I’ll get more direct.

The teenage gym rat makes an interesting metaphor for our preoccupation with programmer skill.

Read More