I wasn’t intending to post anything today. But catching up on blog comments, I read a comment thread between Darryl (whom I don’t think I know) and David (whom I do know, in real life), comments on a post about what’s wrong with the software industry.
And I began writing a short follow-up to their comments. And I discovered that I had used up over an hour, and it was turning into a 500-word post of its own– I so miss writing! But I also am discovering that I still love software development, when it’s done right.
Ironically, I’ve been absent from blogging for the past few months because I’ve been working feverishly on a contract software project, with a long-time friend and colleague.
When I wrote that “what I hate about software development” post, I intended it as a criticism of the software industry—the way software development is typically practiced—not a criticism of software development itself. So, Darryl, David, I think I agree with both of you. I still love software development, but I’m not sure how to find the hope I’ve lost because of the way most companies do software development.
As some other commenters pointed out, these problems are endemic to many industries. So maybe this is actually a criticism of modern society, of the social structures we’ve built to meet our needs (because they’re not meeting our needs).
I’ve generally faced a simple choice: when the software-development process is broken, you can (1) bang your head against a wall repeatedly until you pass out or (2) stop caring and just do what you’re told. In ages past, I actually cared about the software-development process. Now, employers say they want developers who care. But really, most of them don’t want developers who choose option (1); they want you to do what you’re told and shut up. So when I stopped caring and just started doing it for the money, we were all happier.
Lately, however, I’ve wondered whether there might still be hope in software development. The project I’m working on right now— the way we’ve structured the project and marketed our services, it allows us to prioritize those characteristics of the process that are important to us, allows us to do software development the right way. Still some gotchas, but it’s not a non-starter, and I don’t find myself with the classic choice I’ve faced in the past. I have a third option: (3) fix the process and do software the right way.
Does this mean I’m no longer a writer? Well, for the past few months, I haven’t been. But that’s just a short-term thing, because of an acute need for my services on this software project. (As well as an acute need for me to earn enough money to pay for a new car. But that’s a different story.) And spending a few months away from writing has made me miss it desperately. So I’m not sure what the future holds for me.
For the time being, I still consider myself a writer who helps out with software, sporadically, as needed. But it’s nice to be faced with the choice between two passions, rather than between one thing I love and one I do just for the money.