I never intended to be a programmer. By personality I'm a poor fit for being a programmer. And now I'm somewhat officially no longer a programmer.

It has been an interesting trip.

About a decade ago (only a decade ago? Seems longer) my wife and I left grad school and she entered medical school. I needed to make money. I had no work experience and so was willing to take any job I could get. Given my math background, and the fact that I'd be living in New York city, I figured that my best options were to be an actuary, something in finance, or a programmer. Of the three I thought that the least likely was to be a programmer. I'd done some programming when I was younger, and had never liked it much.

It took me a month to find a job. And the first job that I found was as a programmer working for a churn and burn consultancy. I can't say enough about how horrible the experience was. But I did wind up learning databases (mostly Access) and VB, and I was given the opportunity to learn Perl. While programming still wasn't a perfect fit for me, Perl was a good fit. And so, less than a year later, I went to another company.

At that company I had the fortune to work with an extremely talented programmer named Frank, who went from someone who was consulting with the company, to a fellow programmer, to my boss. Along the way he, directly and indirectly, taught me most of what I know about programming. (Note, not most of what he knew about programming.)

That job ended several years later because I moved. When I moved to the west coast I considered either a finance or a programming job, and found the programming job first at an excellent company named Rent.com. Not too long after I joined, we were purchased by eBay. I've done well here, and can absolutely recommend this as a very good place to work at. Certainly the best that I've worked at. In fact I'd recommend that anyone good who wants to work in Santa Monica should ask me how to apply there.

Along the way I joined some online communities, made friends, learned a lot more, and generally enjoyed the experience. And I've become a competent programmer. However an ongoing issue is that, no matter how capable I might become, I've really got the wrong personality to be a programmer. The key problem is that I'm too extroverted. Sit me down to work on any significant project, and before long I need to surface for air and talk to someone. After a week of this I can feel my motivation level slip. Which means that I actively avoid projects with long periods of heads down development. For similar reasons, unlike most programmers I know, I simply don't wind up taking on personal programming projects.

Despite this issue I've been productive. And there are ways to accomodate me. Certainly Rent has bent over backwards to do so. However how many companies will do so? And when I combine that with the ageism that some older friends have experienced, I've long doubted that programming is a sustainable long-term career path for me.

The problem has been what could come next.

Well at Rent I've wound up in a reporting role. This works out well for me. Lots of people need data. They don't always understand what data they need, so they need to talk with someone who can talk their needs through with them. And most of the time finding ways to get that data tends to be a short project with immediate results. In the process I've wound up learning a bit about how business decisions actually get made.

As this has happened, I've slowly drifted away from programming. That is not to say that I don't sometimes write or modify programs. I do, and that is unlikely to change. However I'm doing a lot less of it, and things like becoming better at programming or staying in touch with the current best environments, modules, and practices is feeling ever less relevant to my life. This is one of the reasons why I've drifted away from communities like Perlmonks. (A bigger reason is named Sam. It is amazing how much spare time vanishes when you're a parent. It is worth every moment, but it is still a lot of time.)

But what has happened unofficially has now become somewhat official. I've just given notice at Rent.com. This was a very hard decision for me. I love the company, the organization, the technology, etc. However I have an opportunity to work with friends much closer to home at a company with good opportunities (but admittedly also with some problems) which will give me more of an opportunity to explore how much I like being engaged with the business side. So, with considerable regrets, I'm going from an official title of senior software engineer at eBay to reporting architect at Pictage. To me this is the clearest milestone in my slow drift out of programming saying that I'm no longer a programmer.

Ironically I actually will be programming more (at least at first) in my new role. There is a lot of basic infrastructure that is missing and I'm going to have to create that. But this will be a fairly limited project. And, if all goes well, I'll wind up doing less and less programming over time. And I will no longer be reflexively describing myself as a programmer.

It does one's heart good to stop and think about what path one is travelling in life and to consider whether it's the most suitable one. In my case, learning BASIC in high school and clustering around the clattering teletype to try goofy things was immense fun, and over thirty years later, writing software and coming up with database schemas is still frustrating, and yet still fascinating and fulfilling work.

I think math has always been my calling. My latest triumph is helping out my step-son with his Math courses (algebra, trigonometry, calculus) during a makeup year before starting university full-time. He managed two A+ marks, and was accepted this weekend into Computer Engineering at Ryerson, here in Toronto, starting in the Fall. How proud that makes me, to be able to pass on a love of math and logic to the next generation.

I've learned a lot by reading your posts. Let us know how the new venture goes -- we'll be waiting impatiently for your next instalment.

I'll try to keep people updated. But the truth is that I won't have a sense for how the new venture goes for several months or more. It will take that long for me to feel like I know the new company, understand what is going on, have a sense of where it is going, and know where I'm going in it.

I'm glad you've learned from my posts. I learned in making them and reading others. If some of what I've learned does not directly apply to my future life, other parts do. And I'll continue to do my best to find unexpected ways to apply past lessons to future situations in interesting ways.

Some people have the programming bent and others don't. At high school my interest was in science and focused down to electronics. But computers are electronics right? So I got a job as an electronics technician. However there was a large r&d component in the job and it just seemed to work out that most of the projects were based around embedded processors that required a fair degree of programming. :-D

For various reasons I left that job and joined to company I now work for - as a full time programmer. Looks like that was what I was destined for after all.

As a litmus test for "programmer suitability" I rather like xkcd's "Paths". If you find yourself in the situation depicted, chances are there is a degree of programming (or maths) in your soul.

Optimising pathways in various ways is something programmers often do. Not with mathematical rigour to find a shortest path, but by rule of thumb to find a reasonable compromise between programmer effort and machine effort.

It doesn't hurt anything to have some people out there in other fields with a good working knowledge of how programming works. In fact, I would say nearly every field needs people in it who are also, or have also been, programmers, people who have a good idea how to guage the difficulty of a programming problem and know what kinds of information programmers need in order to develop solutions that will really meet the needs of the field. People who can talk to the programmers and help them understand what is wanted -- and understand what they are saying too. (The reverse is also needed: programmers with a background in the field in question.)

I am in almost the opposite of your situation: I certainly have the
temperament to enjoy programming. I thrive on solitude, and get grumpy
if I spend too many consecutive hours around people, especially if
they're talking all the time about things of no technical importance.
There is little I like better than to be the only person within
earshot for hours at a time. I strongly prefer written forms of
communication, because they let me revise what I'm saying before
people read it. Some of my personal programming projects that
I did for fun were hundreds of lines long way back when I was
first learning to program using GW-BASIC, so you know I don't
mind a little heads-down dev time.

I'm not sure I'm cut out, skill-wise, to be a full-time
programmer. Maybe I am. I've never had the chance to try,
really. I'd probably have to move to a big city to find out,
or else commute, and I'm pretty sure I don't want to do either
of those things, so. Nonetheless, I do get to do some programming
as a part of my job, and I find significant applications for
programming in my personal life as well. I wrote my own
playlist-generation algorithm for my music collection, and I
like it rather better than standard "shuffle". I wrote a tool
(that I'm thinking about putting on CUFP one of these days) to
help with memorization, because I'm involved in a quizzing program.
And so on and so forth. So although I am not a full-time programmer
as such, I certainly do some programming on a fairly regular basis.

I guess what I'm trying to say is that programming doesn't have to be an
all-consuming forty-hours-a-week career in order to be useful and
worthwhile.

Our paths met a few times when you needed some fixes to DBD::Sybase... and it was always enjoyable and interesting, and very much to the point!

Myself I've also drifted away from programing - as a full time production DBA in a pretty large bank there isn't much opportunity at work, and not much time away from work. And after more than 20 years I find it harder to sit down and start a new project...

I hope you enjoy your life as a DBA. That's a path that was open to me which I considered then decided against.

I decided against it for a number of reasons. One of them is that the easiest path that was open to me was Oracle-specific. And my sense is that while Oracle is going nowhere for a long time (database lock-in is real), it isn't going new places either. And I just didn't quite feel that being a DBA was a great fit for me.

But I could change my mind on that. In my next job I'm likely to learn more about the internals of databases, and could still go further in that direction.

You inspired a lot of people in a lot of ways, and I thank you for it. Ill miss your thought provoking posts (already do actually), especially those on the craft of programming. Best wishes in your new endeavours.

(I'm sure some of those who maintain latin as an alive language also invented a latin term for "programmer", but a several minutes of googling didn't help. So I left it in English.Update: The correct term was suggested by jdporter.)

there is this text called "lingua latina per se ilustrata" that is all in latin and is designed to make you learn by context...I haven't bought it yet but some friends like it.

Oh, no! I studied Latin at school -we all do, in Italy- but I've long forgot it, with the exception of some idiomatic phrase, and for some reason, the praeneste fibula's inscription which I know by heart ever since I first saw it and I continue to like even though I know it's probably a hoax. Now, who's gonna find a link with Perl to pretend we're not too OT? (No, I don't think mentioning L::R::P is enough. How 'bout archaic Perl?)

I had a job once doing career/stress counseling with industrially injured workers who couldn't go back to their old jobs - truck drivers and loggers and nursing home attendants with broken backs or paralyzed arms. The general approach was : what did you like and not like about your previous job? ... ok, now what did you like about it that didn't require you to lift 50lbs every 10 minutes? ... ok, what other job has that part that's left over. One of the toughest was a cop who'd gotten shot. His response was (no kidding) "What I liked was being able to push people around."

Anyway, from reading your posts and having met you briefly, I'd guess that one of the things you liked about your previous job was "understanding how software works". And apparently one of the things you didn't like was "spending more time with pixels than with people". So, we do the math: understanding - isolation = ...

Being a career/stress counselor and being a programmer are only two of the half dozen or so careers I've had in my life. Change is good (but often hard). Good luck. Don't be a PM stranger!

Your guess is dead on. I do like to understand things. And I do want more interaction with people. My hope is that my new job will provide that balance. Lots of interaction with people as we try to find the right way to ask questions to come up with useful answers, and lots of opportunity to try to understand the business we're in.

I'll try not to be a stranger. If for no other reason than that you're one of the few people I've met whose jokes are worse than mine. ;-)

I also fell into programming and while I like certain aspects of it, I'm not sure that I'll ever be a great programmer. My personality sounds much like yours. In addition, I simply cannot force myself to RTFM -- I typically rely on learning new ideas and tricks by trying out suggestions made by those around me or things I see on PM. It also doesn't help that I work in a java-centric environment -- comments are continually thrown around that Perl programmers aren't 'real' programmers. It's a morale killer at times, however I try to ignore it.

I wish you challenges and joys in your new career move. I hope you find the changes more suitable for your personality!! :)

Seems the world is filled with "accidental programmers". Like GrandFather I started out in electronics, moved into mathematics, and programming, because nothing existed to do what I needed. That was in 1970. Then into physics and somehow the ability to run up a few lines of dirty code always came in handy.

But programming is never where my heart has been. I would rather (and have done several times) design the computer that it all works on.

Again like you, I wondered about ageism, and have encountered the problem. But not in my current incarnation as a programmer! The ageist attitudes were most pronounced in engineering and academic circles. Then, of course, their were the technophobic management people who always ask "why don't you want to be in management or marketing?".

So good luck in your new endeavour, I hope it works out for you. But please don't be a stranger, I for one, have valued a lot of what you have had to say over the years.

Excellent post, nothing like a ramble really ... I've only been here (in any intensive way) a short time, but like many others, I have enjoyed many of your posts and have found them thought-provoking. I hope you will still find time to pop in here from time to time.

This post, of course, makes me think not only of my own very current "am I a programmer?" simmer, but also of my also-previously-noted sidetrip into the world of theatre, where among other things I found that -- while I may have had some smidge of talent and a quirky appeal for some -- I was very definitely "the wrong personality" to be an actor.

I vividly recall the first time I auditioned for a play during my time as an MFA candidate in acting at a large midwestern U. Mind you, I was a graduate student in the theatre program. Many of the undergrads, however, somehow became convinced (I guess by the way I carried myself? I'll never know) that I had (and I quote) "wandered over from the Math department to try out for a play." I guess that should have told me something.

To this day, though, my personal version of the great Chuang Tzu's "butterfly" quandary is "I (Glenn the would-be programmer/IT guy) dreamed I was an actor; but what if I am an actor, dreaming I am Glenn the would-be programmer/IT guy?"

That's funny, I've alway thought of you as one of the very few people here who really are very good programmers (mind: "programmer", not "code monkey"). Top of the crop. Yet you don't consider yourself to be one. Maybe being humble about one's own qualities, is a necessary trait to truly excel?

You tend to step away from the normal paths, question practices that others consider to be the common way to do certain things, and that's one of your best qualities, as a programmer. Just my personal opinion. :)

You know, I remember you posting in here (early 2000s) when I started programming Perl as well, and as I had BBQ as my mentor (and friend), I did spend a lot of time reading, learning and eventually even writing around here.

Well, all i want to say is that it is kind of sad to see yet another "saint" moving away from Perl, but I guess that is somehow, bound to happen. I want to wish you all the luck you might need in this next step in your life!

They are indeed. And as I said, I recommend it highly as a place to work.

They have a small programming team of good people working in a productive team with reasonable hours. The informal rules say:

Don't be late to meetings.

You can set your deadlines, but you have to meet them.

No drama.

There is an element of joking, but also seriousness about those. I spent close to 4 years there. In that time I have to admit that I saw people be late to meetings. But meetings started close to on time. And there aren't many meetings, for most programmers there is only one scheduled meeting per week. I only twice saw the second rule violated. The first time was a bona fide emergency. The second worked out. And I never saw the third violated (except in clearly good humor).

And there are the random perks. Whether it is the prime real estate (The Water Garden in Santa Monica), flexible working hours (I personally followed a 2PM - 9PM schedule), the game room, etc. The company is very productive and profitable, and doesn't mind letting people feel appreciated.

I am leaving because I have an opportunity to do something I want to do with people I want to work with much closer to home. I am not leaving because I was unhappy in any way, shape or form. And, even though I'm leaving, I sincerely recommend it as a good place to work.

PS: I think that if you go through jobs.perl.org you'll wind up with a recruiter. You'll probably wind up with more flexibility to negotiate if you go directly to aavakian@rent.com or msilvera@rent.com.

Ha! Cheers - I'm a pretty horrible, "programmer" now and probably will be pretty bad come a few years, but it pays the rent, and that's something my art done painfully and tortuously in the garret has yet to do ;)

I cringe when people use my code as, "examples" of ways to do something (*cringe*)