

Advice to Aimless, Excited Programmers - budu
http://prog21.dadgum.com/80.html

======
orblivion
It's funny because some of us have the opposite problem. Too many ideas, but
not that much interest in learning new languages for their own sake. So when
it comes down to implementing a new idea, we want it done quickly. We don't
want to take the time to try to figure out how to make it in Haskell, and just
revert back to Python.

~~~
Elite
I don't see the problem here.

~~~
orblivion
Part of me is left nagging me for not learning Haskell.

~~~
Das_Bruce
Have you tried, I wouldn't recommend it, I think I had a stroke trying.

------
nihilocrat
Or you could just make video games.

Just be sure to finish them. The mantra in indie/hobby video game development
is "finish your games, and if you can't finish, try making something simpler".

See also: <http://makegames.tumblr.com/post/1136623767/finishing-a-game>

------
nkassis
My advice would have been to reinvent the wheel. Yeah it might not add to
anything useful but there is an off chance it could. The reason why
reinventing the wheel is good is that you have direction as to what you should
implement. Trying to do something new all the time isn't possible.

I used to build tic tac toe games It was never complete or useful but it
helped me learn the tech I was using. Now days creating a blog engine is my
new tic tac toe.

~~~
billswift
I haven't done this myself (not enough experience) but I saw a similar idea
discussed years ago - for an experienced programmer learning a new language,
reimplement something _you_ have already written in the new language.
Supposedly, the fact that you had written the first application shows that you
understand the problem domain, so you can concentrate on the new language.

~~~
jacobolus
Not enough experience to make a tic-tac-toe game? No time like the present to
try!

~~~
billswift
I have never done any graphics at all. All I know is bash and some awk and
perl, mostly for text processing. I keep planning to learn more, which is why
I read about it a bit, and browse HN, but I have too many other things I want
to do too.

~~~
bmelton
Who says you need graphics?

o | o | o \---------- x | x | x \---------- o | o | o

That (if HN doesn't mangle it) should be a fully working Tic-Tac-Toe board.
You can store it as a string, hashtable, whatever you want. You could label
the squares 1-9 for the prompt asking the user where to move.

This is all doable with perl and a command line. Try it out, see what you
learn.

~~~
bmelton
HN mangled it, but I think you can see where the line breaks ought to go.

~~~
spicyj

        o | o | o
        ---------
        x | x | x
        ---------
        o | o | o

------
terra_t
+100

This also applies to the 'entrepreneurs' who hang around, wanting to make it
big but lacking any ideas about anything useful they could do.

~~~
Swizec
There is a surprising number of these. Although I would wager that the ones
who hang around wanting to make it big and having lots of ideas as to how,
just no useful ones are on the right track. They just have to improve their
ideas so they can be useful.

The real problem are those who don't even have useless ideas.

~~~
terra_t
I'm coming at it from a technical background, but something that excites me
from a business perspective is developing a business system that is able to
efficiently execute plans in a certain space. However, just as I'm about to do
that, I find there's one particular plan that's got the potential to make it
bigger than all the others, and I make an "all in" bet...

------
stesch
> Stop and think about all of your personal interests and solve a simple
> problem related to one of them.

That's why there are so many programmer tools and frameworks. :-)

------
nostrademons
For most of the people looking to program something in Haskell or Erlang,
programming _is_ their outside interest. Perhaps that's why we get so many
compilers written in exotic languages...

~~~
shadowfox
Though truth be said, some of these languages are very well suited for the
sort of tree manipulation that a compiler requires.

------
jdoliner
While I think it's completely correct that the best software is produced when
a programmer recognizes one of his own needs which isn't being met and decides
there's a better way to do it. It's bad to take such a disdainful stance
toward programmers in that stage between producing simple self contained
projects and software that can be integrated into an OS or other applications.
Charting your own course is tough and frustrating. The best advice for aimless
but excited programmers in terms of what will help them and the community the
most is to join another project. Opensource is an obvious choice since it has
a low barrier to entry but an internship at a company could work well too.

------
djhworld
I think I suffer from this problem, I like to compare it to writers block or
something like that, my problem is that I want to develop something but I
don't know what and get frustrated at having a lack of ideas.

This frustration then gets interspersed with furious bouts of development on
personal projects that can last 4-6 weeks, and then I go back to another 3
months of doing nothing and hitting my head against a brick wall.

Help?

~~~
awfulcoder14
(Warning: somewhat spam)

I'm trying to make a website to solve this: <http://somebodybuildthis.com>

~~~
daychilde
You (and others) may be interested in this reddit:
<http://www.reddit.com/r/SomebodyMakeThis>

------
wccrawford
I think we've all had a shiny new tool that we are just dying to use, but
don't really have a use for it. That's what these posts are.

The advice is correct, but could be summed up better:

Go work on something.

It doesn't matter what, just pick something. Don't ask someone else to give
you work to do. That -never- works out without external pressure, like a
paycheck.

------
fady
fresh, eager, programmers should jump into any project that interests them,
regardless if its personal or public.

~~~
wtracy
Indeed.

I get the urge as much as anyone else to "build something new and cool" (spend
enough time Googling me and you'll see I'm pretty guilty of this) but I think
FOSS would be farther along if fewer people tried to start their own projects
and instead contributed to existing projects.

------
alanh
Summary: “You should be motivated in the same manner that I am.”

Er, what’s wrong with someone looking to non-specifically contribute something
to a movement (GNU/Linux) or to improve their skills in a particular language?
Not anything, necessarily; they’re probably just young.

~~~
wtracy
The point is that with the given strategy, the developer won't be able to
contribute anything meaningful to their pet movement. They might learn
something, but they won't create something useful.

------
SpoonMeiser
This is excellent advice.

------
johnarleyburns
Drum accompaniment, what a great idea! But can we do it in Visual Object Cobol
98++?

