Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: How should I pursue my passion?
28 points by jlongster on Feb 24, 2010 | hide | past | favorite | 17 comments
Dear HN,

As a community of creative, passionate, and ambitious people, I have a question for HN.

I am at an interesting point in life. I am 25 yrs. old, and I am a programmer. I know what I want to pursue, but I don't know how to do it. I have tried. I saved up money and quit my job 2 months ago to pursue my passion. I am going to move to a different city in a few months anyway, so that decision was low risk and easy to make.

My "passion" has many sides. I love 2d/3d real-time graphics. I also love programming language design. I am deeply devoted to the Scheme programming language, and I love using it to construct 2d/3d worlds which I can interact with. I like games, and obviously I should be working with games, but I definitely don't enjoy game programming (game logic, AI, etc.).

My love for programming language design leads me to compilers, syntactual abstraction, macro transformers, etc. I believe that graphics programming is currently bulky and complicated, and I would like to see more languages compiling itself into vertex/geometry/fragment shaders, scene graphs, etc.

It's been 2 months. I have found that I haven't even been able to work on the things I'm interested in - I have to make products that sell, right? I've been developing an iPhone game, and 95% of the work has been making 3d models, putting graphics together, marketing, integrating audio, developing a menu system, integrating fonts, and building the actual game logic.

It's a struggle. I want to do research, and I think I'd be good at it. But I have to make money. It's either one or the other, I can't possibly do both at the same time, unless I get paid to do the research I want to do. I'm going to finish my iPhone game, but I doubt I'll make much off it. From here, my options are, in order of preference:

* Work on a graphics engine and do the interesting work. License it and sell it for something like $100/license.

* Find contracting work to do graphics programming for games.

* Look for part-time contracting work and work on the interesting stuff on the side.

* Get a normal full-time programming job and try to be satisfied.

These are in order of "passion <=> practicality". The problem is that there's a linear correspondence to "lack of money <=> money".

With all that said, I truly do believe that if I was somehow funded for a few years, my passionate work would truly pay off and I could start making money off of it. It's a bootstrapping problem.

I would also love to meet people with my interests and/or passion. I know you are out there, those who can either supplement or complement me with the same or different talents, and I want to be shaped and inspired by you.

I hope this doesn't sound like I'm whining. I think it's extremely important that you figure out how to do what you LOVE in life, even if it takes a long time to build up to it. I'm not looking for quick solutions, I just want to know how I can build up to it. Any advice?

You can see the work that I've been doing here: http://jlongster.com/blog/




IMO, your passion is far too broad. You like graphics, programming language design, research, and three other things.

To be brutal, it sounds like what you're in love with is noodling around, with no particular deliverable.

As Jobs said "real artists ship".

My two pieces of advice:

1) keep honing your ideas until you've got something that is: * bounded * achievable * of interest to someone else ...then try to develop and productize that

2) in the mean time, keep the lights on and Ramen cooking by doing some contract work. It's a challenge to keep booked up 40 hrs/week, even if you're trying, so you shouldn't have trouble keeping it down to 20 hrs/week, and working on your passion in the other 20-40.


Thanks. I completely agree. I have downplayed the option of part-time contract work for some reason. That's probably the best fit fore my life right now.

Thanks to everyone else as well, it's great to get feedback. I won't respond to everyone's post, but it's all good ideas. I mainly want to contribute valuable work to the field of CS, so doing either part-time work or graduate school is good for now.


As an artist, I can offer a third option: don't try to make money doing what you love.

I laid out a budget that would keep me alive --- food, shelter, etc. Essentially, what it would take to be personally ramen-profitable.

Then I made a budget of what it would take, minimally, to keep me doing what I think is important.

I added them together, then looked for a job that wouldn't exhaust me, and would leave me with that much money. For me, that amount is below the poverty line --- so it's not that hard to find a fast-food job that will keep me above my personal happiness line without wasting too much of my energy. And when I sell some of my art, that money is bonus.

I think that if you've discovered the contribution you want to make to society, and if society isn't willing to pay you for it, then don't, for the love of god, cave in! Just give society something that it wants (burgers flipped) and leave your mind and body available for what you know is important.

And if something better comes along, you have no reason to regret leaving your job. You can always get another just like it.

[edit] If tjic is right, and he might be, then I am wrong. If you're going to do what I just said, be sure that the product of your passion will be worth removing your talents from the market.


It sounds like we have similar interests; I've been working on a library for Clojure which wraps OpenGL and allows for shader programming in an idiomatic DSL. It's been a lot of fun to develop, and I agree that graphics programming has a tremendous amount of incidental complexity. Trimming away the fat is a deeply satisfying experience.

I don't really have the same commercial ambitions as you, but a few things to consider w.r.t. your first option (developing a graphics engine):

* Lots of people have a vague ambition to create a game. The number of those who will spend money towards that end is much, much smaller.

* Any graphics engine worth purchasing will need to implement a lot of "boring" stuff. You can probably punt on AI, but fonts, audio, and menu systems are non-negotiable.

* It will be pretty hard to sell a graphics engine if there's not a prominent success story to go along with it. That means you'll have to create a popular-ish game, or convince someone else to.

If you can support yourself on part-time consulting, go for it. But make sure any work you do on your own time is worthwhile in and of itself, rather than with respect to some future payoff that may never happen.


Interesting, is your Clojure code released?

You are right about the boring stuff. It's overwhelming, of course, but if I truly went down the route of developing a graphics engine, I would take the risk of investing lots of money and time for implementing both the "interesting" and the "boring" parts. Fonts, menus, etc. aren't that hard, but it just sucks to be doing it instead of the interesting stuff. Doing both would be alright.

But in the end, you're right. For now, I'll probably start implementing my ideas purely by themselves. It'll be great fun doing so, and if I think any of them are worth pursuing, I can flesh it out with the boring stuff.


http://github.com/ztellman/penumbra/

It's very much a work in progress, but there some interesting stuff in there. Especially of note is the GPU-driven Mandelbrot viewer (http://github.com/ztellman/penumbra/blob/master/src/example/...), where the shaders are syntactically and idiomatically indistinguishable from the rest of the code.

Every graphics engine I've seen focuses on performance rather than expressiveness. With current trends in graphics cards, that seems more a matter of custom than necessity. It's an exciting time to be working on this stuff; there's huge swaths of unexplored territory out there.


Very interesting, thanks. I'll be thinking about this more. I was thinking of building a compiler which compiles sexprs down to something like GLSL or possibly even lower (GPU assembly).


Well, if you're interested in programming 2d running games like Mario or Canabalt with cocos2d, I'd be interested in a partnership. I have a powerful cross-promotion network to push any game. Also have some funds for purchasing graphics, and have hands for manual labour.

I think the side-scroller market is a good area to be in in games.


I would definitely be interested. Sending you an email now.


Having passion is not enough, you should work something.

I love philosophy and wants to do some free mind thinking, but I couldn't do it all the time. I just take few hours each month, I like playing with Dog, it takes few other hours also.

So do whatever thing you like, there's no problem with it. If you don't want to get a 9-5 job, that's Okay, work as a freelance.

You can make a lot building apps for iphone, software for windows and services for the web. This will make you busy and you'll work on things you love since it's you who decide which thing to build/code and you are taking %100 profit from it (and it's yours!! yay)

In your free time (will depend on your earnings), you can either build the next big thing (startup) if your dream is to become a millionaire, or just spend time studying gravity and other things you may love.


I'm a big believer that passion can translate into making money on the Internet. Passionately working on something is inherently valuable - that is, it's at least valuable to the designer and others possibly as well. The trick is merging passion with something either highly valuable, or having value to many people. For example, being passionate about how bacteria forms on pennies may not yield much future by itself, but tweaking that passion to possibly an area of study for solutions to handling germ ridden objects like money could be quite profitable. You already have one of the best things I can suggest: a blog. This enables your potential value to be found. (one note: try having at least one picture for every entry) Next, think of how you might fit your passion in with existing lucrative areas. Last, continue to network/reach out to others, including those that might back your passion financially. It may take months, or years to cash in, but chances are you'd work on your passion anyway, and I believe that's a great precursor to success.


There might also be the option of going to graduate school and working on graphics. A language for geometry/scene graphs sounds like a plausible research project.


I'd keep shaving at the one thing that draws your interest the most with every spare moment until it's super sharp. Whether it's redesigning a graphics engine with Scheme or otherwise.

In the meantime, work with a friendly startup and start building up your skills/network, or consult to pay the bills. I'd avoid a big company job unless the culture is super.


This is a classic dilema: what you love doesn't pay well.

The solution is to try to AUTOMATE your income so you can spend time doing what you love, whether it pays or not.

You can automate it by putting in the grunt work up front to build something passive or save enough money to live off your net worth (rental properties, investment income, etc).

I've explored this topic in depth on my blog, http://www.StartBreakingFree.com if you're interested. Sounds like you're off to a great start though, you're not alone!


random probably impractical suggestion, but if you like scheme, maybe you'd like smalltalk (they're both "purist" languages). and, if so, maybe research at wherever alan kay is these days. at one point that's what he was doing (interactive 3d worlds etc).

[edit: ps, also, if you don't have kids and are experienced you can actually do pretty well at a day job plus your own projects. i do it, and as far as i know the people i work for are happy. my day job is contracting, but on long projects and it's typically a mix of "the usual" and stuff that requires fairly serious thought (typically numerical). at the same time i have worked on side projects pretty much constantly - on the python parser "lepl" for over a year, most recently. obviously if you have a partner they have to be understanding (and/or equally obsessed with their own thing). i think one helps the other - when work is tedious, side projects stop me from going crazy; when work requires effort side projects get work on web design... i enjoy both. i may be the very lucky expception, of course.]


I was lucky enough to find a job doing something that I love. Have you given much thought to finding a full-time job where you could do 2D/3D real time graphics? At the very least, you could be satisfied with the work you're doing AND have money to live on. You could even go to grad school part-time and get started on that research you are so passionate about. In any case, best of luck.


The problem with this is that his "research" work may be directly applicable to his paid work. This might make things difficult depending on the employer.




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

Search: