Please create an account to participate in the Slashdot moderation system

 



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:
  • by antitithenai ( 2552442 ) on Friday January 13, 2012 @03:25PM (#38690104)
    While you say you're not interested in starting own company, why is that? Since you've been lead developer and are looking for further challenges, there really isn't much where you can go. Either you have to switch your area of work, go to management (which also switches your area of work) or start your own company.

    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.
    • 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 Ihmhi ( 1206036 ) <i_have_mental_health_issues@yahoo.com> on Friday January 13, 2012 @05:07PM (#38691424)

        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.

        • really $200,000K or $200,000?
          • by Pope ( 17780 )

            Two hundred thousand dollar kroners!

          • by plover ( 150551 ) *

            Maybe he's German, where they use the comma to indicate the decimal separator.

            So in USD, that would be $200.000K -- in other words, a very precisely rounded number.

        • Re: (Score:2, Insightful)

          by Anonymous Coward

          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 :-)

        • Take Trine as an example; it is one of the best looking games I've ever seen, and it runs wonderfully even on mediocre hardware (by today's standards):
          • It doesn't look like anything else. It's not just Postal or one of those games that are reskins, those are boring
          • If they had just put a new story and artwork on an existing engine anyone could see their success and just do the same thing; they've got their own engine so only they could release Trine 2, and reap the benefits
          • With stuff like game engines the r
    • 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 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 Ihmhi ( 1206036 )

        Wozniak was the creative guy who enjoyed engineering stuff.

        Jobs was the business mind, the one who handled all of the numbers, contracts, etc.

        This kind of relationship isn't all that insane. It *can* work very well - let the creative guy make stuff, let the business guy sell it. Now if only they would filter this method down to entire companies. R&D is pretty much in the shitter at most major companies nowadays.

        • 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.

    • Game development is great if you like working 80+ hours per week and getting paid half of what your friends are making writing uninspiring business apps. Do yourself a favor and make sure that you REALLY like doing this sort of thing, and I mean having a serious passion for it, or else you will either not make it or you will be miserable.

      To hell with game development, because I work to live, not live to work.

      • Yep, that seems to be a common theme about working at game companies. Perhaps the secret is to start your own game company. You'll still work 80+ hours a week, but you get to make all the decisions and work on games that interest you the most, and if your game is a big hit on the Android/iPhone app store, you're going to be the one collecting all the cash.

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

      While you say you're not interested in starting own company, why is that?

      I can give a few reasons why you wouldn't want to.

      For one software is extremely saturated - talent, businesses, products - you name it.

      Sales. Starting a business is easy. Watch: There I just started a business. Here I'll start another one. Bam! Two businesses in as many seconds.

      Sales. It's extremely difficult as someone who has been behind a computer all his career to get the sales. If you think it''s just a matter of cold calling, walking into a building, or placing an ad in CIO magazine; you will be quickly disillusioned.

      You will be competing with established businesses. A couple of years ago, folks were suggesting that one should get into the web page and marketing business because the companies they were working for were experiencing increasing sales. Of course they were. Try walking in as a startup and convincing someone that they should drop the guy that they have been doing business with for the last several years (and most likely pleased with them) and hire you. Try, just try to convince them. Do it cheaper? Never compete on price because there's always someone who'll do it cheaper. Anytime on RAC will show one that.

      Your own portfolio? It's a start - if you can get a chance to actually show someone who has the power to hire and pay you. And that's assuming your design and coding skills are so awesome that the potential client will fall in love with you. There aren't too many people like that in the World. .

      It's much more than hard work. If all it took was hard work, everyone would be successful in their business. And here's the killer: when you're in business for yourself, you will spend most of your time getting work. So you will not only have to meet your deadline for your project, but work in getting sales - going out to networking events, shows, taking "decision makers" out to lunch.

      Then there's the collections. Do you think at the end of 30 days, said company is just going send a check right over? Pfft.

      Industry: IT is a saturated industry. If your business has anything to do web design, custom software development, support, or anything sun of the mill like that - good luck! Folks like that are a dime a dozen. And they're all not screw ups.

      • by Homr Zodyssey ( 905161 ) on Friday January 13, 2012 @05:23PM (#38691600) Journal

        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.

      • by Anrego ( 830717 ) *

        Anytime on RAC will show one that.

        Oh man.. nailed that one on the head.

        I remember back when RAC was ok-ish. You'd get not what you were worth, but enough that it was worth it for a student (and beat flipping burgers).

        Then you started seeing the insanely low bids. I had a great rating on the site.. so I could still get _some_ business for a decent rate.. but when you bid $500 and someone bids $10 (not hyperbole.. that happened a lot) .. you are pretty much screwed.

        And of course the $10 guy did really shitty work, so all the legit buyers left

    • Consulting. You can do it through a consulting firm if you don't want to be your own boss. You can make damn good money at it -- especially if you can specialize in one of the big-name platforms like SAP, Axapta, Rockwell, or Great Plains. I'm currently doing this through a firm, so I don't have to find the work. I get benefits, and I have clients in completely different industries month to month.

    • by AuMatar ( 183847 )

      To form a startup (I have no interest in being a consultant type, I despise business networking and self-salesmanship) I'd need a brilliant idea. I'm out of those at the moment. I'd also need someone else to do the business end. I understand business, but I'm not enough of a people person to do the sales/marketing stuff with non-technical people.

      Also, I have a mortgage. That makes me leery of not having income for more than a year. I'd need to get angel funding very quickly, which once again requires a

  • Natural Transition (Score:5, Informative)

    by rwven ( 663186 ) on Friday January 13, 2012 @03:29PM (#38690174)

    A natural transition for programmers can be "Enterprise Architect" roles. This will still allow you a modicum of programming, and you get to be at a slightly higher paygrade, with pseudo-managerial powers. If you're decent at your job already, this gives you more of a top-down on the process so you can truly shape a project rather than simply build the shape someone else has given to it.

    Just my $0.02.

    • Re: (Score:3, Insightful)

      by Anonymous Coward

      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 wi

      • 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.

        I totally agree with AC.

    • If you are moving to an enterprise architect role, read up on modern industry practices/tools first. Don't assume that your development experience alone qualifies you as an EA. The experience is an absolute prerequesite, but it is not enough. The mistakes you can make as an EA can cause a lot of pain to a lot of people for a long time, so those lessons are ones you really can't afford to learn the hard way.

      Also, if you are looking for something different, you could also consider staying as a regular deve

      • by AuMatar ( 183847 )

        I've had a pretty varied career so far. My first job was firmware, I did that for 4 and a half years. I did back end web services for 2 and a half . I did porting to proprietary OSes for two. I've now done Android development for 2 more. I did some short contract stints in between doing odds and ends, the longest one programming for a really bad ERP system.

        Another change in domain (or going back to one I haven't done in a while) would definitely be a possibility. It would make it seem less of a move s

    • The problem with switching companies is that you will have to prove your skills and worth all over again. And most of them will slot you into at best a middling job grade at first (not architect level) unless you already have an industry-wide reputation.

  • 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.

    • 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

      • There are plenty of opportunities to move in the direction or Project/IT management.

        I knew somebody was going to recommend PHB.

        • 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.

          • I agree that PMs are a vital part of any large project. However, I think it's not a logical step to go from programming to project management. They are two completely different skill-sets.

            I'm may be just a little bitter, though. We just narrowly avoided failure on a project because a programmer tried to take up the PM role and failed miserably.

      • "He cuts down trees, he skips and jumps, he likes to press wild flowers. He puts on women's clothing and hangs around in..... bars?! "

      • by Pope ( 17780 )

        And if all else fails, get out of the office. Find yourself a lumbar jack gig

        Massage therapists are very much needed by geeks with lower back problems!

      • And if all else fails, get out of the office. Find yourself a lumbar jack gig,

        Why would you want to use a jack on the lumbar region of your back?

        maybe come camp counciling in the summer

        If you want to get out of the office, why would you want to get involved in a council? Those usually meet indoors. Unless you're talking about some kind of council that goes camping together.

    • Keep in mind Dilbert and the PHB are stereotypes used to make a form of entertainment well... entertaining. Going into management doesn't mean you will not use a computer again or never code. But you will be challenge yourself with new problems, when you go to management level you really see things with a different perspective. You see you are making decisions that you would have thought would be idiotic, make more sense as you see more trade-offs you need to make.
      For example. You may make a decision that
  • by PCM2 ( 4486 ) on Friday January 13, 2012 @03:34PM (#38690248) Homepage

    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.

    • by Anrego ( 830717 ) *

      I totally agree, and this is heavily overlooked.

      Very few jobs are pure programming .. software is rarely written for the sake of software, it's almost always programming + . A lot of people don't factor that in.. figuring if they are doing cool c++, the reason probably doesn't matter.

      Personally I think that part adds a lot of interest to a job and when you get to a point where you can be a little choosier about your job (vice out of school when you get the first job that gives you the time of day) it would

      • 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 tebee ( 1280900 )

      I'd add my vote to that too - I've been a programer since the days of Assembler on IBM 360 days and have drifted through many jobs over the years, from support to networking to consultancy but always keep my hand in doing a little coding.

      About 7 years ago had several major crises in my life that made me review my life priorities and realized that though I was still a good(but dyslexic) programer, there were young bucks who could do it faster than me and people in the third world who could do it for 50th o

  • 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.

    • Yes but you already stated the main problem with that idea, the students. They're worse than users. Plus the pay flat sucks in comparison to the private sector for someone with serious skills.
      • But there are always a few students each semester that make you really glad you were teaching...

        And, the hours are typically flexible enough (a FT instructor here at the college I work for has to be on campus about 25 hours a week) that having your own consulting gig on the side to make some extra $ is very possible.

        Not to mention (still) good state health and retirement benefits, extra pay for working summers (or the whole summer off), etc.

      • > the students. They're worse than users.

        Far be it from me to say there are no stupid users or students.

        But isn't it possible, that given different teachers and apps, some students and users might be more successful?

        Blaming the problem on the peons whilst ignoring the conditions we forced them into is a really trite meme. Let's try wearing their shoes before dissing their limp.

  • If you continue to present yourself as a "programmer" you will continue to get programming assignments. What sort of projects are you good at? What types of problems can you solve? Think of yourself as a business instead of as an 'employee'. The old "You Weren't Meant to Have A Boss" mindset (see: http://www.paulgraham.com/boss.html ).

    Get out there and do something cool, don't sit around waiting for someone to tell you what to do!

  • 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.

  • Job Satisfaction (Score:3, Interesting)

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

    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)

    by jomama717 ( 779243 ) <jomama717@gmail.com> on Friday January 13, 2012 @03:44PM (#38690428) Journal
    I've been a developer for about the same amount of time as you and am now a tech lead/team lead, where "tech lead" means I'm the go-to guy for the organization on anything to do with my particular product (new design/architecture, integrations, major issues, what have you), and "team lead" means I act as the manager of all of the developers/testers under me (reviews, layoffs, vacation approval, all that crap).

    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.
    • 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.
      • Sage advice, thank you. Your assumption with respect to management training is correct, in spite of me continually asking for it for the past two years.
        • by CBravo ( 35450 )
          And to complete the requirements for a good social skills training: theory and practice (including a good teacher)
    • Re: (Score:2, Insightful)

      by Anonymous Coward

      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 emp

      • If I could mod you insightful I would, that all sounds about right. Never heard of the principal, but I can definitely see the truth in it.
    • by Genda ( 560240 )

      You know, the nerd amongst us are really the worst communicating bunch of people on the planet (except for everyone else :-) We don't deal with getting our hearts broke or our asses kicked very well because of childhood trauma for being different. So we put up with virtually infinite discomfort that ultimately demands we either go dead inside or commit some for of professional seppuku. So here are some dots placed CLOSE TOGETHER for you to follow.

      1. Tell your management what you want. Explain to them where

    • by AuMatar ( 183847 )

      That sounds like my job. I'm 50% dev, 50% PM, and 20% people manager. There are weeks when I don't code at all, just respond to bugs with various forms of "by design", "won't fix", or comments on how to fix it and ship it off to some junior engineer. I try to fix one or two real bugs myself, but my days are so full of talking to PMs, managers, etc that I just don't have time.

      I don't hate the role. There are times when the lack of coding annoys me, but there's other times when I actually enjoy my addition

  • 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 PCM2 ( 4486 )

      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...

      I would add that the first time I quit a long-term, high-paying job, I enjoyed the time off for about two weeks. After that, I was white-knuckle stressed every day, wanting to get to work on a new job. I let it pass, though. I forced myself to ignore it, and by taking the time to really think about what I wanted to do next (or what I didn't want to do), I was eventually able to land myself a new job that I really enjoyed. If the submitter has been making good money so far and has the skills he describes, I'

    • by rwv ( 1636355 )

      the joys of integration or release management

      I do not believe that word means what you think it means.

    • by hkz ( 1266066 )

      But that's your answer to everything!

  • Take a job in QA (Score:5, Interesting)

    by CyberDong ( 137370 ) on Friday January 13, 2012 @03:53PM (#38690542)

    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.

    • by caywen ( 942955 )

      The reason why most developers think of QA that way is because most QA is that way.

    • It depends on what field you're QA-ing in. Most game devs (which I noticed are representative of the replies so far), say QA sucks... a game can pass QA@75% and still be shippable. In that world it's all about shipping and user base (e.g. I shipped 5million units of that game).

      " I was lead developer for a platform that shipped tens of millions of units"

      Sounds like you're already in the game industry... A ERP dev would have said "I developed a framework to process million tracations a day". A CRM person woul

      • Re:Take a job in QA (Score:4, Informative)

        by AuMatar ( 183847 ) on Friday January 13, 2012 @08:01PM (#38693282)

        Not in the games industry. The last job was mobile software. Eh I was going to be mysterious so I couldn't be traced back to my name, but screw it. I worked at a company called Swype making mobile phone keyboards. I was the lead developer for the Android platform, which included responsibility for most of the core (since Android was more than 95% of volume shipped).

        • Fair enough...
          Having been in the mobile environment as well, you'll like being a lead architect. It's likely less programming--the challenges shift from coding to scalability issues, system design and such. Also what comes with being a good architect is excellent systems engineering skills. IMO, currently, Systems Engineering is the most underrated role in the tech field, period. One thing I've noticed is that critical people in big systems development are architects that know system/software engineering (n

        • Nice. I'm sure there's quite a few slashdotters with your software installed.

    • I think you have valid points. however, I'm not sure its going to be as easy going 'back' to programming from qa. its kind of a one-way path.

      in the past, I've done tech writing (and pilot/test teaching) and then moved on to 'real engineering' work (C coding, etc). I've considered going back to docs since its a nice break and I know I could bring a different perspective to the new group, but I fear that, too, would be a one-way trip in my career. not saying it would be impossible to go back, but it surel

  • 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 Jake73 ( 306340 ) on Friday January 13, 2012 @03:53PM (#38690548) Homepage

    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.

    • by AuMatar ( 183847 )

      Maybe I'm trying to figure out what I should find in the next job? I'm not staying with the new company because I dislike the new owners. They actually bought the previous (and totally unrelated) startup I worked for as well.

  • by Anonymous Coward

    You should probably advance your programming career by being a lead architect on a large system. Something about your question draws me to this answer.

    Slashdot is stagnated. Need to stop giving karma to ask slashdot submissions, so real questions needing real answers will get asked.

  • 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 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.

    • 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.

      Yep (although you might have a business analyst type to work on the use cases and so forth). But you're right about getting away from the programming. I have a close colleague who's doing exactly this right now. He's been a programmer for, well, not sure, but much longer than 10 years, probably more like 25 or 30. He decided he wanted to move into an architect position. It took him a while to get used to defining work for other programmers to do and not do it himself, but he's gotten better now.

      He loves it.

  • You could try a different branch of programming .... If you do standalone apps right now you could move into web programming or database programming or even mobile apps.
  • by Gribflex ( 177733 ) on Friday January 13, 2012 @04:17PM (#38690832) Homepage

    Given the restrictions that you have (keep doing what you're doing, but more advanced) then I would suggest one of two things.

    [1] Change to a completely new set of problems. If you've been working in business software, change to games. In this way you will still be doing dev, but the kinds of problems that you are trying to solve will be completely different, which will lead to new challenges.

    [2] Try changing up the 'how' of what you're doing. For example, look for a team that's using scrum methodology, or test-driven-development. Alternately, new tools, programming languages, platforms (Mostly focussing on windows? Go mac/mobile/unix/web.). Even just somewhere with a vastly different release cycle could be interesting - by last employer measured their dev cycles in years; my current employer in weeks. If you put the focus on the skills, instead of the work, it can be really rewarding. See Software Craftsman movement for related inspiration in this direction.

    [3] Move. I'm on my third country now, and I can tell you that doing the same thing in a different country totally changes the game. French engineers do not think the same way as Canadian engineers. So much of our work is about problem solving, and being able to transform real world problems into software. It's been very cool to working through a problem with someone with a totally different world view.

    To use an analogy: You are a great French chef; you've worked in a wide range of sit down restaurants from very small to very large. And you've always felt successful, but you now feel you're only option is to start your own business. I'm recommending that you [1] go work at a japanese restaurant, [2] try a catering company or 'fast food', or [3] try working in Vietnam.

  • Money...
    Cleverness...
    Sloth...
    Babes...
    Fame...
    Only on person had it all....Bill Murray...
    Seriously, if you have money in the bank or the ability to put money in the bank do that for a year or two...then chuck it all, and do something completely out of character...like go volunteer some place...go sailing, visit all the baseball parks in one season, take up something inherently selfish for a few years and enjoy the world and it's people...meet people, love and enjoy the beauty of the world. When you hav
  • The answer was just posted yesterday!

    Right here... [slashdot.org]

    Sarcasm is my closet friend.
  • if you can survive without a paycheck for a couple of years, why not use the time to consult for some business that may be of interest to you at a low enough rate that they won't mind having you around, present yourself as a business analyst/applications architect and offer them to spend time on their business problems and attempt to come up with some solutions to help them?

    After all, unless you are going to do theoretical stuff in computing, the only other choice is to do applied computing. If you are look

  • Are you a database expert?
    How about integration?
    Performance and scalability?
    Web? (It's been sooo many years now and there still isn't a good interactive web library ... as a result of which basically every website sucks compared to what windows programs could do a decade before, so if you feel like a challenge ...)

  • For promotion as a programmer, you should follow the Peter Gibbons example. Come in to work every day about 15 minute late,. . . use the side door so Lumbergh can't see you,. . . ;-) Then, just space out at your desk for awhile. But look like you're working. Do that for about an hour after lunch, too. You need to try and keep the actual work that you do down to about 15 minutes of real, actual work, per week. Also, never put cover sheets on your TPS reports.
  • I propose 2 methods to reformulate your question:

    1) root-cause analysis: take your original question, and ask why you want that. Find 3 to 5 answers.
    Reapply the process to your answers: why do you want that ?
    Answers that have no parent are root causes.
    When there are no more answers, take a look at all the root causes, and what you are searching should be obvious !

    2) domain analysis: enumerate all your activities in development.
    For example: coding, debugging, managing, planning, etc...
    Now, put a score on eve

  • 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 AuMatar ( 183847 )

      Good point. And my current schedule reflects this- my 6 month bonus is going to send me to Europe for a few months. What I wanted here was more to get opinions, see what others in this situation have done.

  • Someone with your skillset is in high demand. It's very easy to just cast an uber-wide net, listen to job after job, and then decide where you want to focus.

    Put your resume on job boards and then take your pick. In addition to things like Monster, Dice, look for smaller boards that cater to niches that you might be interested in. On your resume, state that you're looking for either a full-time job or a few short contracts until you find the right position. Keep casting as wide of a net as possible until you

  • 10 years? Yeah - you're the cock of the walk, almost at the peak of your programming career. Now, picture yourself at 50 years old. Look around your office. Do you see any 50 year old programmers? If you do, he's probably the surly little troll sitting in the corner working on some old legacy code that no one else in the office will touch.

    You need to start planning for what you will do when you aren't programming any more. Development manager? Project manager? Enterprise Architect is cool - but how

  • If you want to advance, don't become especially good at anything technical. Have problems, make stupid mistakes. If you're a really good programmer under 40, it's a dead end job.
  • don't bother (Score:2, Insightful)

    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

    • by PJ6 ( 1151747 )

      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.

      Sorry, but I really don't see evidence of that myself. Everywhere I've been, and everyone I've talked to in the last 5 years in software, it's all the same refrain - outsourcing is a disaster, avoid it at all costs. Yes it's OK for some things related to development, but not the coding itself.

      Also, at least in my area, I see demand for developers starting to boom again. I've been getting regular headhunter calls since the middle of last year. Maybe you're living in an economically depressed (tech-wise) a

    • Age discrimination is a fact of life in software. The offshoring and 1Hb are just making it easier. Your two long term options are move into management or start your own business. As soon as you are older then your managers they will start getting uncomfortable. You make them think about their future, and if they have any sense it will scare them shitless. Until recently going into academia was an option, but "no new taxes" == "no academic career", so you are also screwed there.

      The best option: don't get

    • by mdf356 ( 774923 )

      only kids and low paying wages will be in software, in the US, soon enough

      Well, I can't speak t your experience, but at the formerly-small company I work for (we were acquired a year ago and have grown headcount by at least 50% in the last year, and have budget for 60% more growth on the team I'm on) not only is it not a race to the bottom, but there's lots of jobs.

      It's true that when I started, at 33, I was one of the older devs. As the company grows, we're hiring more college kids than older people, still. That has nothing to do with anything but the people who are applying -

  • I've also been writing software professionally for a little over 10 years. I've worked on multiple projects with IBM, and now I work for a small division of EMC (the start-up was acquired). In my experience there's lots to do and learn still. The world of systems programming is never-ending -- there's more restrictions on how and what you can do, and that increases the challenge. Coding in user-space has some challenges, but when a language will do a lot of things for you; when you can rely on the OS to

Get hold of portable property. -- Charles Dickens, "Great Expectations"

Working...