I did a coding bootcamp and yeah the frontend knowledge they taught was useful, but I could have learned that online for free. I used to consume big githubs like this by by the bucketful, but none of them really focused on these soft skills. Looking back, the far more valuable thing I learned was these exact soft skills, that unlocked a level of discipline I'd never had, without which I'd never been able to have a career change, or a successful career after.
The shared article in the github is incredible: https://www.theguardian.com/commentisfree/2020/sep/07/termin...
I often wonder why I don't see more of these sorts of articles. From watching a family member slowly die of cancer, and from reading books like "When Breath Becomes Air," I'm guessing it's some combination of exhaustion, disability, and a new set of priorities that doesn't really involve death blogging. Still, I find these kinds of writings more poignant than most things I read.
Being faced with the limited time we have on earth, I have had a hard time deciding whether it'd be better to spend time on building a career that makes a lot of money, or to enjoy the richness of life right from the start. (Or any of a zillion other ways to live a life, for that matter.)
The sneaky thing is, you are going to die, so the above statement should ALWAYS be how you're living your life.
If your work isn't important enough to you to be doing if you know you'll probably be dead in 1-3 years, you probably shouldn't be doing it now.
For me, my work is important to me and my values (I run a software co-op), and also enables me to live out my values in ways I'd like to do in the future (kicking off a global village construction kit project - for which I need money, lol).
Engineering certainly makes me a lot of money compared to when I was a teacher, but also it allows me to help build technology to liberate people, which is very important to me. In that way, I believe I'm successful, because I get to build things that make me better at building technology that liberates.
If I were to find out I would die in the next few years, I believe only thing I would change is shorten my long term plans by working my own contracts less, sell my stocks, and travel more, if I was healthy enough to. I believe I'd still run my co-op.
- Chomsky 1956, _Three models for the description of language_ https://chomsky.info/wp-content/uploads/195609-.pdf
- Naur 1985, _Programming as theory building_ https://pages.cs.wisc.edu/~remzi/Naur.pdf
- Simon & Newell 1970, _Human Problem Solving_ https://iiif.library.cmu.edu/file/Newell_box00018_fld01306_d...
etc. Maybe too broad a topic? Basically this list feels like it's lacking answers to some fundamental "why is it like this" questions, if that makes sense.
My advice would be to make the code easy to understand and relatively un-entangled. Those make the inevitable refactorings easier.
If it is not complex it is easy to rewrite and replace. Some things need to be complex but trying to make things extensible is making it needlessly complex quite often.
In my experience, key is to keep the code as small and simple as possible, that way there is less that might need changing in the future.
No silver bullet I would say.