Skip to content

Why all the crappy code?

I’m not going to name names. But I’m getting a little tired of watching the freelance side of things develop. More on what I’ll do about it in a bit, but first:

Three. Times.

I realize that wasn’t clear. So here’s what I mean: three times, in the last couple of months, I’ve had the dubious pleasure of inspecting code that was written for a startup by a consultant/contractor. In two cases, there was an “agency” involved. And all of it sucked.

Well, to be fair, it sucked in an absolute sense twice, and in a relative sense once.

  • The first in absolute suckage was created by a freelancer on his own. He used Ruby on Rails (true in all three cases actually) and did nearly all of his development via scaffolding. Which meant really weird database design just sort of happened, and bad generic code abounded. It was such a mess, and the site’s goals were so incontrovertibly opposed to what he’d developed, that I thought the best move would be to scrap it entirely and start over. And I am very much NOT that guy. You know the guy…the one who spends all his time advocating for refactoring, who reads a lot of whitepapers, who’s painfully current with the latest fads, but doesn’t actually ship code? I’m not him. But if he’d actually been involved, I’d have agreed with him this time. I’m talking about 50K lines of code, by the way. No tests to speak of. Oh…that’s not unusual, if you thought it was. None of these projects had more than 20 tests. Surprise!
  • Second suckage: Really, six hours to import a couple of gigs of data? On bespoke hardware? DAILY?? What decade are we in, anyway? Plus scaffolding, plus spaghetti code that boggled my mind. Easy to do, I admit.
  • Third: okay, this one wasn’t so bad. Kinda. The code was clean enough. But it was…highly idiosyncratic. Not in a bad way, if other people did things the same way. In fact it was semi-brilliant. But…who was going to support it, after the contractors went away? Plus…I know an after-the-fact coder is, by definition, in a horrible position to evaluate the quantity of work another coder performed. But seriously. About 2500 lines of Rails code, and it took a team a full year to achieve it. And again with the weird database design, but at least the codebase was small enough that changes could be accomplished in a weekend. A plus, right?

So…I’ve been neglecting my Scarecrow product lately. But I’m going back to it…and I’m going to totally change the way it’s used. So far it’s been a handy monitoring/backup tool for a few savvy (to my way of thinking) customers. But it’s going to be the basis of a service, for which I’ll charge a bit more: my goal is to manage websites, AND their development, for small businesses. I don’t want to do much freelance work myself…but I do know what’s worth paying for. By separating myself from the code, and working on a semi-retainer basis, I think I can align myself with my customers’ needs. Cheap, good code that works will make me look good. Billable hours will not. And I don’t intend to have the time to do a lot of billing, either.

I mean, business guys don’t want to think about the techie stuff. So I’ll do it, and try to keep it out of their way. Yeah, for all you guys who remember how much I hated management, this is a yuck: I plan to do freelance management. Solely. With, of course, Scarecrow to back me up. And a lot of automated functions, which I haven’t built yet. So I’ll keep busy as I try to spin this up, for sure.

Weird, for me. But I think somebody has to start doing this. And it will help me have the conversations with business owners that were the reason I got into this game in the first place.

Published inDaily post

One Comment

Leave a Reply

Your email address will not be published. Required fields are marked *