There's a difference between procrastination and play.<p>Children play all the time. They don't usually engage in orderly head-down strictly optimal activities unless parents or school forces them.<p>Still, children learn a lot of stuff. (Have you tried to learn a language in 3 years without a single grammar book and no dictionaries? That's what babies do playing.)<p>Grown-ups can optimize their activities and learn the urgently necessary things faster, while also doing the chores that win them bread (and hopefully some bacon). But stopping to learn random related things, stopping to <i>play</i> with things that are related with whatever makes them "productive" is a mistake.<p>Well, maybe one can learn how to fell trees or milk cows in one year and then never have to learn anything new. I suppose that HN crowd is not like that.<p>Any member of the IT crowd is facing a constantly changing landscape. There's no chance to stay relevant in 10 years unless you constantly learn about a lot of things and take time to get your hands dirty with some of them. Often you don't have a chance to learn many new things while being paid for it, so you have to find time and <i>play</i> with them.<p>This playing gives you experience that may be relevant and valuable for your next gig. it may <i>land</i> you on your next gig.<p>~15 years ago I started to play with then-immature Python, Java, and Web, on my free time that I could be spending on making more money. In a few years I found out that people with experience in this are in demand, and eventually it led mo to a job at JetBrains, writing a top Python IDE in Java. (Regarding the Web technologies — should I even comment?..) Have I not played with Linux when it still seemed "pointless", I'd have much harder time getting me a number of my programmer and sysadmin jobs.<p>Currently I play with things like Haskell and Clojure and many others that don't win me any money. Well, maybe they never will. In any case, it's still fun!
Re the headline: duh, I'm reading HN. Anyone who has convinced themselves that this is work is in denial.<p>I do agree with TOA though. You have to learn to call yourself on this stuff, or get a buddy/mentor/manager who will.<p>Do first what needs to be done now. The backfill tasks can be saved for when you have a slow time, or really need a change of pace (to solve some kind of long-slow-thought problem, or when you're tired at the end of the day, or whatever).
Reminds me how I can goof off on the internet for hours, and then as soon as I bring up vim, all of a sudden I a) have to go pee b) am hungry c) need a cup of coffee d) should clean my desk ...etc.
But that's how I learned to ssh into a machine. :( And how to setup Apache. That kind of "procrastination" is how I learn about 90% of the stuff I use to make my living.
Also known as <i>Yak Shaving</i>, but in this instance it's even worse because the end goal wasn't worth it.<p>That said, some of the best discoveries and products happen because someone was playing around. There needs to be a balance. Personally, I like to hit my core deliverables by Thursday so I have Fridays to explore and experiment.
This post, especially the Joel Spolsky quote at the end, reminded me of the advice for new startups (especially bootstrapped ones): Don't do anything that doesn't help you get your first 10 customers.<p>For example, move a site from Linode to EC2? Doesn't get you a customer. Add a feature you think you'll need to the admin dashboard? Doesn't get you a customer. Finally write your landing page and start using adwords? <i>Does</i> help get customers.<p>I think this advice can be generalized to the common case: Is what I am doing right now really something that matters, or just something to do so that I can say it is done?
Can someone explain in what context he's stating this? Is it "if you're running a startup, anything you do in relation to your product that doesn't include building or selling it is procrastinating"? Because just from reading it, it felt way to broad, and makes me think that he's saying that anything I do ever that's not building or selling something is a waste of time, and procrastination.<p>I really don't think that's what he's saying, but it kind of comes across that way.
I know a lot of programmers are focused on being efficient and trying to maximize productivity.<p>But, it isn't nearly as cut and dry as you think it is.<p>Yes, you should be concerned if you aren't getting your work done, but this seemed liked a decent use of time.<p>He learned something new and realized it wasn't exactly worth his time. So, now, he won't do it again.<p>That is worth the effort in my opinion. If I learned that lesson every time I did something "unproductive", then I would be super efficient.<p>We are not machines, although we would like to be one sometimes.<p>Sometimes being efficient at a task is really wasting time, sometimes wasting time allows your brain to disengage and re-evaluate how you are allocating your time.<p>If you try to work like a machine, you will burn out and end up hating your life.
I think the example he took of moving sites from Linode to EC2 is one of the better things he can do while avoiding working on his product. As he claimed he did learn something, adding value to his skills. But yeah, I get the point. There are so many other things which might not be productive.
I find that my apartment gets very clean when I'm really procrastinating.<p>The only thing that works for me is a To Do list that I check things off of when they're done. There's something in the gamification that works there. And I do include learning activities in the To Do list, it's just better when they're planned. When they're spontaneous, I usually add them to the bottom of the list.