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

I'm pretty sure you just described me to a tee. I completely understand how it is to hop from hobby to hobby, trying to find the next new novelty.

In high school I spent a lot of time learning tools but never really made anything with them. I must have started 50 games, but would always throw them away at 300 lines of code because they were not interesting anymore. One time I got the idea to make a Flash cartoon website like HomestarRunner.com. I learned the Flash IDE, and the time that I started to get good at it was when I started losing interest.

In college I discovered that there are better tools out there than the ones I had been using. I traded Windows and Gamemaker for Linux and Python. I still never finished anything, because I kept finding new and better languages. For a while there I tried out almost every popular language there is, including Haskell and Erlang.

Once my friends and I decided to make a game, and as the "lead programmer" on the team, I wanted to use the best language there is for making games. I started on Python, then switched to Perl (yes, Perl for games!), then C (because the others were "too slow") and finally back to Python because C was too hard.

Some things that I have noticed include:

-Perfectionism is a nasty beast. Are you a perfectionist too? I will go back and forth between things because I want to find The Optimal Way (TM), but after a certain point you can't really find a better way that helps more than the cost of changing. My dad, a mathmatician, once told me, "Life is not an optimization problem." I am coming to see that he is right.

-You mention that you do well in college even if you can't stay focused on your own projects. I have found that true for myself as well. I think the structure helps to keep us on track. Personal projects and side hobbies have no inherent structure, and all it takes to give up is to just stop working on them. I have found success when my hobbies and side projects intersect with each other. I finished a Flash animation when it was for a class project. I actually did learn a Haskell for Great Good when I made my senior research project "An Investigation of Lesser-Known Programming Languages." Then learning Haskell was not just a thing that might be cool but rather a school project that I had to finish. I recently finished a three year long programming project with a professor advising me. I wanted to quit several times, even though it was a great project, but my advisor half convinced/half forced me to stick with it, and I am glad that he did now that it is done. If something like school motivates you, then use that to your advantage!

-The biggest thing that gives me motivation to do anything is the people who will benefit from it. After thinking long and hard about the meaning of life, I have come to decide that love is what is most important. As such, I can turn away from the most interesting project in the world if I am just working on it for myself, but if I know that people are really going to benefit from it, that provides motivation. I think of all of the times that I have failed to complete a side project like a game or Flash website, I failed because they weren't really helping anyone, and as such they weren't really worth doing to me.

So, I suggest that once you leave college, find a lean startup that fulfills a need you care about. Maybe you wouldn't do well founding a startup, but you could work as an employee at one. Then you have structure similar to what you have in school, only this time with an employer, but you don't waste away at $BIG-CO. (I too have this dread of $BIG-CO!)

Do note that knowing a lot about a little does give you some unique advantages. If you ever do need to really learn something for a job or school project, it will be much easier than if you knew nothing about a subject. You are also more aware of what tools are available for various projects, and you can select the right tool for the right job.

As a final thought, I notice that you have been registered for 250 days or so and have 5 karma. That is almost the same as me. I usually don't say anything because I don't feel like I have anything to add, but I've been trying to comment more recently. Lurking allows me to just be a passive observer, but I take in less when I'm actually invested enough to comment.

If you'd like to talk, send me an email. Info's in my profile if you are interested.




> Perfectionism is a nasty beast. Are you a perfectionist too?

Unfortunately, yes. And I'm definitely treating life as an optimization problem. However, most of the time I don't see the big picture. For example, I spend hours or days figuring out the "best" piece of hardware to buy (e.g., a new monitor), and then another day trying find the best offer. Usually I get frustrated the more options I find. Quite often, after many wasted hours, I end up buying nothing at all.

Other people would just "google" for "monitor test 2011", take #1 from the list, get it from their local dealer, and spend the rest of the day working on an interesting project or earning money (or both). What a happy life.

> I have found success when my hobbies and side projects intersect with each other. I finished a Flash animation when it was for a class project. I actually did learn a Haskell for Great Good when I made my senior research project "An Investigation of Lesser-Known Programming Languages." Then learning Haskell was not just a thing that might be cool but rather a school project that I had to finish.

Jup. The only programming projects I finished were school projects. That's when I have no problems getting incredibly productive, but a few minutes after the submission deadline, everything is back to normal and I waste my time sucking in random bits of information on the web. There's no way to become a great programmer (builder/creator) if you only code (build/create) seriously a few times a year.

> If something like school motivates you, then use that to your advantage!

Yes, school is the only thing that really motivates me. But well, now I'm close to graduation, and I don't know yet what could replace it. That's scary.

> Do note that knowing a lot about a little does give you some unique advantages. If you ever do need to really learn something for a job or school project, it will be much easier than if you knew nothing about a subject. You are also more aware of what tools are available for various projects, and you can select the right tool for the right job.

That's true. I often notice that my tech knowledge is very exhaustive/broad compared to people who I consider experts in their particular field. They know one thing very well, I know a little about countless things.

However, I don't really know if that helps me as a programmer. Good programmers have to become experts in a at least a few technologies. Maybe I should not force myself to become a programmer. Maybe I should pick a route where there is no need to become an expert. Suggestions?

> If you'd like to talk, send me an email. Info's in my profile if you are interested.

I definitely should do so. But somehow I'm already starting to lose all interest in fixing my problems. I'm already onto the next thing: Skimming through the Python twisted docs, just to see that I don't actually want to build anything. Sigh.


If you are an over optimiser (i.e. the word BEST appears in your head when you try and do something rather than Good enough) you should read The Paradox of Choice by Barry Schwartz (http://www.ted.com/talks/barry_schwartz_on_the_paradox_of_ch...).




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

Search: