Spoiler alert: there are no secrets. EVERY person in EVERY occupation suffers from periods of lack of motivation, some occupations more so than others. As programmers, we're lucky that our job is a combination of mostly interesting problem solving and high pay, so I'm thankful every day I've been able to carve out a 20+ career doing something I love. Others aren't nearly as lucky.
And yet, I've had burnout twice, once during the dot com bust, and once a few years ago where I had quit my job for almost 1 year. I'm pretty happy these days, but things go up and down, like everyone else.
Arguably the "high pay" factor can be detrimental to professional motivation. I'm pretty sure some developers would hesitate less in switching to a completely different career when they are not happy at work if their compensation weren't better than average... But it's a good problem to have for most of us.
This is definitely a big part of it. Around 10 years back I was super bored coding, I just felt like things had become so stagnated, esp. in the web-space where IE6 and MS in general were a constant source of frustration and demotivation. It seemed things weren't going to ever get better, and the thumb of Microsoft would stay firmly on the backs of all web devs forever.
Around this time I became obsessively into cooking. I decided I wanted to be change careers and even went to several schools to check out the programs. My then wife at first was supportive but at some point it went from 'this is a cute dream' to 'this is real' and she wasn't having any of it.
Long/short we split up, I realized I couldn't really afford to go back to school solo, and ultimately I took a big step back and realized I had it pretty good, that my 9-5 life didn't have to be my entire life and things were a lot easier once I got my social life back in order.
I stuck with coding, the iPhone came out around that time and that started the wheels turning (along with other factors of course) that really kind of revitalized the entire dev scene. It became exciting and new again, and caused a sort of cascading effect of progress. MS wasn't able or willing to sit on IE6 and let things ride, a whole host of new exciting JS libraries started to emerge, etc etc.
Point being, finding your mojo outside of work might be a better approach than trying to 180 into a new career. I also think it's easy to forget how cushy most dev jobs are... typically you aren't expected to be in as early, dress code tends to be more relaxed even at stodgy companies I've worked at, there is a sort of acceptance that coders are different. And course it's hard to take a 50% or more pay cut, which would have been the case for me going from a lead dev role to a line cook at best, or struggling 'chef' sinking every dime of my savings into opening a restaurant with no prior experience.
I'd argue the opposite - high pay gives us the freedom to save up enough to take a lesser paying job with little detriment, because we can depend on our cushy savings. That is, if you live well below your means.
Maybe I have a kind of stilted perspective because I came to programming from a job where I was making 40k, and other than the increase in rent by 400$/mo moving to the Bay Area, my cost of living / cost of comfort hasn't gone up. To me, it just feels like I have a much larger cushion, with lots more opportunity.
I am kind of the opposite. I have been struggling to find anything outside of a tester job for the past decade. I have almost zero motivation to continue. Will probably bail on tech very soon.
Happiness only comes in the form of cooking for me so maybe something a kitchen.
I also love cooking, I find it therapeutic. But I can't imagine doing it for anyone but friends and family. Just like software development, it tends to be more a lot enjoyable when it's not done for money.
This article is pretty high on platitudes and pretty low on actual information conveyed in an english language. Kind of disappointing to see it immeditely rocket to the top of HN. Do people game this site too? Sigh
Agreed. I attribute it to many people feeling this issue and wanting to see the topic discussed here since the comments are often very enlightening. Not actually about the article's quality.
I don't know if it just this article or am I getting tired of these "startup heavens".
"you probably dream of working in a start-up"
no
"awesome platform and changing the world"
Oh yes, changing the world indeed with your awesome! product. I think not, or do words mean anything anymore if everything is awesome and world changing.
"Lunch Random Meeting"
Sounds horrible. And how many developers like to socialize and do (or watch) presentations all the time.
Some maybe, but I think not most (and not the ones who like coding).
I rather read about new stuff, and don't like doing presentations, I would rather "blog" about it but that also sounds forced if it's some company blog advertising how cool and hip and in touch the company is.
* edit
Had to edit this one more comment. Check the last image on their main page. Are there really guys driving around with pedaling cars (or something like that) at the office. Looks ridiculous. Must be a startup without any actual customers stopping by at the office.
Communities are key to me. For many years I worked remote contracts from home very much focused on just doing a good job. Only in the last couple of years have I attended hackathons (winning a few) and becoming involved in the local start-up culture through a work hub (If you live in Bath,Uk the Guildhub is an awesome space).
I also discovered meetup.com and started attending a few groups (Bristol JS is awesome). I even did the odd presentation and lightning talks.
Community engagement has been, from a developer point of view, a real life-changing experience for me. Being surrounded by intelligent people excited to be coding and doing hard stuff just because they want to is brilliant, exhausting, fun, but most importantly, has given me immense energy.
Can you shed a little more light on what it's like joining one of these communities for the first time? As someone who's always heard of these programming communities, and been interesting, I've hesitated to join one largely due to misunderstanding their utility / purpose. What does one DO at a meetup, for example?
I organized an iOS development Meetup for years in a fairly low-population area, and I had no idea what our Meetup would actually do when I created it! I didn't even know if other people in the area were doing much iOS development; I literally knew nobody who truly wanted to attend when I started it.
Primarily I wanted to meet other smart folks who were interested in similar tech problems as myself, hopefully learn something, maybe make some friends (which I did - many I still keep in touch with!), and have fun.
So the specifics of what one does at a meetup include, but are not limited to:
* listen to talks
* meet new people
* say hello to people you've already met and - important to avoiding burnout - ask how their projects (or life in general) is going
* grab a beverage or a little food after the event
Bonus if you organize it: people start to think you're an "expert" in this field, even though you may have really just wanted to meet some people. I went on to help organize other meetups and events with great people because of it, too.
Whether you organize or attend a meetup, simply approach it as a way to meet some new people and talk about the topic at hand, and you shouldn't be disappointed.
If you think you'll make lifelong friends after attending one or two, or think you'll find your cofounder for a new startup after attending one meetup, temper your expectations. Just like any community or relationship, really getting to know people takes time, and there's very little substitute for that.
Personally, while I like doing solo technical projects at home in my free time, I really have little interest in spending my socializing time with more techies. I get enough of that at work. One thing I've been sick of for a long time was a lack of diversity in my social circle, which is a big problem in tech because there's almost no women there, it's a big sausagefest and in many workplaces has a frat-house feel to it. I really don't want more of that. So these days, I look for social opportunities with a lot more diversity. There's a lot of great groups on Meetup.com (outside the tech-focused ones) where the participants are far more diverse, and I mean that in every way: not only in gender, but also ethnically, age, career background, national origin, etc. Personally I like the outdoor activity groups. This also helps me be more physically active, something else that's wrong with this career field where we sit in a chair all day long in front of a monitor at arm's length.
What is with this "diversity for diversities sake" thinking?
I don't care if I'm in a room with nothing but all _ race or _ gender. If they're interesting people, with an interesting perspective, thats what matters.
My first meetup, I just sat there and watched the presentations, had a few drinks, and spoke to a few people. Felt almost uncomfortable. Now I go at them with gusto. People are there because they love the tech. They want to talk about it and want to tell you what they are doing with it. Meetups are usually filled with people who do not look at coding as "their day job". It's very obvious to me that it's more than that. Great place to meet kindred spirits.
Some groups though are just for fun. That's how I ended up attending a regular board game group for a while.
Burnout is the other side of the coin of spending too much time on meetups/hackathons/blogging/opensourcing/lectures. Sometimes staying motivated means stepping away from writing code and clearing your head.
I've found the biggest thing for me being able to continue to be motivated is to have the freedom to really craft the software I'm working on. Nothing is as soulcrushing as having to pump out a substandard delivery.
> Now, you probably dream of working in a start-up ...
whoa. i don't.
i know many others have had wonderful startup experiences, but my experience with startups has been characterized by long hours, unnecessarily difficult work environments, mission confusion, stress about funding, dysfunctional working relationships and ultimate company/business failure.
Don't forget mandatory surfing lessons and having to listen to how AWESOME everything is while watching your dorky boss stumble around in five fingers. I figured I'm better of starving...
Stay motivated by your love of writing software! It's a blast! Tests and tickets! Organizing the code! Fun! All you need is a passion for sitting for hours at a time every day at a computer and writing code! Weee!
It's all about passion for code! And hit your deadlines!
In past jobs, my deadlines were impossible to hit, mostly b/c they were set by my pointy haired manager. The estimates given to product/project/program managers were met with looks of "that's nice but I already told the higher-ups a different, sooner figure".
> Organizing the code!
This is literally the last thing to be prioritized. Pay down technical debt?
I was being mostly sarcastic as that is the actual "life" of a software developer so it's not shocking to me why many wouldn't be intrinsically motivated.
No one has any passion for deadlines, slavery is getting old fast. Passion, that's it. Write code that makes your heart pound, and share it openly. Leave the suits to their own misery.
I always felt this way about the "Autonomy" "Mastery" "Purpose" thing... Like, Autonomy and Mastery, when applied to Purpose lead to Achievement, and that's the real deal.
Do stuff that matters, stop doing stuff that doesn't matter, make sure all parts of the team and management know what does and doesn't matter, and why. People will be happier, more productive, and they'll things they produce will be more important for business, everyone wins.
But instead, lets beat the drums, sail into the wind seeking the white whale... which turns out to be some petty ego-driven nonsense that customers/users won't buy into (since it's not made for them, just at them) and won't still exist two years from now.
Pat yourself on the back, pat each other on the back, when your significant others ask "how'd it go" you can actually have something to say "I made a change to our checkout page that boosted sales by 5% +/- 1% and got a little bonus out of it, lets go get that dessert you love at that place you like." instead of "I sat in a meeting arguing with Salesforce admins about how many weeks it will take for them to add a new field to the object that backs a form on a landing page that gets a few tens of visits a year, then another meeting with business about why their new field doesn't exist yet."
It is time that companies start to recognize that they need to measure and address Autonomy, Mastery and Purpose. Companies need to listen to their internal people as much as they listen to their users and develop more personalized improvement programs. I feel that a lot of us are just hired to fill a single task or role by the company and are expected to stay that way when in reality people need to grow with new experiences in order to be happy.
So the author says the obvious, what motivates developers is autonomy, mastery and purpose. But he didn't say a single tip on how to overcome demotivation when all these are denied, as is in majority of corporate job positions. Communities won't bring you autonomy, mastery or purpose to your job.
It might bring these things to some side project you are doing, but you are still as shackled by higher ups, as denied of personal growth and as purposeless as it was before joining the community. So money is the only real answer. Money and a threat of being fired because of bad performance, which would result in very bad economic situation.
I have a VP who told me the same thing about autonomy, mastery, and purpose - do you have any material where the three words are used and in more detail?
I haven't read it, but at least for me it seems like common sense that these 3 things have positive effect on motivation.
If you have autonomy over how you complete your tasks for example, you will do it in, according to you, most efficient way, and that will make you feel satisfied. Mastery is from the same desire to be as efficient as you can. Purpose is something different, but you can clearly imagine how much more willing to do your best you are when you know that the thing you do will be seen and used by other people and how it will make people's life easier, for a primitive and simple example.
Compare it to my job - software is bloated, something I myself would never use, our customers are actually forced to used, almost nobody, except the people who earn money from it at the management, likes it, and often you find out that some bug that existed for a year and that completely disabled some functionality was never noticed because no one, not even testers bothered to check those parts of the system. Combine that with heavy restrictions on what can be done, both by time restraints on tasks and by accumulated technical debt that makes any improvements economically not viable, and add the natural tendency of such systems to resist to anything new and you get individuals with gradual decline in motivation over time.
I understand why there's such an ageism "problem" in the industry - the only way to make these companies with these systems afloat is to hire only young people who aren't worn out from these things yet to keep it alive. From my experience, I don't know how it was a couple of decades ago, but it seems like younger and younger people are getting their motivation destroyed by such environments.
You don't often see occupations where people are already sick of their job in general by late twenties to the point of considering switching profession that would pay considerably less.
And yet, I've had burnout twice, once during the dot com bust, and once a few years ago where I had quit my job for almost 1 year. I'm pretty happy these days, but things go up and down, like everyone else.