Just a quick update, I have been writing, just not publishing here much. I sent a couple of short fiction pieces out for publication in the last few weeks, of which one has already been rejected–I’m actually not too surprised, as it didn’t have a strong horror element (it’s a “serious” sci-fi piece) and the magazine, Apex, is a horror sci-fi magazine. The other, a more humorous sci-fi piece, is out to another magazine, Andromeda Spaceways Inflight Magazine, and I think it might be a better fit. Who knows. I’ll resend the first piece later this week, once the luggage is all put away and the laundry is done.
I had a great opportunity to do some travel in the Eastern Mediterranean with Kara and friends MJP and Stephanie, and we just came back yesterday. I think the trips would lend themselves to list-type articles. Maybe I’ll even bang one out this afternoon.
Also, if you haven’t heard, I am out of a full-time job as of the beginning of this month. However, a very intriguing opportunity to do some contract consulting work has emerged, which ought to be kicking off in a week or two. So, I won’t be idle very long. I’m also working on a handful of startup opportunities with some other folks from BU, which might bear fruit, and will be very interesting to be a part of, if nothing else.
I’ve recently come to the conclusion that the “web development” arena has changed significantly over the last 10 years, and it’s put me in a bit of a bind. The fact is, there used to be two very distinct jobs:
- programmer – somebody who worked with C++ and databases, was mathematically inclined, and was interested in the fine details of producing efficient code, usually without much input into what was being built. A highly-skilled bricklayer.
- web developer – somebody who worked with HTML, maybe some database stuff, was entrepreneurially inclined, interested in the general details of translating a business concept into a reality, with just enough technical skill to be dangerous, and a lot of input into the actual design of the application. A general contractor.
I started out in the biz as a guy who knew Photoshop and general principles of information design. I saw the potential of the web as a place where cool new ideas could get done; from the beginning, I had an entrepreneurial mindset (although I didn’t realize it at the time). I didn’t (and don’t) care much about the details of how things got done–which language, which architecture, which database, etc.–just that they got done and were available for people to use. If you needed more speed, throw hardware at the problem, or hire a consultant.
In retrospect, I probably should have taken a post-college job offer I got from Modem Media, which would have gotten me into the process of interactive media development (and probably would have had me unemployed by 2002 as well). But, I took the money and the webmaster job in Maryland, and started down the road of implementing applications that were designed by other people. Soon, the question was “Can you do database-enabled applications?” which seemed like an awful lot more programmy than I wanted to get, but that’s where the money was, so I followed. And then it was “Can you do some shell scripting?” and “Can you do some Java?” and on and on, and before I knew it, I was working as a programmer.
And I wasn’t bad at it. But I wasn’t great at it either, and not because I couldn’t have been, but just because I didn’t have the passion for the nitpicky little details that true programmers have to care about. Discussions about how to structure functions and how much abstraction was appropriate were, to me, religious arguments, a distraction from the problem of getting the work done. I still maintain that position: a lot of programmers waste a lot of expensive hours crafting unnecessarily elegant solutions that may be beautiful to them, but which are wasteful to their employers. Somewhere, there’s a balance.
So, web development gradually became programming; programmers implemented business solutions for the web using languages increasingly indistinguishable from those used in shrink-wrapped software. Don’t believe me? Somebody just wrote a version of Wolfenstein 3D that runs in Javascript. Looks like Javascript isn’t just some “scripting” language anymore.
There was a point when I really wanted to get good at programming, to be an amazing coder. But at the same time, I saw that my input into the what of the business was being required less and less–not just my input, but the input of my peers. So I decided to go for an MBA, to learn about the business side of operations. In some ways, that was career suicide: I don’t think I have ever had a conversation with a programmer who didn’t look at me with at least initial disdain when I revealed my interest in business. I found myself having to actually defend wanting a graduate degree.
I can understand the perspective; I too once mocked “suits” who “didn’t have a clue what was going on.” Turns out that they didn’t have a clue about the actual inner workings of the code, because they were usually too busy trying to make sure we made money and could get paid. This isn’t to say that there probably wasn’t some real discrimination on the business side for the “code monkeys” as well. But any programmer would welcome a businessperson trying to learn more about technology, and I thought it unfair to look down upon a technical person wanting to get a better understanding of how technology translates into paychecks.
So, here I am. I’m not exactly sure what the future holds for me, just that I have to be a lot more careful in my career path than I’ve been in the last 10 years. Consulting is an option. Working in industry is another. I’m looking for a way to leverage what I know about technology, without spending my days in a closet, face down in a text editor. I don’t want to settle for a job that doesn’t utilize my public speaking and writing abilities, for example, or all the knowledge I’ve gained in the business sector. I’m exhausted and frustrated by jobs where I’m told not to worry about the details of what we’re doing, strategically and tactically, but just to worry about the how.
Don’t get me wrong: I still love technology. But to use the architectural metaphor, I love the shape of the building, the functionality of the rooms and hallways, the location in relation to the traffic flows of the city. There are other, better, bricklayers and steelworkers, and I’m happy to let them do their jobs.
So, we’ll see where things go from here. I’m 31, I have a handful of classes left before I get that MBA, and it’s time for a career change. I don’t regret the experiences I’ve gained, working in the trenches for the past ten years, but I’m ready to get up on the battlefield and do something I’m passionate about–and can be really exceptional at.
I’m glad to see that you have a positive attitude about the whole situation. I think you’ve always been good at getting how things are supposed to work and regardless of whether you agree or not, your ability to see the big picture will eventually pay off. Good luck!
The guys I work with now are the types you are talking about – they review EVERY detail of every piece of code we write, painstakingly so. Sometimes it does reach a level of “analysis paralysis”. However I’ve always found it to be great to learn things I don’t know.
Sometimes those details are important too – nitpicking about structure of functions and such can improve the quality of the code. That will give your users bug free code that allows them to work faster. At least in theory anyway.