Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Programming

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."
This discussion has been archived. No new comments can be posted.

Ask Slashdot: Advancing a Programming Career?

Comments Filter:
  • Dilbert (Score:4, Insightful)

    by Aighearach ( 97333 ) on Friday January 13, 2012 @03:31PM (#38690192)

    If you're not interested in starting a "business" and being a consultant, your choices are basically Dilbert or PHB.

  • Teach (Score:4, Insightful)

    by Anonymous Coward on Friday January 13, 2012 @03:36PM (#38690272)

    I would look around for the opportunity to break in to the education field. There is no field more challenging and the real life experience you would bring to the classroom would be invaluable to the students.

  • by s_p_oneil ( 795792 ) on Friday January 13, 2012 @03:41PM (#38690378) Homepage

    IMO it's not so much about advancing a career as it is about finding new things to learn (the learning is the fun part). If you still enjoy it, I would recommend looking for something that requires different languages, tools, skill-sets, etc. so you can continue learning and keeping it fun.

    If you're tired of it, then go for management or a lateral movement. Some have mentioned an architect role, but there are also positions like product and/or project management, technical lead for a sales team, etc.

  • by RingDev ( 879105 ) on Friday January 13, 2012 @03:44PM (#38690438) Homepage Journal

    Every developer hits that point eventually. And your choices aren't necesarily limited. Assuming you're ok with a pay cut.

    There are plenty of opportunities to move in the direction or Project/IT management. That's the direction I've gone. 15 years of seeing poorly run projects and trying to get them back on track has left me pretty well practiced for taking the reigns.

    Switching over to the networking side of the house isn't a bad option either. There's some learning involved, and you're not going to start out as a senior architect, but you can get work with the ancilary skills you've developed.

    All industries can benefit from exceptionally bright solution developers. Look into 6-Sigma training and advance your career into process improvement.

    And if all else fails, get out of the office. Find yourself a lumbar jack gig, maybe come camp counciling in the summer, park maintenance in the Everglades, etc....

    -Rick

  • by pkinetics ( 549289 ) on Friday January 13, 2012 @03:45PM (#38690448)

    My overused response to a lot of questions is: Unask the question.

    You've got a lot of technical and lead and coordination and probably management skills you've developed. So instead of asking where should you go next, ask what do you enjoy the most?

    It may be that you do want the challenge of a lead architect position, in which case you might be looking for a startup company. I have no idea how people get to that level. Some are bottom up evolution, and some are top down revolution type people.

    It may be that you want the joys of integration or release management, or something along those lines.

    Basically, in a nutshell, ask yourself what makes you happiest and pursue that. Worst case scenario, you've wasted a few months. Best case scenario, you grow into a beautiful butterfly...

  • by xeno ( 2667 ) on Friday January 13, 2012 @03:53PM (#38690546)

    Why is it that decent, smart people get it in their heads that they can only do one thing? Years ago I had some bungee-manager give me a lecture on how I was spreading myself too thin, and successful people chose one thing and did it well. Nonsense. Successful savants maybe, but creative/skilled people who've been doing something well for a decade or two..? (I'd steadfastly refused to choose between the management and tech tracks at my company, and my good performance in solving/building/managing/selling didn't fit their vision of a career.)

    Instead of trying to find a place for yourself as a good systems engineer who will be applied to good peoplems, go look for an enterprise or business sector that could use someone like you. One of the coolest things I did in recent years was to stop thinking as an IT security geek (please, not another PCI assessment or pentest clown show), and got a yearlong gig with the UN as a governance reform manager who happened to specialize in IT. Same crap, but new challenges and way more satisfying work.

    Look at the org's business, not the tech. Some examples: I have a engineering/physics/software geek friend who signed on last year with a biotech firm that does fish tagging. Instead of looking up up up the tech hierarchy, he now runs a small operation with just a couple of guys, doing world-class work. Another friend topped out in engineering management at a certain large redmond org, and decided that where she was working was more important that the specific engineering challenges, so she's now working for a school system in Hawaii. Both are incidentally now working on improving their health and have time for music that they'd been puting off for years. Second life in the real world. Nice.

  • by PCM2 ( 4486 ) on Friday January 13, 2012 @03:57PM (#38690600) Homepage

    The only problem I see with freelancing is that he specifically says he wants to advance his career. When you're a freelancer, people tend to want to hire you to do the thing you did last time. It's just the nature of the beast; you're probably going to get a lot of jobs by word of mouth, and the word of mouth is going to be "when we needed that same thing, we hired this guy -- you should hire him, too." Also, people tend to underestimate the amount of hustle it takes to be a freelancer. You're always thinking about your next job, which means you tend to be reluctant to turn down paying work. These two factors make it very easy to fall into a rut.

  • Try Consulting (Score:4, Insightful)

    by LDAPMAN ( 930041 ) on Friday January 13, 2012 @03:57PM (#38690604)

    Take your skills on the road and sell them to the highest bidder. Consulting has totally different challenges but takes advantage of your experience. I recommend you try it....and the money can be great.

  • by fatmonkeyboy ( 257833 ) on Friday January 13, 2012 @03:59PM (#38690626) Homepage
    Just because you are working for someone doesn't mean you are their bitch. Someone with marketable skills will move on to something else if you treat them poorly. Good luck keeping your company going when all of your employees are the kinds of people that don't have any better options.
  • by Anonymous Coward on Friday January 13, 2012 @04:03PM (#38690668)

    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.

    I did games for 17 years and I disagree with that statement.
    There are parts of game development that can be done by almost anyone, and those parts suck. Things like shitty game AI and front ends. Things that don;t take any insight, just hours of monkey work.
    Then there are the parts that separate out the chaff, the low level optimization and driver stuff. I did the latter for almost all of my career and it was a blast. Every five years or so a new generation of hardware comes down the pipe and you get to wrap your head around a whole new set of problems building on the knowledge and experiences of before. Going form the old 8 bit stuff all the way to current consoles has been a hell of a ride.
    As for game designers, I've only worked with a couple that weren't idiots. The biggest problem I had with them is their inability to think about their decisions ahead of time and require the devs to actually build the bad ideas before understanding how awful their decisions actually were. The good designers were a blessing to work with. They had a clear vision and an understanding on how to get there. The projects with good designers you build once. The projects with poor designers get built two or three times on the way to final and are usually poorer for the effort.

    If you think you could be a good game designer then GO FOR IT! The industry needs you.

  • by gstoddart ( 321705 ) on Friday January 13, 2012 @04:10PM (#38690734) Homepage

    Almost anybody I've ever known who has moved onto being the lead architect isn't handling much (if any) code anymore. You're operating at a different level ... the overall design, the components that make it up, and working with the dev team to sort out problems. And, of course, working to define the requirements, use cases, and all of the other stuff like that.

    Which is fine, but from what I've seen you can stay as an actual Programmer for so long, and then people expect you to move into architect/management roles to oversee the people who now do the coding. Your job becomes big-picture kind of stuff. Sometimes they look at someone of a certain age who is still writing code and wonder why you're still doing that.

    If you're looking to solve new and interesting problems without feeling like you're doing the same thing over and over ... well, maybe what you want to do be doing it is working with a consulting company? The breadth and depth of your experience gets used for many different problems, it definitely changes often, and you get called in to help clients solve problems and develop solutions

    Not saying consulting is for everyone, or that it's even the best choice out there ... but when I 'graduated' from a previous job as a programmer and got into consulting, I found I got to work on different projects, provide different insights into them, and then work towards the overall solution.

    If you've been doing the kind of dev work you describe for long enough, there's a remarkable amount of soft skills you've likely picked up that are very marketable ... you don't need to know everything about everything, but knowing a lot about a lot of things actually makes you quite useful as a generalist skillset, with the ability to delve deeper when the need/occasion arises.

  • by wmelnick ( 411371 ) on Friday January 13, 2012 @04:16PM (#38690822)
    Here is the problem you are about to face... Next time you work under someone, you are going to second-guess everything they do. What you need to do it to ask your company to send you for management training, my guess is that based on how you phrased things you have never had any. After that you need to take the time to figure out how to explain to your subordinates how you want something done and let them do it. You may think you are the best person to do something, but if you can teach 5 or 10 (or more) people to do it the same way, that makes you far more valuable to the company and will get a you a larger paycheck as well. You just need to figure out how to do it all in a way that does not stress you to the point of snapping and eventually it will become easy and natural. All that being said there is nothing to stop you from trying to teach the occasional night class at a local college.
  • by Anrego ( 830717 ) * on Friday January 13, 2012 @04:20PM (#38690888)

    I can sympathize with not wanting to start your own company.

    Marketing, accounting, networking, hell just coming up with an idea all things I very much detest. Being a wage slave sucks in a lot of ways but at the same time: you show up, do the thing you love (for the most part) and get paid enough to be happy. You don’t have to worry about how it makes money or where the next project is coming from... that’s someone else’s job.

    If you can partner up with a guy who has the same passion for wearing suits and working in power point as you do for cranking out killer code... then maybe it would be alright.. but having to deal with all that stuff yourself (in addition to actually writing the software) sounds like a nightmare to me at least.

    Obviously some people enjoy the whole package.. but we don’t all have that entrepreneurial drive, and I think going that route just to get more interesting coding projects is a bad move.

  • by Anonymous Coward on Friday January 13, 2012 @04:27PM (#38690978)

    You're on the way (or may I say Highway to Hell) to fulfill the prophecy of the Peter Principle: "In a hierarchy every employee tends to rise to his level of incompetence" (look it up if you don't know about this yet). You're almost already there—either you get in the habit to really like managment (and become proficient in this) or you try some means to get a job you like. In the same company (which is hard, because going back to programming looks like degradation) or you have to look for another employment in programming, not management.

  • by gstoddart ( 321705 ) on Friday January 13, 2012 @04:30PM (#38691010) Homepage

    I knew somebody was going to recommend PHB.

    You jest, but companies do require those skillsets.

    I spend over a decade primarily as a coder. Since then I've been out in the consulting industry.

    The last project I was working on made me really see the value of a good PM, and made me realize it's a skillset I need to flesh out a little. The majority of PMs I've see area hinderance to getting the job done ... but on an enterprise-wide roll out of a software upgrade, consisting of a lot of environments, and a lot of machines (and manpower involved), having a PM who could actually steer the project, get it done on time and on budget, and actually accomplish the goals ... well, let me say he was the first PM to truly gain my respect.

    He knew that it was his job to clear the path so that me and the other people on the ground could get our job done, and he had a genuine plan as to how we'd build it. The end result was a successful project, happy clients, and a reference project that made the people who signed off on the money feel they'd received value for money. Literally, the best PM I've ever worked with.

    By the time you're talking about projects with really huge scales and timelines on the order of a year or so ... the skillset is absolutely necessary. And if you have someone who has done this stuff for real, they tend to better understand what's involved (which is why the managers I've had who used to code are better than the ones who have only ever been managers).

    Nobody says you need to be a PHB, but there's nothing wrong with competent people moving into management -- they can at least bring some experience and insight to the role.

  • by Anrego ( 830717 ) * on Friday January 13, 2012 @04:31PM (#38691024)

    fack..

    * it's almost always programming + <some industry>

    * Personally I think that <some industry> part adds a lot of interest

    Slashdot feature suggestion: yes we get that we have a forced preview.. but we are lazy. Maybe check what's between the < and > and if it isn't something that makes sense.. warn the user!

  • by Anonymous Coward on Friday January 13, 2012 @04:37PM (#38691084)

    The problem with this is that the role of an Enterprise Architect varies wildly from role to role. In some organizations it is exactly as you describe. In some organizations it is mostly a political favor handed down to somebody connected. In others the Architects are a miserable cesspool of the most stodgy ivory tower types that come up with terrible ideas that amount to mental masturbation and whip up convuluted half-completed prototypes that only vaguely demonstrate the original idea they came up with, then handing over that unfinished and likely technically impossible to implement prototype to a group of developers to turn into a product.

  • by timeOday ( 582209 ) on Friday January 13, 2012 @04:49PM (#38691224)

    If you can partner up with a guy who has the same passion for wearing suits and working in power point as you do for cranking out killer code... then maybe it would be alright...

    I think that would inevitably wind up a Steve Jobs / Steve Wozniak situation - in the best case, if the endeavor were really successful, he would gradually leave you in the dust and replace you. Whoever manages the money and touches it first has all the leverage. Might as well work for a larger company with more stability. (Granted Wozniak never had to work again, but Apple's level of success is unusual to say the least).

  • by caywen ( 942955 ) on Friday January 13, 2012 @04:55PM (#38691284)

    Take some time off and reflect. Slashdot isn't going to provide you with any wisdom for something that is a function of you and your feelings.

  • by Anonymous Coward on Friday January 13, 2012 @05:57PM (#38691950)

    Licensing an engine is only useful if it DOES WHAT YOU WANT TO DO. If you want to make a FPS and you don't mind it looking like Unreal, sure license Unreal. What do you license for a GTA style game when you need to differentiate yourself from the crowd? There are game engines available for certain genres that are OK on the PC. Finding a good engine that does what you want that is cross developed on PCs and consoles is a complete waste of time. Besides, our engines were better :-)

  • don't bother (Score:2, Insightful)

    by TheGratefulNet ( 143330 ) on Friday January 13, 2012 @06:42PM (#38692456)

    find a new career.

    seriously, if you are in the west, you will be outsourced. maybe not in 5 yrs but certainly in 10. I'd bet money on it.

    this is a race to the bottom. I've invested 30+ years in engineering (I'm 50ish now) and I see this. only kids and low paying wages will be in software, in the US, soon enough. if you can do the job without being local, it WILL be outsourced.

    I hate to rain on your parade (its mine, too, btw) but this is the fact of our 'work force' and you'll never get anywhere doing software in the US. very few will make it big and most will just be a few paychecks away from being homeless.

    again, I hate sound so negative but my years have given me some wisdom. I see the writing on the wall. it really is a race to the bottom. our country does not value us, our employers don't and we're expendable. we're a 'cost' to them.

    either start your own thing or change fields. software in the US is done-for. pointy hairs have spoken and they run things, not us grunts.

  • by Grishnakh ( 216268 ) on Friday January 13, 2012 @07:01PM (#38692678)

    The problem is that, while this relationship would seem to be ideal, in the real world it rarely works out, because the business guy takes advantage of the creative guy and tosses him out when he's able to replace him with someone cheaper. Someone above said it succinctly: the one who controls the money has all the leverage. Why do you think so many smart people want to go into finance and banking? He who controls the gold...

    It worked out OK for Woz (but did he get the same wealth as Jobs? I doubt it), but for most it doesn't.

    R&D is in the shitter at most major companies for this exact same reason. The phenomenon completely scales between very large and very small companies; the people controlling the money are usually sociopathic and screw over the creative and engineering types whenever it suits them and their personal wealth and power.

    That's why it's better, if you can stand it, to start your own company and do the business stuff yourself even though it might not be your cup of tea. As you grow, hire some other people to handle certain parts of it for you: hire or contract an accountant (you can get them part-time) to handle the company's books; hire someone to deal with customer service issues, only bugging you for the more complex stuff they can't handle; etc. But never give up control/ownership of the business to someone else, and never share ownership with some "business guy". They'll just fuck you over when it's convenient for them. Yes, this is basically just like becoming a manager, but unlike being a lowly first-line or middle manager at some big corporation, 1) you get to work on stuff you really have a passion for, 2) you can set your own hours, and 3) you'll reap all the financial rewards of your hard work, not some executives and shareholders. It's a fallacy that corporate managers are paid more than engineers at tech companies; the higher-level ones are, but the low-level ones (i.e. the ones directly supervising a team of engineers) aren't. They're only there to try to work their way up to the better-paying high-level positions, or because they were never very good engineers to begin with and are better at running their mouths and sitting in meetings all day.

Living on Earth may be expensive, but it includes an annual free trip around the Sun.

Working...