Slashdot Mirror


Does Switching Jobs Make You a Worse Programmer? (forrestbrazeal.com)

Slashdot reader theodp shares some thoughts from Virginia-based cloud architect Forrest Brazeal, who believes that switching jobs or teams makes you -- at least temporarily -- a worse programmer: "When you do take a new job," Brazeal writes, "everybody else will know things you don't know. You'll expend an enormous amount of time and mental energy just trying to keep up. This is usually called 'the learning curve'. The unstated assumption is that you must add new knowledge on top of the existing base of knowledge you brought from your previous job in order to succeed in the new environment.

"But that's not really what's happening. After all, some of your new coworkers have never worked at any other company. You have way more experience than they do. Why are they more effective than you right now? Because, for the moment, your old experience doesn't matter. You don't just need to add knowledge; you need to replace a wide body of experiences that became irrelevant when you turned in your notice at the old job. To put it another way: if you visualize your entire career arc as one giant learning curve, the places where you change jobs are marked by switchbacks."

He concludes, "I'm not saying you shouldn't switch jobs. Just remember that you can't expect to be the same person in the new cubicle. Your value is only partly based on your own knowledge and ingenuity. It's also wrapped up in the connections you've made inside your team: your ability to help others, their shared understanding of your strengths and weaknesses, and who knows what else. You will have to figure out new paths of communication in the new organization, build new backlogs of code references pertaining to your new projects, and find new mentors who can help you continue to grow. You will have to become a different programmer.

"There is no guarantee you will be a better one."

This seems counter-intuitive to me -- but what do Slashdot's readers think? Does switching jobs make you a worse programmer?

227 comments

  1. Does asking questions in headlines make... by Anonymous Coward · · Score: 0

    ... EditorDavid an editor? Fuck no.

    1. Re:Does asking questions in headlines make... by Oligonicella · · Score: 1

      And who, exactly, are you to tell someone they should shut up?

  2. Struggle is growth by SuperKendall · · Score: 4, Insightful

    The view he gives is nuanced, and it's not a bad idea to stick with jobs for a least a few years before switching...

    But he also lays out the part where you don't know as much as the people in the company even though you have experience, and labels that as slowing down or a switchback.

    I think those are some of the most valuable times for true growth. You are learning how other companies work. You are learning how other people approach code. Maybe you agree with some of that, maybe you do not, but in any case that kind of temporary struggle is tremendously valuable over time as the more experience you gain with different environments means in the future a new place or system may look something like what you have seen before, or you may be able to draw on what several companies did in a combination that leads to a new and better approach than any one of the companies...

    So while you may not want to switch jobs too often, keep in mind the flip side of that advice - don't get stuck in just one company too long, especially early in a career!

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:Struggle is growth by Hognoxious · · Score: 4, Insightful

      I've heard it said that 10 years in one company is more like two years of experience repeated five times over. It's similar to diminishing returns.

      And what one place does well another is utterly shite at, and vice versa.

      Finally, what the fucking hell is a cloud architect when it's at home, which I suspect it usually is?

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    2. Re:Struggle is growth by SuperKendall · · Score: 4, Interesting

      I've heard it said that 10 years in one company is more like two years of experience repeated five times over.

      That is a great way to put it.

      My preferred length of time is three years - two years of learning to really understanding the domain and the related systems, then a year of great productivity as you really hum because you are no longer dealing with much internal overhead in getting work done.

      Much longer than that and you start to grow tired of repetition, or the little things that were always problems start to annoy you more and more. For whatever reason, productivity drops again...

      That's probably the thing to really look out for, be self aware of how you feel you are doing in your job. That can be the signal as to when you might want to start looking for something new, if you notice that your own performance starting to decline for any reason.

      --
      "There is more worth loving than we have strength to love." - Brian Jay Stanley
    3. Re: Struggle is growth by Anonymous Coward · · Score: 3, Insightful

      Believe it or not, some people actually enjoy repetition and monotony, doing the same thing over and over again, and find the novel makes them anxious.

    4. Re:Struggle is growth by Anonymous Coward · · Score: 0

      Hmm... 2/3rds of the time you're not pulling your weight, or not pulling all of you weight. Some of us would prefer get closer to a 50-50 ratio.

    5. Re:Struggle is growth by PolygamousRanchKid+ · · Score: 1

      Does Switching Jobs Make You a Worse Programmer?

      No . . . it makes y'all better programmers!

      Your title: Struggle is growth . . . alt title:

      “What doesn't kill you makes y'all stronger” -- Friedrich Nietzsche

      Getting fresh blood and ideas in a project . . . or being the fresh blood . . . enables everyone to share, um, err, steal . . . ideas that work.

      Hey, programmers are the poster children of evolution . . . we'll gladly adopt and accept anything that makes our lives easier.

      Think of it like plantation slaves in the Old South of the USA . . . the slaves were only given the most awful tasting remains of any meat . . . but learned to make them tasty with innovative cooking techniques and spices.

      In a programming project . . . you are sometimes dished up with some God-awful technology . . . having someone new come in, with a new set of spices in their pockets, makes life more palatable for all.

      --
      Schroedinger's Brexit: The UK is both in and out of the EU at the same time!
    6. Re:Struggle is growth by Aighearach · · Score: 1

      Finally, what the fucking hell is a cloud architect when it's at home, which I suspect it usually is?

      A fisherman. Sometimes I even wear a floppy fishing hat while I type the client's name and project into the code generator.

    7. Re:Struggle is growth by Aighearach · · Score: 1

      Hmm... 2/3rds of the time you're not pulling your weight, or not pulling all of you weight. Some of us would prefer get closer to a 50-50 ratio.

      Maybe in the third year they'd have taught you about low-pass filtering, and you'd have turned out to have been pulling your weight the whole time. Too bad for you, Mr Fiftypercent.

    8. Re:Struggle is growth by vux984 · · Score: 4, Interesting

      And to me this is just sad.

      " two years of learning to really understanding the domain and the related systems, then a year of great productivity as you really hum because you are no longer dealing with much internal overhead in getting work done."

      So as the employer, that's a pretty shitty deal. I'd really like to hang onto a team who are really humming for longer than that. Who know how things work, who know where everything in the code is and how its organized, who've mastered processes, who actually understand the knowledge domain we're developing software to solve so the friction between requirements and implementation is much lower...

      "Much longer than that and you start to grow tired of repetition, or the little things that were always problems start to annoy you more and more."

      I think this is where we diverge. You want out to get away from this... I want to know why we can't fix this.

      FWIW I've never worked anywhere really big; i prefer smaller companies; because I like them more. They aren't as rigid, the work is really varied, everyone is wearing 2 or 3 hats.

      "That's probably the thing to really look out for, be self aware of how you feel you are doing in your job. That can be the signal as to when you might want to start looking for something new, if you notice that your own performance starting to decline for any reason."

      I agree with you here, but looking at it from the other side, as the employer -- they should be looking to figure out how to resolve these 'problems'. Because losing good people after a few years in an industry where it takes a couple years to hit their stride is a huge waste.

      "I've heard it said that 10 years in one company is more like two years of experience repeated five times over."

      I think it can be. I don't think it has to be. It'll depend on the company and your role(s) in it.

    9. Re:Struggle is growth by Aighearach · · Score: 1

      Well, it varies based on if you're talking about some web blah with a narrow niche where they're only ever going to have one job for you to do, except for the one person who gets promoted to boss.

      Like in the song "The New Media Caste System" from the soundtrack to the book NetSlaves.

      But not all companies are like that.

    10. Re: Struggle is growth by Zero__Kelvin · · Score: 1

      It should be maximum 6 months of learning curve followed by 2.5+ years of knocking it out of the park.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    11. Re:Struggle is growth by Hognoxious · · Score: 1

      I suppose you were born knowing:
      a) all the systems, languages etc the employer uses
      b) the subject matter or domain
      c) the company's internal structure, politics etc.

      You must be Indian!

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    12. Re:Struggle is growth by Frobnicator · · Score: 1

      I'd really like to hang onto a team who are really humming for longer than that. Who know how things work, who know where everything in the code is and how its organized, who've mastered processes, who actually understand the knowledge domain we're developing software to solve so the friction between requirements and implementation is much lower...

      The good news is that you as the employer absolutely can do that.

      You need to figure out why people leave jobs, or more specifically, why those people you want to keep would leave their current job, and make sure those needs are satisfied. Look at the common reasons:

      • * People change jobs for promotions, since each level up the hierarchy has fewer openings, so make sure that people in a high-performing team all get promoted, even if that means promoting all of them as a unit.
      • * People change jobs for money, so make sure they're getting adequate pay increases. (Hint: if a company increases pay by an amount equal to COLA, that isn't a raise. If the company increases less than COLA, that's a year-over-year cut. If you have any say over compensation, start with COLA as a 0% wage increase, then give the raise.)
      • * People change jobs for more responsibility. Make sure that a well-oiled team has the option to gain additional responsibilities over time.
      • * Some people hate monotony. Some people love monotony. Find out what the person likes, and give them that.
      • * Some people hate change. Some people love change. Find out what the person likes, and give them that.
      • * Many other reasons. Ask them, and give them what they need to be thrilled to keep you as their boss.

      Make sure the workers feel they have the power to do the job, that they are happy in the job, and that they are well rewarded for doing it. Check in frequently (e.g. weekly) and make sure it remains that way.

      If you want them to be loyal to you as the employer, be loyal to them. For most jobs, both the employer and employee are loyal all the way through pay day. If you want more loyalty than that, as the employer you must be the first to offer it. Otherwise, someone else will be thrilled to be their boss, and give them what they want.

      --
      //TODO: Think of witty sig statement
    13. Re: Struggle is growth by jd · · Score: 2

      I've worked in a lot of big places. Politics and god complexes have been the two biggest problems, stagnation third.

      The underlying problem is the Peter Principle, followed by the notion of the MBA, followed by the messy psychology of geeks.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    14. Re: Struggle is growth by jd · · Score: 1

      If code is designed correctly, there would be no learning curve at all. A given module would be covered by a specification and a comprehensive test system.

      But it isn't. The learning curve exists because you have to dig for answers.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    15. Re: Struggle is growth by jd · · Score: 1

      What doesn't kill you has as much chance of making you weaker. Sun Tzu.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    16. Re:Struggle is growth by Anonymous Coward · · Score: 0

      two years playing catch-up and a third for the next job search. gotcha.

    17. Re: Struggle is growth by Zero__Kelvin · · Score: 1

      That is possibly the most stupid post I have ever read on Slashdot.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    18. Re:Struggle is growth by Hognoxious · · Score: 1

      My first thought was that it was some hipster fuckwad who's read ( or at least flipped through) Docker for Dummies.

      Your idea has merit, though.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    19. Re: Struggle is growth by Malc · · Score: 1

      Depends on the domain. We develop SDKs based on hundreds of specs for thousands of customers in almost as many different domains, and we have to be compatible with third party implementations that aren't spec compliant. I'm still learning stuff every day after six years. There's so much I've forgotten even from the decade preceeding that at other companies in related fields, and then had to relearn to teach the current developers who never had any exposure to specific issues. Sometimes I toy with the idea of changing to a more focused job... and then you get to the crux of this story.

    20. Re:Struggle is growth by Anonymous Coward · · Score: 0

      I've been with my current employer for over a decade. I won't say that I hate my job, but I also don't love it. The 10 years before that I was a programmer who specialized in fixing hairy low level problems (device drivers, interprocess communication, distrbuted programs, etc). Loved every day of my job, made long hours . I was one of the best in my field.

      Then I got kids, and decided that I would be a father who saw his kids every night. I landed a well paid job very close to home. I am seriously overqualified, and most of the time I question the sense of what I am doing (regulatory requirements) and some days I even wonder if anyone noticed if I just stopped showing up if it weren't for the fact that I need to create user accounts as well.

      I used to have a passion for my job. Now it's just something that pays the bills. I pour all of my passion and drive into a hobby where I get a lot of fulfillment. I have considered finding another job. but it would require me to travel again. If I didn't have my hobby I know I would have to change or burn out, but this way I get the best of both.

    21. Re:Struggle is growth by Anonymous Coward · · Score: 0

      My first professional job was at a large technology company: spent over 14 years there, but was repositioned to different areas every 2-3 years which kept me learning new things while at the same time leveraging my existing company knowledge.

    22. Re: Struggle is growth by laird · · Score: 1

      It depends on the culture. My current employer is fairly large and successful, but very much has a startup mentality in that they keep resources lean and focused on delivering value to customers. And they've got a very low turnover rate - lots of 10-15 year employees in the mix, so there's strong institutional knowledge.

      I've certainly been other places that weren't that way, of course, so I don't disagree with your generalization about big companies. But it doesn't always have to be that way. Some companies have a "big company" mindset, and some companies have a "small company" mindset, independently of the actual company size. I've been in a huge corporation that was super-entrepreneurial and efficient, and a tiny company that was super-political and bureaucratic. And the reverse. Weird, I know.

    23. Re:Struggle is growth by Anonymous Coward · · Score: 0

      The problem I've always come across is PTO; all but one job I've applied to offered only 2 weeks PTO and it took years to get more. I was hesitant to leave one job as after 15 years as I had built up to 6 weeks, and to go back to 2 was not workable. The job got so bad though, and I finally found an employer who was willing to offer me 4 weeks and I took it. But now I'm back to when I'm ready to leave so many companies won't negotiate at all there, it's 2 weeks and that's it; makes finding a new, better job tougher than it already is. Of course, as noted, my salary has suffered; I make a lot less than most of my friends who have had similar jobs for similar length of time. But as I like to spend a lot of time traveling, vacation time is important.

    24. Re:Struggle is growth by Anonymous Coward · · Score: 0

      Being a consultant for a decent firm can help with part of this; That's what I do, and in 4 years I've had 3 clients for 3 very different projects. I learned a lot, and it really felt like 3 different employers even though in reality I hadn't switched companies. Of course, that doesn't help with the salary issue...I'd get more money switching employers probably, but experience wise consulting has been fantastic for me.

    25. Re: Struggle is growth by datavirtue · · Score: 1

      Have to agree. Spent five years at my last job. After three I had maxed out my impact and I spent the next two years looking for my next job while I raked in bonuses and extreme pay raises. I was not willing to jump just to change jobs and I set a pretty high salary bar for myself which helped filter out a lot of crap jobs.

      --
      I object to power without constructive purpose. --Spock
    26. Re: Struggle is growth by datavirtue · · Score: 1

      Unlimited PTO for the win. Often there are unspoken alternate rules for PTO. My last CIO would let us take extended vacations without filing it as PTO. You can hardly ever know if that is the deal though.

      My current job is unlimited but I also only work about 30 hours a week and I can work from home whenever I want. Before joining I couldn't even get an answer to if I could work from home at all.

      --
      I object to power without constructive purpose. --Spock
    27. Re: Struggle is growth by datavirtue · · Score: 1

      It's not consulting if somone is billing your hours.

      --
      I object to power without constructive purpose. --Spock
    28. Re:Struggle is growth by danlip · · Score: 1

      So as the employer, that's a pretty shitty deal.

      I agree, 3 years may be the best from the employee standpoint, but a bad deal from the employer. I'd be reluctant to hire someone who I see is changing jobs every 3 years. And I think about how it looks on my resume if I am changing jobs too often - that won't keep me in a really shitty job, but it does affect my actions in other circumstances. 5 years is a better average. Employers can keep me for even longer, especially if I am still learning a lot on the job and/or the money is great and the work environment is enjoyable.

    29. Re: Struggle is growth by HornWumpus · · Score: 1

      Those people make just decent admins, terrible coders. Tend to 'retire in place'.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    30. Re:Struggle is growth by Anonymous Coward · · Score: 0

      Agree somewhat. After you switch jobs your productivity drops while you climb he learning curve. Your diversity of experience helps to make you a better programmer.

    31. Re:Struggle is growth by Anonymous Coward · · Score: 0

      Yeah, PTO is a reason I find it hard to switch jobs. I'm up to 30 days PTO at my current job and I don't want to ever go back to 10 days. My time off is just too valuable.

    32. Re: Struggle is growth by Anonymous Coward · · Score: 0

      > It's not consulting if somone is billing your hours.

      "Consultant" doesn't imply "independent consultant" always.

    33. Re: Struggle is growth by jd · · Score: 1

      Then I have to say that I have enormous respect for those large corporations with a startup/small company mindset.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    34. Re: Struggle is growth by jd · · Score: 1

      I'd ask you to define, but since you didn't read my post to begin with, there's not much point.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    35. Re: Struggle is growth by Zero__Kelvin · · Score: 1

      I read your drivel you fucking idiot. That makes two incredibly stupid posts from you.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
  3. A person is not their job. Stop promoting that. by Anonymous Coward · · Score: 5, Insightful

    A person is not their job. Stop promoting that.

    1. Re:A person is not their job. Stop promoting that. by Anonymous Coward · · Score: 0

      Tyler Durden was fired from his job and then extorted his boss to receive a year's pay as severance. Depending on whether you want to follow the novel or the film, when his money ran out he ended up in a mental hospital or in prison. Before you laud him for not being identified by his job, remember Tyler Durden didn't last long without a job.

  4. Re: A senseless question. by Anonymous Coward · · Score: 0

    I think this is true and a huge opportunity to get a lot better fast. It is all about people. If you work with great people (may I brag a little that I do) it is very rewarding not just in the intangibles of working with great people but also in how much smarter, more knowledgeable, and skilled you become. Usually a new job has aspects you cannot even imagine but if you keep listening and keep trying you will be much better off

  5. Betteridge is actually appropriate here by 93+Escort+Wagon · · Score: 4, Insightful

    Does switching jobs make you a worse programmer? No.

    It’s true there are things existing team members know but you don’t, at least at first. But you are indeed adding experience and knowledge the other team doesn’t currently possess, regardless of this person’s premise. The author claims “that’s not really happening”, but provides no evidence to support his claim. I, on the other hand, have seen this infusion of new knowledge and ideas occur, first-hand, when we’ve added a new team member.

    --
    #DeleteChrome
    1. Re:Betteridge is actually appropriate here by Hognoxious · · Score: 1

      I was that new team member once.

      The knowledge I added was "subroutines" and a concept that I don't know the name of but it's along the lines of "if you have five programs that are 99% the same try having one with an IF/CASE statement in it somewhere".

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    2. Re:Betteridge is actually appropriate here by rtb61 · · Score: 4, Insightful

      Switching jobs, really insufficient information given ie switching projects, switching teams, switching employment, switching languages, switching programming styles and switching programming structures. So it depends upon how much is changing, the more change the more loss of productivity but it depends on the new working environment compared to the old one, how much change and how productive the old environment was and new project or existing project.

      The real question is whether a stable development team is more productive than a continually ad hoc team ie whether you keep staff together over the longer term with period of non-project productivity, they can do total quality management https://en.wikipedia.org/wiki/... projects during that time (redoing programming structures, variable choices, code library maintenance and refinement, basically internal projects to improve coding outcomes) versus hiring and firing staff straight in line with project demands.

      This being the balance between higher productivity expected from a well oiled machined versus lower productivity from ad hoc team (constantly being dismantled and rebuilt dependent upon project demands) and how you balance between the two. For developing, maintaining and refining the coding library is very productive but somewhat intermittent upon demand and works well with retaining staff with low project load, as is reviewing coding structures, variable use, documentation, basically maintaining the coding environment.

      --
      Chaos - everything, everywhere, everywhen
    3. Re:Betteridge is actually appropriate here by umberleigh · · Score: 1

      Blimey, I hope you ran away from that place pretty fast.

    4. Re:Betteridge is actually appropriate here by mnemotronic · · Score: 1

      I'll bet that company used Word Perfect as their code editor.

      --
      The Russians have won. They have made the world a cesspool of distrust, greed, fear and hate.
    5. Re:Betteridge is actually appropriate here by Jahta · · Score: 2

      Does switching jobs make you a worse programmer? No.

      It’s true there are things existing team members know but you don’t, at least at first. But you are indeed adding experience and knowledge the other team doesn’t currently possess, regardless of this person’s premise. The author claims “that’s not really happening”, but provides no evidence to support his claim. I, on the other hand, have seen this infusion of new knowledge and ideas occur, first-hand, when we’ve added a new team member.

      In my experience, it really depends on the individual. I've seen a lot of contractors over the years who are simply "coders for hire" and seem to have no interest in broadening their skill sets to become well-rounded developers. They are happy to collect a decent daily rate for a few months and move on when (or before) their limitations become apparent.

      On the other hand I've known guys who have chosen various different jobs specifically to grow their skills in different areas, and become better professional developers.

      So, does switching jobs make you a better (or worse) programmer? Maybe. It depends on your motivation.

    6. Re:Betteridge is actually appropriate here by Anonymous Coward · · Score: 0

      I have worked at the same company for almost 15 years now. In modern times that is an eternity in the realm of IT. What I have done, several times, is change teams within the same company. I have also been on teams where we regularly hire (and lose) team members.

      I love new team members. Early on, no, they don't know anything. They know how to use a language or two, sure. But they don't know our culture, our tools, our procedures, the history of why X was done in a certain way. And you know what? That is their greatest asset.

      They don't know, so they ask questions. Why was service A written the way it was? Why do we do things the way we do them? Wouldn't it be better if... Often times, no, it wouldn't be better, and we explain why. Things are the way they are because of X, Y, and Z.

      But sometimes a Why? in the right place is exactly what is needed. New people without prior knowledge, without all of that baggage, without that "it's always been done that way" mentality, are able to see things with a very fresh perspective. It helps the team see things that we aren't able to see ourselves. It's a fresh perspective. It helps us grow. It's extremely valuable.

      New team members can be incredible catalysts for positive change if your team is not too mired in pride and routine. You have to be willing to listen, you have to be willing to question yourself, you have to be willing to admit that you aren't the brightest person in the room, you have to be willing to try new things and experiment.

      THAT is the true value of a new team member, and it is something they can provide while they're being on-boarded onto the team and learning to be a productive contributor code-wise.

      Completely separate from being a "good programmer" by the way. One's knowledge of process / domain-specific architecture / team dynamics / etc. has no bearing on your knowledge of writing code in language X or Y. That doesn't change from job to job. Changing jobs (or teams) necessitates a ramping up period where you learn the systems and become comfortable making changes. It takes time to be productive. Every product is different. That's life.

      Anyway... I think I've rambled enough. I hope this was insightful and helpful to someone.

    7. Re:Betteridge is actually appropriate here by mandolin · · Score: 1

      Those both sound like specific instances of DRY?

    8. Re:Betteridge is actually appropriate here by Rande · · Score: 1

      Reminds of the time when I had to introduce the concept of 'iteration' instead of 5 pages of X1=0; X2=0; X3=0...

    9. Re: Betteridge is actually appropriate here by datavirtue · · Score: 1

      Ugh. You are adding your greedy little code monkey paws, that is all.

      --
      I object to power without constructive purpose. --Spock
    10. Re:Betteridge is actually appropriate here by Bite+The+Pillow · · Score: 1

      It seems counterintuitive only if you misunderstood the idea. It makes you temporarily worse on the basis of speed. By any other metric, you get better.

      I'm registering my disdain for ignorant horseshit like this. We should not be reading headlines that are not supported by the article content, and we should not be reading garbage that misrepresents reality.

    11. Re:Betteridge is actually appropriate here by evil_aaronm · · Score: 1

      At a large corp - sounds like Seemens - I did a code review for a "senior dev" who did something like that. It was the same block of 8-to-10 lines copied five times with just the name of the target file changed in each block. I couldn't believe a "senior" developer could do something that brain-dead. Since he was a senior guy and I was just a contractor - he had a say in whether I stayed or not - I had to look past the shitty code and sign off on it. It wasn't ideal, but it wasn't "wrong" either. Technically. Future upgrades would be stupid and problematic, but *shrug*.

  6. horsesh*t by gabereiser · · Score: 1

    Switching jobs actually makes you a better programmer. You'll work with different tech (or at least a different approach). Yes, you'll be learning things but it's not about being the best-of-the-best at your new company day 1. If you're new job has a good culture, they'll facilitate you committing to code very early on. Institutional knowledge isn't the same as industry knowledge. It may feel like you don't know squat but trust me, you'll be better off for it. The trick is to know when to leave... If you join a company where your coworkers have never worked elsewhere, this is an opportunity to teach. When working on a codebase or a large project, those that have been there a while will always know more than you do. This doesn't take away from your own skill sets at all but rather it proves that there are institutional knowledge that you haven't learned yet. Worse, it proves that they didn't follow standards which would allow someone with little knowledge of the codebase to contribute because of industry knowledge of the standards. You are expected to not know how things are done when switching jobs. That's why your "new". But that doesn't take away from your own skill sets. If anything, you have the opportunity to leverage what you already know to make the new job better (or at least try to).

  7. Yes by Anonymous Coward · · Score: 0

    Yes and this argument is the exact same excuse HR everywhere uses to rationalize never hiring anyone. Programmers lose all of their skills as soon as they leave school or switch jobs. Every new hire will add zero value which is too risky. The only safe option is not to hire.

    1. Re:Yes by Oligonicella · · Score: 1

      Cite some, AC. Cite some.

    2. Re:Yes by Anonymous Coward · · Score: 0

      Cool story, "Oligonicella." I've done a public records search and no one in real life has that name. So go fuck yourself. Sign your work with your real name before you call anyone else out.

  8. Don't be afraid to switch jobs by Anonymous Coward · · Score: 0

    I'm not sure if I'm subjectively a 'better' programmer after changing jobs but I'm objectively a 'much better paid' programmer !!!

  9. Nope by Anonymous Coward · · Score: 0

    But worse programmers tend to switch jobs quite a bit.

    1. Re:Nope by Anonymous Coward · · Score: 0

      This is true, but you need to keep it in context. I switched jobs about every 2-3 years for some time. It was because 1) a place went out of business 2) I was laid off (before that place went out of business) 3) I was threatened by a temporary boss. (My work was making his department look bad). 4) I was downsized (the company laid off about 10 people due to bad marketing). This is definitely not the same as somebody who changes jobs every 18-30 months (when it becomes clear he/she doesn't have the required skills).

    2. Re:Nope by Oligonicella · · Score: 1

      Amusing counterpoint to the number of experienced commenters here boasting about changing jobs "quite a bit".

  10. Short answer by oldgraybeard · · Score: 1

    No
    When you decide to change jobs it is on you to ramp up and be of value to your new employer. Over all it should make you better at what you do. If you are the type that handles change well and to your advantage.
    My son-in-law (in IT like me) changed jobs every 1-2 years after graduation. Then he found the right spot and has stayed there. BTW I stayed out of his choices.

    Just my 2 cents ;)

  11. Companies are Bad - Jobs are Bad by Anonymous Coward · · Score: 1

    No, Thank You! This is arguably the worst excuse for being in one Company, because some opinionated nobody says so.

    People leave even great companies because the management is bad, or because the job is bad or because they are getting stifled by everyone else around them. It may not reflect on one's ability to co-operate as much as it reflects on the entire company itself.

    People leave Amazon all the time even though they are some of the brightest engineers. Also, the churn in other reputed companies such as Uber, Facebook and Microsoft is pretty high. Does that make them bad programmers? Heck, no. They may be great engineers but they can suffocate under terrible management. This is exactly why people leave companies.

    A good programmer != a programmer who puts up with shit.

    1. Re:Companies are Bad - Jobs are Bad by mermeid007 · · Score: 1

      Funny - I know a number of people who work at Amazon and not a one has ever considered leaving. Something to do with their commitment to their employees well-being and growth. These people literally wouldn't dream of leaving. They love it.

    2. Re:Companies are Bad - Jobs are Bad by Anonymous Coward · · Score: 0

      Not true. Jeff Bezos is known to pay Amazon employees to say stuff like this.

      Disclaimer: I used to work for Amazon and I hated it. I also know many people who swear they won't come anywhere closer to the toxic culture that Jeff Bezos has propagated in this company.

    3. Re:Companies are Bad - Jobs are Bad by Anonymous Coward · · Score: 1

      And I know a number of people who worked at Amazon who would never go back no matter how much they were offered. See, that's the problem with anecdotes. They'll very from person to person.

    4. Re:Companies are Bad - Jobs are Bad by Anonymous Coward · · Score: 0

      Another example of homosexuals for some reason putting 007 in their name, again.

    5. Re: Companies are Bad - Jobs are Bad by Jack9 · · Score: 1

      I have worked for ex AMZ employees in other companies that left due to a lack of advancement opportunities. I have interviewed multiple AMZ employees lokking for jobs that offer more money, different experience from their pigeon holed responsibilities, and have hired a few w
      During a directorship. The idea that AMZ is a good place to work is always touted by overpaid middle management or green job seekerswho never left. Theres a very large number of working programmers, terrified of having to reprove themselves after a few years in a big corporate job, new demands, and the potential instability of better paying gigz.

      --

      Often wrong but never in doubt.
      I am Jack9.
      Everyone knows me.
    6. Re:Companies are Bad - Jobs are Bad by Oligonicella · · Score: 1

      Disclaimer: You're an AC. Nothing you say personally happened to you needs be considered.

    7. Re:Companies are Bad - Jobs are Bad by Oligonicella · · Score: 1

      I find that to be especially true of ACs.

    8. Re:Companies are Bad - Jobs are Bad by Anonymous Coward · · Score: 0

      I don't know what that means but a random identity like 'Oligonicella' is as bad as AC.

    9. Re:Companies are Bad - Jobs are Bad by Anonymous Coward · · Score: 0

      If you are willing to reveal your identity and your employer, let's talk.

    10. Re:Companies are Bad - Jobs are Bad by Anonymous Coward · · Score: 0

      Cool story, "Oligonicella." If you're going to bitch about anonymity then sign your work with your real name. Otherwise, STFU and go eat a dick.

  12. No by Anonymous Coward · · Score: 0

    Let others change jobs instead. Theyâ(TM)ll be making swooping 20% gains in their base salaries and advancing their lives while you stagnate for some loser manager/team who are leveraging your comfortability and timidness to jump ship.

    People who are keeping their résumés up to date and shopping themselves around are going to have more experience(s) than you and will likely get hired in above you and end up being your boss if you just stick the script year over year.

    Switch jobs. Every 2-3 years. Eff your comfort.

    1. Re:No by Anonymous Coward · · Score: 0

      This. You are less productive due to the lack of environmental knowledge, but you will not be a worse programmer

  13. If you're stupid enough to find that insightful by Anonymous Coward · · Score: 0

    you probably weren't a good programmer to begin with.

  14. Re: A senseless question. by Anonymous Coward · · Score: 1

    I have people skills. I am good at dealing with people. Why can't you understand that. What the hell is wrong with you people.

  15. Um, no by Anonymous Coward · · Score: 0

    No. That is completely idiotic. It doesn't even require you to switch jobs, just trying to solve new things makes you a better programmer. Probably what he means is that he learned some framework X and the new team uses framework Y. That is why you shouldn't spend much time learning frameworks (or corporate controlled languages like C#, Go, Rust, etc). Once you "learn" them, it doesn't transfer. Stick with C++ and what you learn will transfer to a new position or a new problem.

  16. 80% of your new job is domain knowledge by quietwalker · · Score: 4, Insightful

    Domain knowledge is knowledge that you would only have by working at that job or at that company. You can't train for it, you can't 'know it', you can only gain it over time.

    Now, you might be able to trace code a bit faster (except that bit where they muck with the class loader and the config is in a database) or fix a build (except they're using a homebrew system), or maybe even optimize a SQL request (except they require that you go through sprocs and have an actual DBA sign off on it), but you're going to be going slow at first, even if you could technically do everyone else's job at the same time.

    That's just how it is. That's also why you should pretty much apply for anything: there's a good chance you could do it - and what's on your resume or their job request is really only 20% of what the job really is.

    1. Re:80% of your new job is domain knowledge by jrumney · · Score: 2

      or maybe even optimize a SQL request (except they require that you go through sprocs and have an actual DBA sign off on it)

      Actually that highlights one of the areas where I've found being new at a company improves productivity. Ignorance of the productivity-killing procedures like this can make you shine in front of your boss, until they are alerted about the procedure bypasses and send you for corrective training on internal procedures.

    2. Re:80% of your new job is domain knowledge by Anonymous Coward · · Score: 0

      > Domain knowledge ... You can't train for it, you can't 'know it', you can only gain it over time.

      That is wrong. E.g. at my current job, I could train my domain knowledge simply by reading and trying to understand the law from certain area. If I would do that, I could even have better domain knowledge than the experts of the customer. Our system has to follow the letter of the law, hard parts are those where law doesn't give direct answer so you have to interpret it.

    3. Re:80% of your new job is domain knowledge by Interfacer · · Score: 1

      The problem with bypassing procedures like that is that you also have a higher risk of your change causing an issue, a disruption, or an outright problem. And if you work in a safety critical environment (say a power plant) or an environment subject to severe regulatory requirements (like a pharma plant) that would be bad.

      I've worked in the space industry on ground station equipment, I've worked for a nuclear fuel processing plant, and currently work in a pharma plant. Other places were much looser, as you say, and focused on performance. But the 3 examples I just listed don't really care about the most efficient way to do things, but the way that is least likely to end with disastrous fuck ups.

      All processes are fallible, there are no guarantees, but freewheeling because it is more efficient is never going to be good from a safety or QA perspective.

    4. Re:80% of your new job is domain knowledge by quietwalker · · Score: 1

      You're not describing the domain knowledge I'm talking about.

      I'm talking about things specific to a company. The gas account number for replacing tanks on the forklifts. Who sets up direct deposit for payroll. Things like "which customer needs to be coached to come up with good requirements," or "this is how we lay out our database tables so that our home-brew replication system works properly," are company domain knowledge. Hell, just getting credentials to check out and check in projects in source control - and how those projects are organized - is domain knowledge for the company. I say this as someone who's had to scan 2 terabytes of legacy code looking for what ~might~ be the right project.

      Heck, even just finding out that certain projects push on a 2 week cycle, while others require a change control board to meet and certain folks on it block anything but a certain type of enhancement is domain knowledge.

      You can't know it in advance. You learn it bit by bit, and often you don't even know that it's there to learn, so you can't even ask until you trip over it. It slows you down to a crawl and obliterates any advantage you might had have with better skills or non-domain knowledge, and you have to chip at it until it's no longer a barrier.

      You'll often get strong willed, potentially sharp people coming into a new position and thinking that they can get away just doing it their own way, but that's really just a way to push the work they're unwilling to do on everyone else and force them to adapt.

      If it's not absolutely unique to the place you're working and in some cases, the job you're working, it's not what I'm talking about.

    5. Re:80% of your new job is domain knowledge by jrumney · · Score: 1

      The problem with bypassing procedures like that is that you also have a higher risk of your change causing an issue, a disruption, or an outright problem.

      You are assuming here that the procedures are actually effective in producing the result that was intended.

      In a safety critical or highly regulated environment, the procedures may be mature enough and well designed enough that they are effective, or at least a little bit effective at avoiding a huge risk, and I wouldn't advise ignoring them, or starting work without understanding them in those situations. But a lot of companies have procedures that are not safety or regulatory related, and often times the only thing those procedures are effective at is killing productivity.

  17. This is a good point by Anonymous Coward · · Score: 0

    We must determine people's path in life as soon as possible and fix that with an eternal permanence that cannot be changed ever.

  18. The most important thing to do at a new job by NotSoHeavyD3 · · Score: 4, Insightful

    Is find what the "in" group is and make sure you're part of it. If in your first 6 months you realize you're not part of the in group for any reason you might as well leave because it's actually easier to get into the in group as an outside hire than as a member of the company who is currently in the out group.(You're now typecast.) For those that do know the in group gets listened to, gets the good things to work on, and if they ask for something they'll actually get it.

    --
    Did you know 80 to 90% of the moderators on slashdot wouldn't recognize a troll even if one dragged them under a bridge.
    1. Re:The most important thing to do at a new job by Anonymous Coward · · Score: 0

      Are you employed by a frat house?

    2. Re:The most important thing to do at a new job by phantomfive · · Score: 5, Insightful

      For those that do know the in group gets listened to,

      I try to avoid companies like this. I prefer it when people get listened to based on the quality of their arguments. And don't tell me that doesn't happen because I know it does.

      --
      "First they came for the slanderers and i said nothing."
    3. Re:The most important thing to do at a new job by Anonymous Coward · · Score: 1

      Where I work the "in" group are all the folks who worked together at a previous employer. All the executive management brought in their buddies to fill lower management positions. Those managers started bringing in all their buddies. Your only choice in this case is to GTFO!

    4. Re:The most important thing to do at a new job by Anonymous Coward · · Score: 0

      AKA: Any tech job

    5. Re:The most important thing to do at a new job by Anonymous Coward · · Score: 0

      Where the fuck do you work at, a high school?

      Seriously, in group?

      If we are talking about IT, then generally there is one IT department, and it's usually a group with a hierarchical structure.

    6. Re:The most important thing to do at a new job by Anonymous Coward · · Score: 1

      Is find what the "in" group is and make sure you're part of it. If in your first 6 months you realize you're not part of the in group for any reason you might as well leave because it's actually easier to get into the in group as an outside hire than as a member of the company who is currently in the out group.(You're now typecast.) For those that do know the in group gets listened to, gets the good things to work on, and if they ask for something they'll actually get it.

      This seems fairly true, if simplistic. It is definitely not demonstrated ability. If you want a promotion past a certain point you need to kiss the right arse and show "leadership ability" not simply get the job done or do more work than say any two other people. Its actually kind of amusing/sad. The in group has an answer to your hard work. Your wasting your time doing work that never needed doing. It's not true, but it works as an excuse. If later it becomes obvious you were right, well they never really cared and aren't going to start now.

      Basically if anyone thinks they are getting promoted past a certain point purely on skill, well my experience shows it does not appear to happen. If anything your showing what you can do will be met with subtle and sometimes not so subtle road blocks so your work doesn't look better than anyone elses. It's after all easy to marginalize anyone not in the in group. No one will really care. (Yes, I'm looking for a new job, though currently in a completely different part of the company and yes I'll try to spend a little more effort on office politics and such if I get it, no matter how little I actually care about it.)

    7. Re:The most important thing to do at a new job by Anonymous Coward · · Score: 0

      Most modern tech companies are like that. They are highly cliquish about you "fitting the culture."

    8. Re:The most important thing to do at a new job by Tablizer · · Score: 1

      I prefer it when people get listened to based on the quality of their arguments.

      Unfortunately, office politics often overpowers this. One example among many:

      Me: "We don't need microservices for the vast majority of our applications because the command structure of this organization is very hierarchical and don't prefer sharing services across groups over the longer term. If you tie them to another group, they'll get angry over dependencies that otherwise wouldn't be there. [Examples given relevant to the org]. Nor do we have enough users to take advantage of their scaling ability, and these microservices are creating about 4x more code than necessary."

      Pro-Microservices-Dude: "But we can become ambassadors-of-service-sharing. When they see how how great it works, they'll accept it."

      Me: "And if they don't?"

      PMD: "If it doesn't work out, then so be it. Don't be afraid of trying new things."

      Me: "These apps are harder to maintain with all those layers; we are stuck with their complexity for a while. It's not easy to undo."

      PMD: "Just get used to it, it won't kill ya. Our Microsoft representative says they are the future."

      Me: "The MS rep wants us to make it easier to nickle-and-dime ourselves with MS services; that's why they push microservices. They don't care about our productivity, they only want a ticket into our wallet."

      Anyhow, we are stuck with that crap now because PMD out-ranks me, so those who side with me don't want to anger PMD.

    9. Re: The most important thing to do at a new job by phantomfive · · Score: 2

      On the plus side, if his ambassadorship works, at least you'll be with the "in" group.

      --
      "First they came for the slanderers and i said nothing."
    10. Re: The most important thing to do at a new job by Tablizer · · Score: 1

      I give that a 2% chance. He cannot change that org's anti-sharing culture. He can bullshit for 10 minutes, but not for 5 years.

    11. Re: The most important thing to do at a new job by phantomfive · · Score: 1

      It's funny he says "don't be so afraid to try new technologies. Because I know you are completely and demonstrably willing to try new technologies."

      --
      "First they came for the slanderers and i said nothing."
    12. Re: The most important thing to do at a new job by Tablizer · · Score: 1

      It's funny he says "don't be so afraid to try new technologies. Because I know you are completely and demonstrably willing to try new technologies."

      That's his shtick, to paint me as the old fuddy duddy who hates new things. Maybe you are him ;-)

      I only ask that non-trivial "new ideas" be vetted; that analysis, logic, and team review be done against such, and perhaps contacts/field-trips to similar orgs using it, if possible.

      He did it a whim. Hundreds of trends/fads drift our way. If we don't vet them, we'll be all jammed up with the latest crazes. We are not paid to be an R&D lab here. An R&D lab is a good idea, but it's not funded and not our mission.

    13. Re: The most important thing to do at a new job by phantomfive · · Score: 1

      Ah whoops, I got my quotation mark in the wrong place there. It's funny he says "don't be so afraid to try new technologies." Because I know you are completely and demonstrably willing to try new technologies.

      --
      "First they came for the slanderers and i said nothing."
    14. Re:The most important thing to do at a new job by Anonymous Coward · · Score: 0

      When you tell this story again, call him "PMS dude."

    15. Re:The most important thing to do at a new job by Anonymous Coward · · Score: 0

      Listened to based on the quality of their arguments....lol. How old are you kid?

    16. Re:The most important thing to do at a new job by Tablizer · · Score: 1

      Listened to based on the quality of their arguments....lol. How old are you kid?

      Everyone entering the work world should read "How to Win Friends and Influence People." Geeks may not like the conclusions, but they are generally true.

  19. I say sometimes it can help the new team by oldgraybeard · · Score: 1

    sometimes teams and organizations get stale. The new individual if they are sharp and the environment is open can reinvigorate and re focus a team. Or everyone can hate on the new individual and torpedo things. I that case the smart will jump ship.

  20. Re: A senseless question. by Anonymous Coward · · Score: 0

    APK, is that you?

  21. Just got a new job by Anonymous Coward · · Score: 0

    Just got a new job at the dairy mart. So I tried to program a neural network to see if I'm any good and, sure enough, I couldn't make the damn thing stop seeing sheep everywhere. It must be true. New jobs make you suck at programming.

    1. Re:Just got a new job by Anonymous Coward · · Score: 0

      You work at a dairy mart that sells sheep's milk?

  22. Wrong Question? by jythie · · Score: 2

    Well, no. All the person seems to be describing is the ramping up process, which anyone who has switched jobs or had new coworkers will recognize. It does not say anything about how good or bad of a programmer they are, only that you can expect them to take time to get up to speed as they learn the new system/team/norms/whatever.

    Any team or position that you can hit the ground running and immediately be up to your full capacity is probably a job to be avoided since the needs of it are probably quite modest and mind numbing.

    And this doesn't just apply to programming. Pretty much any skilled work, esp work with an existing body of knowledge specific to the institution is going to have this, down from the lowliest intern or janitor to the c suite executives.

    1. Re:Wrong Question? by Anonymous Coward · · Score: 0

      ... from the lowliest intern or janitor to the c-suite ...

      This is why bosses are demanding industry experience from all job applicants, even for entry-level jobs: So employees already know the brands and customers facing that job. Plus, of course, experience is the best proof of ability. In the 21st century, most-times there are more employees than jobs so bosses can afford to be picky and demanding.

  23. Re:A senseless question. by ShanghaiBill · · Score: 4, Interesting

    Most developers don't switch jobs because their employer is going out of business. They switch because their job sucks, or they want to make more money.

    Companies will pay more to lure away talent from other companies than they will to keep their current employees. You should switch employers every 3 to 5 years to maximize your income.

    Productivity is higher in areas with more churn. Job hopping means new ideas and better techniques spread quickly between companies.

  24. Yes by Anonymous Coward · · Score: 0

    Studies show it's the same for every profession. If you are a stellar fund manager, software developer, whatever, studies show that you, on average, will not fare as well if you switch companies or universities.

  25. No by Greyfox · · Score: 4, Interesting

    It does impact your productivity as you learn your way around a new code base, but it doesn't make you a worse programmer. Your employer expects there to be a ramp-up period, so that's not a problem. If you switch positions because you think there's some cool stuff to learn in the new position, it'll generally make you a better programmer over time. Plus, it's really the only way to get a decent raise in the industry.

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

  26. Not at all - it makes you better by Sarusa · · Score: 1

    After an expected ramp-up period of a week or two (which he seems to be treating as some sort of super big deal crisis), you will be a better programmer by virtue of knowing all the good things from your last jobs and the good things from your new job. I've stepped up my game with ever job change I've had, usually because I have to learn a bunch of completely new skills and concepts.

    Unless you're plain incompetent or you've accepted a job someplace that's completely broken or an enterprisey graveyard you can't help but get better.

    And conversely if you hang around on a single project for too long (I'm thinking over 5 years, but that's handwavey) you're likely to stagnate. I've sure seen a hell a lot of that.

  27. UBI and pot by Anonymous Coward · · Score: 0

    They make me program good..

  28. Congratulations for stating the obvious.. by QuietLagoon · · Score: 1

    Of course whenever you go into something new there will be a learning curve. While the "worse programmer" aspect makes for a nice click-bait headline, that is only a small part of the learning curve. TFA borders upon absurdity.

  29. Doesn't really matter one way or the other by DigressivePoser · · Score: 1

    Sure you have to learn a new system but your experience will be highly useful - you were hired based on that, right? For many moving on to a new position means opportunities to learn new stuff and that makes you better. For others, they just want to get out of a crappy situation. The only issue I have is if an applicant has switched jobs every two years for their entire career. While that's not disqualifying, it is something I'll ask about in a job interview.

    1. Re:Doesn't really matter one way or the other by Anonymous Coward · · Score: 0

      Agreed. Whatever "worsening" takes place as a new hire is likely temporary and a result of being on a new growth curve.

      But really, who cares anyway? Would this ever stop someone from taking a new job, or from looking for one? As a concern whenever I've been looking, "temporarily getting worse" was a cost of doing business and had no, literally zero impact on the decision to go job hunting. The need or desire to move on and get a new position tends to be driven by factors far and away more important than navel-gazing factors like this one.

      Like eating and paying rent. Or raising a family. Or establishing a career and a professional reputation.

  30. Still above average in balance by SuperKendall · · Score: 1

    Some of us would prefer get closer to a 50-50 ratio.

    I would say it's more like:

    Year 1) Not quite pulling your weight.
    Year 2) Pulling your own weight but still learning.
    Year 3) Pulling 5x your weight because you can fly through things.

    So over all the company is still way ahead. It's when you leave after just a year or so the company is kind of losing out.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re: Still above average in balance by Anonymous Coward · · Score: 0

      Your #2 and #3 describe a competent person. Less than competent programmers barely or don't pull their weight even at year 5.

      But TFA is idiotic. You're not worse when you switch. He's really talking about your performance as in how quickly you can do things at that new job, but that is NOT the same as how good you are as a programmer in general. Also, your performance goes down only if you switch into something that is very new but not all new jobs are totally new to everyone.

      On the other hand, those less than competent people I mentioned are just as bad when they switch jobs, they can't really get any worse.

    2. Re:Still above average in balance by Oligonicella · · Score: 1

      Year three is a lot more projection than evidentiary, my bet.

  31. Comment removed by account_deleted · · Score: 4, Interesting

    Comment removed based on user account deletion

  32. No, just less desireable by Vrallis · · Score: 2

    Coming from a complex environment where it takes a year or more to just begin to understand the product (service with massive amounts of customizations for many high-profile customers), this definitely makes you less employable. It definitely feels to me like we're going to start seeing a backlash soon against all of the millenials who flip jobs every year. As more products get more complex it takes longer for a new employee to truly become competent at their job. Turnover is extremely disruptive. And this is in an environment with good wages and benefits.

    Personally if I had two equally experienced candidates, one with ten positions in ten years, and one with two in ten years I'd take the latter. I want someone who will stick around long enough to become effective and pay off all of the time it took to reach that point.

    (And finding a support person? That's even harder. We need 2-3 years minimum to get a support person to competency, and that's if we poach someone from an employer who already knows our products some from a user perspective.)

    1. Re:No, just less desireable by Anonymous Coward · · Score: 0

      My dad (who got into the business back in the IBM 1401 days) used to say that there was a big difference between 10 years of experience and 1 year 10 times. What he was really talking about, were people who fail to build on the things they'd learned and done in the past more than job hoppers, although only lasting a year or two before being urged to move on was a common symptom of such folks in the computer software and systems business.

      I've definitely seen the same thing myself. People who can bring knowledge and skills from past jobs or projects, and combine them with fresh ideas and approaches from their new environment, while exercising the good judgement to avoid the "Oooo... Shiny!" pitfalls (force fitting too many of the latest trendy coding fashions just to show what a cool happening hipster you are) can do just about anything and produce solid maintainable results. Ones who can't can learn from history (their own and others), learn new skills, or suppress the urge to chase every hot new coding fashion of the moment whether or not it's a good fit, are doomed to either reinvent every mistake of the last 60 years of CS, write unstructured Fortran or Basic forever (even in other languages!), or produce baroque, incoherent, monstrosities with hundreds of different and often conflicting patterns and idioms.

      When you read a resume for someone with more than 5 years of experience, lots of short stints and no longer ones, and every buzz word of the past 12 months, alarm bells should go off in your head. They may well have good skills and just be footloose and easily bored, but that can be kind of a problem too, especially if you're working in a domain that requires deep learning and context.

  33. Re: IMPERSONATING ME AGAIN? apk by Anonymous Coward · · Score: 0

    Please seek medical advice immediately.

  34. Forrest Brazeal by Anonymous Coward · · Score: 0

    Forrest Brazeal is a lazy, misguided, idiot millennial. This is just proof.

  35. Re: IMPERSONATING ME AGAIN? apk by Anonymous Coward · · Score: 0

    Unless this dickhead is using some kind of automated process to make these posts, they must be very unwell indeed. This has become a real obsession for somebody, to the extent that you have to wonder how they can perform any normal life functions.

  36. I usually swap jobs a the 2 year point by Anonymous Coward · · Score: 0

    I have had about 14 C/C++ jobs over the last 30 years...I find for the first 2 months I do not know too much so I am a little less productive. Then at about 18 months people figure out I know what I am doing and *everyone* wants my help. At about 2 years in they want to make me team lead or manager or something. At that point I leave the job, cause I just like writing code, dealing with people is just too frigging annoying.

  37. Wrong way to think about it... by VeryFluffyBunny · · Score: 1

    If the software developers in the new job are working like they're on a production line, then there's probably some truth to those claims. However, such jobs are easily sent overseas where labour is cheaper. There's real tangible value to new team members who have experience from elsewhere, i.e. different strategies, perspectives, & knowledge, that can get whole teams to be more productive in both the shorter & longer term. Citation? Yeah, way back from 1973: Granovetter, M. S. (1973). The Strength of Weak Ties. American Journal of Sociology, 78(6), 1360–1380.

    --
    Debate is a form of harassment. Do not question my truth.
    1. Re:Wrong way to think about it... by Anonymous Coward · · Score: 0

      "There's real tangible value to new team members who have experience from elsewhere"

      Which is why the old team members will try to destroy you.

  38. It depends, but usually it is 20x better by Anonymous Coward · · Score: 0

    The more experiences you gain, the better programmer you are for most people.
    The best way I know to see what other companies do well and learn what your prior company did well is to change jobs.
    I've worked at some famously high-performance places - known for almost zero bugs and I've worked at some seat-of your pants places with full teams of super hero devs.
    Over the years, I've held 7 jobs at different development companies. None came close in quality to the first job and non came close in productivity to the 2nd. Real companies just don't attract people like that - not even google or apple.

    Seeing the good things that another company does is helpful.

    At one company, we had programming standards that were created by all the teams using each specific language. There were fights, but eventually, after a few months, everyone started to love that the code was written in a way to force errors to be found at compile-time, not run-time. Learned those techniques at my first job and was able to convince the rest of the team that it would be helpful. Coding standards became a training tool for new people joining the team because we explained WHY a specific standard existed.

    Most importantly, we had a method for everyone to get any standard change considered. Some of the new guys would bring in great ideas that we adopted. Everyone coded a little better all the time. Over a few years, the problems were reduced, fewer bugs found by QA, and clients were always getting better quality code.

    You know, the opposite of what MSFT does since Win8.1 was released.

    1. Re: It depends, but usually it is 20x better by datavirtue · · Score: 1

      And if you had just kept up your shoddy practices and allowed more bugs your company would have been more profitable.

      --
      I object to power without constructive purpose. --Spock
  39. Sounds like something the boss would say. by ErstO · · Score: 1

    Employers hate when good employees leave, it’s not only expensive brining on new employees, they know that they lost an employee that knew the ropes, and are getting another new hire.

    And this is not just about programers, it’s all professions, and all fields of employment.

    The Boss’s have all types of tricks to keep you working for them, bonus, profit sharing, office perks, and at times promoting views of thought that might make us feel like we are losing skills or productivity if we switch jobs.

  40. Re:Just the opposite for me by Anonymous Coward · · Score: 0

    I developed what became EFI

    You utter utter bastard! ;)

  41. Kendall is a Nazi propagandist, not an engineer by Anonymous Coward · · Score: 0
    1. Re:Kendall is a Nazi propagandist, not an engineer by Anonymous Coward · · Score: 0

      Different UID, dumbass. Lazy, lazy trolling.

  42. Re:A senseless question. by Anonymous Coward · · Score: 0

    "Productivity is higher in areas with more churn. Job hopping means new ideas and better techniques spread quickly between companies." - You love to pull shit out of your ass and call it Gospel, but it's not. It's unsubstantiated bullshit, Bill.

  43. Re: IMPERSONATING ME AGAIN? apk by Anonymous Coward · · Score: 0

    These comments are being posted by Alexander Peter Kowalski. I've encouraged him to seek mental health treatment before, which he angrily resists. Let's hope he gets the help he needs this time, because he's been doing this for over two weeks now.

  44. Re:Just the opposite for me by Anonymous Coward · · Score: 0

    Polymath maxim: anyone who calls themselves a polymath isn't.

    Typical polymaths are shysters and frauds that know enough to fool anyone not as knowledgeable as they are.

    Just one example, "and in 1998 I developed what became EFI." The Intel Boot Initiative program, which develped EFI, started in 1998 as a working group. No one person can legitimately make the claim that "I developed what became EFI." The group that actually did so, was formed and started working in 1998. EFI was not developed sufficiently to actually boot a machine in 1998. The claim is a lie which can plausibly be passed off as truth if you don't know the details.

    Many of the claims can be correlated to show that no one person exists which worked on all of them. No evidence, no name, some vague statements, lots of bluster. Typical "polymath."

  45. Contractors must be superstars then by Anonymous Coward · · Score: 0

    Lots of contractors switch jobs all the time. I've been doing it for 20 years. I've never had anyone say I wasn't good. In fact every place I've done work has said I'm better than anyone they have ever seen.

    So if switching jobs makes me worse yet I'm still better than 99%, then if I stuck with a job I would be Master of the Universe!

    1. Re:Contractors must be superstars then by Anonymous Coward · · Score: 0

      I wish I could say contracting has been good for my skills and knowledge, but the opposite is true. What typically happens is that the company invests nothing in training me because they know I'm short-term.

      I have never been offered a permanent position by a client, but in one case they encouraged me to apply for a permanent position in the unit I was already a part of. I did, and had to take a pay cut in order to get hired (got bennies, but that is no substitute for salary) and they promptly stuck me on a death-march project copying and pasting XML code all day. :(

      Contracting is a double-edged sword. Lots of flexibility but virtually no chance for advancement. Every job is begin-again-Finnegan.

    2. Re:Contractors must be superstars then by Anonymous Coward · · Score: 0

      There's only one guarantee in the permie vs contractor skill stakes. It's not that contractors are better devs, it's that the worst dev is *always* a permie.

      Contractors who've been at several companies tend to have a much broader understanding of development. They've seen dev done in several bad ways but they've also seen the bits that worked. So they usually end up persuading their latest customer to take on at least a few of the better practices.

      Signed
      An ex-dev who moved into management.

    3. Re:Contractors must be superstars then by Anonymous Coward · · Score: 0

      When you become a contractor, you become responsible for your own training. There is definitely a path for advancement because your CV should steadily fill with desirable skills which means you can either go after higher paid contracts or higher prestige job titles or both.

      TBH, you sound like a permtractor. Someone who wants to be a permie but has gone contracting for the money. If you don't relish the idea of moving to a new company every year or two, of using your spare time to learn new skills, or pushing yourself rather than being pushed, you should probably just find yourself a permie role.

    4. Re:Contractors must be superstars then by Anonymous Coward · · Score: 0

      Yes, you're probably right – it's become kind of a vicious circle. I take the contracting jobs that come available because I spent too much time sitting on unemployment, but the jobs don't improve my skills or knowledge enough to advance or be competitive for a permanent position.

      I do take responsibility for learning new things on my own, but it's always a general technology (JavaScript, SQL, etc.) which tells me nothing about how a given employer has built their site. There is simply no way to know in advance which solutions a given organization is going to pick, or which framework-do-jour is going to be in fashion. So I get stuck doing the same thing at every job... Sitecore, over and over... *sigh*

    5. Re:Contractors must be superstars then by Anonymous Coward · · Score: 0
    6. Re:Contractors must be superstars then by Anonymous Coward · · Score: 0

      OK, well Sitecore puts you in a good position to move your skills in lots of directions. It will have given you a good idea of e.g. how a CMS works and what kind of things you're capable of in .Net at least. FWIW, pick a direction you'd like to go and work on the idea it's going to take at least 2 years to get there. And remember that in 2 years "there" will be 2 years out of date so tweak your direction as you learn and time passes. If you're on a job, put in 1-2 hours a night Mon-Thurs learning about the direction you've chosen. If you're sitting on unemployment, do much more. Contributing to something open source or developing your own project that you can show to potential employers both work well.

      The biggest thing to understand is that it's not going to happen tomorrow. You need to chip away at it for years :\

      But, if you do chip away and chip away, you'll eventually get good rewards :)

      From an old fart who spent many years on and off unemployment but kept chipping away and tweaking the direction and now has a very comfortable life.

    7. Re:Contractors must be superstars then by Anonymous Coward · · Score: 0

      Yeah, but the problem is I absolutely can't stand Sitecore and don't want to put one more minute into it than I have to. :)

      Really, it makes easy things hard and hard things nigh-impossible!

    8. Re:Contractors must be superstars then by Anonymous Coward · · Score: 0

      I didn't mean put the hours in on Sitecore, I meant put those hours in on something new that you want to do! If Sitecore is what you're doing for a day job now, it'll be much easier to cope with if you start planning your escape and digging the tunnel in the evenings. Even if it's one spoonful at a time :)

      It's either that or take a pay cut and go do some other dev work at a lower rate until you have built your skill back up.

      Just keep in mind that all of them only pay you because it's work. If it was fun, they'd find a way to make you to pay them.

  46. Re:Just the opposite for me by Anonymous Coward · · Score: 0

    Just one example, "and in 1998 I developed what became EFI." The Intel Boot Initiative program, which develped EFI, started in 1998 as a working group. No one person can legitimately make the claim that "I developed what became EFI." The group that actually did so, was formed and started working in 1998. EFI was not developed sufficiently to actually boot a machine in 1998. The claim is a lie which can plausibly be passed off as truth if you don't know the details.

    I don't disagree with all of what you say, but I have a counterpoint here. I work in the auto industry. Committees on top of committees. Sometimes it feels like a 60 person committee grinds through creating a spec that basically aligns with a working proof of concept developed by 5-10 people. If you're one of those 5-10 people, it's easy to roll your eyes when the committee says they developed the tech.

  47. Long-term programmers can make for worse software. by Average · · Score: 3, Insightful

    On the flip side, a stable of long-term plodding programmers can sure make for stale code. I can think of several examples still today. Software that is the standard thing in some low-revenue boring niche field. Developed and sold by some little five-person family-run shop in some suburb. Software that is just patch upon patch upon patch on some 1996-era Turbo Pascal or MFC C++. With some client-server bit bodged in here. With some 'export to HTML' kludge over here as a "web publishing platform". Software that desperately calls out for getting replaced by something newer, but the install base, data lock-in, and niche market combine to keep things just getting more and more outdated.

    You could be a software developer with twenty years in one of those shops. With twenty years of writing 1996 code. And you'd be basically dogshiat on the job market.

  48. Re:A senseless question. by Anonymous Coward · · Score: 3, Insightful

    I want to see a cite, preferably more than one, for "Productivity is higher in areas with more job churn".

    If you applied to work at my program, but your resume shows you leave every 3 years, I simply will not hire you. Nothing is going to be worth paying you to learn my company's style and process, to understand our software and customers, only to have you leave once you finally start to be useful.

    The experts - the ones that have been on program for 20 years, who know not only what the systems do but why they do it - are the valued workers. They're the ones that get the big bucks.
    The newbies - the one like you that have only been around a year or two, whose knowledge of the systems is limited to what they happened to have been assigned to work on - are the ones that get the scut jobs, the bug fixes, and the O&M work. Once they have experience, they'll be allowed to develop new features.

  49. I'd say it's true but ... by rnturn · · Score: 1

    ... I think this can be generalized to say that you'll be a worse <fill-in-the-blank> for a time when you switch jobs, for the same reasons described in the intro.

    --
    CUR ALLOC 20195.....5804M
  50. 3 to 4 years by Tablizer · · Score: 1

    This has been a long-running debate among developers. The consensus seems to average about 3 to 4 years. Too short and you get a reputation as a jumper, so you get skipped over by HR. Staying too long reduces the number of different ideas and organizations you get experience with.

    If it's a great org, maybe stay longer than 3 years, and if it's a crap-farm, shorter.

  51. Re: A senseless question. by Zero__Kelvin · · Score: 4, Insightful

    If it takes 3 years for your employees to become valuable and knowledgeable then you are hiring incompetents, your documentation and process is horrible, or both.

    --
    Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
  52. Not sad - great! by SuperKendall · · Score: 2

    So as the employer, that's a pretty shitty deal. I'd really like to hang onto a team who are really humming for longer than that.

    Yes, anyone would!

    But as I said, you cannot. Over time, performance starts to degrade. Maybe you can have a great team for four, five years. But somewhere in there the greatness fades and you just have an average team eventually. You said you want to fix it, but the fundamental thing you cannot fix is that people are people.

    I have been in great teams before, that worked so well I stayed on for many years... I said my preference was for three years, but that was found by staying with two companies for around 8-9 years each beforehand.

    Note that you do not necessarily have to leave a company to gain the benefits I stated, at one place I transitioned to different teams at around three years and that worked quite well for all. But basically my statement of three years being a good term comes from decades of experience as employee and contractor at multiple companies of all different sizes.

    What you see as sad, I see as a magnificent combination - a company and individual figuring out how to really work, both receiving huge benefits for a time.

    The recognition that all good things come to an end, is something that everyone must come to grips with. Once you do, and embrace it, life itself is so much easier and enjoyable, as you learn to move with life instead of fighting to stay still and have chaos overwhelm you eventually.

    I think it can be. I don't think it has to be. It'll depend on the company and your role(s) in it.

    Like I said, I have been in many different companies of different sizes. I am pretty sure that it how things are and there's nothing fundamental you can do to mitigate the issue of productivity drop-off eventually.

    You do point out role(s) as plural which is like I said a way you can kind of delay the inevitable by shifting to a different task and team, but a big problem is that you are still fundamentally in the same domain, and I think that's the core of why people start to decline and why moving on can be so helpful to the individual. Also no matter where you go in a company (small or large) you are immersed in the same political environment, another factor that can really drag you down, and does not change over time as much as anyone would like it to.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  53. Yes and no by FrozenGeek · · Score: 2

    In my 30, or so, years working as a programmer, I have changed jobs several times. And when I say changed jobs, I mean different employers in different industries using a different tech stack, so really changed. Switching jobs makes you worse in the sense that your corporate knowledge - local source code, local program design, local tools, contacts, etc - is now worthless and you need to replace it. That takes time to learn, and learning it will slow down your productivity. Switching jobs makes you better in that you learn a new tech stack, new techniques, new concepts (design, how to work with clients, how to think about problems), etc. Whether you switch jobs is somewhat irrelevant. In our industry, you need to be learning new stuff. If you cannot sit down at the end of a year and list a couple of significant things you learned over the past year, you've got problems. The industry is ALWAYS changing. You cannot keep up with everything, but if you don't grow, you will become obsolete. the good news is that it's never been easier to learn new stuff.

    --
    linquendum tondere
    1. Re:Yes and no by Luthair · · Score: 1

      I think you're over estimating it the amount of change that really happens. Sure, if you're working with an emerging language (e.g. javascript today, ruby 10-years ago) then there is a lot of flux in libraries and tools, however if you're working with a mature language (Java, C++, etc) then the world is pretty stable.

    2. Re:Yes and no by Oligonicella · · Score: 1

      You got me confused here - JavaScript is an emerging language? Please define your use of emerging.

    3. Re:Yes and no by Anonymous Coward · · Score: 0

      A steaming pile of Javascript 'emerging' from a sphincter.

    4. Re: Yes and no by datavirtue · · Score: 1

      I was going to come up with something but this will suffice.

      --
      I object to power without constructive purpose. --Spock
    5. Re:Yes and no by Anonymous Coward · · Score: 0

      JavaScript++ is an emerging language. He's referring to the endless stream of new frameworks, "compilation" strategies, "transpiling" of code to different versions of Javascript, etc. All of the monolithic libraries and frameworks on top of if are growing exponentially while simultaneously slowing down our browsers and spying on us.

      Javascript itself stabilized as a language over a decade ago, and is just as robust now as it was then (and faster than the mess that has been created). Any "language" that "transpiles" a set of instructions into it's own language to be executed on it's own language in real time is inherently misdesigned.

      It's an unnecessary distraction, but it keeps the MBAs, PHBs, script kiddies, and endless supply of morons who know basically nothing about programming occupied enough so that the rest of us can actually get work done, so I can't complain.

      In the ideal world, those people simply wouldn't exist.

  54. Switch jobs early and often by magzteel · · Score: 1

    Your salary will go up with each change
    You will meet new people and expand your professional network
    You will see new ways of doing things
    You will see a lot of broken stuff too
    You will take on new challenges
    You will learn new technologies

    Or stay put and become an underpaid fossil in no time, afraid to change jobs for fear of looking incompetent or of having your incompetence discovered.
    And then when your company goes under you or lays you off will have no network to reach out to and no experience at interviewing.

    1. Re:Switch jobs early and often by Torvac · · Score: 1

      pretty much this.
      NEVER stay just because you are loyal to a company/team.
      also if you changed jobs and still feel like a nubie after 1 year because the project is shit or undocumented or a complicated mess of historically made errors, consider leaving.

    2. Re:Switch jobs early and often by Anonymous Coward · · Score: 0

      Perhaps you elect not to change jobs because:

      1) Your current pay isn't terrible
      2) You kind of like what you do ( and you are the go-to subject matter expert for all things related to what you do )
      3) Your benefits are pretty decent
      4) You actually have a ( gasp ) PENSION in addition to your matching 401k
      5) You really don't want to start over at the bottom with 2 weeks vacation every few years
      6) You don't want to be part of a group of like minded people who are only there for a year or two before jumping ship
      7) This list can go on and on . . . .

      But, I digress, the above is the way us old timers tend to think.

  55. Worse by Anonymous Coward · · Score: 0

    Every time I changed jobs, did I have a better job, or a worse job?

    Every decade, the standards of excellence and professionalism in the IT industry in the USA has gone down hill, because corporations and governments have been willing to invest less and less intellectual capital at home in the USA. We now live in the gig economy, and Joe Liemandt is the exemplar of that economy. We ship our intellectual capital overseas, and as a result, the quality of software coming from major corporations, like Microsoft and Apple, suffers as a result.

    The biggest innovation in software in the past 5 years has been in neural networks. But the leaders in that area were trained in Canada, and they made their break throughs in the United Kingdom. The USA has not lead the way in that effort.

  56. Re:A senseless question. by ShanghaiBill · · Score: 3, Informative

    I want to see a cite, preferably more than one, for "Productivity is higher in areas with more job churn".

    Here you go:

    1. Labor market flexibility boosts productivity

    2. Go for the Churn

    The area with the highest job hopping rate, due to California's ban on non-compete contracts, is Silicon Valley. No where are else are developers more productive or better paid.

    Churn is good. Good for workers. Good for companies. Good for national economies.

  57. No by zJe · · Score: 1

    Switching jobs means that some domain knowledge becomes obsolete but you do not change the type of programmer that you are. I've worked in many places and in 6-7 different domains, most of those in non-business logic roles. In each role I've worked with customers, functional developers, architecture developers, QA, and documentation. What I have found in switching jobs/roles is that things generally do not change, new job -> same crap. I remember one job, it sure seemed like it was going to be fun. Next thing I know I'm learning about factories, not a bad thing, until you realize that somebody decided that if one factory was good then if everything had a factory it must be better. :) Each job comes with a pile of code/architecture/infrastructure that started out as somebody's "Great New Idea" that more or less turned into the same pile as the last pile.

    As you move along the programming spectrum eventually you reach a point where you realize that learning each new thing in detail is not necessary since all new languages are variations of older languages(*), all frameworks are variations of older frameworks, and remember that no one takes responsibility for what they write (except perhaps djb). The thing to remember is that the stuff we work with was written by humans, humans tend to think along similar lines, human code piles tend to smell the same.

    (*) Except prolog, I think that was written by aliens.

  58. Abstract Reasonig by Anonymous Coward · · Score: 0

    you need to replace a wide body of experiences that became irrelevant when you turned in your notice at the old job

    You're doing it wrong. One of the characteristics of Abstract Reasoning is the ability to transfer experience from one domain to another. Because... you know... you learn abstractly instead of concretely? There's a reason intellectual domains have a 4 magnitude difference in time to master.

  59. Re:Just the opposite for me by Anonymous Coward · · Score: 0

    and in 1998 I developed what became EFI (BIOS replacement)

    That was your sign to step back a bit :)

  60. Junior Programmers... by Anonymous Coward · · Score: 0

    ... often think like this. They don't know the domain well enough to do something new, so they burrow into an existing application, then wilfully confuse "skill" and "specific knowledge of the application oddities and convoluted build", allowing them to churn out the most crap solution possible for any given requirement because "deadlines".

  61. Absolutely not. by mark-t · · Score: 1

    You may be temporarily less productive than you might have been at your last job, but no more so than anyone else would be that is starting a new job in a new place with different people.

    But that doesn't make you a worse programmer, it makes you better. You certainly don't become any *less* competent at what you can do, but even being great at your last job doesn't automatically mean you will instantly know everything there is to know about someplace completely new. Learning new things takes time, and absolutely any remotely decent employer is going to know that and expect that your productivity may be below that of others in the company who have been there a while for the first few weeks.

  62. Re:A senseless question. by Prien715 · · Score: 1

    Most developers don't switch jobs because their employer is going out of business

    Isn't that the definition of a startup? Not all of them succeed, but the failure is hardly on any single individual. At worst, any engineer's worst fault is idealism -- it's management that tends to be deceptive. On the other end of the spectrum, you find a bunch of people using VB to pull SQL queries into Excel spreadsheets that have been there for decades -- but they pay well because no one in their right mind would ever tolerate such a system.

    If you have any tips on finding a Goldilocks zone please share:)

    --
    -- Political fascism requires a Fuhrer.
  63. For once Betteridge is wrong by nospam007 · · Score: 1

    To get really good at something, you need 10.000 hours practice.

    1. Re:For once Betteridge is wrong by 91degrees · · Score: 1

      I wouldn't read too much into that figure. It's a n estimate based on violin players.

      Not that I completely dismiss it, but there's more to it than that. If a violin player spent 10,000 hours practising a specific piece, I have no doubt that they would play that piece flawlessly, no matter how difficult. But they wouldn't be very good at playing other music. They might not even know how to. Someone with 5,000 hours of more general practice would be able to play most popular pieces from a range of styles of music very well. Is the person who knows one song perfectly really a better musician?

      Of course, nobody does that. Why would they? But we're looking at a situation where someone might be learning just one codebase for 10 years. More than enough for that "expert" level of practice. They know one piece of code flawlessly. Quite a large and complex piece of code. But they haven't been exposed to other ideas. They won't have the experience to try consider alternatives because they won't have been exposed to other ways of doing things.

      People who change jobs learn a lot of ways of doing things. Also a lot of things not to do. Those are useful skills. I'd say they're more useful than depth of knowledge about a specific application

    2. Re:For once Betteridge is wrong by Anonymous Coward · · Score: 0

      10.000 hours to mastery is a median and only in professions where practice matters. The standard deviation on that is a whole magnitude. Some people take 1.000 hours and some take 100.000 hours. In professions where practice does not matter much, like where abstract reasoning is the most important ability, the standard deviation is 2 magnitudes. Some people can master in 100 hours and other will take 1.000.000 with the median still being about 10.000 hours.

      There are entire classes of people who don't need to practice almost at all, they only have to think about a problem. This only applies to logical problems of course, where consistent reasoning is all you need to actually solve and understand, not practice. I so happen to be in this spectrum of people, so I'll use my life experience. Lets use math. When I was learning new math, one thing that struck me ass odd is how the teacher made everyone practice. I also couldn't understand the whole "harder" problems. If you understand the math, then all of the problems are equally easy, some just require more time. At first I thought it was just an issue of humans making mistakes, but I quickly noticed that the other students literally couldn't understand how to solve the "hard" problems but could the "easy" ones. I was an all-or-nothing. I would get everything wrong until I understood the problem at hand. The teacher would ask me to practice, but I always fought with my teachers, asking them how practicing something I don't know will somehow magically make me understand it. I was always witty and loved sarcasm, to my demise. I would just stare at the problems, jumping from one to the other until something clicked. As soon as it clicked, I understood it 100%. I would get all easy and hard problems.

      What really became an eye opener is when we'd have tests, many of the students would get the hard questions wrong even if they got them the week before. It's like not "practicing", what ever the fk that even does, allowed them to "forget". I have no idea what they forgot that would allow them to not do the hard problems but could still do the easy ones, but I rarely forgot, and if I forgot, I could do neither hard nor easy.

      This drove my teachers wild because I would seemingly make zero progress for the first several days of a new area, but then suddenly master everything and be bored for the next 1.5 weeks as teacher kept having the other children "practice" more variations.

      I really started to take off in college. As I was forced to take classes that traditionally don't require reasoning, I had to exercise metacognition in order to understand my thoughts to optimize learning just so I could get a passing grade. Becoming really good at metacognition was my real tipping point. This is about when I got really good at transferring abstract concepts from one discipline to another. I went for computer science, but I found that during my English, biology, and other classes, I would have mental model breakthroughs that I could transfer to programming. One example that stands out in my memory is during a biology class, I was trying to make a mental model to understand how concentrations of hormones can cause a seemingly binary on-off when the problem seems analog. It's like the scaling of the reactions has a tipping point where suddenly a different behavior starts. The instant I felt i created a model of this, a bunch of thoughts in regards to programming popped into my head and a problem I was stuck on in concurrency race-conditions became instantly clear. The same kind of issues can occur with race-conditions. Seemingly not exist at all, but once a certain threshold is reached, occurs much of the time.

      Ahh yes.. Practice. Practice for problems of reasoning is bullcrap. I am at a point in my carrier that I can walk into a group of experts and specialists who are stuck on a problem in their field, and solve the problem with no experience or even background on the subject. I've literally been invited discussions where I had no idea what the term b

    3. Re:For once Betteridge is wrong by Anonymous Coward · · Score: 0

      Since you said "code base", I assume programming of the sort. Psychology is getting more in on abstract reasoning and beyond a certain minimum amount of knowledge, there is an inverse relationship between abstract reasoning and knowledge. People with strong abstract reasoning not only have a limited amount of factual knowledge in their profession, but they've actually taught themselves to purposefully forget. Along these lines, there is an inverse relationship between expertise and mastery. Experts tend to never gain mastery in high abstract reasoning based professions, like programming.

      When it comes to abstract reasoning, masters are almost exclusively generalists. They think it's because one of the skills of abstract reasoning is the ability to transfer experience among problem domains by... abstracting knowledge. More exposure to other problem domains allows more abstract patterns to be learned. This deep understanding coupled with reasoning also causes one of the other skills of abstract reasoning to be used. Knowledge synthesis. Knowledge synthesis is not the ability to recall knowledge, but to recreate knowledge. This also applies to new problems. Abstract reasoning can be used to identify and composite knowledge abstract patterns to "recreate" knowledge one has never actually known. It's like a more advanced version of problem solving.

      Abstract reasoning actually peaks in the teens and plummets in the 30s. They think it may be because as more experience and knowledge is gained, less reasoning is needed to do one's job, and it atrophies. But if you learn abstract patterns and purposefully forget knowledge, you can use knowledge synthesis to recreate knowledge and continuously exercise and strengthen abstract reasoning. People good with abstract reasoning tend to get better at it over their lifetime. A typical person, think 99% of the population, tend to get worse at it over time.

      There has been no known way to teach abstract reasoning. Practice can allow people to get better at a particular abstract reasoning test, but it doesn't transfer, meaning it's not an actual increase in ability. The only known way to "teach" abstract reasoning to to expose people to new problems. Abstract reasoning seems to be self taught. It's much more mentally taxing and most people tend to steer away from it unless they absolutely need to use it. It tends to be strongest in people with other mental deficiencies. The current hypothesis is if using abstract reasoning is easier due to some mental disability, then the person will favor using abstract reasoning. Abstract reasoning is not about what you know, but how you think. In order to get better, you need to change how you think, which requires analyzing how you currently think, which is called metacognition, which is a skill of abstract reasoning. Kind of a catch-22. It's not a real catch-22 because the brain is great with patterns, but a lot of this is lost at young ages as brain structures start to solidify. Strong abstract reasoning tends to be highly associated with certain personalities and starts at a very young age.

      Dunning–Kruger is actually a symptom of a lack of abstract reasoning. The combination of metacognition and abstract pattern analysis should allow a person to realize when they don't know something. Dunning–Kruger is exactly why software suffers so badly. Cargo-cult mentality coupled with confidence from experience causes many to think they know something when they don't and they do the wrong thing. There is almost no correlation between experience and ability in coding, beyond a certain minimum.

    4. Re: For once Betteridge is wrong by datavirtue · · Score: 1

      I always tell people that I remember ideas and forget details. Seems I have been identifying patterns in details and committing it to memory as an abstraction that I later use to unearth details when needed. In any case, as I have gotten older I learn "new" things much faster than I did when I was young because I can see the abstract and just focus on plugging in the details.

      --
      I object to power without constructive purpose. --Spock
  64. Getting too comfortable in a role is bad too by Anonymous Coward · · Score: 0

    Getting too comfortable in a role is probably worse. It means you become afraid of leaving and having to ramp up knowledge. You loose the ability and desire to take on new things. So in an ideal world you need a balance. In practice when you move depends more on how scarce jobs are and what the consequences to you personally of moving will be.

  65. No by jd · · Score: 1

    You interface with the outside world. That interface conveys many things, but unless you suffer brain damage, it cannot convey negative ability.

    If what is meant is lower efficacy, that's different. Efficacy is always reduced with context switches.

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  66. Re:A senseless question. by Anonymous Coward · · Score: 0

    The same Silicon Valley where worker's real income has fallen by around 14% over the last 20 years ?

  67. Re: A senseless question. by Hognoxious · · Score: 2

    And if they leave as soon as they become useful he's probably treating them badly, underpaying them, or both.

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  68. Re:Just the opposite for me by Hognoxious · · Score: 3, Funny

    Was all this before you were a Navy Seal and a test pilot, or after?

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  69. Re: A senseless question. by Zero__Kelvin · · Score: 1

    I doubt he is even works in the field actually. One thing is for sure ... He thought he was being a clever troll. For example saying to Shanghai Bill, of whom I am no fan by any means, "for newbies like you." Combine that with the phrase "if you applied to my program" and I would say he is an ESL high school or college student who sucks at trolling.

    --
    Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
  70. Why not? by Anonymous Coward · · Score: 0

    Jobs switched programmers all the time.

    Should work the other way around too.

  71. Income - Swapping Jobs Maximises you Income by Stonefish · · Score: 1

    Its a job market, if you're not swapping jobs, you aren't using the market and you're getting underpaid.
    It's not about productivity, it not about scratching the itch its about maximising your return.
    I like to solve problems and build things. There are lots of organisations which value my skills and that keeps me happy. While I've found that I enjoy working in research organisations more than accounting firms they've both paid me well in the time that I was there.
    Your bosses will try to pay you as little as possible to do the job because that's their job, so do yourself a favour and make sure that your pay reflects your value.

  72. programmers? by sad_ · · Score: 1

    isn't this about true for any type of job switching?
    there is always some work-in time required before you're performing at maximum capacity.

    --
    On a long enough timeline, the survival rate for everyone drops to zero.
  73. In my experience... by Anonymous Coward · · Score: 0

    Switching jobs made me tired, and made me uninterested in programming on machine. Now I program only on paper. It made me a better human, which is the goal I fixed to me.

  74. Yes .. heaven forbid ... by johnlcallaway · · Score: 1

    ... that you learn something new.

    I am in a constant state of having to learn something new in my current job. Chef, docker, new versions of Java, Angular ... constant change. Or new tools are constantly added by people who 'we used this over at my last company and it solved all of our problems. Even our farts smelled like licorice'. Even our own staff are constantly creating new 'standards' because some tool we use doesn't make their farts smell like licorice and they are too lazy or not creative enough to figure out how to do it. So they force everyone else to have to learn something new even if the old tool actually could do what they needed. The 'bright and shiny toy' affects far too many lazy and uncreative people in senior tech positions.

    I've worked for over 13 companies in my career that spans 40 years. Every time I left, I left for a reason and found a company that didn't have that limit. In doing so, I learned new languages, new techniques, and new skills. I started out as a desk clerk but applied for a computer operator job when it opened. From there, I've held programming jobs in assembler, COBOL, C++, C# and now work mostly in Java and Javascript. My ability to learn new languages far surpasses most of my peers because now, it's just syntax. So learning Ruby for Chef was no big deal. My company still has COBOL, C++, and C# applications that I can contribute to when needed. My past jobs have given me opportunities to be a DBA and learn Oracle, Sybase, Informix, and SQL Server. I've also worked as Sun and HP sysadmin. There was even some telephony and network administration tossed in, as well as moving a data center.

    My boss comes to me when there are difficult tasks that others can't resolve. With my full-stack knowledge, I can work on problems that might otherwise require a team of 3-4 people. My solutions look at all aspects of a system instead of just the one I know. I'm not afraid to pick up legacy code in any language and work through issues or convert it if needed.

    And none of this required me to spend a dollar for college. Companies have this wonderful thing called 'tuition reimbursement'.

    So, if you are a smart, capable person, NEVER be afraid to change jobs, always be willing to learn something new, and take advantage of every educational opportunities your employer provides.

    The staff member that can wear more than one hat is the one kept during layoffs.

    --
    I rarely read replies, it's my opinion and if you thought about your opinion a little more, I'm OK with that.
  75. You're a moron. by Anonymous Coward · · Score: 0

    You are a MORON. You should stay with your mommy and daddy. Changing your environment has proven to be too much for you and as we have been tortured by your stupidity it is clear that you can not learn anything. The basement is your life and video games are your best friend. Don't change a thing for your entire life and you will be just as happy as your are now.

  76. Let's Not Mince Words by Anonymous Coward · · Score: 0

    That bitch-whore Karen couldn't code her way out of a wet paper bag. The only way she can keep a job for as long as 18 months is to sleep with her bosses or sexually extort them with threats of sexual harassment allegations and gender discrimination.

    There. I said. We all know it's true.

  77. It depends by zmooc · · Score: 1

    Many other comments make the case that more diverse experience will make you better. And they are damn right.

    However, what will really make you better a better programmer is having to fix your own code 15 years after you made it while having to keep it backwards compatible. The best programmers have that experience and write code knowing that they probably will be held responsible for it years in the future.

    That's in sharp contrast with what some others here say; they have obtained a lot of experience by switching jobs often. People that do that may very well be the best programmer ever, but knowing they can just go work somewhere else next month will make them behave much less responsible w.r.t. the futureproofness of the code. They may know better, but acting accordingly is a different matter entirely.

    --
    0x or or snor perron?!
  78. Depends on the jobs by Anonymous Coward · · Score: 0

    I started in a small Software/IT group of a non-software company, and I can clearly identify my own weaknesses that have resulted; I've learned a lot of bad habits from a team that has traditionally stayed pretty isolated from outside influence, with very few people coming and going over the years. I fully recognize that I should have started out doing contract work to get a good broad picture of how people do things. So yes if I found another job just like my current job, it would be a bad move, but if I had that broad knowledge of best practices gained by exposure to lots of different teams, I think that would benefit me anywhere I went.

  79. Re:A senseless question. by laird · · Score: 1

    I strongly disagree. I've switched jobs, and I've hired hundreds of developers, and the article missed the distinction between being a good programmer and being effective in the job. When a good developer switches jobs, they'll be temporarily less effective for a while as they learn how to work with the new team, tools, and code base. But that doesn't mean they're a 'worse programmer' - they are just as good as they were before - and as they learn how to work with the team, learn the new tools, and learn the new code base, they'll be just as good as they were. And because they've got a broader experience, they'll often make the team better, because they'll add new skills and techniques to the team. So, of course, there's a tradeoff that bringing in a new developer costs you time/effort/money in the short term that is a long-term benefit, but that's hardly a new observation. The Mythical Man Month https://en.wikipedia.org/wiki/... published in 1075 covered this thoroughly. I'm not sure the blog post added much to the discussion.

  80. Re:A senseless question. by Anonymous Coward · · Score: 0

    Double edged sword. I've been in software development for over 3 decades. I stay current with latest technologies and trends, I tend to change jobs simply because someone I've worked for previously calls me up and says "hey, would you be interested in ...". I've been in management for quite some time but it is always in very hands-on roles.

    I've worked at large and small companies. Turn over in small companies is often a result of either a) company doesn't make it or gets acquired b) bad managers c) lack of new things to do. Bad managers are bad manages, shutdowns or acquisitions are something the developers can't control, but for small focused companies often times there is a lack of opportunity to do something new and grow skills. These startup types that deliver are generally singularly focused.

    Large companies have the problem with the 20 year experts. Too often they know nothing except "what we've always done". They are fat and happy working with tech that no one else uses, and they are the only ones that know it. Had a situation recently where I am, a 20+ veteran who is not in management was in an office, our building was running out of space as we are expanding and the office was needed. He said "take my office and I quit". The company hadn't bothered to spend resources on upgrading the tech he knew or training others, they just let "Bob" do his thing. They found him another "office" to keep him. I'm working to get the platforms migrated and the senior leadership is worried that might make him mad too. That is the problem with a company relying on 20 year veterans and not hiring new blood to learn from us grey hairs.

    The kids (I use the word lovingly) are still looking for that niche that really excites them so they expect to be able to work on different things. The "Agile" culture so many companies try to embrace means short quick cycles, changing on the fly as needed, adopting the latest tech and "chasing the shiny objects". There is nothing wrong with that so penalizing them for moving every few years is a mistake on your part. But you also need stability in your organization so instead of letting your younger team members bail on the company offer them an opportunity to do something else instead. And don't let the grey hairs shoot down every suggestion the junior folks make. Ensure there is a mentorship program in place. Your grey hairs are looking at retirement now and you don't want to be caught without a bullpen when they go.

  81. Bizarre logic by mcvos · · Score: 1

    Learning new things doesn't make you a worse programmer. If they relate to programming, it makes you a better programmer.

    If after a job switch, it becomes necessary to learn new things, because your new employer does things differently, then you may be less effective for a while, but you're not a worse programmer. You're in the process of getting even better.

  82. Re: A senseless question. by GuB-42 · · Score: 1

    It might be true when we are talking about programming.

    But code doesn't exist in a vacuum. A web store front sells products, an ECU runs an engine, a video game entertains, a search engine is there for people to find what they need. And you won't be a good programmer unless you know about the job your code is going to accomplish. The store front requires knowledge about the products being sold, and the marketing behind it. The ECU requires some understanding of mechanical engineering, the video game requires understanding of game design and the search engine may involve linguistics.
    And it takes time to get into something you might know nothing about. And chances are that your next job will be in a completely different field, so while you can capitalize on what you learned when it comes to programming, you are back to square one when it comes to understanding the context.

  83. Does switching bands make you a worse musician? by Invisible+Now · · Score: 1

    Programming is a whole life encompassing art. Not a cog in the machine productivity defined labor.

    --

    "Knowing everything doesn't help..."

  84. Re:A senseless question. by thomn8r · · Score: 1
    The experts - the ones that have been on program for 20 years, who know not only what the systems do but why they do it - are the valued workers. They're the ones that get the big bucks.

    ...and the first to get laid off the first quarter the company doesn't meet analyst expectations.

  85. Re:A senseless question. by Dan1701 · · Score: 1

    Oh to work in a company that rewards long-term employees like this!

    I currently work in the IT department of a UK university. Employees are classified into pay grades, and once a person reaches the top pay of any particular grade, there they stay until they either change jobs inside the university, or leave entirely. Around here, the peak grade for IT workers as opposed to managers is generally Grade 7; this has the unpleasant effect that as soon as people start hitting top of grade and becoming superstar workers, they depart for pastures greener to get more money. Those that stay either fossilise into a role, or switch to management. Ace techies rarely make good managers.

  86. 3 time by Anonymous Coward · · Score: 0

    I switch programming jobs 3 times. The only thing it did was bring a huge increase in programming skill and ingenuity to my new company. Production problems were cured. There was never anything negative to me or my new company. This article is nothing more than intellectual BS, as far as I am concerned .

  87. Sort of by Anonymous Coward · · Score: 0

    This crap about connections and mentors is bull.

    The real reason is you need to learn a new code base and learn to work with it.

    Learning code bases is 80% of the early work when introduced to a new project.

    Essentially, in order to improve the machine, you need to learn how it currently works. This is not a trivial task.

  88. Re: A senseless question. by Zero__Kelvin · · Score: 1

    That *is* the learning curve. Domain specifics, company processes, and standards, etc. If you thought learning to program was part of the learning curve when changing companies then you don't know what a learning curve is, and we are talking about *development*, not programming.

    --
    Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
  89. No by Oligonicella · · Score: 1

    Stupid, shallow question.

  90. Re:A senseless question. by Oligonicella · · Score: 1

    Also means dragging along bad ideas and techniques.

  91. Of course it is true by Shaitan · · Score: 1

    In a sense. The first year or two at a new gig is mostly learning how things work at THIS company/role/department/etc. It's learning how the last set of people did it. This isn't just for programmers, it is for all tech jobs and likely all jobs. Yeah, it's a learning curve alright, how to fill out your timecard, who to talk to in order to get a vm, crap that in absolutely no way makes you better at anything other than being able to function.

    Given the way companies think right now you don't really have much choice but don't delude yourself into thinking job hopping on the whole actually makes you better. A flexible and challenging work environment at the same job can give you a constant learning curve of actual useful growth and information. The enemy is not the job, the enemy is you and your innate desire to find and live in a comfort zone. We live on the internet, you don't need to switch jobs to find out how things work somewhere else anymore.

  92. Re:Just the opposite for me by Anonymous Coward · · Score: 0

    dude, don't provke him. he has over 300 kills and is trained in gorilla warfare.

  93. The first day at a new job by Anonymous Coward · · Score: 0

    Find the biggest, meanest Mofo and make them your bitch. If you're not an Alpha then you're just gonna get pushed around your whole life. Shiv the old top dog and establish your dominance on day numero uno or just be a beta like 95% of the weak willed people on this thread.

  94. Re: A senseless question. by datavirtue · · Score: 1

    Define "sucks." This job hopping because thier job sucks routine is really symptom of one's misguided view of how most places view thier services. If you are pragmatic about the truth of the relationship you won't be so apt to become discouraged. As a side effect of that you will choose better employers if you clearly identify what you want and what they expect.

    --
    I object to power without constructive purpose. --Spock
  95. IMPERSONATING ME AGAIN? apk by Anonymous Coward · · Score: 0

    I've no version 3.0++, I'd never post on hosts offtopic + gweihir KNEW u IMPERSONATE me https://it.slashdot.org/commen... c6gunner proves it https://linux.slashdot.org/com... & forgot to SUBMIT AC & used his registered 'lusrname' (he tried to mock me both BEFORE & after I FAIRLY challenged him to show he's done better work - he had ZERO).

    I'd never "cry victim" to ne'er-do-wells (TROLLS, not all /.ers) either.

    U EVEN HELPED ME https://science.slashdot.org/c... (& then realizing it you quit trying to make me look bad via what you thought were lies on hosts as "ME" IN YOUR IMPERSONATIONS of me e.g. https://tech.slashdot.org/comm... on speculative execution attack: Hosts PREVENT 'EM, joke's on you)

    APK

    P.S.=> 2nd to last link's KILLING U THAT U HELPED ME & got me to see if hosts stop portsmash/meltdown/spectre & yes - hosts WORK on 'em - U LOSE + FAIL a PORTFILTER TEST https://yro.slashdot.org/comme...

  96. Re:A senseless question. by HornWumpus · · Score: 1

    But climbed 20% over the last 15 years.

    Hint: That story was cherry picked data.

    --
    John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  97. My company takes care of that for me! by Anonymous Coward · · Score: 0

    12 bosses in 15 years.

  98. Re:A senseless question. by ichimunki · · Score: 1

    I was very reluctant to read TFA, in part because it was written by a "cloud architect", but also because the headline is such obvious clickbait. No, I do not lose my decades of experience coding when I switch jobs. My changing jobs every so often has actually improved my programming over the long-term because I've been exposed to a much wider array of tools, techniques, and programming styles... what I've learned best is the *practice* of programming, whatever language or tools are at hand. In fact, if changing jobs doesn't make you a better programmer, nothing will.

    --
    I do not have a signature
  99. Re: Long-term programmers can make for worse softw by datavirtue · · Score: 1

    Perfect example: AME Accounting Software

    --
    I object to power without constructive purpose. --Spock
  100. if all you have is a scalar hierarchy ... by epine · · Score: 1

    If all you have is a scalar hierarchy, rebasing tends to look like a short-term plunge.

    It's true, we do tend to rank people by salary, as if expertise were a scalar commodity. I will agree at the job-change boundary, the scalar projection sucks more than ever before.

    But it sucks all the time, if you're a deep thinker, so this isn't conceding much.

  101. After he watched C-beams near the Tannhauser Gate by Optic7 · · Score: 1

    "I've seen things you people wouldn't believe. Attack ships on fire off the shoulder of Orion. I watched C-beams glitter in the dark near the TannhÃuser Gate. All those moments will be lost in time, like tears in rain. Time to die. "

    https://en.wikipedia.org/wiki/...

  102. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  103. Re:IMPERSONATING ME AGAIN? apk by Anonymous Coward · · Score: 0

    APK
    GO the fuck AWAY!

    (Everybody sing along!)

    APK
    GO the fuck AWAY!

    APK
    GO the fuck AWAY!

    APK
    GO the fuck AWAY!

    APK
    GO the fuck AWAY!

  104. Re:Just the opposite for me by HaaPoo · · Score: 1

    Do you drink Dos Equis beer?

  105. Re:Long-term programmers can make for worse softwa by Anonymous Coward · · Score: 0

    I worked for 100000+ companies and saw the same thing happen all the time. We were often actively forbidden to change anything not absolutely necessary (i.e. loud customer complaint). Long-term programmers was not the problem. I worked with many young programmers (nowadays, it's all of them), with people who just started, they make the same mistakes, create the same bad code. The worst is the eager know-it-all, with the newest buzzword. Drop everything and use X. And they do not even understand, what cost and benefit is. No knowledge of any theory behind. No real understanding. The long-term programmers at least have a chance to see, how the new technology fits in. If they have a saying in the cacophony of all those eager youngsters and newcomers. And if they are not too burnt-out to bother.