Live data from Hacker News

Ask HN: How to rediscover the joy of programming?

news.ycombinator.com

141–150 of 337 posts

Re: Ask HN: How to rediscover the joy of programming?

#141
Honestly, I quit my job a while ago and after a month or two was drawn back to projects I'd put off for years. I'm going to start a new job in a few months (UK civil service paperwork is slooow) but I've rediscovered the joy of doing my own thing. Being free from the constraints of other people's demands helped me a lot. I had no desire at all to code after work when work was half legacy projects and half managing people's egos. Now I'm reskilling in a hobby context and it's great fun. I might get a side income stream from it too.

TL;DR take a sabbatical if you can afford one, and don't go back to coding until you actually want to

Re: Ask HN: How to rediscover the joy of programming?

#143
post #99

Agda and dependent types, after 15 years in software development I discovered it two years ago, and it is bringing me joy every day since :)

Do you have any project ideas for Agda? I used it to formalize the simply typed lambda calculus; what else should I do? After all, I can't really do "traditional" programming projects in Agda as its ecosystem is more geared towards proving. Are there any interesting projects with proofs as a focus?

I currently need help with:

- (you can make it your own project) type-safe library for Matroids (in cubical agda, so different representations can be handled automatically)

- If you have some Elm experience you can help me with online toy to play with cubical agda :) ( https://raw.githack.com/marcinjangrzybowski/cubeViz/master/m...

In fact I would be very happy to find a collaborator for those projects. There is lot of people from academia focused on the fundamental projects, but I am more focused in programming something practical.

Re: Ask HN: How to rediscover the joy of programming?

#144
post #42

Earlier quoted context omitted.

As someone considering leaving the web development industry after 12 years: JavaScript is a never ending grind. Callbacks, then Bluebird, then Promises, then a sync await. a new testing framework every six months. a new web framework every couple of years. aimless, massive changes to the language (classes in a prototyped language? Why not). JavaScript then coffeescript then three versions of typescript. too many UI l…

A lot of this is a direct result of feeling that one always needs to be on the bleeding edge, which is both unnecessary and also a recipe for wasting time on fads. As an analogy, consider fiction. Imagine reading as many new novels as possible as they're released. Well, most of these novels will be completely irrelevant 5 years from now. The good ones stand the test of time. So you might as well only read novels that…

> A lot of this is a direct result of feeling that one always needs to be on the bleeding edge, which is both unnecessary and also a recipe for wasting time on fads.

The problem with this is that everyone jumps on new fads so quickly that, if you don't, you're likely to endup with a bug-ridden, half-baked, vulnerability-riddled, unmaintained/abandoned, slowly collapsing, termite-infested framework as the basis of your entire SAAS business, or whatever it is you're trying to run on something that even the creators abandoned for the next fad.

> What happens to me, personally, is I start on some new project or company using a pretty recent stack at the time. Over the course of the next few years, that stack becomes "outdated" as new things are released. However, it also matures as its documentation improves and its community grows.

You have to be very, very lucky to accidentally end up with a "pretty recent stack" that will still be maintained in five years. On the other hand, the next part shows that you don't actually go with the 5+ year old "stood the test of time" tools:

> Eventually, after 2-5 years, I move on to another project, and just take that time to catch up on the latest.

Having to learn a whole new sub-ecosystem in as little as two years is exactly the kind of mind-destroying grind everyone's complaining about. I don't think anyone's just jumping on the newest thing that appears every six months; they're all just having to move to some new toolset every two to five years and burning out ten years into a career because otherwise they'll end up having to be the new maintainers of whatever tools they're using due to the fact nobody else is using them (and thus no one else is maintaining them) any longer.

Re: Ask HN: How to rediscover the joy of programming?

#145
I'm halfway through rediscovering the joy of programming by only coding stuff that I'm actually interested in.

That is one of the main reasons I moved into a devops engineer role at a company that doesn't quite understand that devops is not a role, so while frustrating at times, it's actually quite handy, no more developing on a daily basis on stuff I'm barely interested in.

So far I've done a bit of developing at work for things that I've volunteered and doing some embedded programming in C because why not?

Re: Ask HN: How to rediscover the joy of programming?

#146
post #2

Programming is 1,000 room hotel of which we live in only one. I recommend you study different programming paradigms because in them we can find really interesting approaches to solve problems. For me those have been: - functional programming (with Haskell) - logic programming (prolog) - Constraint Programming with the excellent Coursera class on minizinc. Those paradigms made programming fun again for me . PS: I also…

Couldn't agree more with this. After 15 years of OO with Java/Ruby/Javascript I switched to Elixir and Elm and have really enjoyed not just the freshness of something new but the elegance of the more mathematical approach that functional programming leans on. 3 years on and I'm enjoying coding more now than I ever have.

Re: Ask HN: How to rediscover the joy of programming?

#147
Typescript has allowed me to write JavaScript applications focused upon data structures without sacrificing expressiveness or usability. I am currently writing an OS and file system sharing application that executes in the browser with a full GUI.

I had to discover this on my own though. If I were waiting on the corporate world to show me fun and ambitious things I would have long since given up programming in its entirety. Constantly listening to people cry about how hard life is without megabytes of tools and frameworks to do their jobs for them and never having to write original logic, while enjoying all the amenities in the world, is really off putting.

* https://news.ycombinator.com/item?id=22821318

* https://news.ycombinator.com/item?id=22740897

Re: Ask HN: How to rediscover the joy of programming?

#148
post #32

Feynman described his run-in with burnout, you may find his experience interesting. I quoted a piece below, but the book is more persuasive with more intricacies of his situation. Then I had another thought: Physics disgusts me a little bit now, but I used to enjoy doing physics. Why did I enjoy it? I used to play with it. [...] So I got this new attitude. Now that I am burned out and I’ll never accomplish anything,…

I went through something similar, a bit earlier in the process. I wasn't burned out with programming, but burned out with the particular job I was doing, which had basically been taken over by the work of being a maintainer: Reviewing other people's code, writing up community standards, trying to relieve friction in the community, etc. I had programming things on my to-do list; but whenever I organized the list by order of importance, the programming tasks were never anywhere near the top.

I reached the point where I'd sort my list, look at the things at the top and think, "I know these things are important, and it's certainly gratifying to have the influence and the authority to try to make these changes... but I kind of don't really care."

At that point, I realized that if something didn't change I was eventually going to get fed up and leave the project entirely, leaving a big hole. So, I said that I'd set aside Friday to do some "fun" programming, to keep the job interesting. (I ran this by my boss, and he was supportive.) I thought this "fun" would have to be something really different and new, but it turns out nearly any kind of programming will do; so although I mentally give myself permission to do whatever I want on those days if I need to, I often end up just writing "normal" "important" code from the top of my to-do list. Just that little bit is enough to "pay" for the rest of the week.

Joy is the source of our power as human beings. No human activity is sustainable long-term if the psychological cost of doing something outweighs the psychological benefit; and conversely, people can endure an amazing amount of hardship and toil if the activity is a source of joy. The key to sustainable work, relationships, whatever is to be looking for ways to find joy in those activities.

Re: Ask HN: How to rediscover the joy of programming?

#149
After 20 years of programming professionally, you may have found that a good few of the products you're making and tools you're using aren't ones you specifically enjoy. You may have found yourself at one or more jobs that weren't quite what you were looking for, and staying there mainly for the money, without feeling some of the intrinsic motivation you usually have.

If some of that applies to you, then perhaps the answer is that you should do programming that you enjoy. That could mean doing hobby projects on the side, it could mean trying to start your own business and seeing how that goes, or switching jobs and hoping you get lucky. If programming for 20 years has made you rich, then you could also try living off your savings (and the interest/dividends of what money you invest) and doing some of the above without a 9-5 and seeing how that goes.

Re: Ask HN: How to rediscover the joy of programming?

#150
Try to connect with the creative side of self, try to connect with the internal kid that used to love programming, try to connect with the 'creator' part of self. And at the beginning just do it for yourself, from pure curiosity, to sparkle the joy once again. Don't focus on programming but what would you like to create and using programming as a tool.

What works for me to re-connect with the technology, when once again being close or after to burn-out or in a bad cycle at work is to slow down and 'play' with the technology, and on my own pace.

Years ago I worked in gamedev, so when challenging mental times hit, I sometimes tend to come back and just 'play' a bit with graphics, visualisations, interactive environments, simulations. I am fully aware that I am not going to compare with professional game engines, but it's just to enjoy the creative process, to freely play with ideas; to no care about lines of code / modules that won't pass code review, etc. hence also not being too much restricted by any frameworks if possible. Let the ideas flow once again and let the mind create.

As a side note, not so long ago, I also bought Raspberry Pi with a pretty nice, affordable kit of sensors. Electronics is fun, when apart from creating stuff virtually, you can create it 'outside'. You can touch it, you can hear it (and even can sometimes smell it when burns) and can control stuff writing own simple scripts. Installing Jupyter Hub on Raspberry Pi and playing interactively with sensors and collected data in Python and is just another fun moment, opening further possibilities to explore.

Good luck and, really, try to have fun!

Post reply on HN