Ask HN: How did you build your first real side project?
I'm looking for success stories on how you went from 0 to implemented, maintainable project to serve as fodder for my own project building.
In the past, I've read books on development (in C++, PHP, etc), but it doesn't seem to help all that much. I've started this time by using a book as a guide but diverging quickly to implement my own features. I'm a bit upset with my pace of development, as it has taken me about a week (with school) to roll my own auth/login/registration system in rails.
I feel scared to dive in as if I'll be in over my head, end up in dependency hell, or not be able to solve my own problems.
8 comments
[ 3.0 ms ] story [ 26.9 ms ] thread8:00 AM - Get up from Bed and get ready for office 9:00 AM - 6:00 PM office timings 6:00 PM - 9:00 PM come back from office after dinner take rest a while 9:00 PM - 12:00 AM Side project work
Out of my hectic routine i only manage 3 hours + full Saturday & Sunday.
For you my suggestion would be to move to Ruby on Rails framework because it will save your time spent on auth/login/registration (donkey work) it only take take 5 minute on rails to configure Devise gem if you cannot move to Ruby on Rails move to Laravel ( php framework similar to rails) + you really need to stay motivated during 0 implementation till you get your production DONE Best of luck
Yes, progress will be slow at the beginning. As you alluded to, doing things like auth/login quickly get complicated, especially if you are dealing with things like OAuth, OpenID, etc, and you have to learn one 3rd party library after another... which probably won't be well documented, and which will require you to read source code, use StackOverflow, use trial-and-error, etc. That's OK, that's just the way this stuff goes sometimes.
Over time, it does get easier in a sense, like most things. You gain intuition for solving certain problems, rooted in your experience. And the more you understand about how things work "in the large" the better you get at solving certain kinds of problems. Unfortunately, you usually also wind up taking on progressively more challenging problems, so you always feel like you're struggling just the same, even if you are actually moving much faster.
When I first started mountain biking, an experienced rider told me "it never gets any easier, you just go faster". In many ways, programming is the same way. But, like mountain biking, it has the potential to be a total blast. And unlike MTB (for the most part) you can actually make money doing this.
I built the app. Took most of my spare time for about a month.
I have fond memories of Costa Rica, that month included.
Once you have a list down of things that need to be built because you know the sum of those things is an MVP, put your head down and work until it's done. Don't question anything until you have an MVP. Stop second guessing the product or the market and just build it.
I'm leaving out the whole "research and learn from potential users" - that comes first, but that's not what we're talking about here.
TL;DR: Write a detailed spec for an MVP, then put your head down in code until you have an MVP.
For my next projects I'm going to try to work on some smaller things I can hopefully finish in a weekend. I feel better about myself when I complete things, which motivates me to keep working/learning new things.
Good luck!