43 karma · joined June 8, 2015
ShopTalk [1]
Recode Replay [2]
The Changelog (as you mentioned) [3]
Giant Robots Smashing Into Other Giant Robots [4]
Those are a few that I listen to regularly. I have too many podcasts (but I have a feeling I'll pick up some more from this thread...)
[2] http://www.recode.net/recode-replay-podcast
[3] https://changelog.com/podcast
Edit: [4]
To that last point, I believe both of us could benefit from the "GTD" (David Allen) approach. In particular, utilize the "Clarify" step to write out 1-3 small things you want to do each day. Instead of setting yourself up to "build a small thing" or "learn a subject," split the day's tasks into easy stuff like "init git repo" or "read first chapter of intro to Go."
But, if your week burns you out (my main motivation for a lack of will on the weekends) you may be better off resting. Schedule your downtime in addition to your learning/project time. Give yourself time before and after your project to zone out and click links aimlessly. And, if it suits you, get a buddy to be accountable with. Someone who's going to ask you on Sunday evening if you've taken at least one step toward your goal. Hope this comment helps.
I asked myself (now 27) this question when I was only one or two years older than 20, and realized I needed to make a change from what I was doing. My mind has certainly changed several times since then, and I expect it to change several more, but the initial "no" answer was crucial to getting me out of what was essentially a career in tech support.
1 & 2 are different for everyone. I get an energy boost from working a certain amount of really productive hours during the week. Be self-aware, meditate, and identify the symptoms leading up to burnout. Err on the side of caution when it comes to preventing exhaustion, but let yourself binge on productivity if you're excited about the work you're doing. After you're done with that project, if you have a chance, take some time off and do something completely different. Surround yourself with people, opportunities and environments that make you excited to take a break.
I don't think the answer is the same for everyone, but my best times have been when I was helping someone accomplish their dream company/project/etc. Self-employment wasn't fulfilling for me in the way I had hoped, but sticking with someone who has a great vision for something and being their support really helped me to feel momentum for myself. Doesn't matter if I was making lots of money, or just following the project and offering my opinion when asked.
My advice would be to seek out an opportunity, however small, to find something that has meaning and momentum. Mentally put your office work on autopilot, use your energy on the nights and weekends to find interesting people and offer your unique perspective on what they're doing. I'm not out of the woods yet, so take my advice (and all the other posters') with a grain of salt. Hope this helps. Let us know how it goes.
Edit: The thoughts Derek posts over at sivers.org have been very inspirational to me as well. He'll even answer your email if you ask him some questions.
I also hang out with a couple people that bootstrapped their own product/service while working a full-time development job and they now run successful businesses by themselves, after running it "on the side" for 1-2 years.
One thing I'd like to add, assuming the financials work out and everyone is happy, is that moving from CS/programming to a CTO position is going to require quite a different skillset. You probably won't be programming all the time, at least not after whatever project they have in mind is in a stable place. You will potentially be responsible for reporting/BI/analytics, systems architecture and administration, tech support (Yes, everyone is going to ask you for help with their computers), and anything else tech-related that comes up along the way. If you want to stay in good shape as a programmer, you'll be responsible to find the focused time to code, keeping your skills sharp and current, and staying motivated to do so. At this time, you'd normally go work with an established development team who can guide and mentor you, as well as balance the team so that you have time and resources with which to further your skills.
The only thing in your post that makes me think this may be a good opportunity to explore is when you mention entrepreneurship as your long-term goal. This is likely going to be a great crash-course in how difficult that can be. My advice, though, would be to get great at what you know and learned, spend a couple years on a great dev team, save some money, and I bet there will still be opportunities for you to get into a startup for all or mostly equity.
Hope this helps. I'm just a young guy who's seen some different sides of the equation.