What would you say you do here?

Before you ask, yes, the title is inspired by this classic scene from Office Space.  Not particularly a useful post, but what is?

Last night my wife was doing some paperwork for a new house loan and threw a very challenging question at me:  “Jeremy, what’s your title?  Can I say that you’re a Software Architect?”  I honestly didn’t know how to answer the question and I hemmed and hawed until my gave up on me in disgust.  I’ve thought about it off and on for a day since and I still can’t answer the question.  I really don’t feel like any one title expresses what I am with any accuracy, and there’s also the issue that “I’m 21 flavors and then some.”  I code.  I do design.  I set up the continuous integration server and write build and deployment scripts.  I’m involved with the test automation efforts.  I take part in iteration management.  I’m the primary guy doing architecture most of the time.  I don’t think anything at all about doing all of those things because it’s just the things you need to do to make software.  Since “guy who makes software” doesn’t particularly play well on either a resume or a mortgage application, I thought I’d try some of the possibilities on for size.  This is further complicated with the tension between what *I* and my peers think is valuable versus what management and the outside world feels is valuable.  It’s also complicated by a reluctance on my part to claim certain titles, even though individuals of much less experience and ability than me are happily running around billing healthy rates claiming just those titles. 

  • Senior Manager – This is my official HR title.  I can’t say this with a straight face and it says absolutely nothing about what I bring to the table on a given software project.  The only thing this indicates is that my billing rate is going to be higher than the guys who are merely “Managers.”  Being strictly a people manager or yet another faceless middle manager is a fate I’d just as soon avoid.
  • Programmer – While I insist on coding, and coding skills are a must for whatever it is that I am supposed to be, this title carries a hugely negative connotation as just a code monkey.  Just read the consternation over the title at JustAProgrammer.  Same thing with the title “Developer.”  You simply don’t garner much respect for being a programmer or developer.
  • Architect – We might as well start this unending argument up again.  At one time my career goal was to advance from being just a developer to being a full-fledged architect.  I have even worn this title in the past, but it didn’t fit well.  Or I should more properly say that the job as defined by my management did not fit what I actually wanted to do. 

    Architectural skills are an absolute must in any organization or team, but I’m extremely dubious of the value of separating any technical decision maker from the actual technical work.  Coding, design, and architecture are so interrelated that it just doesn’t seem wise to separate these activities into different people.  I really don’t want to be saddled with coders who don’t know anything about good design principles or stuck with a non-coding architect that has no skin exposed to the real code.  I wrote a post over two years ago on the question of Software Architects called Architect: Person, Role, or Useless Appendage?.  Other than a greater appreciation for the value of continuous design, my opinions about being an architect haven’t changed in the 2+ years.  I am simply not willing to believe that any person can properly guide the conceptual integrity of a design from concept to finished product without being an integral part of the team doing the work, and the very term “Architect” seems to connote an aloofness from the rest of the team.  There’s a definite bias in much of the software development world against being “JustAProgrammer,” but I think it’s just as bad to be “OnlyAnArchitect” as well.

    My other problem with trying to call myself an architect is that no three people in the entire world agree on what an architect really is.  I’m creating my own taxonomy of architect titles here:

    • Solutions Architect – I smirk every time I hear this because a former employer used this title for business analysts.  I spent some time around the Solution Architect MVP’s at the MVP summit last May and frankly walked away unimpressed.  It’s not a bad title if I could just get over the cynicism.  If you came into this title without any prior conceptions the idea of architecting a solution is appealing.  Anyway, I’m not going to use this title.
    • Enterprise Architect – I’ve gotten involved with this before, and it’s an interesting sideline in larger enterprises.  I don’t think it’s nearly as fulfilling to me as actually building solutions though.  Just to generate some hate mail, the definition of the role of an enterprise architect that I see at places like James McGovern’s blog puts more focus on business process engineering and IT strategy in general and analysis than technology.  Just to really irk somebody out there, I think an Enterprise Architect is just a fancier title for what used to be called Systems Analysts.  I’m definitely not an Enterprise Architect, but I’m not disparaging them either.  They’re just different critters from me.
    • Integration Architect – I haven’t been involved with any kind of large scale integration work in about 5 years.  I look at WCF and see lots of better mechanics for the systems I was building 5 years ago, but not much advantage for the work I do today.  I’m making a distinction here because many of the people I interact with that carry an Architect title seem to me just to be experts in systems integration.  Again, it’s a very valuable skill in a larger enterprise, but don’t mistake expertise with WS-* or SOA strategy with expertise with the stuff going on behind a WSDL contract.  A few people (Sam & Udi come to mind) are strong in both arenas, but most of us are on one side or the other of the WSDL line.  The challenge that I’ve faced sometimes is that the integration architects often have more political power and can ram architectures down your throat that do a great deal of harm to the application architecture.  I’d like to do more integration and connected system work someday, but I’m definitely not an integration architect.
    • Systems Architect – This was my actual title about five years ago.  I hated it.  I wasn’t allowed to code and didn’t really have any impact on design or the enterprise architecture.  I went to meetings and made powerpoints while plotting a move to a different company.  I don’t know what a Systems Architect is really supposed to be.  I’m under the impression that it’s terminology from RUP, but I’ve never researched it.  Definitely not for me.
    • Application Architect – I’m only making a distinction here from integration architect because I’ve met very few people who really do both.  If anything, I’m an application architect.  If the client wants me to be an architect, I’ll happily call myself a Software Architect.  Likewise, for comparisons of salary I’ll identify myself as a Software Architect.  I won’t internalize that title because there’s so much backlash against architects in the Agile camp.  I was even put down by an XP project manager one time as an architect (far nicer than the things I said about him though).
  • The Shade Tree Developer – Only people from the rural Midwest or South are going to understand the cultural reference, and they’ll only snort.  If you get the reference it simply points out the fact that you might not be a blueblood.  There’s a bit of an explanation for the term in my little bio.
  • Coding Gorilla – As opposed to being a CodeMonkey.  One of the developers at my client started calling me this one day when he was introducing a new team member to me.  By far and away my favorite title.  Not quite usable on resumes or loan applications though.
  • Software Engineer – As much oxygen as serious minded guys like Steve McConnell expend trying to make software development to be just another branch of engineering, I think we’re a long way off.  I’ve been a real engineer and I know what that feels like (predictable, controlled, and boring).  There’s plenty of lessons we can draw up from real engineering, but it’s still more craft than engineering to me. 
  • Software Craftsman – My preferred title truth be told.  To me this captures the essence of what I want to be and my own self image.  My wife rolled her eyes when I said “Craftsman,” so its probably out too.
  • Coach – I hope this title fits, and I think I’m completely ready to step into this role.  I’ve had very few chances to do this but this is where I’m hoping to move my career in the future.  I’m a little iffy about claiming this on a resume and its worthless on a bank load application.


So there you have it, about a dozen different choices, none of which really work for me.  I’d say that kind of bothers me, but since I’d rather work for a smaller company anyway, I’m hoping my permanent title is just “Jeremy.”  Oh, and by the way, I settled for just “Software Consultant.”

So, does the title actually matter?  What do you thing?  And by the way, have a happy Labor Day tomorrow for those of us in the US (I plan to do nothing but take my son to the park).

About Jeremy Miller

Jeremy is the Chief Software Architect at Dovetail Software, the coolest ISV in Austin. Jeremy began his IT career writing "Shadow IT" applications to automate his engineering documentation, then wandered into software development because it looked like more fun. Jeremy is the author of the open source StructureMap tool for Dependency Injection with .Net, StoryTeller for supercharged acceptance testing in .Net, and one of the principal developers behind FubuMVC. Jeremy's thoughts on all things software can be found at The Shade Tree Developer at http://codebetter.com/jeremymiller.
This entry was posted in Uncategorized. Bookmark the permalink. Follow any comments here with the RSS feed for this post.
  • http://www.codebetter.com/blogs/raymond.lewallen Raymond Lewallen

    I’m “Work with Computers”. Because nobody else understands any of these titles. Like Udi, I’d love to just say I’m a simplist. Still requires explanation though.

  • http://www.bluespire.com/blogs Christopher Bennage

    I’m glad I’m not the only one with the problem. We didn’t even put titles on our business cards.

  • SteveJ

    My title is engineer, but I think I prefer CodeMonkey. Sure the bank people might look down on me (like processing a loan appilcation is harder than even copy and paste coding), but anyone that sees that title and then sees the kind of work I put out would realize it’s a good thing to be a monkey. And I’d much rather code than powepoint, draw uml, write documents, give demos, etc. We all take ourselves too darn seriously anyway.

    I like the end point. I’m actually the 2nd of 4 Steves, but Steve is easy for me to remember, so I’m all for it.

  • Matt Hansen

    Obviously it depends on who you are talking. On a loan applicaiton most people would understand “Computer Programmer”, but to me that reaks of the 1990s (or earlier) so I avoid it. “Software Developer” (even though I, like Jeremy wear a bunch of hats) is normally what I go with. If I’m talking to people and they give me a blank stare when I say “Software Developer” then I usually go with “Computer Nerd”. Everyone knows that one.

  • http://www.hanselman.com/blog/ Scott Hanselman

    I’ve given up completely and now I just say “Computer Person.” Seriously.

  • http://www.DynamicAJAX.com Ryan Smith

    It’s interesting that this is such a difficult thing to come up with. I struggled with this for years and would tell each person that asked me a different answer.

    I actually have a title now that I like and would actually look good on a resume: Development Team Lead

    One of the other guys I work with also has a pretty good title that describes what he does: Operations Manager

  • http://weblogs.asp.net/bsimser Bil Simser

    I’m in the same boat as you Jeremy. Whenever my wife asks me what my title is (usually for something financial) I make something up, we go through a few options, and generally arrive at Software Consultant.

    Like you, I’m a little bit country, a little bit rock and role. I’m consultant, mentor, coach, code monkey, architect, designer, build master, scrum master, etc. None of which really work on a bank application although I don’t think anyone really cares what the title is. If it’s got enough techno-babble in it and sounds important, then it probably is.

    However it does raise a good point. For years I’ve been dubbed “Architect” just because I’ve done things at that level. However unlike 99% of the “Architects” I know, I live, breathe, and eat code. I chew up tests and spit out domain objects. I love the code (vague Jay and Silent Bob ref there). I feel “Architect” is just way too prissy for me, however I get dubbed one. Why? Because “guy who draws pretty pictures and writes code” doesn’t seem to cut it. I can’t even explain what I do to some people (pontification is one thing I throw out there, but it’s so much more than that).

    In any case, we’re a breed away from the code monkeys. We code, but I think the passion is there to go beyond the 501 developer and really build good solutions. During the journey wear all the hats of Solution, System, Integration, and Information (and sometimes Enterprise) Architects while writing code and making things go. For me, that’s good and let’s me sleep at night. If it means I put “Software Consultant” on some form for a guy who knows nothing of what I do but wants to give me money? No sweat.

  • http://www.lukemelia.com/devblog/ Luke Melia

    I share your aversion to Engineer, and though I agree that what we do is Craftsmanship, I hate it as a label.

    I also dislike Architect and its connotation that architecture/design should be a separate role.

    Using “Agile” in a title is only one step above listing a particular language in your title, as in “Visual Basic Developer”. The latter is like being a construction worker with the title “Hammer Guy”. The former is akin to a construction worker with the title “High-Quality Erection Specialist.” Something is wrong if you need to reinforce in your title that you do an important job well.

    I suppose that using “Agile” in your title is a good idea if you’re focused on serving teams in the industry as a coach/consultant. But for those of us who build software, it feels off for me.

    Titles generally reflect responsibility, and I think that’s a decent way to go about it. For myself, I prefer “Software Developer” and when people ask me what I do, I tell them that I build software for a cable TV network in New York.

    The thornier question is how titles play a role in recruiting, career paths, recognition and promotions in the context of a flat team of generalists. That’s something that I’d love to cover at an Extreme Tuesday or at the Alt.NET Conf.

  • Jacob Atzen

    I usually prefer “Developer” or “Software Developer”.

  • http://dotnet.kapenilattex.com Jon Limjap

    Well, at least Coding Gorilla sounds good.

    I see myself most of the time as a Code Janitor: cleaning other people’s code mess is more dignified and connotes more skill than it sounds.

  • http://udidahan.weblogs.us Udi Dahan

    First of all, thanks for the compliments.

    Second, I’ve gone through the process you went through and what I cam up with was, as you already know, my very own title:

    The Software Simplist

    I’m thinking it’s about time to remove the “The” and get more people on board with this title. What do you think?

  • http://profile.to/michael.minutillo Mike Minutillo

    Well my official HR title is Consultant as well. It seems a kind of pointless title to me so I purposefully obfuscate when people try to dig (typical consultant). My favorite line is that “a consultant applies his domain knowlege and experience to business problems”. Nice and vague

  • http://www.evanhoff.com/ Evan

    Scrum Master would have been pretty cool to put on the application.. 😉

  • http://www.evanhoff.com/ Evan

    Agile Software Architect or Software Consultant..

  • http://mattcasto.blogspot.com Matt Casto

    I used to use “Webmaster of the Universe” when I needed to give a title. I gave up on that when being a “webmaster” wasn’t cool anymore. I never really was a webmaster, just a developer, so I use “Software Developer”. That’s what I really just want to be anyway.

  • http://codebetter.com/blogs/jeremy.miller Jeremy D. Miller

    “Super Software Architect / Developer God” – probably wouldn’t have worked either.

  • Another Mike

    Wow. What a load of self-absorbed crap. It’s just a loan application. I’m pretty sure your HR title would have been fine because in the end, as Mike said above, they don’t really care.

    Next time try “Super Software Architect / Developer God” because that seems to be what you’re getting at with this post.

  • http://www.donxml.com Don Demsak

    This is an easy one. You are a Consultant. As vague as architect, but with, um, more money, behind the name. Software Consultant would also do, as would Software Solutions Consultant.

  • Mike

    Job titles don’t matter. Money matters :)

    If you were a pizza boy making a verified 6 figures per year – the bank would see no difference between you and a “professional”.