Ask Slashdot: How To Avoid Becoming a Complacent Software Developer?
An anonymous reader writes: Next year will be the start of my 10th year as a software developer. For the last nice years I've worked for a variety of companies, large and small, on projects of varying sizes. During my career, I have noticed that many of the older software developers are burnt out. They would rather do their 9-5, get paid, and go home. They have little, if any, passion left, and I constantly wonder how they became this way. This contradicts my way of thinking; I consider myself to have some level of passion for what I do, and I enjoy going home knowing I made some kind of difference.
Needless to say, I think I am starting to see the effects of complacency. In my current job, I have a development manager who is difficult to deal with on a technical level. He possesses little technical knowledge of basic JavaEE concepts, nor has kept up on any programming in the last 10 years. There is a push from the upper echelon of the business to develop a new, more scalable system, but they don't realize that my manager is the bottleneck. Our team is constantly trying to get him to agree on software industry standards/best practices, but he doesn't get it and often times won't budge. I'm starting to feel the effects of becoming complacent. What is your advice?
Needless to say, I think I am starting to see the effects of complacency. In my current job, I have a development manager who is difficult to deal with on a technical level. He possesses little technical knowledge of basic JavaEE concepts, nor has kept up on any programming in the last 10 years. There is a push from the upper echelon of the business to develop a new, more scalable system, but they don't realize that my manager is the bottleneck. Our team is constantly trying to get him to agree on software industry standards/best practices, but he doesn't get it and often times won't budge. I'm starting to feel the effects of becoming complacent. What is your advice?
Make money some other way, everyone else does. Or build software for your Company.
Really. Get a new job before your soul dies.
Just get away. They are making you start to get burned out. I can hear it in your tone.
Get out now.
Find a company that values passion over credentials.
Design a system or an improvement to a system, argue that it should be used. Defend your ideas. Stop depending on your manager to put your ideas forward. That should solve the problem one way or another. You'll either be up to your eyeballs in responsibility for a project or out on the streets pretty rapidly I should think.
Nullius in verba
... just make sure you have an alibi. Ideally, make it look like an accident - but don't try anything too clever. Otherwise some cop will get a gut feeling or a hunch and the minute he's officially taken off the case you're toast.
It's true I tell you, feller at work's next door neighbour read it in the paper.
>Our team is constantly trying to get him to agree on software industry standards/best practices,
Maybe your team is full of snot-nosed upstarts trying to push the latest fad techniques on him, and he doesn't see things your way.
Maybe not. But I'm only hearing one side of the story.
If your way really is better, maybe it's better to have him replaced.
Save yourself before it's too late!
I find it just as likely that these workers never had passion in the first place. They were knowlegeable of the current trends right out of college because they spent the last four years learning them. But as soon as they left college the learning stopped. It wasn't noticeable for the first 5-10 years, but as the industry shifts it starts to become more obvious.
Everyone I know who was passionate about this industry in college has stayed passonate today (almost 15 years later). Some have switched to the business side and have become passionate there instead, but that internal drive is still there.
-- All that is necessary for the triumph of evil is that good men do nothing. -- Edmund Burke
Or don't. Bitching about someone who is above you pay grade wise isn't going to solve your personal problem.
At its core, programming is about solving problems. But solving the same problem over and over is mind-numbing. Seek out interesting/challenging problems to solve and you'll stay engaged and passionate.
az0
You're making someone else money, you're working on someone else's project, and you're forcefully convincing yourself that this is in any way worth your time and creativity. Look outside your box.
To stay on top as a developer, you need to learn new things every single day. As one gets older, that becomes harder - and for many people it eventually becomes more work than its worth. At that point a clock starts ticking. Three years...five years...at some point somebody who doesn't learn something new about software every single day will get out of date. The other thing is something my dad warned me about decades ago - as one gets older, there's a good chance that people problems become more interesting that software problems. If that's the case, then lack of enthusiasm probably equates to boredom - and again, the clock starts ticking.
Use your passion to either:
A) Leave.
B) Or take over.
Well of course there's a third option: stay and have your soul crushed. But who would choose that?
-- Senior Software Engineer, Attorney appearance services, locallawyerapp.com.
"I'm young and enthusiastic, and can't understand how older people aren't as young and enthusiastic as me."
There is a push from the upper echelon of the business to develop a new, more scalable system, but they don't realize that my manager is the bottleneck.
Herein probably lies most of the issue. You refer to the "upper echelon" as if a very natural honorific. When you realize that the "upper echelon" knows far less than your "problematic" manager, and do -nothing- of notable technical or business insight, and will happily entertain your motivated subordinates asserting that -you- are the bottleneck in a current or future project (expectations are, after all, infinite), I think your understanding with your manager will be more aligned...
Accept the burnout with open arms. Embrace it. Know it and love it. Take your other 16 hours per day and do things that profit you instead of your task masters.
Cranky 9 to 5ers are what make the software industry go 'round! More seriously, management practice (among other things) are what generally cause the pessimism and cynicism to set in. IF you want to prevent this, the best way is to be your own manager; i.e. start your own business. But of course this comes with other personal costs.
f u cn rd ths, u r prbbly a lsy spllr.
If he balking at an app server; there's JBOSS.
If he's just an ass; there's /.'s sister site dice.com
But honestly your request is nothing more than whining, and you've said nothing that will be of any help.
Best practices? Completely vague.
He's not agreeing on industry standards, WTF is he wanting?
So is /. just a sounding board for whiners?
I've got almost 20 years in IT, mostly in various aspects of security. I don't consider myself complacent at all, but at the same time I'd much rather work the 9-5 M-F then put in lots of hours. In my 20's I thought that the more hours you worked, the more it showed the company that you were valuable. Sure I got top ratings but I was only focused on my career. These days I consider it a source of pride that my overtime for last year was less than 10%. I'd rather spend time with my wife, with my friends, doing things that are fun. I stopped working to work and now work to enjoy life. I'm so much happier and the hours I put in our more productive, after about 10 hours pretty much everyone is better off calling it a day.
-- Slashdot, making the Left look conservative since 1997.
The fact that you notice and are repulsed by the ranks of the pre-retired zombie hordes is a positive sign. You are unlikely to ever be one of them.
Speaking from my personal experience (which is my only qualification to speak at all), keeping a steady stream of new and different jobs does the trick. I've been programming professionally for thirty-five years. I've never had a gig that lasted more than three. Some are "permanent", some contracts, some on-site, some remote. Many of them have great promise at the start ("I could retire with this job"), but something always changes. The project is finished, or cancelled, the company goes broke, or sees a major shift in direction, management changes and has different priorities than before. Some times it just doesn't work out.
But the end result is that I'm in no danger of becoming complacent. There's always new stuff to learn, new projects to pursue. I'm still having fun.
Lemmings are silly; dinosaurs are extinct.
Nuke it from orbit (quit and find a more promising job.) Its the only way to be sure (escape the cubicle before the concrete hardens.)
You obviously write software with a lot of bugs. There's a bug in your second sentence.
I'd start by being less self-centered. You come across arrogantly in your posting. "All the old people, all of the other people, are slackers. They don't care. I don't get to know them, I just judge them and criticize them. I'm better than all of them. All of our problems are their fault. How do I get rid of them?" Develop some empathy, then create a report that cogently outlines the problems and the solutions forwards. If the problems are as serious as you describe, then if your boss doesn't deal with it take it to their boss. Be prepared for the fallout.
I do like to work 9-5. Try to avoid overtime as much as possible. But the time I do work. I will be as productive as possible. Which often means spend as much time on coding / bug fixing / helping others on the way, because at the end of the day that brings money in the bank. And as little possible on non-productive crap like useless meetings, filling spreadsheets no one cares about, etc. etc.
At the end of the day I probably have a bigger impact on the company's bottom line than many others who do 50, 60, or longer work weeks on a regular basis.
Is that complacent? At least I am not burned out and can easily do this for another 10 more years until retirement
I have a very interesting programming job and I work extra hours a lot, but I get paid for them. Your company is not a charity and you should not be donating your time without getting something in return.
Those "burnt out" developers you don't want to become have learnt not to be exploited. Simply continue to do the best job you can in the time you have WITHOUT sacrificing all your personal time and WITHOUT becoming embroiled in some petty power play because there's no reward for working yourself to death.
What's it like to be a sucker who lets his bosses exploit his passion for computing for profit? You see, I'm one of those older programmers who keeps up in order to stay "employable", but has no passion for the work. I only do it because it pays better than cleaning toilets, and I'm good at it.
I write sci-fi for metalheads
Complacent: him speak big word for programmer. What I care? Happy where am.
The 'older' developers probably met a person of the opposite sex that could stand them, reproduced, and would like to spend more time with them than your stinky ass.
I constantly wonder how they became this way.
Someday, you will get a project with physically (or at least, mathematically) impossible requirements. You will, rightly, point this out. You will end up needing to doing it anyway.
This won't happen just once. Over the course of your career, you will literally lose count of the number of such requests.
You therefore have two choices - Stop caring, or have an aneurysm from frustration and rage.
Note, however, that you don't need to lose your love of coding. You just need to learn to accept, with a calm and detached indifference, that your paycheck requires you to write defective-by-design code. If it helps, you can make little games out of it - As one of my personal favorites, I write the code to function correctly and then, as the last step before showing something to the user, I throw it all away and replace the results with the requested garbage.
Find a hobby... Maybe it's programming on your own terms. I'm part of that "do their 9-5, get paid, and go home" you refer to. It's not that I am not passionate about what I do, quite the opposite. I've just learned not to get caught up in all the corporate drama and bs that goes on in a normal office setting. It'll eat away at you, get you into arguments with people who will never understand anyway, or worse cause you to loose an otherwise decent job that pays well. I do my job, extraordinarily well, to spec, and gtfo so I can go home and enjoy what remains of my life. When I am off work I have all sorts of hobbies, programming included... Give it another 5 years, you'll get there to...
I think I am starting to see the effects of complacency.
Aren't you confusing complacency with fatigue? Passion with commitment? There is a price to be paid for the adrenalin high.
Go contracting, keep learning, and be philosophical about the things you can't change.
I'm 41, been a software engineer for 15 years, contracting for 10 of those, and I'm currently taking a year off work to do a masters degree in High Performance Computing. IT is a field where there's always something new to do and something new to learn - but to some extent you have to go out and find these things; they aren't going to just come to you.
Managers can be idiots, and co-workers can be infuriating, but you can't change either, so why waste effort and happiness by stressing out about them? Do what you enjoy doing, and do it to the best of your ability, get the good reference, get the next contract, take your pay and go home and live your life with the people you care about.
Chuck Norris: Socialism == a thousand years of darkness.
I have a few thoughts on burnout:
1) Are you sure they ever burning to begin with?
Lots of people didn't start programming because they loved it. Lots of them started because it was a profitable field. They didn't go home and code til 3am in the first place.
2) Make sure you don't confuse burnout with shifting life priorities. I used to go home, grab some Taco Bell, then write code, compete, hack, etc. But now I go home, kiss my wife, eat dinner, and play with my kids. I'd love to code, but I had to cut a lot of that out. Don't think it was an easy realization, as I could write a novel on the topic. But I didn't burnout, I just shifted my priorities. Next step might be taking care of my parents, which will also cut into coding time. :-(
Jobs are not for passion. They're for getting paid so you can do something that really matters. Your manager isn't complacent, he's wise. If you love to code, start or contribute to an open source project that does something interesting. If you want to get rich, start a company. If you just want to be famous, write a book and go on the lecture tour. Otherwise, you're just spending yourself so some rich jerks can make a few more bucks.
Only from loss of passion can there be that stale state that you call 'being complacent'. All complacency is, is passion bottled up. If you really do have a passion to do something, then do it for yourself - open a business, or just do it as a hobby (or both?). If that passion is real, then you'll be successful - this is not just some theory. If you really like to do something, then give yourself an unlimited arena by which to act that passion out. If you're just stuck paying the bills at some job (many of us have been there), then look at that job for what it is, a paycheck, leave passion out of it. Then when you get home, do what you love. If people followed this concept, they'd be worth more to their employer, and themselves.
Politics; n. : A religion whereby man is god.
You are a sucker if you are a wage slave and have no significant equity in the company you are working for, and still spend your extra time working for free. Take actual control of your life instead of showing blind passion and loyalty to an institution that doesn't give a fuck about you. The programmers leaving at 5 are smarter than you because unlike you, they know they are slaves.
* Drink heavily and often.
* Shove a raw potato up his tailpipe. (do the car first)
* Begin implementing endless "for->next" loops in random code sections.
* See who can bounce random objects into a wastebasket at the far hall; style counts.
* Wear warpaint made from broken dry erase markers and ambush a co-worker while they are changing the water bottle in the office water dispenser.
Hell, man, you are in the same boat as the rest of us. Get creative.elsewhere and let old fussy pants stew in his own juices.
Give him all the rope he wants...
"Moogs! Would YOU buy that for a quarter?" CMK
They would rather do their 9-5, get paid, and go home.
That doesn't mean they're burned out. It means they have a life outside of work, most likely a family. You know, like a wife and kids and parents?
You can be passionate about your work without making it your life.
You do have passion. Complacency isn't the root of your current malaise, however. You've found yourself in a place that doesn't allow you to find flow/engagement in your work, and/or that isn't passionate about its own mission (probably a departmental more than organizational issue). You may eventually burn out if you stay in this situation. The major source of stress in this model is the dissonance between your passion and their obstructions to progress. Recommendations - 1. Change the way you approach/think about the situation; find new ways to utilize your strengths and exercise your passion that fit better with the pace and goals of your co-workers. 2. Change the situation. Enter/create a role of influence for yourself. Use it to spread your passion to others. Be careful to ensure you're doing the right thing ethically, morally, and economically. 3. Leave for another project/employer that better matches your style, passion, and goals,
I'm 32. I didn't really get a "real job" as a developer until I was 27. I've been coding for fun since I was 13. Now I daydream about doing anything other than writing code.
I don't know how it happened. All I know is that I went from having fun coding for free to hating coding for money. Perhaps the moral of the story is to never get a job doing what you love, because it will turn your love into hate. Or maybe the moral of the story is that Java kinda sucks, but Spring causes suicidal tendencies.
My job consists of figuring out a way to solve problems with Spring MVC. It doesn't matter what the problem is, Spring MVC is the answer. It doesn't matter if you can produce a solution using 5 lines of perl, Spring MVC is the only answer. If this is what development has become, I weep tears of nostalgia for the days of assembly language.
Recently purchased Kerrisk's "The Linux Programming Interface", Bovet's "Understanding the Linux Kernel", and Corbet's "Linux Device Drivers" hoping that delving into the guts of awesomeness will counteract some of the stupid that I've had to endure. Let's hope.
Chuuch. Preach. Tabernacle.
http://attackwithnumbers.com/how-i-lost-my-edge
They would rather do their 9-5, get paid, and go home. They have little, if any, passion left, and I constantly wonder how they became this way.
It's hardly complacency.
It's the constant death marches for no good reason other making a trade show, meet some sales' promise or to meet some ROI number from the bean counters.
And after killing yourself to meet these deadlines you have a review. Of course, during the review, you are ramping up for yet another project and unreasonable deadline.
So, for your review you have to justify your existence and what you have done over the past year. Now, since you are currently racking your brain trying to solve a problem, going back and trying to remember everything you did is impossible. Oh! And you are also sleep deprived. And why management doesn't know just proves their incompetence or they are just bullshitting you to justify not giving a raise.
When you are done, you are then given a "meets expectations" or less on your review that you then have to sign. You feel ashamed, burnt, and wondering where you went wrong - because management will just say, "You could have done more!" There is always more you can do, as far as they are concerned.
But wait! When you are done, you remember that, hey! My team and I worked that 250 hour month and saved the company from being sued!
Nope! Too late!
Even if you DO remember because you were smart enough to keep a journal, you STILL have to work your ass off. See, having a life outside of work is no longer an option. You have to live to work. So, you are lonely, no friends outside of work, and one day, you wake up in your 30s and realize that you are unmarried, no girlfriend, and scramble to try to meet someone with your ridiculous work schedule.
Then one day, the company cans your entire location, sends the jobs to India and says you can keep your job if you move to India and take an Indian salary.
Then in the press, they have the nerve to say, "We can't find any qualified Americans so we have to go overseas."
And there is still more, sonny.
I have had to train my H1-B replacement at another company on how pointers work in C because after all, I am unqualified and do not have the skills.
I have had to take a support job to make ends meet when both my wife and I were out of work. But the way it works in the US, you are your last job. So, ten years of development experience gets wiped out because I had to spend a little over a year as a support guy.
I guess hiring managers think that I somehow forgot ten years of experience.
And there's even more bullshit that I have seen and have to put up with myself.
Oh! And then there is the startup scam.
I'll finish with - taking lower pay but with stock options is a sucker's bet.
If you feel you are being complacent and it bugs you, then don't be complacent.
Start looking for an engaging job which will expand your skillset.
She was like chocolate when she drank... semi-sweet at first and then increasingly bitter.
I had a recent job interview where I bumped into an old coworker from nine years ago. We compared notes. He still has the same job and makes the same amount of money from nine years ago. Since Fortune 500 companies have this unfortunate habit of laying me off every so often, I've worked multiple jobs and make 80% more money. All those new people and company cultures had broaden my horizons -- and fatten my wallet.
During my career, I have noticed that many of the older software developers are burnt out. They would rather do their 9-5, get paid, and go home. They have little, if any, passion left, and I constantly wonder how they became this way.
Maybe they have families and friends and hobbies, and would rather spend time with them than at work staring at a screen?
Just a thought.
More like they realized that the gerbil wheel that is your job shouldn't define you. It's an means to the end, not end to the means.
True that, very true.
How many of these humblebrag "I work all the time for no extra pay because I'm really passionate" posts do we need? Yes, yes, you are much better than the old guys. Sure, if you got to run things the whole company would be much better off. So how come you aren't being promoted or rewarded for your extra efforts? Stop for a second and consider how other people see you. Is there even a slim chance that you're that guy who spends endless hours in the office yet never seems to get more done than anyone else? Or the guy who is always coming up with overly complicated pie-in-the-sky ideas that would throw the organization into a never ending series of redesigning and architecting of your products with little or no benefit to customers? Just sayin'...
They probably have plenty of passion, and it starts from 5pm on, with most of it happening over the weekend. It probably gets checked in to Github at some point (if it's software) where you're not looking for it. Being passionate about your day job is an invitation to be abused – for someone to notice, to be asked to stay "just a little longer", or come in on a weekend without being paid for it. Pretty soon you're being bothered consistently over the weekend, covering for everyone and getting nothing in return.
Don't be passionate about your day job. If you're dependent on the paycheck, passion is weakness.
Youth is full of passion driving foolish adventures, and headlong plunges. Age brings the knowledge that you can't solve all the problems today, and that in the long run, pacing yourself gets the job done, but with less drama and turmoil. It's not a lack of passion or enthusiasm, it's realistically assessing that for big problems, slow and steady does win the race. A few death march projects where a succession of all night sprints doesn't really get the job done, but does burn out the team, and you begin to recognize that work smarter, not harder isn't just a catch phrase.
What makes you think that the older folks don't go home thinking that they've made a difference? Just because they're able to more effectively separate "work" from "life" may just be a sign of maturity. One of the hardest things I face as a manager is working with brand new developers and engineers who have just graduated from college. They want to be going full speed ALL THE TIME, because that's what school is like. Small well defined problems that have to be solved in a limited amount of time. But hey, we're doing big stuff that is technologically very hard, never been done before, and it takes multiple years to accomplish with a team of dozens, if not hundreds, of people toiling together. If you come in with a mindset of "work really hard to finish this task in the next few weeks", you will be inevitably frustrated because you have a short time horizon.
And that short time horizon means that you might not appreciate the longer term impact of decisions you might make. Your "get the job done now" decision might make some downstream job incredibly more difficult.
There's also the "pace mismatch" problem. If you have a team of 10 people, and 3 of them are into the "sprint all night", then the other 7 come to work in the morning to find that everything has changed, and the 3 feel like the other 7 are holding things back. And, as it happens, not every job is partitionable to the extent that you can solve this. People MUST communicate in quasi real time to answer the countless little questions that come up every day.
If you toil all night, have questions, send the messages to the other toilers (who are at home and disconnected), don't get an answer, so you think "screw it, I'll just decide for now, because lame-o slacker Bob went home at 5". Then when you show up in the morning at 10AM (having worked til 4AM) and then you find that you're going to have to recode everything you did last night, because Bob, who came in at 8AM has answered your question, and pointed out a crippling flaw in your suggested approach. I as a manager am going to be seriously unhappy: YOU are going to be late with your deliverable, since you've got to do it twice; and I am going to have to pay for twice as much labor, because I am paying you to do it twice. Whether you are paid by the hour is immaterial.. the time you spend redoing what you plunged ahead and did is time that you are NOT doing what needs to be done next, and so, someone else is going to be doing it.
So, as a manager, if there's something that requires a big push, and it's something where collaboration is required, then either we ALL push together, or we ALL stay home, and I go take the heat from the next layer up and say, "Nope, we're going to slip"
That's unless our task is something simple and trivially partitionable, like digging a hole and filling in another hole that someone dug yesterday. But that kind of task only occurs in school, prisons, and movies.
Learn to separate work and life.
The wise technical employee has some other *outside work* interests, so they can decompress and just think. Particularly this is so as you move into management (should you have that talent and desire). You need to have a way to scratch the itch to create, and let the people who work for you do their job, without you stepping in and doing it for them. If there's anything worse than the young enthusiastic coder who leaps ahead overnight, it's the *manager* who comes in and *fixes* everything overnight.
.
Don't fight it. Look at it as growing in a different direction.
Next year, it'll be 35 years that I've been developing software. I have never been dissatisfied with my job. I have never felt lack of energy or lack of enthusiasm to develop new software. I work for customers, as a freelancer, I work on my own projects. And I change the area I work in every five years or so. I may be the oldest Android programmer in the world, but keeping up with state of the art technology keeps me alive. I don't feel old. Nor complacent.
So what's your point?
no, I don't have a sig
The true trick to keep this from happening is for you to remain a geek, don't get a wife kids or a life. Just wrap your world around computers, processors and the love of programming. You will always find your career rewarding! BWAAAHAAAHAAA!
-- Many men would appreciate a woman's mind more if they could fondle it
People develop lives and other interests. If you'd like to dedicate yourself to one thing, great. But you have an odd idea about the nature of liking what you do. Liking what you do is very different from wanting to do it all the time. The world is an interesting place with a lot of different things in it. Don't assume people that have other interests (Family, hobbies, houses, travel, leisure) aren't passionate about what they do, they've just realized that there's more to life than computers.
In fact, a good way to get burned out is to do exactly what I suspect you're doing. Working really long hours, and dedicating lots of your free time to software. Cut it out, and maybe you won't get burned out.
AccountKiller
During my career, I have noticed that many of the older software developers are burnt out. They would rather do their 9-5, get paid, and go home.
Maybe they have friends, families, interests and possibly even lives outside of their jobs. Perhaps they are even passionate about things that don't take place within the confines of their day jobs.
If this is a state which you are whole-heartedly trying to avoid and you use phrases like "90 Hours A Week And Loving It" in an entirely serious manner, then just keep doing that for about five to ten more years and you will start to understand exactly how people get burned out.
1) They got married and had kids.
2) They found out how loyal companies are when things aren't going so well in the company.
3) They've seen those guys who never say no and are gun-ho get abused and overworked.
4) Found other hobbies.
As said earlier, always learn. Never stop.
..." If you can make the case, support will follow. Avoid technical reasons in that explanation.
Learn to make a business case for best practices. "Best practices will save this company money/time/liability because
MOM: Why should we implement that?
YOU: We can get trainees up to speed quicker, which saves us money. We produce fewer bugs, which saves us money. Instead of wasting time squashing bugs, this lets us implement new features, which we can sell. That makes us money.
> I think I am starting to see the effects of complacency. In my current job, I have a development manager
Why do you think the Peter Principle and Dilbert Principle got coined? :-)
Programmers become 9-to-5'ers because of cynicism and pessimism. Why do your best effort when your project is just cancelled in one year because management doesn't understand "what business solution it provides" ??
Companies constantly fail to learn that it not only important to motivate people, it is extremely important to NOT de-motivate people.
There are 2 really insightful comments from last year which perfectly explain why older programmers become cynical:
http://apple.slashdot.org/stor...
and
Reread your post: you don't have a passion problem, you have a boss problem.
Older developers aren't always "burnt out" or "complacent." Many of them are wiser both from years on the job and years raising children. They work 9 to 5 and leave because they have lives outside of work and finally realize that this is the important part of life. Work is just what you do to pay for your actual life. Managers love hiring fresh graduates not because they get better work done but because they can be exploited to work vast amounts of unpaid overtime. They are loved because they are cheap and stupid.
As for your non-technical manager not understanding current technology I say welcome to this thing we call work. Develop some communication skills, a thicker skin, or both.
Developers who put their solid 9-5 have learned something you have yet to master: Do not kill yourself for the profits that flow to somebody else. Seriously, the whole idea that everybody should be jumping up and down about some novel concept or a cause is flawed. This is especially true for employees of large companies that have long lost their mo-jo. The fact that these people stick around for a certain number of hours and, presumably, provide something of value is a miracle of its own.
If you want to truly learn something, take a look at wild animals who manage to survive on this planet for a long time. Animals are quite basic when it comes to their thinking because they do everything for a reason. You wonÃ(TM)t see a wild cat run after pray for no good cause. You will not see bison migrate from place to place just because it is exciting. You wonÃ(TM)t see fish swimming in the ocean for long distances just because there is nothing to do underwater. No, everything has its reason and the reason is survival. This applies to you too.
So what would I do if I were you? IÃ(TM)d find some interesting cause, something that makes you tick and excited every day. Then pursue it ferociously. The goal is not to avoid becoming a complacent software developer, but to better yourself so you wonÃ(TM)t end up a complacent human.
You had to be careful to apply this because it can turn awfully wrong. Bring an evil salesman of an evil corporation to escalate your manager.
Check which provider offers a software development solution that is aligned to the kind of development that you want to do with the software industry standards/best practices you want. See which tool can you use from them so the evil salesman sees a potential business. Bring the salesman of the equation and make him show the "awesome way of developing" that your manager does not understand.
If after that your manager does not want to understand, the evil salesman, will go to the upper echelon in the desperation of making the sales. The evil salesman will enforce your way of doing things since it is aligned to the solution you chose.
There are several evil corporations that can help you with this like IBM, HP, Oracle, etc. You just need to choose wise which thing you want to buy... or also you can not buy anything at all, but the lobbying to the upper stairs manager is already done with the software industry standards/best practices that you want to apply.
Having kids can eat up a lot of your spare time. While I realize this isn't a problem for that many slashdotters, it has been known to happen to the occasional software developer. Suddenly coping with family can look a lot like burnout, especially in the early years.
The utter crap that passes for "software engineering" in the commercial world is enough to make any professional with real integrity disillusioned.
And by "professional" I don't mean someone who merely does the work as requested, but someone who produces solidly engineered systems instead of churning out rubbish to meet a deadline, and someone who rejects requirements that don't make engineering sense, and someone who evaluates software product numerically for test coverage and fault rates and insists on no regressions, and so on. In other words, someone who is a complete pain in the neck to the PHBs and sometimes to his or her workmates. but is working with professional integrity.
If that describes you, you may understand how easy it is to get disillusioned in a workplace that's populated by cowboys who have no clue about how to engineer a product professionally and certainly don't appreciate someone who is trying to keep the company out of the ranks of utter amateurism.
Some people misinterpret that disillusion as burnout, because they both result in a sort of lonely sadness.
I would if I had the points.
Yeah.. Find a company who will pay you small dollars for long hours and leverage your passion for work into profit for the owners. Most excellent.
The language is so difficult to develop in there will be a constant stream of latest and greatest ways of creating applications. None will solve the fundamental problem of the rigidity enforced by a strong, statically typed language. Today it's still relatively new to you, but eventually you'll realize that the best practices are just fads that will pass; next year there will be a whole new portfolio of different best practices that don't work any better than the old ones.
If you like trying to keep up with the latest fads then assume you'll need to change jobs every couple of years to work in a place that has embraced the latest new thing. Otherwise do your 9-5, get paid, go home, and do something less painful.
Got any hobbies? It's not a hobby if you don't average 15 hours per week. The more hobbies you have, the more time you want to spend on the hobbies. It's not that the work passion is gone, it's just that you already do 40 hours a week of that passion.
Not all older developers are burnt out. Many (most?) have simply figured out a few things that you're just starting to get an inkling of:
1. People (and their failings) are far, far more likely to be the bottleneck on success than technology.
2. After a developer has reached a certain level of proficiency, the vast majority of programming time spent on late nights, weekends and overtime are a result of people's failings (bad decisions, fear, chasing the latest fad, indecision, communication, and so on), rather than the technology itself.
From that perspective, then, it's very rational for a developer to reach a point where they spend more time anticipating and fixing people problems than technology problems. The return on investment is much, much higher than you'd expect, both in terms of overall productivity and quality of life (minimizing nights and weekends.)
Now, not all younger developers have something to prove, or are being exploited by late nights and weekends. If you're happy to be there and enjoy the extra hours for any reason, then good for you! Just remember that hours != value, and if you're spending late nights and weekends addressing concerns caused by people (including yourself) who have made poor decisions or judgments, or failed to communicate well...then why not lean on those older developers to help you mitigate the people problems you don't think you care about, so that you can focus on being an awesome productive programmer *and* go home on time?
I don't know what industry you work in but best practices in software vary based on what you are writing. The best practice for writing a web app or something at Google is going to be different than writing medical product. Sure some things overlap, but other things will not. The automotive world has MISRA rules that are considered a best practice that directly conflict in many aspects to what people working at a CA start-up considers a best practice.
I'm not saying your company is doing it correctly, but remember there is no one global best practices for all software or everybody would be doing it already. A lot of things are in the category of how does it really matter which way something is done but may people get all bent out of shape when you deviate from what they believe is the best way to do things.
Really; they probably got married, had kids, and got a life. Or developed some sort of interest outside of work. Or they just got their job and technology worked out to the point they don't have to work 60 hours a week to keep up. In short, they got a life. Assuming they are burnt out may be incorrect. You should also get a life.
putting the 'B' in LGBTQ+
As the dad of two young kids, just finding time to work, spend a reasonable amount of time being there for them, doing the daily chores around the house and (maybe) sleeping is a miracle some days. Older people who work 9-5 and have families want to keep them. Especially if their spouse/partner also works, there's _never_ enough time to do anything. I used to be able to do whatever crazy crunch project (I'm in systems engineering, not development, but it's not that dissimilar.) Now, I'm finding that there really has to be a justification for spending the extra effort. It is a trade off - even if I wanted to, which I don't, I couldn't go work for a startup and pull back to back 90 hour weeks. Being a dad and doing it right is a massive time commitment. Whenever I hear about anyone who is having a kid soon, I frankly tell them that they need to go and do everything they wanted to do in the next few months...because sometimes it seems like there's zero free time. And when you do have downtime, you're so wiped out that you can't do anything other than crash.
That said, as one gets older and more experienced, they're less likely to make the mistakes that require the constant 90 hour weeks. And what you may see as burnout may just be people getting wise to the fact that it's not worth slaving over a job. You owe it to the company to work hard while you're there, I grant you that. But people who have lives outside of work really need that work/life split that everyone keeps trying to get rid of. My strategy for dealing with this is as follows -- I know I have to keep my skills at least somewhat fresh in case I'm unexpectedly unemployed. So I try to add myself to just about anything new at work (and usually succeed.) That covers a lot of the skill building. And yes, I do have to spend a fair amount of time reading and tinkering outside of work, but that's been severely curtailed. I think it'll get better once the kiddies can do more things for themselves, but for now it's a real challenge.
Next year will be the start of my 10th year as a software developer. For the last nice years I've worked for a variety of companies, large and small, on projects of varying sizes. During my career, I have noticed that many of the older software developers are burnt out. They would rather do their 9-5, get paid, and go home.
Family does that. Specially kids. I need to be home early to be with them, read to them, help them eat, clean themselves, let them see me (and feel and understand I actually give a shit). When I was single I would work at any hour. Not anymore. That does not mean, however, that my work is strictly 9-5. I wake up at 5AM to get myself ready, log in, do some work, then get ready (and help my wife get my kids ready). Then I log back to work via VPN from 9 to 10, sometimes going to bed till midnight... with just 5 hours to go sleep to start again.
I easily make 55a week just like that. More if I do work on weekends. But 9-5 is the strict window I use to be in the office.
A lot of 9-5'ers are like that, and in addition to all that, we see the same shit repeating itself again and again, from one employer to the next. So what you call "lack of passion" might actually be work-related pragmatism combined with some physical exhaustion and simply the necessary notgiveashitis gene kicking off to save your brain from dying after witnessing the same inane shit rendering itself at work for the millionth time.
The passion is there, is just that we move it out of work and into other things, like family and career (which is distinct from work.)
They have little, if any, passion left, and I constantly wonder how they became this way.
Life. Life will happen and will change your perspective and priorities. YOU. WILL. SEE.
This contradicts my way of thinking; I consider myself to have some level of passion for what I do, and I enjoy going home knowing I made some kind of difference.
But that is the thing. You are projecting. How do you know that other people are not made some kind of difference? They are likely making a difference *somewhere else*.
Also, as we get older we become more efficient with our time. I can do a lot more know with less time than what I could do when I had 10 years of experience (and certainly much more when I started my career.) We burn a lot of hours thinking it is necessary, we do not know how to prioritize or say no to crazy demands. We freak out, and we go into a professional-related frenzy, willing to burn the midnight oil to compensate for a lot of things.
We have a lot of energy when we start. But energy is not necessarily passion. And not all forms of professional passions are constructive. As we get older, family or not, we learn to pick our battles and seek out the lowest hanging fruits, the 20% that make up the 80%. It is then when we begin to be true engineers, not just berserker hackers.
Needless to say, I think I am starting to see the effects of complacency. In my current job,
Unless you are developing the ultimate shit, or have a wonderful work experience with your managers, or are developing your own business, never, ever, be passionate about your job. Be passionate about your career, but not your job. Your job is the conduct by which you make money using your career. Display work ethics, and be willing to go the extra mile when needed. But don't confuse that with passion. That's just work ethics, which we should all display.
I have a development manager who is difficult to deal with on a technical level. He possesses little technical knowledge of basic JavaEE concepts, nor has kept up on any programming in the la
Buck up, stop whining and do your job. There are 10,000 others who would gladly do your job and millions other that would dream of it.
They're not burned out. They have lives now. Wives. Families. Something to do other than be a slave to the corporation.
I do not fail; I succeed at finding out what does not work.
Umm...80% or more of code running businesses today is not hosted on a webserver.
All the things he mentions, including the web, are a thin veneer of cool on a core of mundane.
Things like your paycheck, 401k, benefits, scheduling, purchasing, sales, repair, shipping, renting, inventory, routing, tracking, etc. etc. etc. are all done on fairly large computers running dull code like COBOL and even FORTRAN. They may have Web interfaces built with all these wizbang thingies, but the real work happens in legacy systems that are solid as a rock because they don't change technologies every three years to something cooler than what they have now.
When Fascism comes to America, it will call itself Anti-Fascism, and tell you to give up your guns.
Working 9-5 does not necessarily mean a developer is a burnout. As other posters indicated, they may have other priorities in their lives. A technical manager to be a good manager needs to have some working knowledge of newer technologies and methodologies. More importantly the manager needs to have the wisdom on when and when not to use it.
Research is what I doing when I don't know what I am doing - Werner von Braun
A bit older, I feared having to work year round, and not get summer vacation.
Or look at all those commercials (e.g. 1, 2) for middle-age people reassuring themselves they'll never get old, never look old or slow down. (Or, heaven forbid, die.)
Personally, yes, I have become less into my job and more into my family and hobbies over time. I think that is common. But don't worry, nobody will force you to follow that pattern if you don't want to!
It is not people "refusing to act their age" that bothers me, if that's genuinely how they feel and what they want to do. Decide each day what you want to do and do it - and this should include goals and plans for accomplishing things in the future. But I am convinced that idle worry about who you will be, or what you will want in the future is just a waste of the present.
My advice?
1. Try to have some perspective. It's not "complacency" when someone wants to spend time with his family instead of working overtime without pay.
2. Recognize that your manager's problem isn't so much complacency as it is an exaggerated opinion of his own technical competency. He thinks he knows and understands more than he actually does, hence his steadfast refusal to consider the possibility that his team's ideas are actually better than his own.
3. Consider the possibility, however remote, that you may be the one with an exaggerated opinion of your own technical competency and that, just maybe, your manager's vision for the project actually has some advantages. You may end up concluding that this possibility is extremely unlikely; if so, that's fine.
4. Since your manager sounds like kind of a jerk starting looking for another job. If your skills and/or credentials are such that finding another job is difficult then start the process of acquiring new skills and/or credentials so you won't have that problem in the future.
If the only obstacle is a bad boss, go to his boss and see if you can get out from under them, perhaps in your own unit, or under someone else. If the company itself fosters the bad environment, it's time to move on.
(If at first you don't succeed, do it different next time!)
Wait till you have kid. You won't give two craps about anything but the money. How you get it matters not.
Then you will start to realize how out of whack pay scales are in the USA which further depresses you. The top makes to much and is rewarded for my hard work. It's BS. And people at Burger King can';t afford the food they serve.
The USA is totally F'ed up right now.
So ya .... it's hard to care when pay scales are out of whack and you only care about money.
I still love to write software, I think about it probably too much. If I am not with my family or friends, I am designing software.
Whats the secret? Found your own company and write software that you are passionate about.
I spent 10 years working for others, but its not until I had my own company did my love for software really explode.
There are years where I have made a lot of money, products that I have designed and built have sold 10 of millions of dollars (for others).
Companies I have built up are now worth 0, after getting raped and pillaged by "Partners" (watch out for business men with a trail of bodies).
But I still love creating, its been an amazing adventure!
Software gives you the ability to create something from nothing more then the ideas in your head.
Recently I have been working on a project for 2 years on my own because I can't get it out of my mind, I dream, eat, and sleep it.
I am lucky enough to have a wife that can support my family.
If you love software, find a way to make it work.
There are more amazing opportunities and idea's now then that ever has been in the history of the world.
But no one is going to give it to you....
"I have noticed that many of the older software developers are burnt out. They would rather do their 9-5, get paid, and go home. They have little, if any, passion left, and I constantly wonder how they became this way."
The reason you are seeing this is that the good creative developers left to start their own companies leaving behind the people like you describe. Fairly classic.
Scour listings for jobs listed by head hunters. Send them his name. Build him up. I've done this a couple times to get rid of bosses and peers that were a pain in the ass. It used to be easier before the job market went to hell, but it might still work.
Especially in the U.S., marriage + mortgage = monotone wage drone existence. Don't step into that if you can possibly help it. Just the choice of building a life around GF/partner, two mature and independent adults, will work wonders for your spirit, physical health, and the energy level you bring to work and after work, every day. Wife = downward spiral for you. Look around if you don't believe me.
I am a passionate developer. The companies I work for get someone who has a real understanding of how to deliver value. I work about seven to four each day, and encourage my team not to work overtime, but to focus on how to deliver that value within the constraints placed on us. I am as effective as I am because I refuse to get burnt out by unrealistic workloads. I am prepared to say when workload is too high. As you might guess, I am an agile advocate - because it is about delivering the most values in the shortest time. It is also about maintaining a level of quality and output that is sustainable. But enough about work.
I am also a volunteer. I spend my time when not at work doing things that help the community. I was for example involved in the campaign to end software patents in New Zealand. And here I do burn out. There just isn't enough time to do everything I would like to. My point is that looking to your job to establish your purpose and your passion is a losing game. You need to find out what you are interested in, what you are passionate about, and to follow this. I do less programming in my own time these days, and when I do it is relating to achieving other social objectives.
Don't spend your life sinking all your time into your job. Be professional and give a good days work. Work in good faith for the benefit of your employer - they deserve this. And sometimes it may be reasonable to work overtime. But do not for a minute believe that scarificing your own life that you achieve anything. If you can't deliver value in the time you spend at work spending a few hours more will not typically make the difference. And if your employer is not enlightened - try to find one that is.
Or a scheduled time in which you focus, work hard, and then get on with life?
Coders willing to work ridiculous hours are contributing to burnout more than incompetent managers. If your team can't get it done in 8 hours a day, your company needs to hire more resources. If you work days/nights/weekends you might be a really passionate coder and you might be really good at what you do, but you won't be a very well rounded individual or have a healthy or fulfilling life most likely.
When you're in your 20s, you feel like you have time to play with fun stuff like code.
When you're in your late 50s, and the cancer has come and gone, and your parents have died, and getting up and moving is a daily exercise in pain, and your wife has started having strokes and you're both in fear of the next one, and your cat/dog of 20 years is going to die of old age soon and so are you, probably in the next 20-30 years, believe you me, new software falls WAY down the list of important things to think about. Try mortality. Try meaning. Try the poignancy of life.
Code can be fun, sure, but it's not *important* at all.
Please do not read this sig. Thank you.
I work 9-5 and then go home. When I get there I spend time with my family for a few hours and then work on games in Unity or misc arduino projects or whatever else I'm in to at the moment. Diversity keeps my passion alive so when I'm at work, toiling away with the same code base I've been using for the past 15 years it doesn't feel boring.
You asked how not to become complacent in the title, but then mentioned people who are burned out, which is related but different. I can answer how not to become complacent: never be satisfied with yourself. I've seen so many developers start their careers doing the hot new thing, sneering at the old guys doing the old thing. Pretty soon, they're not so young, but they're still sure they're doing everything perfectly, best language, best tools, improving understanding, and so on. The next batch of new guys, they do such crappy work using such wobbly tools, while I'm still doing great work! And so on. If you want to avoid that, you have to keep up without losing your edge, and that's where the burnout starts, when you give up on keeping up because the new stuff is all crap and you have a life to live. Once you've figured out all of that, then the way to greatness? Learn how the even older stuff works, along with all the rest.
Advice:
1. Have your job sent to southeast Asia.
2. Go on unemployment so the relatives and neighbors can say "I knew he'd never amount to much".
3. Get a new job on the other side of the country for 60% of your former salary. Make sure you pick a location where the cost of living is double where you live now.
4. Stay at that job for a year or two until the entire department is replaced by off-shore workers in India.
5. Have your Significant Other get really sick. Experience the joy of no income and enormous "out of network" medical bills.
6. Back on unemployment. Get a dozen emails a day from (surprise!) Indian consulting firms for jobs that are completely and totally unrelated to your skill set.
7. Watch as your former employers lose customers, market share and respect, declare the "outsourcing project" a disaster, then turn around and hire inexperienced college interns to do your old job.
8. Try to get your original job back, only to discover they're only hiring people 10 years younger than you. Not that they're discriminating against "older workers"; they're being "cost effective".
What is your advice?
Save as much as you possibly can in your 401k/IRA/retirement account so that you can retire as early as possible.
JavaEE? Seriously? Who in his right mind would work past 9-5 on JavaEE?
Your colleagues are probably home programming in Haskell, while you do overtime on JavaEE.
It doesn't even have to be Haskell. Walking the dog or even doing the dishes is way better than JavaEE.
Obviously, I don't know everything you observed, but 9-5 does not even hint lack of passion.
As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
This might not be good advice at all, but why not try and get the development manager's job? That would probably inspire me a ton if I saw a weakness like that and ways to do a better. You've got some good experience under your belt and seem to understand the problem the company is facing. Hopefully, some people here who know more than I do can give you some more specific advice.
"Looks at picture of new family" ...
"Sir, I'm holding on too tight. I lost the edge."
People find that life isn't work. You end up having a life and guess what, they hold on too tight since work is a changing environment. And it's OK.
What's wrong with complacency? You get really used to it after a while even.
Table-ized A.I.
Eventually the upper management will realize your manager is a fool. Keep good documentation on design decisions. Let the manager destroy himself or herself. Did you ever see the movie office space or TV show office space ?
You could get a wife and kids and a life outside the office.
Wait, you are a young programmer, you don't know what sex is.
Change what you want and then when it's seen working you won't have to propose anything. You can just merge the pull request.
The main resource of the modern economy is the idiots willing to work for free.
Your approach to avoiding getting burned out by any one company is to continuously shift companies/jobs. This is somewhat related to when you were born. Really. Not good or bad, merely a generational 'thing'. Shifting jobs a fair amount means you are interested in breadth of knowledge, rather than focusing on depth. Some of us focus on depth instead. In my case, I've got almost 30 yrs doing a variety of close-to-the-silicon stuff: compilers, binary translators, binary optimizers, run-time-library work, debuggers, instruction-level-performance-profilers, etc. And I still have fun doing things like bringing up gfortran+dragonegg+llvm for a new target architecture (my current work).
Honestly, A lot of 'burn-out' is due to getting an antagonistic or inept [technical] manager/management chain. Doing work in your 'I have fun' zone at company A may be delightful, but a horrible experience at company B due to the manager/corporate management chain (+ politics).
Kids get all excited about things. When you grow up, have a family and realise the world is made of more than bits dressed-up as glossy pixels, then you'll understand that software is a craft to involve your inner programmer not a ski-slope for the sparkle-headed. Complacency is the wrong word. Look at people. Graduate, by study and research, into management. There are many disappointments to be had there but also many opportunities to use experience to pour oil on the waters of desperation and panic. Grow up.
The take away lesson that I'm sure you learned from this is at the first sign of outsourcing, get the hell outa there.
Outsourcing is rarely an overnight thing, there are signs, and you are much more attractive to employers when you currently have a job.
This is great if you have a lot of free time on your hands, but it's likely that, 10 years in, he has a family to deal with. Writing software might be risky too, since some jobs will claim you as an asset and say that you can't sell (or distribute) what you make. These days, to make money off of your own software requires a full commitment of your time, and if I were him I certainly wouldn't give up my stable job for that.
They would rather do their 9-5, get paid, and go home.
That's not burnout; that's sanity.
(Try saying it in the same tone as "that's no moon ... that's a space station!")
I might be late to the party for others in this thread, but I'm hoping that you (OP) will at least hear me. Slashdot is filled with these old, burned out people. Don't listen to them. Don't become cynical (fight it, even now). TRY to find the value in what your boss is doing. If he doesn't like your idea, find another idea to dazzle him with. This is where your job requires people skills the most. Learn to convince. If you absolutely can't...move up the ladder, or move somewhere else in the company. It's the positive, energetic, inspiring 40+ yr olds who move into management positions and don't become the burned out programmers you speak of (and are in this thread).
So, moral of the story: Hang on to that enthusiasm. Try to see the value in others' decisions. Don't get discouraged. Don't become cynical!
Solving coding problems the fun part. The work part is getting the solution to the customer, ironically few engineers are willing to tackle the work problem, or accept other people's solutions to it. So what you generally end up with is an imposed solution from above that doesn't work because the people who wrote the process haven't got a clue how the engineers are currently keeping it together. Rather than tackling the problem by demonstrating a superior answer, the engineers do their best to pretend the work problem doesn't exist.
BTW: If you're solving the "same [coding?] problem over and over again", you're doing it wrong
And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
> They would rather do their 9-5, get paid, and go home
This is highly politically-incorrect but I've seen it so many times: marriage, it's like throwing a switch as far as before and after work commitment. Yes, children changes things further. But the big thing is: get a wife/husband, next week "half" as (I'm making that up, but a LOT less, profoundly less) productive on average.
Just like that. Don't criticize the older people just for being older without removing this confounding factor from your mental picture.
I can agree that in some areas, this may be a problem. Partly due to outsourcing of jobs, some folks with little technical skill need to make the jump over the fence maybe earlier than they are ready to, in order to keep making the higher salary. Yes, I've known burnt-out engineers in my specific area (Embedded systems) but that's most from "really" being burned out, trying to create the "next big thing" every single time because some marketing weenie thinks it's the next iSomethingOrOther, and the project ultimately fails due to highly compressed schedules, lack of adequate resources (HW and SW), and of course the infamous death march (been on a few of them in my 32 year career too).
Speaking as an Engineer - some of us just have that "learning" gene - that keeps us growing/stretching/reaching for higher ground. Not everyone has the same motivation. I think most people in the technical field (engineering, software, hardware) have that gene. What I've seen that's really cause a lot of heartache all around is the current business climate. Make the quarterly numbers or else. Don't invest in the future (groom younger folks up the ladder), don't spend money on new stuff (shoestring budgets just don't work) and the fear factor all play into the corporate greed and that false sense of "Importance" these ego driven managers have. I have knows some DAMN good VP's and high level tech managers. They are the ones the inspire, teach, LISTEN, and are supportive of you, for the greater benefit for the company. Though some argue it's the shareholders that are important (they are to a degree) but it's the PEOPLE that make a company. Without them, there wouldn't be a company for the shareholders to invest in. Witness the fall from grace of one of the worlds greatest corporations: IBM. A shell of it's former self, eventually, it will crumble (and Microsoft right behind it). The world change, and as the saying goes; Change is the only constant. . . . Straighten Up!!! Fly Right!!!
"Our team is constantly trying to get him to agree on software industry standards/best practices, but he doesn't get it and often times won't budge."
Are you one of those assholes pushing shit frameworks like Dymanics because you can't figure out SQL Server and the .NET BCL? Because I've had it with mediocre programmers and clueless managers pushing groupthink as "industry standards" and "best practices."
You're doing Java fucking EE. That shit (all web shit, but ESPECIALLY that shit) is BORING as shit. It boils down to one simple thing: webforms. You're doing webforms, man--the very definition of complacency!
There are so many more interesting aspects of programming, software development, IT, and all-things computing in general. As a matter of fact, there are so many more interesting things in life. Get the fuck away from your computer, take a hammer to your smart phone (but remove the battery first), and go vegan or something. Now THERE'S a challenge for non-complacency that most aren't up for.
Seriously though, Mark Fuckerburg and all of those twat billion dollar IT companies that're cutting jobs for cheap, talentless H1B Visa labor won't ever care about you, your ideas, or your innovations. Nothing you ever do will matter, so long as your passion resides in your job at someone else's company. So, either venture out and be an entrepreneur, or make the rest of your life so interesting that your work days are but an 8 hour blur and an emotional dead zone.
Except our boss is probably twenty years out of date. Maybe more, given his technical grasp of spinning rust media (or lack thereof). He's been sucked in by Amazon's cloud marketing, though, because he talks "cloud this" and "cloud that" all the time but when push comes to shove he doesn't actually pony up any money for it, even for his own whims.
I have several pieces of advice for you:
I'm turning 50 soon. I work for a government agency, one of the few places that still have some decent benefits and half a hope at a pension.
I was seen as one of the key players in our last huge project, and I was glad to have the responsibility and the respect of my coworkers. We were almost done with that major milestone... ... and management had a shake up. The new people thought it wise to not complete the project we'd almost spent six years completing, and instead skip a generation of software methods to use some cutting-edge, best-practices stuff. Which meant bringing in a very very large vendor (you'd all recognize that name) to supply an utterly new system to replace our entire line of business software and practices. Over the next seven or so years.
Well, fine -- there were good arguments for going that path. Mainframe programmers are getting harder to find, after all, and you can just throw more Windows servers at anything, right? But, alas, as one of the "key players" of the old system, I'm now one of the people tasked with keeping that old system alive for the next seven years. If the project doesn't slip. Which they always do. Oh, and we're only making absolutely needed changes to the old system... so many weeks I have, literally, nothing to do. I've tried to get involved in the new stuff, and been rebuffed (I guess they think I'm after whatever graft is going on with the vendor, but I honestly don't want to know).
So I'll keep the old stuff going, by doing... not much. For the next seven years, minimum. I can retire in nine years (assuming pensions still exist then). I spend a lot of time writing fanfics. It's my way of giving back to the taxpayers.
I'm sure I look "complacent" to someone from the outside. But I can't change jobs (I'd lose the pension) and they won't let me work on new thing (I've tried and failed). What the fuck else am I supposed to do?
I have 35 years experience developing software. In the first two decades, software was a passion for me - I wrote software as a hobby, and always studied new ways to make my software more efficient to write, more reliable, more powerful. I have done great things, and developed the ability to solve complex problems quickly and correctly. Today I no longer write software as a hobby and no longer study. I have achieved what you are seeking. I write 10x the software per hour as you, and it is nearly error free. I enjoy the fruits of a lifelong passion, and I no longer need to spend more than about 30 hours/week working to make money you dream of. Have I lost my passion? Not in the least. But it is more mellow, and by god, I have a life. I have earned the right and ability to enjoy it. Let me be your goal, your role model.
The problem with older developers losing their passion is not universal--it's a side effect of them getting a wife, kids and all the accoutrements of life.
I was married for 15 years and my marriage failed in part because I never lost my desire to keep my hand in the latest technologies. That takes time and life also takes time.
Developers in their 20s don't have any special passion that is absent in older developers--they have simpler lives. Developers in their 20s accept that they're going to need to build up their technical cred so they give that their time and that's what's going on, nothing else.
20 years ago when 'many of the older developers' started the industry was a very different place.
a) People in the industry were in it because they had a passion for technology not because there are lot of jobs. It is frustrating how much extra time now has to be put in to compensate for people who just learned what they needed to for a job and expect it all to be spoon fed to them.
b) Management tended to be technical people who had risen up through the ranks not MBA's. This results in a lot of people making decision who don't understand the ramifications\technology or just plain don't care past x fitting into a budget.
c) Teams were smaller and not global. Big teams for big projects have communication issues and global teams cause a lot of issue (timeshift, cultural, standards)
d) People coded algorithms which was fun. Stitching together frameworks and config is not.
Add to that the fact the older guys have kids and maybe parents to look after and have 'seen it all before', I ask you how they can't be burnt out.
Physicists, and other hard math scientists still prefer fortran. It's more efficient at math than anything else. Sometimes old, simple, and purpose built still wins.
There is some movement in the C++ standards to include these fortran features.
I've been programming for over 30 years. Moving to new technologies and industries is a way to keep things fresh and challenging. I've lost track of the times I've submitted support requests and the first response was "No one has ever asked that before", or something like that.
To avoid burnout do exactly this: 9 to 5, plus gym after work. Work hard, but avoid overtime by all means. Stay focused, but don't think about work after 9. Balance is the secret to productive lifestyle. If you feel burnout its better to go to a gym than force yourself to work. Never check emails during weekends or vacation. However 9 to 5 is time when every minute counts. No stupid websites. No distractions. Work hard, but stop at 5 pm as 19-century factory. If you value your time you will organize your work better. You will design your code better. You will focus on results, not play. Dont compromise family, personal, social life for work.
Quit.
That's the great danger. There are some companies that have a policy of "we always put our brightest graduates onto something other than the position we advertised for the first six months". For the first person, that was no problem, it was a blue sky project, for the second person it became harder because certain constraints were already imposed in terms of logic and memory space. That person escaped to a startup company. By the third person, it had become a nightmare, since nine months of development work had been put in, and the constraints had now been built around and over, so there was no wriggle room. And the tasks were still coming.
Change for changes sake. Break things. Be an asshole. Throw around that "depreciated" term a lot. Reinvent the wheel just for the hell of it and then use your new found interest to force the changes down user's throats.
You won't accomplish anything and people will hate you but you won't be complacent. Seems to work for everyone else at least.
They'd rather work 9-5 because they spent their 20s working twelve hour days six days a week and it got them here.
Take the frustration you're having now, endure it for another 15 years and then see how much passion you have left to put in long hours just to have someone else take the credit for your work.
It's life. Family > Job. Health > Job. Life > Job.
You sound like you're still young, unattached, and naive. I'm passionate about what I do, but I'm not going to deliberately choose a course of action that will lead to 12 hour days for months at a time. Nor am I going to selfishly place my passions before my family's needs, or detrimentally affect my health and well being by being a continuously sleep deprived stressed out mess.
~X~
Maintenance programming is an example. Large development projects under the "waterfall" method (often) is an example. Custom-building standard systems is another. In such cases you're better off with predictable but competent standardised performance from a team of 9-5 programmers that with mob of empassioned risk-takers.
This "passion" thing is needed when individual performance counts. As in: when the "old" way of doing things no longer suffices (the old machinery has bogged down and needs to be replaced by something new), or when clear efficiency improvements can be realised (this is common engineering practice), or when there is room to experiment (e.g. in Open Source Software), or when your task is to see how far the envelope can be pushed and to come up with something new (e.g. research).
Of course there's a difference between not keeping up with mainstream engineering (as the opening post suggests) and spending your time "innovating" when there are adequate standard methods available.
... and get a new job ...
I'm from Europe so i don't understand the contempt here for 9 to 5 work. Passion to do work should come from salary. Money is the only thing that should motivate you to work. Otherwise its a hobby. If you don't get paid doing what you hate, you are going to burn out.
If you want to always be enthusiastic about your job, simply do world-class software engineering that always keeps you challenged.
The first step would be to stay away from Java or entreprisey stuff and work in a real R&D department.
Have you listened to him or are you just taking it for granted that since he knows nothing of JavaEE he doesn't posses knowledge about anything else? It is quite possible that he has worked 20-30 years with coding and has seen shit come and go and knows what really works. (or knows of company policy documents that you have not read)
I took a different route: I got senior enough to not be outsourced.
It means I'm not developing any more, but I don't miss those project crunch periods anyway.
take a course by uncle bob, or visit cleancoders.com
Become an independent contractor. I did that for over 12 years until I landed myself at a major software vendor. Definitely kept me from being complacent as I had to learn new stuff all the time and stayed out of the office politics. Best move I ever made.
It sounds like you are passionate about your work - which is a good thing. Life is about balance and each stage of life brings changes. Have you considered that co-workers 9-5 might have passions in other areas of their life? (spouse, children, hobby, outdoors, fitness).
It is important to have passion for your vocation but equally important to keep things in balance. Life is a journey and it is important to enjoy the journey.
That's a fine attitude if you're either very young, haven't found a good match, or simply have good old fashioned "issues" like commitment-phobia. It doesn't work so well if -- like the vast majority of people out there -- the person grows to dislike the drama of new/failing relationships and starts to desire the emotional stability of having a partner that is publicly committed to making the relationship work long-term.
I'm sorry that you were in anemotionally draining marriage (or that somebody you're close to has been) but that doesn't mean that's what most successful marriages are like. If things are "going strong" now, that's because you/they are with someone that they're far more compatible with, not because they've avoided committing to somebody. Your belief is essentially no different from some people's belief that they'd excel on one subject's exam because they were wearing their week-old red underwear and (all else being equal) perform poorly on a different subject's test because they were wearing a regular freshly-laundered pair.
I like how this guy complains about a manager who hasn't "kept up on any programming in the last 10 years", yet is still using Java. You know what we call Java developers where I work? Expendable.
My passion is as high as always, only the world has changed and I've become wiser. Mind you, I've still broken my personal record in job-switching in the last 2 years, despite being in my mid-40ies. If anything, with age I've become *more* nimble but less anoyingly eager - at least on the outside.
Here's some advice:
1.) Switch your job. Don't worry, you'll live. And if only it is to find out that you had the best job in the world. Ok them, *now* you know. Look for the next one like that. Sometimes a bit of jobhopping is required to find out what you want and what you don't want. Pratice job-hopping and interviewing. Not to make it a habit, but to get used to looking until you've found a place where you are valued. Going freelance is a variant to that. If you're scared of going freelance even though you'd like to: Go freelance! Again: You'll live. And you'll never look back at your old life with anything other than pitty.
2.) More experienced people in our field - like me - would rather do nothing than work with a shitty team unwilling to learn or toil away on something that can't work or only will work with extreme stress and effort, because someone in sales or PM wasn't listening and didn't do his homework. Contrary to my younger colleagues, I, like most other experienced in our field, smell a projekt doomed to fail from 10 miles away. They might think I'm not passionate or that I'm complacent. Until three weeks later they've wasted 50hrs trying to get something to work that simply can't under the given circumstances. When the project finally runs against the wall and the crew and the problem has everyones attention, the boss turns to me. I say: "We need A,B and C. Otherwise this won't work. End of Story." Optionally, depending on the situation, I add in ".... As I said 3 months ago.". Sidenote: I allways *did* say it 3 months ago, but sometimes it's wiser not to rub it in. Also a thing experieced devs have learned.
Then we get what we need - which usually is simply a phone number of someone who we need to talk to and the mandate to do freely as we will, as long it stays within budget and solves the problem. Then I fix the problem by working a few hours of overtime - which I do gladly, because I, at this point, don't have to deal with any bullshit and I feel like getting something done. Just happened again yesterday, btw. Stayed till half past eight and did all the scaffolding and on monday morning finally everybody is going to hush and listen how we're going to do the last fixes.
3.) There's life beyond computers. I ditched my internet connection at home. Capped mobile data and Inet caffees are enough for regular E-Mail or getting your surfing fix inbetween. I've got enough of that at work, and I try not to spend 12 hours at the keyboard each day as I used to. It's lost its exitement. Mind you, I still pick up new stuff each day and make technology decisions 5 times a week at a minimum - but I've gotten way better and faster at dropping ideas. I try not to run in circles on the web anymore. I'm slowly building my Idea Immune System, and try to avoid getting all worked up within minutes about every new tech-fad that comes along. I've also got other things to do before I grow old. When my joints start aching, then I can go back to surfing and trying new web-toolkits 24/7, until then I want to get better at things I'm not that good at yet. Meeting women, cooking (moving away from fast-food), martial arts, exercising, traveling, dancing and perhaps even going back to playing guitar.
You should think about stuff like that too.
My general advice on this is:
You should at least have one regular thing in your life that fulfills you with deep inner satisfaction that has nothing to do with your job or other parts of your life. That can be a religion, any form or art or some outdoor activity or something along those lines. It should be that you can say to yourself: OK, even if I lose my job tomorrow, go broke, have my wife running away and my house burn to the ground, there's still that thing I can do that is fun and gives my life true meaning.
Hope I could help.
Good luck.
We suffer more in our imagination than in reality. - Seneca
is this business giving you the salary you feel you can live well with? is this business giving you the free time you need (to form a family i.e., major point) if not, get out of it. actually id go further. think back on your previous experiences with previous companies you worked at within the it business. did they value the above two points? my experience was, that 90% of the companies dont give you the above, instead they hire young, and keep short. thats why im switching not only companies, but also from it to another job.
There is nothing wrong with not working yourself to death. Quality of life is important.
FTFY
Well, I became that way after two decades - almost every project I ever worked on was canceled or scrapped.
As an older programmer, I can't say my enthusiasm for programming has decreased. Instead, other interests and obligations build up and take their priorities. You can't hope to have a family and raise your kids properly if you work the same number of hours you did in your 20s. While it's great to get a large project completed at work, watching your kids play sports or teaching them about life is at least as rewarding. Another thing is that after you've been around for a while in engineering, you've pretty much seen it all as far as dealing with bosses, schedules, faceless corporations, etc. It does jade you. And I have to say that while I can still pick up new ideas, it takes longer and requires more concentration than it used to.
replace Spring MVC with agile/scrum and you have a similar problem aflecting IT.
In my 20's I did the long hours (and actually enjoyed it), in my 30's I realized that my time is valuable and I can make money outside the 9-5 work hours.
If you're doing more than 9-5 hours regularly it means your company doesn't respect you or your time, you're just a replaceable cog. Similiarly with company hackathons, only stupid people would show up in the weekend (and not get paid) and do even more work for their company, chumps. Don't believe me, look @ the rate of outsourcing that's happening to our industry, do you really think a company really cares about it's IT department? It's a cost centre nothing more.
My advice would be to reign your hours back to 9-5, and do a side business in your free time - look @ making some money or look @ polishing up your skills, or even hey look for a girlfriend.
Pretty much this.
They can outsource code monkey work, they are _starting_ to outsource individual component design work, but if you stay at a high level architectural / requirements / system engineering level, you are reasonably safe for now (though I suspect at some point companies will just be a CEO in your native country and the rest of the work force in India).
I unintentionally took a 3'rd route. I went into the defence industry (non-US.. don't think I'd want to work for a defence contractor down in the States right now..). Can't outsource that shit!
At my job it was noticed I was getting increasingly conservative about the systems. Some of that was justified but eventually I found I had a medical problem that made learning new things hard; it had been gradually messing with memory....very very slowly so as to be hard to notice until it became obvious something was very wrong indeed and being fired became likely.
Learning new stuff when you can't reliably remember what you learned the day before will rapidly decrease ones enthusiasm, even if one recognizes change as necessary.
Before losing insurance, I started insisting on checking out possible causes. If you're lucky (I was) there might be a simple fix: diet change, CPAP, whatever. That's the good news. Not so good: the longer a problem goes on, the longer it may take to recover and one may never get back to 100%. Very scary but it's better to get back 90% than to continue to degrade.
I'm convinced that for some significant fraction of older workers, this kind of thing can be some or all of their problem and I urge people reading this who have memory and learning problems they didn't use to have: check out stuff like sleep apnea, vitamin deficiency and the like.