
Ask HN: Where do I go from here? - VolatileVoid
I've been working as a developer at the same job for almost 5 years. While the work is somewhat interesting and challenging, I'd hardly say it's something I'm passionate about. On top of that, I'm working with proprietary technology in a proprietary programming language.<p>My problem is that I don't have much inspiration to come up with my own project ideas. I'd like to do <i>something,</i>  but I feel like I'm dry on ideas. I'm not looking to create "the next hotness" or to become some Social Media Kingpin. I'm really just looking to do something fun and useful, that others might find useful as well.<p>My problem is - or, rather, one of my many problems (because I surely have more than <i>one</i> problem) - is that my hobby, my passion is programming. The problem therein is that programming - at least in my mind - is akin to writing poetry. If you're a poet and the topic of all your poems is poetry (whoa, that's meta, dude), well, you're not going to be a very profound poet.<p>I'm a programming nerd. My dream project is, "Hey, we need someone to develop an infrastructure for scheduling and running thousands of jobs on hunreds of different boxes and to keep the status of said jobs, etc." But that kind of makes me an architecture astronaut which, supposedly, is A Bad Thing (tm). And, besides, the above problem has been solved many times over.<p>I guess my question is: what should I do? What do you do for inspiration? How do you come up with your personal projects? When do you find time to do them outside of work?
======
chipsy
If the suggestion of solving other people's problems or entrepreneuring
doesn't (directly) interest you:

Find a second skill to cultivate that complements programming. (Prime examples
would come from the arts and science.) Seek a novel interdisciplinary approach
to using both the new skill and your current ones. You don't become passionate
about hard work overnight, yet you've somehow reached that point with your
programming abilities. So lifestyle changes notwithstanding, if you can do it
once, you can do it again with a new skill.

Doing this will bring you out of the "meta" realm where it looks like
everything in software is one of (hugely complex, painful to maintain, already
built, a pointless hack). Instead, you will have the benefit of perspective
and can start to apply your technical armaments to some other field where
computer-oriented problems are obvious, commonplace, never-ending, and usually
- at first - easy to solve.

~~~
Ixiaus
This is an excellent response. Diversification can do nothing but assist you,
even if you deviate only by a small degree. Example: I used to have a similar
issue with "idea paralysis" and it wasn't until I created a focus by
recognizing my desire to write (but not replace programming, mind you) that I
was able to come up with a solid idea and follow through with it (a
decentralized content API is the app I've built and that atleast two of my
sites run their content off of).

Follow the advice of above, it is very good.

------
angelbob
_"Hey, we need someone to develop an infrastructure for scheduling and running
thousands of jobs on hunreds of different boxes and to keep the status of said
jobs, etc." But that kind of makes me an architecture astronaut which,
supposedly, is A Bad Thing (tm)_

Just doing it to do it makes you an architecture astronaut. Finding somebody
with that problem and solving it, especially in a different way, _is_ a
desirable thing. You could either out-compete an existing solution by doing it
better, or find a chunk of problem space they don't really address (or don't
address well).

Then you're an entrepreneur, which around here is certainly a desirable thing
:-)

That is to say, figure out what it's useful for and keep that in mind.

~~~
cmars232
Yes, this general "solution template" arises in many different applications,
each with their own domain-specific constraints or specialized technology,
requiring a customized solution.

------
patio11
_What do you do for inspiration? How do you come up with your personal
projects? When do you find time to do them outside of work?_

I talk to people who have problems. (I recommend meatspace for this since if
you just go to HN or Twitter you'll tend to select the problems that people on
HN or Twitter have, and they'll say something like "I am really involved in
too many social networks and need like a meta-social network, with RSS feeds
and Twitter integration", and you'll go off and build something that will
never be used by someone without a Twitter account which, by last count,
excludes 99.9% of the population of earth.) For my personal project, I solved
that problem. Finding time was a matter of looking at what I did between
leaving from work and going to sleep and deciding what mattered to me less
than being a successful businessman. Bye, WoW, it was nice while it lasted.

~~~
HeyLaughingBoy
_I talk to people who have problems_

I'll second this, but add that you can reach more people online than in
meatspace. Change your focus: instead of only reading blogs frequented by
programmers, read car enthusiast forums, gardening blogs, dry cleaning
business forums... you get the idea. Spend time listening to people whose
problems are completely alien to you.

And get another hobby :-)

------
stephen
If your dream job is "thousand of jobs on hundreds of boxes", why not start
hacking on something like Hadoop/Hive (or any one of the other new/popular
distributed data stores) and, after proving yourself to the community, try to
get a job for one of the companies that sponsors/offers support for the
project?

E.g. cloudera, engineyard, something like that.

That way you're programming on a project that is technically challenging, more
mainstream, and also a core part of the company employing you (instead of just
being an enterprise IT cost center), all while leaving the business stuff to
the company's sales/execs/etc.

My hunch is that those types of companies are more open to telecommuting as
well, which might be nice given you mentioned having a family.

------
csomar
You are stuck with ideas but you have a potential. Try something simple, if
you are not working for money so you'll really not care if 10 or 20K users use
it every day.

Look around, what can help people? Something simple, small and easily
maintainable. Finding it is a little hard. Don't forget that no one will give
you the idea; but you can find it yourself.

Do a little search on forums, what are people looking for? what causes them
headaches? May be the solution is a little Firefox plugin, but it can help
kill your free time... if you finished it, go to the next one. One of those
projects may turn big and take to what you have never thought of...

------
edw519
_While the work is somewhat interesting and challenging, I'd hardly say it's
something I'm passionate about._

The reason you are not passionate about your work is because something is
missing. Identifying what is missing is your first step in determining where
to go from here.

I have been in a similar situation to you. Always working. Important stuff.
Sometimes cool, often not. But something was always missing.

Architecture not rigorous enough. Inadequate data base design. Insufficient
requirements definition. Lousy code base. Unable to scale. Unable to expand or
handle completely new features.

But I always managed to make it work anyway.

Then it occurred to me, if such mediocre systems were able to produce adequate
results in commercial environments, what would be possible with great systems?

So now I'm building a framework/architecture/environment that beautifully
handles everything I thought was missing before. The passion is built-in.
Instead of, "Look at me, ma!" now it's "Look at this, everybody!"

Where do you go from here? Fill in the gaps that should have been providing
passion all along. That oughta keep you busy for a while.

------
alain94040
Easy: keep your day job. Work night and weekends on something you are
passionate about.

Where to find cool stuff? As a programmer, the world is your oyster: there is
a 100:1 ratio of people with ideas vs. people who can implement them. You
probably don't know that I run a website to help people find such ideas:
<http://fairsoftware.net/publicProjects>

If nothing else works, there got to be some open source project which you
think could use some serious rewriting. In my case, I wish I had the time to
design a better shell (bash just isn't smart enough for the way I work - if
you ever used the Mac MPW in the late 90s, you know what I mean).

For others, it's a better, smarter GUI framework. I also think you could build
something really cool to display Google search results: coverflow is just one
starting point, but you can easily beat Google at the display part because of
their fanaticism with providing simple page results. There is a better way for
sure.

------
turkishrevenge
"My problem is - or, rather, one of my many problems (because I surely have
more than one problem) - is that my hobby, my passion is programming."

I know its been said over and over again, but I think the advice still holds:
join an open source project. Contribute to a piece of software you and others
enjoy using. Software only gets better when people are willing to work on it.

------
mtrimpe
Start a company. Just pick some interesting idea you're actually capable of
executing and just start building it.

Don't worry so much about whether you will actually make money, to keep it a
hobby, but make it in such a way that you might, to keep alive hopes of
actually making a living out of it.

Doing it that way will allow you to make it however you please and to make it
as beautiful as you want. The fun part is that along the way you will
encounter critical areas you never thought about, but which are quite
interesting to do once (setting up a build infrastructure, migration etc.)

Just make sure your code stays a thing of beauty, something so solidly
engineered that you're truly proud of it. Don't rush things but take the time
to make them 'just right'.

That way you'll have had a great time writing it, and if your company ever
gets off the ground you'll have an amazing code base to start off with.

~~~
VolatileVoid
_Start a company. Just pick some interesting idea you're actually capable of
executing and just start building it._

Ideally, I'd do just this. I'd leave my job, take a few months and do my own
thing. The problem is that I'm not prepared to take that risk; I have a good
job, it pays well, and it supports my family. If I walk away and succeed
(where success >= the same amount I'm making now), awesome. If I fail,
however, I've left a job I'm good at, and that I'm comfortable at.

Perhaps that's the crux of the issue right there. I don't want to take the
risk of putting all my eggs in one basket, but I find it difficult to get
inspired if I'm not fully invested. Thus, if given the option after a long day
of work to either watch Top Chef with my wife or do something interesting in
Python, Top Chef+Wife wins every time.

~~~
mtrimpe
Somehow I forgot to mention "as a side project" in my original post.

Your job will most likely always be shitty, at least I know it is for me. No
company I can find excites me and the ones that do generally don't stay
exciting for more than a year, after which you'll be hunting for a great job
for several years before you find another one.

If you don't want to work on it in your spare time, your only choice is to
find a kick ass job that pays enough to keep your family happy. If you figure
out how to do that; let me know... ;)

------
jacquesm
Why is being an architecture astronaut supposedly a bad thing ?

There are plenty of places that are in dire need of people with that skill,
it's taking system administration to a whole new level and not that many
people are capable of doing that.

If you're up for a challenge find some fledgling open source project that
tries to solve a real world problem that you have some affinity with and start
contributing.

Sooner or later inspiration will strike. It usually does when you stop looking
for it!

best of luck,

    
    
      Jacques

~~~
btilly
The reason why being an architecture astronaut is a bad thing is the tendency
for building complex systems that solve all of the problems they thought about
which then makes it virtually impossible to do some simple things that other
people need to do which they _didn't_ think about.

Oh, and the other problem I have encountered is the tendency for the astronaut
to be unable to explain the complexities of their system in ways that people
back on Earth can understand. (More than once I've been assigned such systems
because I actually _can_ figure them out. I don't enjoy it, but I can do it.)

------
bhousel
Find a local meetup, and try to connect with people in your area who have cool
ideas. Then put together a team and start building.

BTW, if you happen to be in the NYC or Philly area, email me.

------
jrockway
Go to conferences. Make friends with like-minded people. Get another job.

Then you will be closer to your dream than you are now.

------
coryrc
Read HackADay www.hackaday.com and improve on one that sounds fun.

------
vaksel
start a blog, build a following, then once you decide to do your own startup,
you'll have that first 1000-2000 early users

~~~
RevRal
Can you recommend a guide?

I would like to start a blog, which is technically no problem. It's just,
running into all the abandoned blogs on the internet has been discouraging.

