Stories about Software


Competing with Software Consulting Companies

Thanks, everyone, for sending in your reader questions!  I’m flattered by how many folks have submitted and definitely have a healthy backlog from which to choose.  Today, I’m going to answer one about competing with software consulting companies.

I believe this question came from a post I wrote two weeks ago, about speaking to your buyers, rather than to peers.  We as software developers seem to love to speak to our peers.  We speak at conferences and write blog posts for the love of the game, without realizing that impressing peers is unlikely ever to pay the bills.  So in that post I talked about how to speak instead to buyers through your blog.

Here’s the follow up question.  (He actually provided more context, which I’ve elided)

What motivates buyers to buy? In my experience, the big companies buy from other big companies — ones with infrastructure and support in place. Starting off, lest we share the fate of Ahab, we NEED to chase the smaller fish to cut our teeth in business. So, for the beginner chasing smaller fish, isn’t it more important to compete on price, given small fish don’t have the capital of big firms?

There’s a lot to unpack here, in terms of explanations.  So let me start out by drawing a meaningful distinction.  In that previous post, I talked specifically about freelance software developers.  But here we seem to be talking instead about consulting.  Or, at least, we’re talking about someone with a defined specialty.

Generalist Freelancers Don’t Compete with Firms… or Really Anyone

Why do I infer that we’re talking about someone already specialized?  Well, first of all, that was the whole point of my previous post.  But, beyond that, getting work as a generalist freelance software developer is too generic for the question to make much sense.  You might as well talk about how every maker of bottled drinks in the world could compete for a guy named Steve who’s in a gas station right now and thirsty.  It’s too generic a transaction to bother considering it as appropos of anything beyond the moment.

If you’re a software developer that does web apps using ASP MVC, Javascript, and C#, you’re conceptually competing with hundreds of thousands of people for every gig that you get.  And, worse, you’re competing with all of them via the interview process.  And job interviews basically just amount to picking people randomly and retroactively convincing yourself that there was a method to the madness.  So, as a freelance supplicant to the interview process, you’re kind of just playing game after game of roulette until your number comes up.  Or, you’re one of a hundred soft drinks and iced teas, hoping that Steve feels like something grape flavored and carbonated.

When you're a random soda, you're not competing with software consulting companies

To put a more emphatic point on it, think of it this way.  As a generalist freelance software developer, you needn’t bother thinking about your competition.  Your competition is too nebulous, and low leverage opportunities too plentiful to bother.  Just play a numbers game.  Throw your resume at contract matchmakers and recruiters, and line up regular interviews for yourself.  That gets enough people into the gas station that one of them feels like grape soda.

Read More


Moonlighting as a Software Developer: Getting Started

I think I’m now on enough of a roll to stop lavishing praise on myself for sticking to reader question Fridays.  So I’ll just get right to business.  Today’s question is about moonlighting as a software developer.  It’s short but sweet.

Any tips for finding moonlighting opportunities?

Sure!  Let’s do that.

Defining Moonlighting

First, though, I want to make it very clear what we’re talking about here.  Moonlighting isn’t a synonym for freelancing or contracting.  Instead, it has a very specific connotation.  You can look to the dictionary for the technical specifics.  Emphasis mine.

Paid work that you do in addition to your normal job, especially without telling your employer.

To unpack, we have a core component and a second, common one.  You do work in addition to a salaried job, and usually without informing your primary employer.

For the rest of this post, I’m going to assume that you don’t want your primary employer to know that you’re doing this.  I’m also going to assume that we’re talking about moonlighting related to your software development work and not you getting a cashier’s job at the local bodega.  You make a living as a techie and want to earn some additional cash, also as a techie.

A programmer moonlighting... literally.

Read More


Starting a Software Company from Scratch

When I reflect back on my free agent career, it strikes me that I more or less did everything wrong.  I mean, I don’t actually believe that when I look at it analytically.  But it does feel that way, knowing what I know now.  Starting a software company from scratch invites plenty of missteps.

In the lead into last Friday’s reader question post, I talked about starting this blog as a journal of sorts.  That’s a good example of what I’m talking about.  In the end, I built an audience, established a brand, and wound up in a good place.  But if I could go back in time 7 years and give myself advice, my path would have been more direct.

It goes beyond blogging, of course.  That was one example, but it applies generally to my entire approach to starting my software development/consulting company.  I did things that worked out, but it hardly seems optimized in retrospect.

You’re probably thinking that this applies to everyone.  Hindsight is 20/20 and all that.  And you’re right, which is exactly my point.  I dove in with severely imperfect knowledge, made a lot of mistakes, and it still worked out pretty well.

If you pursue the free agent life, you’ll flail, make mistakes, and have some false starts.  But you’ll recover, figure it out, and do fine, even if it sometimes seems like you’re drowning in the moment.

Flat Squirrels and Driving Directions

Perhaps you’ve heard an expression.  “Be decisive. The road of life is paved with flat squirrels who couldn’t make a decision.”  Don’t blame me for the macabre nature —  I didn’t make it up.

I like part of the sentiment, but I think it misses the mark slightly.  If you picture a terrified squirrel in the road, its biggest problem is thousands of tons of steel and plastic death bearing down on it.  It starts left, then moves right, then freezes and then… well, you get it.  Indecision costs it dearly, but only once it has a large problem already.

When starting a software company from scratch, indecision won't flatten you, but it will impede your progress.

This probably doesn’t describe you in most situations that call for more decisiveness.  We face paralysis by analysis, rather than paralysis by mortal terror.  Have you ever sat in your car, debating whether to take the highway or side roads during rush hour?  Have you ever sat there debating this for so long that you get to your destination later than if you had simply picked either option and started immediately?  (Come on, I bet you have.)

This makes for a better analogy for our lives, especially when it comes to starting something new.  We put off action out of fear of taking a sub-optimal path.  But, at some point, even a sub-optimal path beats sitting in your car fretting.

Read More


Freelance Software Development: Speaking to Your Buyers

I believe that at two, you have to call it a streak.  And so I’d like to celebrate my illustrious streak of reader question Fridays successfully delivered.  Today’s topic?  Freelance software development.

This actually follows pretty naturally from last Friday’s post.  Toward the end of that post, I pleaded with software developers to stop worrying about impressing one another.  I did this because software developers are not your buyers — they’re your peers.  Just as you don’t see Target’s CEO calling Walmart’s to show him what great deals Target has this week, you shouldn’t market toward your peers.  Instead, you should direct your marketing efforts (blog included) at your buyers.

Doesn’t This Make You a Hypocrite, Erik?

If you dig through the archives of this blog, you will find an awful lot of posts directed at software developers.  So I’ll just head off the inevitable comment about my hypocrisy with a caveat heading.

First, I treated my blog as half journal, half catharsis for a lot of years.  That is, I didn’t set out to speak to my buyers because I didn’t have any when I started, prospective or otherwise.  I wouldn’t go off on my own until I’d already been blogging for years and, at that point, I had my own pipeline pretty well stocked.  Due to preparation through other means, I never relied on this blog to keep work rolling in.  I do get inquiries and business through the site, but usually about developer training and the assumption that I can teach/setup anything I blog about.

The other thing that I’ll say in defense of me speaking to developers through the blog is that developers now are my buyers.  You can buy my recent book if you don’t believe me, or check out my other developer-oriented offerings.  Over years and years of blogging, I learned that it makes sense to offer your audience things it might value monetarily.  (I encourage you prospective bloggers to be less obtuse than me and have this figured out from day one.)

So, yes, I speak to software developers on this blog and always have.  But I don’t do it in the hopes that someone will notice it and hire me to do custom app dev.

Onto the Reader Question(s)

Now that we have that out of the way, let’s move on to the reader question(s) that pertain to freelance software development.  Usually, I try to do a FIFO scheme, but I actually received more than one variant of the same question after last week’s post.  I figure that bumps it to the top of the list.  So here’s a composite of that question.

Do you have any tips on how to write for buyers, rather than fellow developers?  My interests (and my prospective freelancing) run heavily technical, and that’s what I know how to talk about.  So how do you recommend that I speak to buyers through the blog?

Short answer is, sure, I absolutely have tips for that.  And I’ll get to topic ideas in a bit.  But first, let’s get both a little blunt and a little philosophical, so that you understand what you’re up against.

Read More


How to Freelance: The Low-Risk Path from Software Developer

Ah, the eternal opportunistic question: how to freelance?  You work as a software developer, making $100K per year or something.  This is a great wage, and so you have a great life, sitting pretty high up atop Maslow’s famed hierarchy.  But then you figure out that Steve in your group is actually a contractor, and a little later, you figure out that they pay Steve $70 per hour.  A quick google search for “work hours per year” and fast math tell you that Steve makes $145,600 per year (so you think, anyway).  Suddenly, you feel less like a prosperous citizen and more like a sucker.

How to Freelance like Steve and make big money

How can I get some of that Steve money?

Not far behind that thought comes another.  I should become a contractor!  And then, finally, we get back to the titular concern: how to freelance?

The Reader Question and Some Housekeeping

As regular readers may have deduced, I’m doing a reader question today.  And, as regular readers may have noticed, I haven’t done reader questions (or DaedTech-only posts) in a while.  Please forgive me on that count.  I spent a lot of writing energy on my recent book launch and then even more on starting a tech company blogging business.  With all of that writing, I’ve had trouble mustering spare writing cycles the last few weeks.

But I’m turning a corner on that and launching the first of what will be a series: “reader question Fridays.”  I’m making the vision of this site more and more oriented around the Developer Hegemony vision (software developers becoming the bosses of software development), so please fire away with questions.  I take all comers, but I’ll prioritize questions that speak to the subject of software developer agency.

Anyway, I’ll paraphrase the reader question.

I currently work as a salaried software developer.  I think I’d like to figure out the freelance thing, but I’m not sure.  It’d mean a lot of risk to quit my job and hang out my shingle, so I’m wondering what you advise to make this a less risky transition.

I actually wrote about a related topic recently.  But that question more concerned my personal background and how to become a consultant.  Freelance software development is not, in my opinion, consulting.  I refer to people who do that as software pros.  Firms pay consultants for their opinions and they pay software pros for their labor.  I draw the distinction here because software pros need to worry a lot less about specializing and niching — at least at first.

But forget about the taxonomy and let’s look at how to become a freelance software developer with a low risk playbook.

Read More