> I am 42-year-old very successful programmer who has been through a lot of situations [...] Early on as a programmer, I was often in situations like you describe. [...] If I could go back to my early career I would mercilessly cut out all the shitty jobs I did
You know, it's hard to believe it, but at some point parents forget what it felt like being a teenager, and senior developers being junior. I know I'm going hard against the grain here, but I think you're better off doing as jblow did, not as he says.
Priority #1: survive, life gets better. In any organization that's large enough to have a pecking order, sh*t rolls downhill. Your CEO meets the customer's CEO and sees some fish on the office walls. He decides that an aquatic theme will increase sales, and passes it on to project management. PMs are slightly bemused, but figure out some web pages that can feature animated fish, and vet the idea with senior developers, who agree it can be done before the next trade show. The senior developer creates the fish_type, group_of_fish and fish_animation tables, grabs a few morsels that are fun to implement (new web technologies, yay!), and passes the rest to you. Congratulations, you're the junior developer at the bottom of the scrap heap! You not only have to deal with all the crap nobody else wanted, but will also explain it as lines of code to your computer. And, after re-implementing several times to address all concerns from meetings you were never invited to, it turns out the customer's CEO had borrowed the office and actually hates fish since choking on a herring bone 32 years ago.
How do you deal with all this? Well, maybe quitting will find you a better job as a junior developer. (Also, maybe an uncle you never knew suddenly leaves you his fortune.) But realistically, the way most people do it is the same as jblow's. You find ways to survive, improve your resume, and eventually move uphill to have more choice in kinds of crap you need to deal with. Sharing your hard-earned wisdom with junior developers will only be the cherry on top at that point...
You know, it's hard to believe it, but at some point parents forget what it felt like being a teenager, and senior developers being junior. I know I'm going hard against the grain here, but I think you're better off doing as jblow did, not as he says.
Priority #1: survive, life gets better. In any organization that's large enough to have a pecking order, sh*t rolls downhill. Your CEO meets the customer's CEO and sees some fish on the office walls. He decides that an aquatic theme will increase sales, and passes it on to project management. PMs are slightly bemused, but figure out some web pages that can feature animated fish, and vet the idea with senior developers, who agree it can be done before the next trade show. The senior developer creates the fish_type, group_of_fish and fish_animation tables, grabs a few morsels that are fun to implement (new web technologies, yay!), and passes the rest to you. Congratulations, you're the junior developer at the bottom of the scrap heap! You not only have to deal with all the crap nobody else wanted, but will also explain it as lines of code to your computer. And, after re-implementing several times to address all concerns from meetings you were never invited to, it turns out the customer's CEO had borrowed the office and actually hates fish since choking on a herring bone 32 years ago.
How do you deal with all this? Well, maybe quitting will find you a better job as a junior developer. (Also, maybe an uncle you never knew suddenly leaves you his fortune.) But realistically, the way most people do it is the same as jblow's. You find ways to survive, improve your resume, and eventually move uphill to have more choice in kinds of crap you need to deal with. Sharing your hard-earned wisdom with junior developers will only be the cherry on top at that point...