There are probably a million suggestions to offer on this subject, and ultimately it's going to be a different answer for each person. But, here's my two cents.
The key to everything is staying motivated and positive. Without those two things, you'll struggle to maintain the necessary energy to finish a product.
I wake up every morning before the rest of my family and code for 2 hours. This time is absolutely precious, and you might be surprised how much work you can accomplish with quiet, focused time. Not everyone is a morning riser, but you must find a time in which your body and mind can get into a groove.
Relax and accept that things will take longer than if you worked at it for 8 hours straight like a full-time job. You're not a failure if your side-project is moving slower than the products you're building at work.
Instead of cutting corners, build fewer features. Cutting corners feels like that means you're sacrificing quality, and your customers deserve a quality product. I think customers appreciate more straightforward products over complex products anyway. Gather early feedback from trusted customers about what's working and what to build next. You'll also strengthen your relationship with your customers by listening to them and tailor-making your product to their needs.
I completely agree with your #4 topic. I think developers experiment too much because of the fear of missing out. Use the tools that make you the most productive and build a toolkit that helps you be productive. For instance, keep iterating on snippets, develop your own personal library of functions that help you work with strings, dates, UI controls, etc. These can help you in your full-time job too. A useful toolkit is one where you're not solving the same issues twice. If your career takes a turn towards different languages and tools, then rebuild your kit and continue chugging away.
I think there's more to unpack here, but those are my two cents, and hopefully, they help a little.
I think this is a great question!
There are probably a million suggestions to offer on this subject, and ultimately it's going to be a different answer for each person. But, here's my two cents.
The key to everything is staying motivated and positive. Without those two things, you'll struggle to maintain the necessary energy to finish a product.
I wake up every morning before the rest of my family and code for 2 hours. This time is absolutely precious, and you might be surprised how much work you can accomplish with quiet, focused time. Not everyone is a morning riser, but you must find a time in which your body and mind can get into a groove.
Relax and accept that things will take longer than if you worked at it for 8 hours straight like a full-time job. You're not a failure if your side-project is moving slower than the products you're building at work.
Instead of cutting corners, build fewer features. Cutting corners feels like that means you're sacrificing quality, and your customers deserve a quality product. I think customers appreciate more straightforward products over complex products anyway. Gather early feedback from trusted customers about what's working and what to build next. You'll also strengthen your relationship with your customers by listening to them and tailor-making your product to their needs.
I completely agree with your #4 topic. I think developers experiment too much because of the fear of missing out. Use the tools that make you the most productive and build a toolkit that helps you be productive. For instance, keep iterating on snippets, develop your own personal library of functions that help you work with strings, dates, UI controls, etc. These can help you in your full-time job too. A useful toolkit is one where you're not solving the same issues twice. If your career takes a turn towards different languages and tools, then rebuild your kit and continue chugging away.
I think there's more to unpack here, but those are my two cents, and hopefully, they help a little.
Great answer. Thanks for sharing Cody 🙌