Stories about Software


The Decline of the Enterprise Architect

Happy reader question Monday, everybody!  Unlike last week (exigent circumstances) and the week before (US holiday), I can actually bring you one on Monday.  I’m trying hard not to pull a muscle patting myself on the back.

Anyway, today’s reader question has to do with the enterprise architect position.  Specifically, what do I think of it?

It’d be great to hear your thoughts on [the enterprise architect], I’m sure there’s more than an article’s worth on that subject.

Simple enough.  So let’s talk enterprise architect.

Prior Art on Enterprise Architects and Regular Architects

I have, in fact, talked about the architect position before.  It’s hard not to when you’ve blogged for as long as I have and as much as I have.  The architect role is almost as ubiquitous as the software developer role.

I once talked about the architect role as a pension plan for developers.  The pyramid shaped corporation creates a stigma that staying “just” a programmer means failure in a career development context.  So even as organizations (mercifully) move away from the “software as construction” metaphor, the concept of architect persists.  It persists because it gives companies an organizationally meaningless way to let someone be “more” than “just a developer.”

I’ve also made posts about the needless division between reasoning about software at a holistic versus granular level and about moving beyond this distinction and the construction metaphor.  These probably weren’t quite as provocative, and they didn’t dive into the toxic role of the pyramid shaped corporation in knowledge work.

But it appears I’ve never specifically talked about the enterprise architect.  Well, let’s do that now.

The Impressive Enterprise Architect

What is an enterprise architect, anyway?  Well, presumably, it’s someone who trades in enterprise architecture, which is like architecture, but more enterprise-y.  Let’s ask wikiepdia.

Enterprise architecture (EA) is “a well-defined practice for conducting enterprise analysis, design, planning, and implementation, using a comprehensive approach at all times, for the successful development and execution of strategy. Enterprise architecture applies architecture principles and practices to guide organizations through the business, information, process, and technology changes necessary to execute their strategies. These practices utilize the various aspects of an enterprise to identify, motivate, and achieve these changes.”

Wow.  Pasting that into the WYSIWYG made my Flesch Ease of Reading score plummet by 20% as I’m typing this.  That alone probably makes it enterprise-y.  Plus, it plugs in “utilize” as a synonym for “use,” so you know it’s official.

If we unpack — eck, who am I kidding?  There’s no unpacking that rhetorical peacock.  Enterprise architecture is, truly, using a comprehensive approach to practice conducting analysis, design, planning, and implementation to develop and execute architectural patterns and practices that guide organizations through changes related to business, information, process, and technology utilizing various aspects of the enterprise to identify, motivate, and achieve said changes.”

Crap, there goes another 15% off of my readability.  Now only people with tattoos of Gantt charts can read this post.

So what is enterprise architecture, and what, then, does the enterprise architect do?  Well, whatever else they do, they apparently seek to make sure no one ever asks them what they do again.

Read More


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


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


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


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