I would put stay healthy and invest in your health (chair, standing desk, exercise, food) as the #1 for any programmer for next year, and the years after. It's all too easy for us to forget about the long lasting effects of sitting in front of a computer that are hard to later undo.
Programmers tend to live sedentary lives, and we face unique health challenges from our occupation.
Yes, that's actually how Fitbit started. From http://www.entrepreneur.com/article/223780
Fitbit got its start after founders James Park and Eric Friedman sold their peer-to-peer photo-sharing company Windup Labs to CNet in 2005. While pondering their next move, Park, a former cross-country runner and avid swimmer, realized two things: that years of startup life had left him in terrible shape, and that he had the resources to come up with a solution. In early 2007, the two launched their fitness gadget company in San Francisco's Financial District, with Park as CEO and Friedman as CTO.
The first thing programmers (or any group of people) need in order to improve their lives is a reason to improve their lives. The blog says "go analog" or "improve your health" or "learn a new programming language" etc. But why should I, or anyone for that matter, go analog, improve their health or learn a new programming language? For fun? If it's for fun, the list should have been called "Fun activities for programmers". This all new "improve-yourself-without-any-context" new age movement doesn't make any sense to me.
13. Work on volunteer projects
I set this resolution for myself last year, and have been able to work on three projects via http://socialcoder.org/ - feels very fulfilling!
#3 Embrace the Uncomfortable - one thing I did a few years ago that might fall into this category (as an American) is start using the 24h clock. It makes working w/ remotes a lot easier because you become good at doing the +12 math and knowing which hour it represents. :)
13. Avoid reading depressing news
One look at any news site is enough to help you avoid the first 12 resolutions.
# Keep a hobby project or fork an open source project and work on it when ever you find time. # Once in a year take one month off from work if possible and visit new places. # Go for a solo trip and spent time with yourself and nature. # Go for volunteering in some rural schools. And spend time with kids. # Publish a book.
I really like the resolution to embrace the uncomfortable. When you're young and inexperienced you have very little to lose by taking uncomfortable risks, but as you advance in your career it becomes more difficult to take the same risks.
I recently read the 4-Hour Workweek by Tim Ferriss and he has some great exercises called Comfort Challenges that really push you to go outside of your comfort zone. Some examples include
* Maintain eye contact for a long time
* Approach attractive males/females and get their numbers
* Lie down in the middle of a public place
These seem like simple activities, but they quickly get you acclimated to uncomfortable situations. I highly recommend Ferriss' book if you're interested embracing the uncomfortable.Don't let past death marches and shit-projects affect new projects mentally. It's harder than you think.
Very interesting article! I like the fact that you mentioned Prolog as one of the less mainstream languages to learn. During my time at uni I found that both Haskell and Prolog really changed the way I approached different problems and gave me a high level perspective to problem solving. Some interesting resources to learn Prolog:
# http://people.cs.kuleuven.be/~bart.demoen/PrologProgrammingC...
# http://www.cs.bham.ac.uk/~pjh/prolog_module/sem242.html
# http://www.learnprolognow.org/
I'm getting an itch now, I think I'll give Prolog a second go this new year.
I always have #6 on my list and I always put it off. /sad
Was I the only one expecting a list of screen resolutions?
> Switch from emacs to vim or vice versa.
Switch to emacs + evil, or alternatively to Spacemacs: https://github.com/syl20bnr/spacemacs
It has been probably posted sometime before but I think this is still very up to date and HN newcomers and veterans (and everobody else) should read this again and put into action.
Lots of overlap with "12 resolutions for grad students" (http://matt.might.net/articles/grad-student-resolutions/) as well, especially for junior folks. Everything other than "check with your committee applies directly, and if you replace "committee" by "mentor," then it works very well.
For anyone who wants to learn more discrete math, I recommend the Mathematics for Computer Science MIT OCW course:
http://ocw.mit.edu/courses/electrical-engineering-and-comput...
#8.
I'm currently waiting to see what comes back from fsck on a 4TB drive connected to a Raspberry Pi (don't ask). Drive is 390 days old according to SMART and reporting unrecoverable read errors.
Most of the stuff was in other locations but I know there was one repo I was waiting to push... waited too long, I guess.
I would try to use potable devices like iPad/Kindle/Mobile more for reading (Hacker news etc) purposes. Most of the time we don't need a full fledged computer compromising the sitting posture.
Oh that number 3. I've been avoiding it for a year and I already know its very necessary for me. I'm just gonna close my eyes and do it.
The whole site itself is chock full of good advice.
That is all I needed: More resolutions to skip!
"Switch to Dvorak" .. ha :(
Stopping sugar and caffeine changed my productivity and sleep patterns in a very positive way.
12 resolutions is too many for me. Set 1 resolution and stick to it.
Some of those resolutions are more transformative than others.
I would add:
- Relearn what you already know.
stop using facebook
At least 1920x1080 please.
Initial reactions to each of these list items:
> 1. Go analog.
Hahahaha NO. I get paid to solve problems, not be happy or healthy.
> 2. Stay healthy.
"Stay" healthy? Heh, for me and a lot of programmers I've known, that ship has long since sailed. Maybe "become" healthy would be more appropriate.
> 3. Embrace the uncomfortable.
Well, if more people did this, we'd probably not have religious conflicts.
> 4. Learn a new programming language.
Yes. Usually a good idea.
> 5. Automate.
Yes. Automate more, hire less.
> 6. Learn more mathematics.
This could be useful for most people.
> 7. Focus on security.
I already do this, but I agree that most programmers should focus more on security every day.
> 8. Back up your data.
Ditto with security.
> 9. Learn more theory.
This could be useful for most people.
> 10. Engage the arts and humanities.
Ugh, hell no. That's for other people to enjoy.
> 11. Learn new software.
Yes.
> 12. Complete a personal project.
Wait, you mean to tell me that "start a personal project and actually finish it" is a thing people are capable of?
On the health note, the single most beneficial thing I did for myself this year was to start lifting.
6 months ago I started committing 3 days a week to a strength training program which I've strictly followed since. Making gains in the gym has motivated me to sleep better and eat better which both have had huge effects on every aspect of my life.
Not only that, but the exercise has helped a ton with anxiety I've had throughout life and even the few gains I've made have been a huge boost in confidence.
I urge everyone here to take up lifting as a hobby and stick with it.