
Ask HN: How do you keep your programming motivation up? - eanthy
When I graduated Uni few years back i was very interested and excited about programming and would constantly work on side projects. Now after  having worked for a few companies, it almost completely killed my motivation and interest in programming. Working on boring, crappy projects for a living is just killing me, and you never know until you get on the job. How do you deal with this?
======
mieseratte
I don't. Turning my hobby into my career killed my hobby and, really, that's
fine. It affords me a good life and the ability to discover and enjoy new
hobbies.

If you're worried about "keeping up," then I would suggest you 1) ignore the
rat-race that is framework-of-the-day and 2) focus on learning fundamentals of
your domain. Sure, you'll miss out on some hip startup jobs but typical
employers don't care about your lack of 5 years experience in a 3 years old
framework.

~~~
scarface74
Ignoring the framework of the day and “learning the fundamentals” won’t get
you past the either HR filters or make you competitive with developers who are
constantly doing Resume Driven Development and have a resume that is buzzword
compliant.

Especially if you are an older developer (I’m 45) and you will just be seen as
just another old out of touch developer.

That being said, the further down the stack you go, the more stability there
is in technology.

~~~
dyeje
So what? I don't care to compete with those developers or work for the
companies who hire them.

~~~
willio58
If you live in a place where you can be selective with who you work for, I
think this is the right approach.

~~~
scarface74
If you are choosing to leave a company on your own terms you can be selective.
If you are leaving because of layoffs or the company exploded, every week you
wait you’re losing money.

------
mrdoops
Motivation is usually a product of mental health. Mental health is a product
of a variety of things like work-life-balance, good sleep, healthy diet,
physical exercise, and measured progression towards realistic goals. Optimize
and improve on those, and you'll have more motivation and mental energy
overall.

Since full time work rarely makes good use of focused mental resources, you
might be lucky if you have a couple hours in the evening to work on personal
projects. For weekends my experience was I needed Saturday to recover - it's
hard to focus on a screen and sit in a chair. But by Sunday I can devote focus
into personal projects. Still not very many hours to use. It helps to have no
social life and family responsibilities, but I'd rather have those than more
programming time.

Overall it's hard to have enough motivation and mental energy while working 8
hours a day, but you can optimize for health and get some more utility out of
your free time.

~~~
ghostbrainalpha
This is a fantastic comment. Did you get your Motivation formula just from
experience, or do you have a suggested reading where I get more info?

~~~
mrdoops
Trial and error as a programmer dealing with depression and anxiety accounts
for a lot, but for resources I'd point you to Robert Sapolsky's lectures on
Behavioral Biology (here:
[https://youtu.be/NNnIGh9g6fA](https://youtu.be/NNnIGh9g6fA)). Sapolsky's
lectures are great for getting a Biology perspective to how human's operate.
Jordan Peterson's has lectures on Personality (here:
[https://youtu.be/kYYJlNbV1OM](https://youtu.be/kYYJlNbV1OM)) which are also
great and echo similar ideas from a Psychology perspective.

------
flyGuyOnTheSly
>Working on boring, crappy projects for a living is just killing me, and you
never know until you get on the job. How do you deal with this?

I deal with it by choosing not to work on crappy projects.

If a company or the project they want you to work on is crappy, don't choose
them!

There aren't many non-crappy tech jobs in my neck of the woods, so I branched
out on my own.

I do the odd consulting gig if you're a small company who has a few technical
problems and want to pay to fix them ASAP.

And I work on my own projects in the meanwhile... websites... saas... working
on an algorithmic trading bot right now.

It's working out OK.

Yoga helps fill the downtime between ideas... and is really helpful at
generating new ones I find.

In fact, I just had an amazing idea on the way home from practice earlier
today that I should really get working on!

Or hey, perhaps programming just isn't your thing and you've finally realized
that. It's not for everybody.

It's a tough world out there, but you're doing the right thing by asking
questions and trying to change yours.

Take care now.

Chin up!

~~~
redmondperl
> working on an algorithmic trading bot right now.

Any suggestions on how to approach building algorithmic trading bots?

~~~
flyGuyOnTheSly
Start getting some data in front of your face and start looking at it.

Really look at it... pore over it... think it... be it... once you start
dreaming about price and volume data, you'll know you're on the right track...

...until you think you might notice an edge or something somewhere... then
write unit tests to see if that hunch about the pattern your monkey brain
thinks it saw is actually consistently profitable.

Then you do all of the real work that is implementing the actual trade
execution engine. (Yes, I just yada yada'd over months of work)

That's how I went about it at least and it's working out great so far!

Good luck!

~~~
sashmaaan
What language or frameworks do you use for that? Metatrader or things like
that?

------
gdubs
The author of “Feeling Good”, Dr David Burns, who popularized cognitive
behavioral therapy, believes we have motivation backwards. That in reality,
motivation comes from taking action. To overcome procrastination, you commit
to doing some ridiculously small task — e.g., launching your code editor.
Typically this snowballs into doing meaningful work. The trick is to only
mentally commit to a few minutes and most of the time you’ll far surpass that.

But more generally, interesting side-projects are a good “saw sharpening”
exercise. I’ve found that most of the valuable skills I’ve learned in life
came from projects I was passionate about, and in turn those skills have
benefited my career. Another side effect of these passion projects is that
they leave me feeling energized and inspired, which has a spillover effect
into my “work work”.

~~~
bigmit37
Really interesting take. I will keep this mind.

------
Dowwie
If your work is boring and crappy, you're probably giving it no more than 30%
of what you're capable of. This is going to sound cliche but it really works:
make a passion out of pursuing excellence in your work. I've turned many
mundane projects into interesting, educational experiences by going deeper
into the work rather than simply getting the job done. Over time, I
accumulated domain expertise that I never imagined I would. I've grown
personally and professionally for it. Work isn't just about getting things
done. Do better work. Make better things.

I guess you can say this is one application of Victor Frankl's "Man's Search
for Meaning", which I recommend you read if you haven't -- or re-reading if
it's been a long while!

------
thanhhaimai
\- I read about cool things people do (you're already on the right path if
you're on this site). Learning about the cool things often motivates me to
"Hey I'll make one too".

\- Customize your work environment. This is rarely mentioned, but it's a very
effective way to keep you interested in programming. All the best SWEs I know
customized their work environment heavily. I've basically never lost interest
on programming, even on the most boring projects I've worked on, mainly
because just "typing" on my vim/terminal is so fun!

\- Learn other engineering branches. When I don't feel like coding, I design
and print a lot of 3D printer stuffs. I build/program RC cars/quadcopters.
Then somewhere in the process, I'll be like "hey I can program it to do this!"
And I'm back to having fun with my computer.

\- Don't burnout. I have the feeling you may have some early symptoms of
burning out. Go play games and hangout with loved ones.

\- Know what _really_ makes you unhappy. Is that the work truly soul crushing?
Are you trying to get promoted, but felt like you can't even though you are
trying hard? Work environment? Lack of sleep? You usually can't debug a
problem without knowing what causes it. So take some time and reflect about
it.

Hope things get better for you :). And keep it up!

------
maxaf
Programming is the single thing I'm capable of that has allowed me to provide
an upper middle class lifestyle for my family. I will keep doing it for as
long as it serves the function. I don't require any other motivation.

~~~
scarface74
This.

My motivation for programming is strictly that I get an above average amount
deposited into my account twice a month to do a relatively easy job in an air
conditioned office or at home.

------
davnicwil
> Working on boring, crappy projects for a living is just killing me

You couldn't live in a better time for being able to pick your work as a
Software Engineer. Even location is irrelevant more and more with remote work.
If you want to work on something that excites you, find that and do it!

Outside of that, build things that you want to exist using interesting
technologies or even just a refined, latest and greatest version of the stack
you currently know and use.

Whether you turn these things into actual products or just things you'll use
yourself, it's irrelevant, as long as you enjoy building them.

~~~
non-entity
> If you want to work on something that excites you, find that and do it!

I think that's a bit oversimplified, a lot of really cool projects are simply
inaccessible for one reason or another. While there's cool stuff out there,
the vast majority available to your average person seems to be the boring
stuff

------
ozim
I lowered my expectations, just like you know when I was teenager I wanted to
have a ferrari, but when you are 30 current year sedan is quite an achievement
compared to 15 year old beat up car I drove when I was a student. The same
with projects, I am not inventing or optimizing complicated algorithms and I
am OK with that, CRUD apps that have long life are also a challange. Handling
people is a challange, which I like because I work with really nice people
now. Getting that new feature in a CRUD app from concept to production feels
good as well! (I am also not going to work in FANG and I am not going to earn
$250k a year)

I had luck with my current employer, ended up in a company that needs me and
are greatful for what I do for them. It is a software shop, so I am not a cost
for them but an asset. So one thing to note, try to find company where
software is their main product. Earlier I was working in a company where
software for them was: "those silly kids fooling around", boy that was bad.

Some people say they stopped doing development after work. There is so much
stuff to learn that I cannot just let it go. I was mostly Windows person, I
learned loads of Linux stuff. I don't do the same stuff I do at work after
work. I don't have deadlines, my projects don't have to provide any value, I
don't have to open source them. I don't have to learn after work to stay
competitive. I am just fooling around just like I want and there is no sprint,
no points, no product owners so it feels so much better than what I have to do
at work.

I think all those words I used could be summed up by: take it easy, don't take
it too serious, have luck.

------
naikrovek
Learn to not need motivation in order to get work done. This is what my father
and his father called "work ethic."

In short, the memory I always think back to went something like this: me
whining about digging a ditch, followed by: "I'm paying you to dig a ditch. I
don't care if you're _motivated_ about digging the ditch. Dig it, and I'll pay
you."

It's the same with anything. If you can't work without motivation then you
really aren't doing your job. Everyone has up days and down days, up years and
down years. You're paid for all of it, so you should be working for all of the
time you're paid to work.

Once you surpass the need to be motivated, you really start to get good at
something, in my experience. There's a pride in the finished work, which is
completely independent of how much fun you had while doing the work.

I am not saying that motivated people do not produce great work that gives
them pride, I am saying that you will be viewed as more reliable, more
dependable, more capable, and more professional if you can simply push out
those keystrokes even when you don't feel like it.

~~~
muzani
I find this works fine with physical labor but not anything requiring
creativity. I used to work 14 hours/day as a barista, no problem, but 4 hours
straight untangling code is impossible.

~~~
naikrovek
Software development isn't really a creative endeavor, though. A large
portion, if not all of it, is seeing what needs to be done, then doing it.

Creative friends (coworkers, really) tell me that "the wall" is a very real
thing and that to get through it, you simply must find a way to push through
it, somehow. That sounds a hell of a lot like me getting over my inability to
_want_ to dig a ditch as a child.

My creative friends say that they switch projects or turn to another art, such
as drawing if they are a writer, to force their imagination and creativity to
stay on, while not banging their head on the same section of "the wall" and
getting terribly burnt out. Others just switch projects within the same
medium.

I'm not a creative person, so I can't say if what that have told me works for
everyone (almost certainly not) but I can paraphrase what they summarized for
me.

------
jlarocco
Don't stress out over side projects. If you don't feel like working on them,
don't. The cliche that good software devs have to sit at desks coding 20 hours
a day is silly and unhealthy. Use your free time to do stuff you enjoy. Maybe
you'll get inspired to work on the project, or come up with an entirely new
one, but there's no point forcing it.

And I'd suggest not taking work so seriously. Don't slack off, but don't over
think it, either. Most work (in every field) is crappy and boring, so just do
it and get it over with and don't stress out over it.

------
seisvelas
If your job is very 'real world engineering'y, work on projects that tickle
theoretical itch. Try to implement a y combinator in a language you like
without looking it up. Or learn physics and do simulations to help you.

The real question is why _should_ you keep your programming motivation up if
its not something you're enjoying? Find something you enjoy and do that!
Programming is a means to an end. If you want to enjoy the means more, find a
more inspiring end!

It's a bull market right now, you can try working in a very different kind of
programming.

~~~
non-entity
I'm starting to wish I went to school solely for the potential to get into
research if I wanted. Unfortunately, although it seems like it would be more
interesting and fulfilling, it also seems like financial suicide.

> you can try working in a very different kind of programming.

On that note, how do you manage to work in X when all your years of experience
are in Y? I'd love to try different things, but I just don't know how to pivot

------
halfjoking
My hatred of the dayjob is what motivates me on side projects. (The goal is to
make enough money to quit)

I also find it useful to keep a journal. Recent research shows procrastination
to be an emotional management problem.[1] If you can work through the reasons
why you're feeling unmotivated, you'll be to turn things around.

[1][https://www.fastcompany.com/90357248/procrastination-is-
an-e...](https://www.fastcompany.com/90357248/procrastination-is-an-emotional-
problem)

~~~
pkrotich
Thanks for the link - it’s a good read.

------
Rannath
Motivation is fickle. Cultivate discipline. Set aside time to do something
every day. No exceptions. Don't worry about how long you do it for. Discipline
is something you can learn.

~~~
eanthy
I agree with this, but when you get drained all day on mindless tasks, you
want to go home and forget all that rather then jump straight into work again
even if it's interesting own project

~~~
Rannath
Overcoming "want" is the purpose of discipline.

------
Abishek_Muthian
In my case it is the opposite, programming has helped improve my overall
morale.

I was running a startup, during first few years my programming contribution to
our products were very high as I had inexperienced developers. But once they
gained experience, my contribution to actual coding got diminished and was
limited to architecture and major troubleshooting. That was compromise I had
to make as a single founder and executive of the startup.

But in 2018, I had severe health problems and had to undergo life-threatening
surgery which has permanently restricted my neck movements severely and had to
close my startup.

While I was bed ridden during recovery, I wondered whether I could even get
back to computer usage if not programming. Now a year since surgery, I have
adapted to restrictions in the neck movement, changed computer display setups
to aid it and started programming few months back although my primary
profession now is coaching startups.

I recently released the project which I was building past few months[1], which
was inline with what I do professionally and being able to build and launch
the project after months of uncertainty over whether I will be able to use the
computer again has had a positive effect on my morale.

[1]: needgap - 'Submit problems for startups to solve' \-
[https://needgap.com](https://needgap.com)

------
nickdandakis
I don't.

I have stints of high motivation and stints of low motivation.

The trick is to be productive without being passionate about programming.
"Choose a job you love and you will never have to work a day in your life" is
a toxic mentality, and it's okay for work to just be work (sometimes or even
all the time!).

~~~
eanthy
that's very true, every job will eventually become a chore. I guess working on
the motivation highs is doable, and then do only enjoyable things on the lows

------
blablabla123
I'd recommend companies that have a comfortable environment and that are not
overly profit focussed but also do something that you consider useful. I'd
definitely also consider going with something that might not offer the highest
salary/chances of getting rich.

Chances are that the technology you use might also be useful for side
projects. Also not working in a high pressure environment might enable you to
work on interesting things and leave some space for creativity at home.

The times I felt the most burned out at work where actually also those where I
took the job most seriously. That's very much the experience I have now from
working over 10 years at various companies. Hope this helps ;)

------
simplify
It might be a health thing. I notice when my health is poor I don't feel like
doing anything. But after changing my eating habits and sleeping more[0], I
have much more energy and motivation to do things I like.

I didn't notice this for a long time; the decline was so gradual I didn't
notice until I was constantly tired every day. Still not perfect, but much
better than before.

[0] Please sleep more, dear reader
[https://twitter.com/hillelogram/status/1119709859979714560](https://twitter.com/hillelogram/status/1119709859979714560)

~~~
sdinsn
What specifically did you change in your eating habits?

------
heliodor
Part of it might be to find work where the grunt work is more closely related
to business goals. Seeing its purpose (and assuming you care about the
business goals) might provide the drive needed to do the work.

~~~
fuzz4lyfe
For me, I haven't worked in an organization where I would be rewarded in any
concrete way if the business achieved it's goals. (0 equity, pay based on
market forces more than effort) So I don't particularly care about business
goals in any real sense as they don't appear to align very well with my
personal goals. Honestly I just do whatever looks best on a resume at this
point.

------
bg4
You have to find better work.

------
dsego
One idea is to have more influence on the business decisions, take a more
active role in the project. So push back on the crappy parts and bring new
ideas to the table. Try to make it your own, be proactive instead of reactive.
That might give more weight to the work you do and having more stake is also
more thrilling. You could be the next team lead, architect or cto, who knows.
And if it doesn't work out, at least you gain some valuable lessons.

~~~
eanthy
our team is very separate and even if you do anything it goes unheard. Also I
can't make myself care that much about a project which is not mine. If that's
something that benefits me personally yes, if it's something for the company
to make more money I can't care less

------
lcall
Related discussions that might also be worthwhile:

[https://news.ycombinator.com/item?id=18903886](https://news.ycombinator.com/item?id=18903886)
"Ask HN: How do you motivate yourself to keep working on a project? "

[https://news.ycombinator.com/item?id=19777976](https://news.ycombinator.com/item?id=19777976)
"ask hn: how do you stay disciplined in the long run?"

------
sailfast
Find a mission you believe in and use your tech skills to help achieve it.

Warning: this might mean fighting bureaucracy, older tech stacks, lack of
resources, etc but that is what you are there to solve!

Everybody needs help.

I’d also second other comments: use the downtime / boredom at your current job
to your advantage. Only spend as much time as necessary there, focus on
yourself - whether that’s wellness, side projects, vacations, etc. When you’re
ready to figure out what’s next, make the move.

------
welder
When I had a job like yours I quickly left for a company with more interesting
projects.

These days to keep up my side projects I set attainable daily goals for the
projects/languages I wanted to work more in using WakaTime to track my
progress. I get daily emails that motivate me to keep reaching my goal of at
least 2 hours coding per day.

[https://wakatime.com/goals](https://wakatime.com/goals)

------
vhakulinen
I found my passion again by working on a (side) project that I care about and
want to use. At work, I try to steer towards projects that I find interesting.

------
eikenberry
A few years ago I found myself in the same situation and finally determined it
was going into the office and dealing with so many people that was to blame.
Once I started working remotely I found I had lots of spare energy and
motivation for all my hobbies.

I don't mean to say that this is your issue, but take a look your life and
what drains you. It might be the boring work or it might be something else
completely.

~~~
eanthy
this plays a huge role yes, but seems to me that finding remote work is quite
difficult

------
luisehk
I don't do side projects, I have other hobbies. Whatever exciting thing I want
to do as a Software Engineer I'll do it during my work hours.

------
SecondNature
The motivation comes with inspiration for me. If I see a problem and know that
I can build a solution, I can't stop myself from building it. The more time I
spend honing these skills, the higher the bar becomes for new projects, so
next time you feel the spark of inspiration, don't pass it up because it
becomes more and more rare!

------
Gehinnn
I somehow have the intrinsic motivation to make things better and to challenge
myself. This is why I would never just program UIs which were already designed
and ready to implement. I could never work on projects that don't require me
using my mind.

I need to invent systems, to be creative, to solve complex problems. This is
what drives me.

------
jamessteel
My motivation comes with inspiration to build a new general purpose
programming language that worth using, it's what I have in mind after fighting
with most of the technical debts and bugs in various programming languages.

I still need the community to be interested in making these language more
usable.

------
elevenoh
Focus on your impact, the 'true' value you're providing the world.

This is difficult considering what most SE's work entails (i.e. advertising,
addictive feedback loop design etc.).

Choose your work with strong philosophical underpinning. Else you'll end up in
existential crisis.

------
lerax
It's hard to work on a product that you didn't even use... or do not want to
use.

Maybe the fundamental key is to work on a product that you care, that you want
to use... I think it's important being proud of your job to keep motivation
high.

Something like that I think.

------
akerro
[https://www.codingame.com/blog/the-secrets-to-staying-
motiva...](https://www.codingame.com/blog/the-secrets-to-staying-motivated-as-
a-software-developer/)

------
elorant
For me the best motivation proved to be success. Once you get paying customers
for your service your willingness to write code rises tenfold. And vice versa.
If a service flops I don't want to touch a keyboard for weeks.

------
algaeontoast
What scares me more than constantly asking myself if I’m still motivated and
really improving as an engineer is a worry that I don’t have enough energy or
the cognitive ability to improve to where I’d like to be.

------
WheelsAtLarge
Limit the amount of paid programming.

Program projects that you really like and find interesting as recreation.

You'll have to force yourself to limit the paid programming but you'll totally
burn out if you don't.

------
Madeindjs
1\. Don't accept work who does not interess you 2\. Keep some personnal
project with some fun technologies 3\. Choose your personnal environment (OS,
code editor, etc.. )

------
sjg007
I have side projects and I try to learn new programming related technologies.
An app in the app store could set you free!

------
wwarner
Try getting better projects at work. Or try working for a smaller company, as
small as possible really.

------
polymorphicprod
I don't and I'm bored AF!

~~~
chapium
This is unhealthy, try to find what you enjoy! At least a little bit. If you
haven't noticed it yet this will start wearing you down.

~~~
plutonorm
I dont enjoy any of it and have been looking for an out into management for 12
years. At this point im a depressed robot with hardly any useful output. Life
sucks.

~~~
chapium
Right there with ya buddy, except for the management goal.

------
jaequery
What killed your motivation to be exact? Most programmers don’t find their
work boring... you must’ve hit a really dead end company to feel that way.

~~~
SketchySeaBeast
You're telling me most people just love making the "latest" and "greatest"
CRUD web app? Because that's what most programmers do.

~~~
ozim
I love making our CRUD not latest and not greatest web app. I get not bad
salary and I have great people to work with. No pressure, no assholes.

Some point in time company owners may change, situation may change, but for
what it is worth I am riding this wave until it dies and then will see. Not
changing that job even for 2x salary.

~~~
eanthy
no idea how you have CRUD apps interesting, it's always the same thing just
different tools/application. The most mindless work I've ever done really

------
agumonkey
Anybody doing competitions ?

------
mokurai88
take a vacation, keep away ur gadget, pc and other tool for 3 day or more, u
will feel it's gratefull to have your current job

------
jimmyyaime
Drink some beer

~~~
dsego
Unwinding at the end of the day is a great way to boost morale. The trick is
to keep it moderate and not overindulge.

~~~
quickthrower2
Alcohol doesn't really unwind you. And relying on it to help you relax or code
is probably not a good idea.

Instead I recommend doing something mildly physical between getting home and
coding. Housework, playing with the kids if you have them, dog for a walk, or
a mild jog should do the trick. Alternatively having a warm bath works well
for me.

