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.
"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.
It serves as a historical record, proof of work, and forced me to investigate technologies.
On top of all of that, it helped me learn to write prose, which is such an important skill for a dev.
Writing effectively is communicating effectively. 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.
Love the description of 'evoking a reaction'.
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.
Edit: When talking with recruiters I frequently ask if b2b is an option, I would say 30% of the time it seems to be.
Silicon Prairie is the Dallas Fort Worth area.
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.
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.
I'm not sure if I could trivially reproduce that success, but it truly changed my life.
It wasn't just good for my career, but for just about everything in my life.