Easy answer: the extra time spent every day helping my daughter with her homework. This has paid off enormously. Not because she's a grade-A student (far from it; she has a lot of difficulty). But because I've been able to consistently, calmly teach her the following skills that I'm now starting to see her pick up:
1. Everything looks difficult the first time. The hardest step is always the first one. Take a deep breath and just "begin".
2. Never give up. Even impossible tasks are just lots of easy, smaller tasks. Learn to break things down into manageable pieces.
3. When in a time crunch (e.g. a test), learning to triage is a very important skill. Don't get stuck. Just skip and move on. Come back later. Learn to prioritize, etc.
4. Don't be scared. Everyone gets it wrong sometimes. You'll never succeed if your too afraid to fail.
5. Trust your gut. If something seems wrong, then it very well may be. Don't just accept someone else's answer because you don't happen to know the answer.
6. Always verify your answers. Don't just finish a problem and assume it's right. And learn to verify the answers of others as well.
Finally, never ever ever say "I'm not good at that." Say "I'm not good at that YET!" That little difference over time is reminding yourself that you could learn/do it if you wanted, you just haven't learned to yet.
It's interesting you say that, I actually recently wrote a blog post title "Don't help your kids with their homework" https://www.chrisbehan.ca/posts/dont-help-your-kids-with-the... although for very different reason than you have highlighted here. Thanks for sharing your perspective (:
"an essential ingredient of learning is feedback, often received in the form of grades"
"Recommend resources for learning"
The best thing someone can do to help another learner is to teach them how to evaluate their own work. If there is an answer key to the book, that's great. If there isn't, then they should learn how to use the worked examples to evaluate their learning.
Feedback is important as you say, but having a long time delay between completing something and the evaluation through a grade isn't helpful. It can be demotivating, lead to reinforcing or practicing bad habits, or not making the connection between seeing continuous improvement.
- I have a solid career/business-opportunity to fall back on when I get tired of the tech industry. Many trades have been around for hundreds of years and can't really be outsourced.
- I can use all common power and hand tools and do my own home projects.
- I've saved thousands of dollars on quality (non-particleboard) furniture over the years by restoring thrift store or sidewalk finds.
- By far the most important part though is learning the value of craftsmanship, and the process of starting as a beginner and gaining competence via prolonged effort.
I don't blog, but writing in general has helped me immensely. A lot of people think writing is grammar and spelling. Try writing to evoke a reaction from other people, e.g., strangers, loved ones, friends. For example, try to write something that will make a stranger laugh. I think you will find that is substantially harder than explaining how a compiler works.
Writing effectively is communicating effectively. And as time goes on it seems more and more things are being written rather than spoken.
> And as time goes on it seems more and more things are being written rather than spoken.
Agreed! Writing scales (write one, can be read by many dispersed in place and time), it is searchable (far more easily than audio), there's no accent barrier, has a high knowledge per byte ratio.
Moving to contracting/b2b had a much larger effect on my quality of life than I anticipated. I don't lose sleep over the insurance or investment options my employer provides. Flexible hours with most contracts. I feel more in control of my life.
Mind if I ask what your path was to get into that? I’m only in the 2nd year of my career but I think that’s the direction I’d like to go eventually, and as a veteran I have benefits (healthcare etc) that follow me no matter where I go that I think would help take the pressure off a bit.
I set up my business about a year before switching from full time employment so I had the option to do b2b work.
I would say I feel into it, a former coworker mentioned a contract to me that was b2b. I would say my contracts have been word of mouth for the last 3 years or so.
Edit: When talking with recruiters I frequently ask if b2b is an option, I would say 30% of the time it seems to be.
All of that is true. I have preexisting conditions; relying on my employer for insurance was a bit of a mess. Some jobs would have insurance that the best plan would cost maybe 8k more out of pocket in a year (compared to the previous employer). Maybe the FSA was really bad/they would not reimburse things they should/force you to appeal 3 times for every transaction (Imagine spending 5 hours a month fighting with the FSA program about giving you your own money).
Getting a contract is stressful, but I've found job security is basically non existent anyway, so if I couldn't find b2b work I could always take traditional w2 or 1099 work.
When I switched I was expecting more stress, and less stability. A few years in though, I feel better than I did in fte roles. It might not be for everyone, but it's worked for me so far.
Moving to a larger city with interesting people. Hands down. I dislike the politics and disagree with a lot of how the city runs, but I've met more likeminded founders, engineers and investors than I would've in a lifetime where I lived prior. I'll give a hint "silicon prairie" - smart people congregate in cool places, there's a reason they're expensive.
Starting a business. I had no idea what I was doing when I started, went into pretty heavy debt at one point and worked way more than anyone else I knew. But this taught me far more about what I wanted out of my career than anything else. Truly owning something end to end teaches you a lot about life.
A couple of years ago, I started this spreadsheet to share my investments with close friends and family.
One unexpected benefit has been that i have gotten my sister interested in investing. Since investing is a big passion of mine, it has been personally very rewarding to be able to discuss investing topics with her.
Conquering a couple of things that intimidated me, that I thought only wizardly programmers could do: took the Coursera Compilers class and built a compiler. Built an emulator.
This was early aughts, trying to set up Puppet to run OpenLDAP + Kerberos + samba (+ldap integration) + mail + webserver... learned a ton. I think I still have that hard drive in an ammo case around here somewhere. ;) Never did get OpenLDAP + Kerberos going again, but I keep thinking, someday, again. Slightly different next time.
But in general, that pursuit of knowing how things work, of giving myself a real experience with computers, going in & rolling up my sleeves... I was already a bit of a programmer, but chasing my desire to know & to see & to learn into operations & running systems has made such a difference, marks me apart from so many of my programmer peers & has been a lifelong gratifying way to build & grow & see & experience.
Learning some of the language and culture before interacting with native speakers; useful for travel and for teaching ELL students, as it honors their cultural experience and helps develop reciprocal relationships.
This definitely resonates with me and my peace corps service experience. The ability to communicate in not only in their target language, but also in their native language conveyed a since of, "if I can learn it, you can too."
Earning a MS in CS after my BS in zoology. My software development career would have continued to struggle in uncompetitive ways if I hadn't added mainstream computing credentials.
Learning to code was the best investment I ever made. Financially, I bought Sun Microsystems for 7 and a couple of years later sold it for 70 at the height of the dot com bubble because I had read "Extraordinary Popular Delusions and the Madness of Crowds" and knew a crowd mania when I saw one. Like crypto now.
In general learning computer programming and more specifically investing time on my own to learn about programming and different paradigms, which I did not learn about at university or school.
1. Everything looks difficult the first time. The hardest step is always the first one. Take a deep breath and just "begin".
2. Never give up. Even impossible tasks are just lots of easy, smaller tasks. Learn to break things down into manageable pieces.
3. When in a time crunch (e.g. a test), learning to triage is a very important skill. Don't get stuck. Just skip and move on. Come back later. Learn to prioritize, etc.
4. Don't be scared. Everyone gets it wrong sometimes. You'll never succeed if your too afraid to fail.
5. Trust your gut. If something seems wrong, then it very well may be. Don't just accept someone else's answer because you don't happen to know the answer.
6. Always verify your answers. Don't just finish a problem and assume it's right. And learn to verify the answers of others as well.
Finally, never ever ever say "I'm not good at that." Say "I'm not good at that YET!" That little difference over time is reminding yourself that you could learn/do it if you wanted, you just haven't learned to yet.