| Presuming a full 3 months of free time: 1. Pick a project that is either very time limited ("I will build a compiler in 5 days") or something you will actually use to solve a problem fairly quickly. Otherwise you're just spinning your wheels or building too many features. More here: https://codewithoutrules.com/2016/09/09/side-projects/ Notice that normal job writing software usually has both those aspects: actual need, actual deadlines. 2. At end of every day (or week), notice what you've done wrong and what cues and models you were missing that led to that mistake. (I do this here: https://softwareclown.com). 3. Spend an hour a day learning about existing technologies and what they're good for. Go for breadth, as many things as possible, not depth. If you want to choose one in depth, focus on one that's related to your current knowledge (https://codewithoutrules.com/2016/04/27/which-technology/). 4. Read some good books, watch some good videos, try to apply what you've learned. E.g. https://www.destroyallsoftware.com/talks/boundaries and https://www.youtube.com/watch?v=29MAL8pJImQ will take you quite far). 5. Only work 40 hours a week. Even better, 32. Working shorter hours will force you to focus on achieving your "X-in-a-week" project by being smarter about it, instead of brute force working longer. (https://codewithoutrules.com/2016/11/10/work-life-balance-so...) 6. Try to write up what you've learned every week. Explaining something to someone else improves your learning. |