Advice for young programmer looking for a new career
March 28, 2010 6:52 PM   Subscribe

Hey guys, this is my first question. It's a career question (yawn, I know!) I've been working as a software engineer for the past two years. It's a decent job and I like my coworkers, but I'm feeling a bit anxious about my future prospects.

This crystallized last week when I had to explain to a coworker of mine that a technology he had specialized in for a number of years was now obsolete. No big deal, right, it happens all the time...that's the nature of the beast. Except the realization dawned on me that this guy, who had about a decade's worth of experience beyond me, didn't really appreciate what it meant for him to lose the value of all of that experience. And maybe that was why he was still a developer.

So I've resolved to get out of programming. I am unsure of the next steps however.

The path of least resistance would be to get some sort of business job, probably consulting. This seems equivalent to programming in terms of hours worked and wage, but it has the added benefit of being a "face" and getting work product associated with your name. Being a faceless programmer, it's tough to get recognition and advance.

Then there is the nuclear option - medical school. I completed the science pre-reqs in college and have competitive stats, so this isn't a pipe dream for me. I didn't pursue medicine straight out of school because I wanted to test the waters in business. The draw for medicine is that it's really the only true career, in that you can work at it for as long as you choose. The downside are the hours and the loans. I'm paying off some undergrad loans now and know how much that sucks, so I appreciate what it means to be a slave to the bank.

Any career switchers have any insights on this? Medicine is obviously the more drastic choice and would force me to ride it out in a medical career until I retired due to the huge investment up front. But business could be unstable and leave me 55 years old and unemployed, which is sort of what I'm trying to avoid in the first place by getting out of programming.

I guess I could just stay a programmer, be frugal, and start buying condos to rent out...Whaddya think?
posted by Triumvirate to Work & Money (25 answers total) 5 users marked this as a favorite
 
[Post fixed, comments removed. Carry on.]
posted by cortex (staff) at 7:11 PM on March 28, 2010 [4 favorites]


I think you may have a case of the grass being greener on the other side. Doctors have to constantly learn new things, and old things that they learned long ago often become obsolete. Most medical licenses require ~monthly testing to make sure they're keeping up with the field.

That's not to discourage you from entering medicine, but I don't think software engineering is particularly unique in the rate of obsolescence of knowledge, and if you're otherwise happy with your career (are you?), I wouldn't change because this experience spooked you. Maybe you'd feel better if you took a class in some cutting-edge language or developer tool at a community college.

Good luck in whatever you decide to do!

As for the formatting issue, no big deal, don't worry about it :) Just add some paragraph breaks next time, and use the "more inside" section for the longer detailed part of your question.
posted by Salvor Hardin at 7:17 PM on March 28, 2010


Thanks Salvor. Yes I am happy with my career. I definitely know that medicine would require more time from me than my current job + staying current.

It's just that it seems like middle-aged guys in tech hit a wall that's pretty tough to overcome. Doctors get around this by manipulating their labor market. I think being a sixty year-old doc who can sign up for shifts and work as much or as little as he/she chooses would be a very satisfying final act to your career, rather than cleaning out your cube during a recession because you became too expensive.
posted by Triumvirate at 7:27 PM on March 28, 2010 [1 favorite]


the loans are a pretty big downside, IMO.

is medicine a passion, a draw for you? it would have to be to dive into it from where you are currently. note the word choice for the career change: "slave" (to the bank), "drastic", "force", "avoid", whereas the current track is "unstable". food for thought.

salvor has a good suggestion in sharpening your skills, getting right up to the edge of what you are doing currently. this may help clarify things for you, by either hooking in to a new focus within your field, or deciding that your true path is definitely medicine. great, though, that have your prereqs sorted out. you're really in a good position to go either way as far as i can tell
posted by lakersfan1222 at 7:29 PM on March 28, 2010


Do you want to be a developer?

If so, go get a job at one of the big (market cap greater than $1 billion) software or technology companies. Most of these companies have a developer career path that ends with something like a distinguished engineer role 20-30 years down the path.

If not, what do you want to do?
posted by b1tr0t at 7:40 PM on March 28, 2010 [1 favorite]


Medicine is a draw. I always thought I would become a doctor growing up. That's why I was on the premed track. But then I balked when I found out how much time it takes up, and how it's basically just another job and not what you see on TV.

One thing I miss in my programming job is human interaction. I like the guys on my dev team and we talk daily, but we talk shop. I think I would like having a stream of new people from diverse backgrounds come to me and stimulate me. Also working with nurses, techs, administrators. Being a programmer you're in a tech bubble.

But socializing could be found in a business career as well, and probably in more abundance and at less cost.
posted by Triumvirate at 7:42 PM on March 28, 2010 [1 favorite]


b1tr0t, I guess I'm realizing I don't want to be a developer. I'm becoming more apathetic about it. I used to program in my free time, but now I don't. But thanks for the tip about such development programs. (I work at a small company.)

I want to be a doctor, and in the back of my mind I've always wanted to be a doctor. However the sacrifices in this career are huge. I've talked to doctors and they all say if you can stand to do anything else you should not be a physician. Maybe they are just burned out.
posted by Triumvirate at 7:52 PM on March 28, 2010


Have you considered technical consulting? Other me-fites will know a lot more about this than I will, but it seems like there are a lot of great companies (e.g., IBM) that offer technology based consulting services. This might allow you to develop the problem-solving/social skills associated with consulting while also leveraging your engineering skills. This sort of consulting may also give you the opportunity to meet and interact with lots of people from a variety of backgrounds.
posted by eisenkr at 7:57 PM on March 28, 2010


Given that you want more diverse human interaction, I'd suggest looking into a program manager or technical program manager role. You should be able to leverage your developer experience while trying out something a bit less technical to see if you like that. If you find that you want even less technical interaction, then move in the direction of sales or marketing. If you like the TPM route, stick to that track for a while and consider moving into "real" management (with actual people reporting to you).

Another option is to go into developer training / certification. You would be teaching technical material, but your students would be relatively less technical than your current peers. There are good opportunities for international travel here.
posted by b1tr0t at 7:58 PM on March 28, 2010


Thanks eisenkr, I'll have to look into that. Consulting seems like a good career, and from what I've heard it's the most popular choice for business school graduates, who can choose from a number of careers.
posted by Triumvirate at 8:01 PM on March 28, 2010


Training/certification sounds interesting. Would I need to get a graduate degree to do this?
posted by Triumvirate at 8:03 PM on March 28, 2010


I am in a similar situation to you, but I think there are ways to get recognition as a programmer. Perhaps the company you work for doesn't give you enough responsibility?

The corporation I work for (one of the largest in the world) gives us opportunities to manage our own time, make our own schedules, set up meetings, and work with external experts etc. In this respect, I'm getting invaluable software design, time management, and planning experience which will be great when I move into lead/managerial positions down the road. None of us are faceless because everyone is assigned to a different area of the project, in which they become the go-to guy/girl. When the customer loves something, the person who wrote it gets highly praised (and adored by their fellow developers because he/she saved everyone else).

If your company isn't giving you the above, you might want to look for another position. After two years there's no shame in moving, especially at the junior level. I feel my organizational experience would adapt well to another industry if the need came.

I have also considered medicine, but I've given myself a couple of years to think about it. My fear is that my brain couldn't handle the memorization. But the plus is exactly what you say: there is phenomenal stability in medicine, and I think, more respect than engineers get.

The other direction I'm considering is law - a deep understanding of technology could set me apart from other lawyers out there. Plus, I have a profound belief that everybody deserves justice. Have you considered law?
posted by niccolo at 8:16 PM on March 28, 2010


niccolo,
Yes, if I stay as a dev I'll change companies. Good to know this won't be looked down upon after two years.

You sound like you have a good thing going. That's great for a young guy in this economy.

I also considered law, but the lawyers I talked to were even more down on their career than the doctors. Apparently there's a huge glut of lawyers, and it's hard to find work. The loans are a killer unless you get a big firm job. On the other hand you can get financial aid to go to law school if you go to a school ranked lower than your stats would suggest.

Patent law is what you would do as an engineer. It's better than regular law since fewer people can do it. You would either write up patents (called prosecution) or argue for/against them (litigation). But apparently even the patent law market is getting saturated.
posted by Triumvirate at 8:33 PM on March 28, 2010


Unless you consider reading patents all day to be light reading, I wouldn't recommend it. Turnover timeframe is typically short.

If you stay in programming, then yes, you need to keep on your toes WRT current languages and libraries. C++/C#/.NET and PHP are fairly solid foundations for software/web development at the moment. A lot of recruiters are looking for database experience as well, whether MySQL, MS SQL Server, or Oracle.

Until the economy ramps back up again, I'd stick with what you know, and expand your skill set. Getting further into debt by going back to school isn't very wise.
posted by hungrysquirrels at 8:56 PM on March 28, 2010


If medicine really appeals to you, you could try looking into becoming a P.A. or some kind of nurse instead of a full blown MD. Less time at school would mean less in loans, and you would still be making good money when you're done. I've actually heard rumors that some nurses end up with a better lifestyle than the doctors that they work with because those doctors are spending all their income on student loans.

I don't know anything about medicine or computers, this is just my opinion and maybe another point of view for you.
posted by TooFewShoes at 9:03 PM on March 28, 2010 [1 favorite]


"And maybe that was why he was still a developer." That you are capable of writing this sentence tells me that you are not developer material. If you were, you could not write that sentence non-ironically. That you have resolved to get out of programming is a good thing. You're not a programmer, and you never will be. I don't care what you do, but leave programming. You're not good for it, and it's not good for you.
posted by smcameron at 9:11 PM on March 28, 2010 [2 favorites]


That you are capable of writing this sentence tells me that you are not developer material.

Hard to say. Triumvirate may have only worked for companies where the developer role has low prestige and little career path. Kind of like being a finance person in a tech company.
posted by b1tr0t at 9:32 PM on March 28, 2010 [1 favorite]


I'll try to say what I believe smcameron was saying in a hopefully more polite way:

Having a long, successful career as a software developer means knowing what coding means. The language you code in, where that code is run (VM, browser, heck the actual fricking 0s 1s on the chip), and where the code gets used is inconsequential to being a kick-ass programmer. Good programmers know how to write good code in the language that's fashionable at the moment. The best programmers always pick up a book on the next language or technology coming down the pipe, figure out how it works, how it's going to be most efficient, and are prepared for their next challenge. If you think you're going to be obsolete in two years because you think the current language, technology, chipset, whatever, is going to be obsolete in two years then I will unfortunately have to agree with smcameron: you have not grasped what programming is truly about and perhaps you do need to find another career. If you love to write code and love to build and ship software, again, no matter whether it's on a mainframe, PC, Mac, browser, or whatever comes next, then you will keep learning the next Big Thing (which, trust me, underneath it all is really the last thing you knew, but with different paint on top), more importantly you will LOVE doing it, and you will stay relevant and useful and recruiters will call you constantly.

Sorry to be so blunt. I'm going into my 20th year developing software and my husband is about 10 years ahead of me. We may joke about the attitude of the kids gettin' out of college these days and playing on our lawn, but we're not obsolete.

So here's my advice:
Do you love writing code?
If yes, keep reading. If no, look into other career options.
Find a mentor and/or talk to other senior programmers who have worked at various types of companies. Ask them what it's like to be in it for the long haul. Tell them your concerns. They've probably had them too.
Stay on top of new technologies by reading books, websites, etc. Have a hobby of trying out new languages and tech in small side projects.
Read about other software, consulting, tech companies that you may want to work at even if you're not ready to change jobs. Read their job listings: what skills are they looking for?

By the way, this advice is relevant to all careers. If you don't stay on top of the latest trends you won't stay relevant. If you don't find it interesting to stay on top of the latest trends in your career, then you may have the wrong one. Good luck.
posted by girlhacker at 11:15 PM on March 28, 2010 [6 favorites]


It's just that it seems like middle-aged guys in tech hit a wall that's pretty tough to overcome.

Tech is tech is tech. The basic fundamentals of programming haven't changed considerably in three decades. In some circles (database circles) the language itself hasn't changed in 15 years. But even when they do change, the newer, shinier replacements are usually easy to pick up. Or, at least, the ones that have any longevity will be easy to pick up, almost by definition.
posted by Civil_Disobedient at 12:28 AM on March 29, 2010


I was an embedded systems programmer for twenty years. Then I burned out. Then I drifted for a bit while I tried to figure out what to do next. I've ended up working part time as a primary-school netadmin/technician, and I'm loving it.

I had always kind of looked down on network admin as one of those menial jobs that went to people who couldn't quite cut it as programmers, but now that I've been doing it for six years I find that doing it badly is easy, doing it well is satisfyingly hard, and a lot of it consists of debugging and optimizing which are the two aspects of programming I always enjoyed the most anyway. Teachers are good people to have social contact with at work, and it's nice seeing kids get value from what I do.

And you know what? When it comes right down to it, it's all about bending an army of little machines to your will, which is a lot of what's cool about programming too.

I'm currently working outrageously cheap because I really like where I work and primary schools just don't have the funds to employ the amount of tech support they actually need at anything like market rates. But you'll find that skilled netadmins can make quite tidy sums if they're known to be good at what they do.
posted by flabdablet at 3:50 AM on March 29, 2010 [1 favorite]


Medicine is a draw. I always thought I would become a doctor growing up. That's why I was on the premed track. But then I balked when I found out how much time it takes up, and how it's basically just another job and not what you see on TV.
Are you concerned about how long the hours are or the number of years you're going to stay in school and training? Because the training/schooling isn't really a good reason to reject medicine. What else are you going to do with your life that's so important in the next 4 years plus 3-5 years of paid training? The years fly by fast, and it's a question of where you want to wake up 8 years from now? As a doctor, which you thought you would always be growing up, or in an ill-defined consulting/developing role?

If you're concerned about the hours you'll work as a doctor, that's definitely a concern if lifestyle is an important issue for you, but there are options. Sure, you can make lots and lots of money if you are willing to put in the bone-crushing hours, but if you aren't, you can still make a good living in non-emergency types of medical professions like radiology or dermatology. Or you can work a few years in an emergency room, build up seniority and then set your own hours.

The other alternative is patent law: that's actually sort of like consulting, because you learn about new technologies, guide your clients through the process of patenting their ideas, and create written deliverables that you negotiate between your client and the patent office. If you view your role as a patent lawyer as a "consulting role," then you might find it more attractive.

I was in a similar position as you in terms of my disatisfaction with being a "developer," but because I loved computers and research so much, I got a Ph.D. You don't seem that passionate about it, in which case a Ph.D. is probably not such a great path for you.
posted by deanc at 9:48 AM on March 29, 2010


I am a developer, and it really strikes me how *good* we have it right now. Skills at software development are amazingly transferable across industries. Subject matter expertise remains important, but the more experience you have, even if it's only in one field, the more you can find analogous scenarios to assist in learning the intricacies of a new area of business. If you don't learn anything new, you become obsolete (or at least less useful). This is true regardless of your profession.

The same circumstances that make our skills transferable also make them somewhat of a commodity (and thus easily outsourced), so we need to be sure that we provide more value than a developer working possibly elsewhere for cheaper. Again, this is true in any line of work; if someone provides equal value for lower price, then you had better be looking for a new gig. A major defense against this is in pursuing the subject matter expertise mentioned above. Get good at making your development decisions aligned with business needs and you will not have to worry about employment.

I also have to add--it's *ridiculously* cheap to create a product on your own, as well. From the seemingly outdated humble application, to the subscription-based web product, to the new and sexy iPhone app--it really takes just a pittance to get started, and working for yourself has never been easier. You want recognition? Working for yourself means you get recognition one sale at a time. Ain't any better test of "do people like my stuff?" than whether they're willing to pay for it.

That said, maybe it's not for you. If you don't like programming, or software development, well, then perhaps you should follow your heart. But if you are leaving the field simply because it is evolving, I suggest you may be acting a bit too hastily. In fact, if you enjoy dealing with people (as your post implies) there are many development positions that actually deal with people, and it can be sometimes difficult to find developers that are also good with people. Perhaps your future interests lie in that direction.
posted by RikiTikiTavi at 3:00 PM on March 29, 2010


...it can be sometimes difficult to find developers that are also good with people.

Indeed.

posted by flabdablet at 3:44 PM on March 29, 2010


I also have to add--it's *ridiculously* cheap to create a product on your own, as well.

I was thinking something similar when I first answered, but deleted most of it because it was becoming to soap-boxy. But in a nutshell, I completely agree. As I've learned more I've started to realize how incredibly powerful programming is as a skill and as a career. I don't know, I personally find it kind-of amazing that I, personally, can write some words out completely from scratch and turn it into something that runs businesses. As the mongoose says, in software there's basically nothing stopping you from doing anything you please. But that works both ways: you have to want to do something or you're just going through the motions.

Computers aren't going away. They are with us now and unless civilization goes nuclear we will have them in the future as well. People say computers are always evolving and changing and it takes so much effort to keep up, but that's not true at all. Computing/programming is as elemental as math. Set theory. Logic. These are timeless constructs. And even if we moved from silicon to diamond or cells or bits of quantum energy, the point is it doesn't matter. The principles are the same. This is simply how our minds work. No matter what the system, you still need to control it. And the principles of control—loops, iterations, if-then—these basically stay the same. You might need semicolons in one and squiggly-brackets in the other, but for the most part software is polylingual (the comments, not as much).
posted by Civil_Disobedient at 3:58 PM on March 29, 2010


WOW, I read this after work and all I can say is THANK YOU to all those who replied. I never thought I would get such thoughtful responses. This does clarify things for me, if you can believe it.

Thanks again - this is such a great site.
posted by Triumvirate at 10:41 PM on March 29, 2010


« Older Slang for "white trash with high-class attitude?"   |   Remote Desktop from Win7 to Mac? Newer »
This thread is closed to new comments.