Hacker News new | past | comments | ask | show | jobs | submit login

I have mixed feelings about side projects. Sure it sounds good and looks good but let me tell you my own example.

I am a single core processor.

I am pretty much capable of doing pretty much just one thing at a time. I've tried to multi-task to the point of switching off from what I'm doing at work to something else but it just doesn't work. One or both of them suffer.

I tend to be engrossed in what I'm doing at work. If I'm bored with what I'm doing I'm in the wrong job and that just doesn't last long before I throw in the towel.

Sometimes I'll work on that problem more. Sometimes I'll just do research/reading on that or related topics.

But I just don't really have the knack of switching off from solving that problem and picking up something else with equal vigour.

I have the same issue when it comes to learning new programming languages. I tend to have limited success when doing it on my own. Where I succeed is when I HAVE TO learn a new language, typically because that's now my job.

It reminds me of the scene from Swordfish where Travolta and Jackman are being chased in the car by a hit team, Travolta hands over the wheel to man the machine gun. Jackman says "I don't know how to drive this." "Learn!" was the response.

I get the feeling that the US (I'm Australian) has cultural differences that come into play here. For example, the education system in the US seems to have a very strong focus on extracurricular activities, something that doesn't seem to exist (to anywhere near that degree) in Australia. This includes sports, social clubs, community service and so on.

So much so that it can be an important part of getting into the right college and then the right graduate school (Australian universities, at least when I got my degree, typically just looked at your Tertiary Entrance Score and that's about it; in fact the whole system was AUTOMATED on that). The TES being a scaled combination of exam and coursework.

I wonder if there is a culture of multitasking because of this?

Whatever the case... I am a single core processor.




But people aren't single core computers. You're not going to tell me that all you ever do is work on one program. You go play squash in the evening, you have a barbeque in the weekend. The point isn't that, during your work day, you switch between 'job' and 'side project' 5 times; the point is that you work on your job in the daytime, and then at 10pm you hack a bit on that one algorithm you didn't quite get right, or on that lost sunday afternoon while you're waiting for your in-laws whose flight was delayed for 3 hours you experiment with that unit testing framework for language xyz you're been looking at. That's not multi-tasking.


Hmm, I don't feel the same way (like I'm a single core processor). I'm not from the US, though.

I often feel like I've gotten stuck for a bit on a main project, and it'll help me to stay away from it a little bit by working on a challenging distraction project. That gives me time to mull over the main project (mostly not at a conscious level), which will often be easier to get traction with after I've made some progress on the distraction.

So perhaps I am single core, but with a pipeline design. ;)


Maybe I'm picking a nit here. But even a single core processor can do multi-tasking, that's what a modern OS such as Windows and Linux is doing.

In your case, it could be caused by many factors. One possible reason is that your task switching itself is the bottleneck, say, saving current context into stack and loading previous context from stack. It's very fast in computers just a few memory access and overwriting a few registers, human brain cell is different storage, the process may take much longer. Not sure if it can be trained to be faster though.

Another possible cause (and maybe worse) is that the main memory is very limited, such that only one of tasks can stay in the memory, every time you need to switch to another task, you encounter a page fault that triggers the OS to load the task from the much slower hard drive. I guess maybe it's the case in brain as well, there are areas for storing short-term memory and for long-term memory respectively, while the former has faster access speed but much limited capacity.

In your case, in order to maximize your throughput, you make the multitasking OS running into a batch mode.


I understand the issues with being "single core processor" developer. The way to deal with it is to set aside one or two-week time period for the side projects. Use those times exclusively for the projects, doing them one at a time. So far it has work well for me.


my feeling is that for side projects, i must finish one sub-task in 3 hours, then things will move on; otherwise it will be a long todo list




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: