DaedTech

Stories about Software

By

The Merits and Ethics of Learning on the Job in App Dev

Another Monday, another successful reader question Monday.  Today’s question is about learning on the job.  Let’s take a look.

This is more of an app dev shop question than a consulting question, but here goes.

Say you’re consulting for a client and the client has a specific need for some app dev work which they ask you to do. That work requires you to use a technology that’s either completely new to you, not quite in your line of specialty, or you haven’t used in several years, but you’re constrained in some way to use this technology and to do the project you would need to “ramp-up”.

The question is: do you bill the client for this “ramp-up” time or do you take the hit against your own personal time to come up to speed? Does it make a difference in the response if it’s a legacy technology that you may never use again (FORTRAN) vs. a “hot” language that it would benefit you to learn (Python)?

First of all, for everyone else, here’s what the reader is referring to about consulting vs. app dev.  I’ve written a good bit about how writing software for someone else isn’t “consulting” no matter what people might call it.  So the question concerns either app dev shops or app dev freelancers.

Learning on the Job

Learning on the Job: The Quick Answer

I’ll start by answering the question at the tactical level.  Should you bill for this ramp-up time?  Absolutely, as long as you can negotiate it and you do so in good faith.

The last time I agreed to app dev work, I dealt with something like this.  I’d worked with the client before, and they liked my work.  I had domain knowledge and we had a good rapport, so they engaged me for some work.  I told them that I had to learn an important technology as I went, and they were fine with this added cost.  They viewed it as worth it.

Contrast this with a different situation.  Imagine you’re a Ruby on Rails developer and you need some work.  So you answer an RFP for help with an ASP MVC site, knowing nothing about ASP MVC but claiming you’re competent.  That’s pretty much the opposite end of the spectrum, and obviously problematic.

So start with the requirement that you’ll be frank about anything you need to learn to execute on an engagement.  The matter of who bears the cost of that learning then becomes a matter of negotiation as part of the contract.  And, that should make sense, since you’ll always have to learn something to help a client.  If you need the gig more than they need you, you might need to spend unpaid evenings learning a framework.  If they really need you and you’re on the fence, you can require that they include your onboarding as part of the deal.

Read More

By

Consulting for your Current Employer: Make Your Boss Your First Client

Alright, like last week, this week’s reader question Monday occurs on Tuesday, but this time because I was traveling all weekend until getting home Monday morning at 3 AM.  So I basically just walked in the house, laid down and went to sleep, rather than logging in to publish.

Today, I’m going to talk about consulting for your current employer.  Er, well, consulting for your current-but-soon-to-be-former employer.  How do you flip your current salaried gig into a consulting arrangement?

Here’s the actual reader question.

You mentioned in a post that when you started freelancing full time, you negotiated a contract arrangement with the employer you were leaving. I was wondering if you could go into how you framed that conversation and if there were any special circumstances that allowed you to do that. Thanks!

First of all, it’s now been a pretty long time since I did that.  My recollection is thus rather hazy, but I think my specific situation will not prove overly helpful to most reading.

That position was an executive leadership role.  Leaving one of those voluntarily, with an offer to consult, tends to have a high chance of success compared to leaving an individual contributor role.  They needed my help with things like hiring my replacement, transitioning responsibilities for my direct reports, and that sort of thing.  And, I doubt most of you reading this advice (or the reader asking) are leaving CIO/CTO roles.  So I won’t focus on that.

Instead, I’ll draw on my career experience and lengthy organizational consulting history here.  How can a software developer convert an employer into a client?

Captive Shops

Before you set your master plan in motion, however, stop to consider something.  What do you want your freelancing to look like?

In Developer Hegemony, I talk about how corporate opportunists should view themselves not as employees, but as companies of one.  For instance, most people don’t think anything of volunteering to work 45 or 50 hour weeks for no extra money.  They assume it’ll all take care of itself come annual review time.  (It won’t.)  But if you regard yourself as a company of one, then this behavior looks like you agreeing to give a client a 25% discount on your services for no reason.

If you’re a corporate employee and not in the habit of viewing yourself this way, I suggest you start.  It’ll help you avoid sucker culture. And it’ll give you interesting perspective, such as the fact that you’re really a service provider with exactly one client — namely your boss.  And that client exerts total control over your financial well being.  This makes you a so-called captive shop — you’re a captive of an 800 pound gorilla client that can crush you on a whim.

The question to ask yourself when you contemplate going freelance is whether or not you want to stay that way.  Seriously.  Because this will determine how you approach making your transition.

The Tom Hagen Strategy

In the movie The Godfather, Tom Hagen is a lawyer that represents the Corleone crime family.  In one scene, he explains his livelihood to another character’s dismissive challenge of “who the hell are you?”

I have a special practice. I handle one client. Now you have my number. I’ll wait for your call.

As lawyers go, Tom Hagen is a captive shop.  He puts his fate entirely in the hands of the Corleone family, who treats him as a de facto employee.  If you want to go this route (at least to start), then you have a specific strategy for converting your employer to your client.  It has two core components:

  1. Make yourself indispensable.
  2. Offer your resignation, but with a budget-neutral pitch to stay on indefinitely as a contractor.

Read More

By

Reader Question Roundup: Working at Google, Remote Freelancing, and Side Projects

I’m doing reader question Monday on a Tuesday once again.  But this time it’s not my fault.  You can thank organized labor for interrupting your reader question Monday with their US holiday yesterday.

I did this once before, and I’m going to dust it off and do it again.  You folks send me far more questions than I can answer at a pace of once per week.  And thanks for that!  It’s awesome.

The result is an ever-growing backlog of questions.  And, while I may start doing something ala John Sonmez with his youtube channel, where he answers a lot of reader questions as videos, for now, I’ll try to catch up a little bit by answering several in a single post.

On the docket today, an eclectic mix that hopefully you find interesting.  I’ve picked questions likely to be relevant to a decent cross section of folks.

Read More

By

Scale Your Freelancing: Hiring Others

Last week, I answered a composite reader question about everyone’s favorite subject: taxes.  This week, I’ll build on that with another composite question.  This time about how to scale freelancing work that you might do.

I’ve gotten a few different questions about this over the last several months.  I’ll try to cover everything you all have asked by answer this composite question.

Freelancing is going well enough, but now I’ve got a spike in work that will be more than I can probably do on my own.  I’ll need to hire someone, somehow, to do something.  How does that work?

It’s understandable to wonder this.  Speaking from my own experience and what I’ve heard from many others, you’ll probably have your own freelancing practice or side hustle for a long time before this comes up.  Or, it might never come up, and you still have a rich happy professional life.

But when it does come up, it’ll probably happen quickly.  And, you’ll be swamped when it does, since, by definition, you’re looking to hire due to too much work for yourself.  So it’s good to at least have a concept of how this works ahead of time.

Caveats Again

As I mentioned in the last post, I am neither lawyer nor accountant.  I’ve hired subs and done a lot of business this way, but I am not a professional advisor.  What you’re getting here is my best understanding and things that have worked for me in the past.

Use the advice here to orient yourself and get a feel for how this works.  But before you actually go execute this stuff, you should contact your lawyer and accountant to verify that it’s right and that it makes sense for your situation.

And, once again, a lot of this may be US specific, but I hope non-US readers can get something out of it as well.

Can I just pay someone, the way I pay the neighbor kid to shovel my driveway?

This is the first thing that might occur to you.  You’ve got to deliver 4 modules by the end of the week, and you can only possibly deliver two of them.  Can’t you just offer a fellow developer $1,000 or whatever in exchange for her doing the other two?  Seems simple, and it should be simple, you think.  That’s what I thought.  And it would actually be simple if not for the tax man.

Think of the kid you give $10 to shovel your driveway.  Seems innocent enough and like pure commerce in action, right?  Wrong.  In the first place, you’re probably technically violating some kind child labor law and possibly running afoul of minimum wage laws.  But, even if that little scamp were 18 and of legal working age, this would still represent an illegal transaction because he’s almost certainly not making a note of that $10 of income so that he can report it on his tax return.

So now, you can’t “just pay someone.”

Read More

By

Becoming a Freelance Developer and Taxes

It’s been a while since my last reader question post.  That was the one where I confusingly announced on a Tuesday that I’d be doing reader question Mondays.  Well, today I start a new streak of doing reader question posts on Mondays.  My apologies for dropping the ball on that, but I took on a full time consulting gig for a few weeks while also running my content business evenings and weekends.  It was a busy run.

Anyway, let’s get down to business.  Both in the Developer Hegemony Facebook group and through other media, people have asked about some nuts and bolts freelancer/entrepreneur type things.  And, after recent videos about creating an EIN and filing for an LLC, the pace of those questions has increased.  So, apologies to those who come to this blog looking for rants about the perils of global state or unit testing.  Today, we talk taxes.

If I’m thinking of going off on my own, how do taxes work?

Nobody has asked me the question in these exact words.  Rather, this is a composite of what various people have asked.  So, without further ado, let’s dive right into the least interesting subject on the planet.  I’ll do what I can to make it fun.

Obligatory Disclaimers

Mercifully, I am neither a lawyer nor an accountant.  Nothing against either profession, per se — they’re just not for me.  I mention that here so that you understand the context of this advice.

I am going to describe what I have, myself, done, along with my understanding of how it works and various other options that I might have.  I’m pretty confident that I have a relatively complete understanding for a layman in those fields.  But there may be finer points that you’d need an accountant or lawyer to illuminate.

In the context of the software world, think of me as a the equivalent of a guy with 3 years of .NET experience teaching newbies.  I’ll get enough right to help them a lot, but I might not nail some of the more arcane language points or sophisticated design strategies.  Caveat emptor.

Non-US readers, this is also entirely US-centric.  I hope some of it helps, though.  I’ve had people from other countries tell me in the past that some of my videos/posts along these lines are helpful.

Taxes in the Wage Labor World

For the sake of easy math, let’s say that you take a job for $120,000 per year.  Let’s also say that the employer pays you monthly, at a nice, round $10,000 per month.  That should make it easy to figure out how much you’ll pay in taxes, right?

Wrong!  There’s no figure round enough to make it easy to figure that out in the US.  You go to a calculator like this, expecting to type in $10,000 per month and seeing that you owe something like $2,200 per month in taxes.  Instead, it wants to know whether you’re single, how many “dependents” you have, and something about “exemptions.”  And that’s a simple one.  Some probably ask you about your mortgage, whether you live in a flood plain, and how many blind uncles named Dwayne you put in rest homes last year.

Read More