7 ms·
This is going to sounds like crazy advice, but having worked on many side projects in my life the last thing that's going to let you down is your skills. What
by mikekchar 10y ago
This is going to sounds like crazy advice, but having worked on many side projects in my life the last thing that's going to let you down is your skills. What you really need is time. Let's say it takes you 400 hours to build your project -- in those 400 hours, you will build up enough skills to get you started (not nearly enough to be good at it, but good enough).
So you need to work consistently 1-2 hours a day on your side project. It really doesn't matter what you do. If you manage to get those 1-2 hours in, you will muddle through and accomplish something. If your goal is to make a side project and bring in a non-zero amount of money, this is achievable. Learn whatever you learn on that project and then do it again.
Personally, I would spend exactly $0 on your task because, like I said, the thing that will kill you in the end is likely to be time commitment. If you spend money, you will be out the money and your time. So start with time and see where it takes you.
As others have said, no need to get fancy. Just build the simplest thing that will get you started, using the simplest tools you can find.
- ssijak 10y agoMy biggest problem is in "no need to get fancy". Do not know how to overcome that urge to overengineer everything in the start and how to be satisfied with minimal working thing even if it looks like crap.
- ne0free 10y agoSame here
- Touche 10y agoYou can always make it fancy later. Having shipped a project and seeing people using it is very rewarding.
- JaumeGreen 10y agoI noticed that, as I get older, I tend to have less time, and so I try to optimize my time. When you don't have an hour a day to work on your side project, but 15 minutes a week, then you do what is needed for it to start working, even if it's not perfect or far from what you wanted. If you have plenty of time try to make the smallest thing that does approximately what you want. Then iterate over it, but always small but fully functional incremental changes. Don't be afraid of having to throw it away, no need to get it right the first time.
- wpietri 10y agoYou don't have to feel satisfied. You're supposed to feel unsatisfied with an MVP. If you didn't, you wouldn't have the drive to build anything better. For me, I use three other feelings to combat my high standards. One is fear. In particular, fear that I'm building a bunch of stuff that won't work. It's the same fear that drives me to write automated tests, or at least to manually run something and see that it works. Except here the fear is that it might work for me but not for my audience. Another is rigor. This part feels very sciencey to me. I'm trying to test the hypotheses that are implicit in the thing I'm making (and that I've hopefully at least tried to make explicit before I start coding). I want to test my hypotheses as early as possible, and when I don't I start to feel like I'm not being rigorous. The third is joy in results. The early tests are only looking for one step forward. If that's all I'm looking for, it is really exciting to see that. And so I temporarily set aside my concerns about all the things I'm not testing for and celebrate the wins when I get 'em.
- metakermit 10y ago> So you need to work consistently 1-2 hours a day on your side project. I would underline this consistency. I found that as long as I'm regularly doing even the tiniest of improvements to my side-project, I am very efficient over the span of a few months. When due to other obligations I drop the habit, I start forgetting how parts of the codebase work. It becomes harder to restart the project and the whole thing just seems depressing. Consistency is key! Also, I would recommend checking out Indie Hackers if you need inspiration :) https://www.indiehackers.com/ https://www.indiehackers.com/
- garysieling 10y agoI agree with the consistency thing too. I built a search engine for talks (https://www.findlectures.com https://www.findlectures.com), which has a UI plus lots of little scraper/ETL utilities. If I have a small block of time (1-2 hours), I try to make 2-6 really small commits, so there is always progress. If I have a larger block (4-6 hours) I try to build out a feature so it just works, just working on things that require that amount of time (leave all the short problems for later). I found this also affects my decisions about what tools I use and how the software is designed. E.g. using npm libraries for UI components that are "good enough", which I might be tempted to start from scratch in a work environment. I also intentionally built an application that is easy to manage - no user accounts means no database to pay for / migrate / monitor. I'm using Heroku to outsource monitoring/logging, and Aweber for email. Paid tools can be cheap compared to the time it would take to replace them, and if you don't pay for one of these, your side project turns into building those products as well.
- drrob 10y ago"What you really need is time". This. This. This. This. This. This. This. This. This. This. This. This. This. This. This. This. This. This. This. This. This...this. Over the last 6 months I've finally had the chance to a big bulk of my working hours to my main side-project, and it's taking shape very nicely. This is after starting it 3 years ago. Time and concentration are the biggest hurdles to getting anything off the ground.
- icoder 10y agoI want to add that in my experience, it is not so much about 'time' as an objective thing. Instead, especially for dev work, I would argue it's more about 'energy' (or 'focus', 'attention', 'willpower'). Or maybe you need both and the latter is more my limiting factor at the moment.
- inputcoffee 10y agoThat's a good point. I find I am more productive in the mornings.
- philnelson 10y agoTime and attention, yes indeed.
- snarf21 10y agoI agree with you that time is the big limiting factor. I think the other trap that people fall into is starting a side project that is too big. If you can't finish it in less than 2 months, odds are that you never will. Focus on something specific enough that it does something after two months. Then do v2.0 or switch to a new project. I've personally found the "don't spend money" part to be demotivating. I have several projects running and was paying a low cost designer for a small number of hours per week. This is kind of like having a company without long term commitments. It helps to keep me motivated since I need to keep work ready for him each week. Plus, I've made a personal commitment to pay him regardless. I don't want to waste money or his time so the project naturally keeps some momentum. This may not work for everyone but is like a "go to the gym with a buddy" plan that helps me. YMMV
- xemdetia 10y agoI think there is a lot of value to what is said here with regard to external expectation. Use the people around you to ask after your side project to make sure you don't stall. If having a recurring bill for a node on EC2 is enough to keep you going then that is good enough. The other thing I recommend is clock your time and be honest with yourself. It helps you know you actually spent 2 hours working on something and also has a constant action to keep progress going forward. You still need to rest so this has to be part of your clock.
- Touche 10y agoI disagree with "2 months". It's definitely true that launching early is the way to go. I think the biggest thing is continuing momentum. If you commit to working on the project every day for 1-2 like some others have said, you will accomplish small little things each day, and that will motivate you to continue.
- snarf21 10y agoYeah, I wasn't implying that you should have to "launch" anything by two months. Picking something small enough is important so you can say that part is "done". You can then iterate on v2 and keep building momentum or decide that it is too big or not interesting and start again with something else. I think the momentum of 2 hours a day is great but I think it has to have a goal. I think picking a goal that is 2 months out is a good size and will help you focus.
- inputcoffee 10y agoBut isn't time a function of skill? To put it another way, if you had a lot of practice at building CRUD apps, have your IDE set up, know the short cuts, might it take you 40 hours where someone else needs 400? In that case, time and skill would be fungible. (Or, skill can be thought of as "stored time.")
- thinkmassive 10y agoThis exact question is addressed in the book "Grit" by Angela Duckworth. I highly recommend reading the book, but to summarize her findings on this question... talent x effort = skill skill x effort = achievement So yes, you can achieve more by starting with a higher level of skill, however putting in effort (through deliberate practice) is the best way to increase both your skill and achievement (talent x effort^2).
- averageweather 10y agoSo true. I started side projects so many times without staying consistent and it created this self fulfilling prophecy of "I'm not good enough at coding, I can't build a real web app". Then for http://www.averageweather.io http://www.averageweather.io I finally decided to just keep working at it every day. After a few months I was comfortable with python, Django, js, heroku, and postgres to the point where I felt I could build anything I wanted if I just put in the time. Then something like http://www.thealccalc.com http://www.thealccalc.com took me like an hour since it is far less complex. So ya, just keep at it, google for answers to your questions and just keep learning.
- pesfandiar 10y agoYou argue that time is the limiting factor, and I tend to agree with that. However, you advice against spending any money, which can potentially buy you much time if spent properly. Paying for some of the grunt work or tasks that require learning new skills will free you up to do the more exciting tasks. Not only will this save you time, it also keeps you motivated and helps you keep up your daily cadence.
- jtraffic 10y agoThe time thing really resonates with me. I've had this crazy idea rolling around in my mind for a few months. It's basically a sabbatical for the private sector. I haven't devised a good model, but it's like: "we'll pay for a 3 month vacation, you give us equity in return." The main problem, of course, is the incentive to take a risk-free vacation and do nothing. I think the problem to be solved is: lots of people dream of doing something, but risk aversion stops them from going all in. As a side project, the idea starves. If you could decrease the risk, more people would try new projects, and some of them would be really valuable. Ironically, I don't want to quit my job to pursue this
- patleeman 10y agoThis is an interesting idea, would this not be similar to an incubator? I have a similar problem where I have a side project but can't really quit my job and work full time on it.
- jtraffic 10y agoYeah, I guess it is basically an incubator, except people wouldn't fully commit. My impression is that most incubators screen applicants for commitment, and that it's a really important component. I can't really provide hard evidence of my impression. Here, the worry would be free riding.
- dotchev 10y agoTalking about simplest tools, which are those for frontend development?