

Ask HN: Am I Not Passionate Enough? - resilience

Here's a little background:<p>- Took a C course. Loved it and did extremely well<p>- Good knowledge of Windows and some Linux (Ubuntu)<p>- Learned Python on my own, no Django or any web framework.<p>- Basic knowledge of Git and SVN<p>- Fairly proficient in Java, currently looking at Servlets and JSPs since I need it for my internship next year<p>I learned all these things in the span of ~2.5yrs because I believe I truly enjoy programming but what really bothers me is that every time I try to start a project, I just can't think of anything to make and when I try to join one, I end up thinking, "nope, too hard for me."<p>Don't get me wrong. I get that really good feeling every time I make little scripts(using bash or python) that automate some of my daily tasks but I've really been wanting to work on something larger than ~200-300 lines of code.<p>Anyone went through this stage before? How did you deal with it?<p>FWIW, I might as well say that if you need some help with your project, email is in my profile.
======
david_shaw
_I get that really good feeling every time I make little scripts(using bash or
python) that automate some of my daily tasks but I've really been wanting to
work on something larger than ~200-300 lines of code._

That really good feeling is the seed that will grow into the beautiful and
addictive life of a developer/engineer.

You're starting at a great point: finding problems (even if they're small) and
solving them. This process is how I begin (even large) projects: if I can save
myself some trouble, chances are that other people will appreciate it too. I
built a profitable webapp (<http://sleepyti.me>) last month around this
concept, and my December project (<http://studycards.net>) is trying to solve
a common problem, too.

I think the GTD methodology is helpful when you approach large projects and
end up thinking "nope, too hard for me." _Every_ complicated problem can be
broken down into a series of less complicated ones: this is the very basis of
programming. Don't be daunted by big projects, just break them down into
managable chunks.

And whatever you do, don't get discouraged! Work on cool projects and always
learn new stuff: 2.5 years might seem like a long time, but it's just a grain
of sand in the longevity of your programming lifetime. Good luck!

------
darkxanthos
"I just can't think of anything to make and when I try to join one, I end up
thinking, "nope, too hard for me."

That's the problem there. Don't give up and just keep on trucking. Focus on
solving problems and less on technologies. For any problem you tackle come up
with SOME solution even if it takes 10 hours to run instead of a tenth of a
second.

What's always helped me is to learn enough about a given domain that I can
attempt a solution and then I double back and learn how other people solved
the same problem.

For example, create a bit.ly clone, or a budgeting web app, or a way to track
which books you've read and which you want to read.... etc.

When you try to modify open source code screw whether or not anyone will take
your commit, first just focus on a specific aspect of the software and learn
to bend it to your will, even if that's just making it crash when you expect
it to. :)

You're doing great and you're well on your way!

