
How do you make programming fun again? - dmos62
I remember enjoying and looking forward to programming. I saw shapes and structures as I imagined programs. Recently, it&#x27;s gone and I don&#x27;t look forward to it. I am now changing projects, but in the past that used to, on the contrary, excite me in anticipation of a new start. Another thing I remember is feeling this positive rush just after waking up, thinking of the things I&#x27;ll do. Do you know what I&#x27;m talking about? If so, what do you have to say about it? Tips?
======
caloni
I'm a C/C++ programmer for more than 10 years for Windows, and these last
years waiting for compile/link and a lot of annoying errors absolutely
nonrelated to what I was doing it is really disappointing.

So I began to code in Python to test things and as my hobby language in free
time/other hobby projects. Changing from a old well-known world to a
refreshing and problem solving focused world was one of the best things I made
last year.

I believe learning a new language has to do with this feeling, but if you are
going to learn something new, try to choose a modern language that turn the
problem solving in the main track, not compile error hunting.

------
loumf
I am going to suggest you download and read the free PDF from "A Theory of
Fun" \--
[http://www.theoryoffun.com/theoryoffun.pdf‎](http://www.theoryoffun.com/theoryoffun.pdf‎)

These are slides for a talk based on a book the author wrote.

You might want to check out the book "Flow" as well

The short answer is that we get bored when the challenges and skill level are
misaligned. To keep something fun (or enjoyable), it has to keep getting
challenging at a pace we can handle.

~~~
dmos62
Helpful. Thanks. I enjoyed a TED talk
([http://www.ted.com/talks/mihaly_csikszentmihalyi_on_flow](http://www.ted.com/talks/mihaly_csikszentmihalyi_on_flow))
by the author of the book you suggested, I might read it.

~~~
loumf
Reading it now -- it's somewhat academic, but comprehensive. Many people have
recommended Dan Pink's "Drive" as a good popular summary of the findings.

Flow would be a deep-dive after that -- I skipped Drive, because I was already
reading a lot about it, and was looking for deeper information.

Peopleware also covers this topic from a programmer-centric perspective.

------
lifeisstillgood
Programming is like writing - in the main the subject matters much more than
the writing itself.

So perhaps (in deference to your new project) you should look at the projects
- do they add value to the world, are you selling adverts to Silicon Valley or
water purifiers to the Great Rift Valley?

Sometimes the kick comes from helping other people learn and grow as
programmers - maybe you are just ready to program less ...

------
dep_b
Projects I liked:

\- Projects I worked alone on or at least was the single person responsible
for my code (I do like to work with a good designer or a smart guy for the
API)

\- Projects that involved learning new techniques

\- Projects where I was doing a healthy balance of new code vs maintenance

\- Projects with very little red tape and lots of responsibility

Technology by itself can be interesting and rewarding but it's never the
reason you'll like a project.

I had a lot of fun doing a very simple CMS backed website in Python with
Django where I did basically everything I already knew in another language,
only targeting IE9 or more sane so I could use CSS Animations and other nice
stuff. The subject itself was not appealing itself although the client was
nice and the designer was very good.

If you find yourself using cool hip framework x in hipster language y and you
are still not happy: perhaps you're just doing too much maintenance on an
application that really starts to remind you of that old Java Enterprise stuff
you so desparately was trying to get away from, dragging yourself from meeting
to meeting while you wait for that half-assed designer to finally give you the
design you are now asking for for two weeks on end already.

My goals for the future are:

\- Do more small projects that I can rule completely on my own, until I

\- Find a product that will either be completely mine, or

\- Get into a startup with brilliant people

------
collyw
So when I started my job 3 years ago, I went from Perl based tedious stuff, to
building a database and web front end for my organisation. I decided to learn
Django. That took away a lot of boring boilerplate, letting me concentrate on
the _create_ interesting stuff. The documentation is good, and its very well
thought out (not what I find when I am trying out JavaScript frameworks). That
helps.

Now the application is built, I get to do more tedious data cleaning, fixing
all the crap data that the users put in. I don't enjoy it as much. Sometime I
get a feature request that is challenging, and my interest picks up again.

I deficiently find that when I am creating something that it inspires me a lot
more. Also having worked on a coupld of maintenance programming jobs before, I
am not going back to that.

------
pestaa
How do you make programming fun again? You learn Haskell.

~~~
nulldata
I found both learning and just writing in Haskell a joy, and I can recommend
it full-heartedly. It might be a little hard to get started with ( especially
if you're not familiar with functional programming ), but it's really awesome,
interesting, and just flat out fresh once you get into it.

------
EvrydayDsastrs
Take vitamins & get more sleep. Sometimes its not the coding - its you (please
read in a good way - once you overwork its easy to go in a downward spiral.)
\- Been there, done that

~~~
KVFinn
Correct any vitamin deficiencies, rather than take vitamins generally. The
most likely is probably vitamin D deficiency. Indoor office worker in a
northern latitude? Even if you do spend some time outside you are likely
deficient during the winter.

And eating nutrient dense food is the best way to get vitamins.

------
eranation
For me, it was moving from Java to Scala, but YMMV

~~~
digitalzombie
That was me a while back with just learning Scala.

Years later I got a gig doing Scala. I did not like it at all working with
Scala and other people code.

The libraries and their classes or traits expect a certain type and juggling
between them via type casting several time until you get the correct type
wasn't fun. The reflection class, at least for me, was hard to use.

------
amatxn
I try to learn a new language or framework when I enter this mode. It works
best when I dive in and code through an actual tutorial first because there is
a specific achievable goal.

Beyond that I've discovered working on programming challenges frequently helps
as this leads me to research topics that are new to me and stokes the passion
fire.

------
ctb_mg
I know what you're talking about. I remember feeling it often when I was first
hacking away at QBasic in high school. I don't have any good suggestions on
how to bring that "sparkle" back, other than to find projects that you're
passionate about.

~~~
dmos62
That might turn out to be a very good advice. I may have been increasingly
approaching my projects as senseless chores.

~~~
Iburinoc
I know how you feel, a few months ago I was working on a game with a friend
just for fun (I was coding, he was doing everything art, music, etc). At one
point I realized I was putting off working on it because I wasn't enjoying it,
so I just told him that I didn't want to make it anymore and moved on to
projects I found more interesting (like cryptography :D). If your projects
feel like chores, I would recommend learning about a field you don't know much
about and starting from scratch there :)

------
arturogro25
Learn how to make iPhone or Android apps, it will be fun

------
rmujica
Join an open source community! :)

