Ask Slashdot: Advancing a Programming Career? 165
AuMatar writes "I've been a professional programmer for 10 years. The startup I work for was recently bought, and while I was offered a full-time job, I opted to accept only a six-month contract. At my most recent job, I was lead developer for a platform that shipped tens of millions of units, leading a team that spanned up to three geographical areas I've done everything from maintenance to brand new apps. About the only thing I haven't done is been lead architect on a large system. What else is there to look for in the next job so it won't just feel like the same challenges all over again? I'm not interested in starting my own company, so I'm looking for suggestions assuming I'll be working for someone else."
Own Company or Game Designing (Score:4, Interesting)
Having your company is definitely interesting and provides new interesting challenges. You also have much more personal feel to your work. At times it can be exhausting, but it's also really rewarding - but to yourself, and of course to your wallet. I wouldn't do anything else than running my own company at this point. It is definitely much more interesting than working for someone else.
Apart from that, what is your line of work? Maybe switch to more interesting part of the industry. Game development can be fun too, if you're just done some other kind of software programming. However, I would really suggest you look into game designing and not programming. The latter is crunch work that can be done by almost anyone and in the long run extremely annoying. Designing is fun.
Figure out what you like (Score:5, Interesting)
Are you interested in anything besides programming? Maybe head that direction. I don't mean stop programming and do something else, I mean find a job where your programming skills will be contributing toward something worthwhile and that you're interested in. That might mean working on software to help find new cures for deadly diseases, or it might mean being a lead programmer for the NFL. Whatever floats your boat. If you're a part of a team that's doing something that you genuinely like and that enriches your own life, maybe it you'll be less concerned about "the same old challenges" and you'll be happy just to contribute toward the end goal.
Job Satisfaction (Score:3, Interesting)
I've been a professional programmer for 30 years. I've been everything from a grunt to a lead developer and have had some products wind up on millions of PCs and watched many millions of dollars be blown by incompetent executives on others. If you're dead set on working for someone else and you're in a position to do due diligence on a company, its executives, its history, and its current financial situation before accepting an offer, then do it. However, don't be surprised if you ultimately burn out on trusting employers to provide the satisfaction that you derive from writing software and start thinking about starting your own company to obtain that satisfaction. If I could give advice to myself 20 years ago, it would've been to start thinking about starting my own company a lot earlier.
Similar Situation (Score:5, Interesting)
I'm coming to the realization that I kind of hate this role...I can only put myself down for 5-10 hours a week of actual development, and even that is usually a stretch, and the management stuff is quite stressful. It is shocking how differently people behave when you go from their peer to their manager. So, I find myself in a similar situation, what do I do now? I am the best developer available to work on my product, yet I am unable to find any time to actually code...all I can do is quickly spec things out as best I can, pass them to my team (also spread around the world) and get back to fire control/integration meetings/budget planning/etc. It's extremely frustrating.
My thoughts wander from 1) Just suck it up, dive into the management aspect, do as much coding as I can on the side to scratch that itch (it is my true love), 2) Find another job that is purely technical - lead dev/architect, what have you (would probably lead to the same situation I'm in), or 3) Say f**k it and go totally off the reservation - try to start something on my own, or become a teacher and work on stuff on the side or something, complicating this option is the small matter of a family to feed... I just don't know.
Take a job in QA (Score:5, Interesting)
Most developers tend to think that QA is for button pressers and failed programmers. However, having a couple of good programmers on the QA team can dramatically improve a product. If you're really a good programmer then you can take requirements and write GOOD tests. Also, as a programmer, you can deconstruct what the dev team has built, and look for ways to make it fail (i.e. the cases they failed to consider). If you understand the nuances of the language, you can better anticipate the edge cases that a lot of non-technical QA folks would miss.
I've been down this path, and found that when a dev team knows there's someone who will call bullshit on their submissions (and can back it up), the code that's checked in tends to be better.
Advancement where, then? (Score:5, Interesting)
I'm not clear on exactly where you'd like to advance. You don't want to commit to your employer (and only took a 6-month contract) and you don't want to burden yourself with the risks associated with success (by not wanting to start a company). I assume this also means you don't want to partner with someone.
So you want exactly what out of advancement? No more risk. No more commitment. No more responsibility. Just money? Play the lottery.
Re:Own Company or Game Designing (Score:4, Interesting)
Regarding this topic, I'd love to know why so many game companies get it into their heads to code their own engines.
However much they want to do it, there's an engine out there that they can license and it will do almost anything. The Unreal engine is, what, like $200,000 K? That's 3-5 programmers for a year right there (and there's no way they can make something halfway decent in that time unless they're really skilled and command a high enough salary which defeats the purpose.)
With all of the prefabricated software we have nowadays (the only term I could think of that fits), it should be a matter of assembling all of the pieces and then doing the artwork, UI, unique AI elements, etc.
Re:IT is a saturated market. (Score:4, Interesting)
This varies by geography. In my town, we can't find enough developers. Headhunters are trying to contact me daily. My last three clients were all hungry for new programmers.
And no, people who actually do the work well are not a dime a dozen. H1b, offshore and otherwise useless wannabes are.