This reminds of important lessons I've learned from the classic How to Win Friends and Influence People - never ever criticize people and you will get the best out of them. There are countless other great lessons in this book about being a leader and dealing with people.
Honestly the best way to learn is to be lucky enough to work at a company that faces scalability issues. Second best is to try to speak with engineers who work on this kind of stuff.
FWIW I work at such a company (Microsoft/Yammer). I've learned more in 2 months on the job than the previous year I spent reading stuff on the side. Nothing like hearing the wisdom of seasoned engineers. I'm happy to chat if you are interested.
I'm going back to the basics. No more jumping to a new language or framework for each new project. My goal for 2015 is to have better results (output) in my projects, not focus on tools.
My goal is to learn enough Python and Javascript to build a significant sized project by the end of the year. This will be a nice change from my job where I use a Java stack (Jetty, Jersey, Jackson, Hysterix)
Seconded. Text is king for all the reasons you mentioned. I have tried OneNote, Evernote, Google Keep. Nothing matches plain text (with light markdown). I have a text editor open all the time. It's really natural to just start a new file or make a note within my normal workflow.
I'm 33 and started having back issues about 1 year ago. The root cause is sitting too much with bad posture. Now I force myself to get up and walk around every hour. I also do some back exercises in the morning and try to exercise at least 4 times a week.
Also stay away from drugs. Back pain is a million dollar industry and the causes are very easy to fix without medical intervention.
Ultimately, the only tests that matter are system tests (feature tests). These are the tests that ensure you're delivering the correct result to the customer. In practice I find unit level testing a pointless exercise.
Build something that is doable but will push your current skills. Choose a project that appears slightly beyond your current capability. That is the only way to truly learn.