Thus I wonder in the area of your expertise, what would you recommend a beginner to study/learn/do in the first 100, 200, 500 hours?
- What are the core concepts that one should understand first?
- What are some of the small projects that one can do in the first 500 hours?
- How would you design your own curriculum?
Thanks!
Most beginners would probably quit out of frustration/disinterest. My generalized advice would be then to do whatever to find joy in the task. If its fun, you'll stay longer and learn more. If its just a job, a means to an end, optimizing your time is futile because you'll hate it.
But in reality, the world's best educators have spent 10 times the hours to come up with a learning plan that takes a particular amount of hours.
Basically, I think I would have to spend 20-50x of hours (because I am not the best educator) to come up with a plan for the first 100h, 200h, 500h. And that's not a taking base knowledge into account at all (I've started building "intuition" in my field at 6-10 yo).
Common goals:
* career mobility
* competence
* leadership
For career mobility get really good at doing beginner level things. Master the trendy tools and leet code for interviews. Your goal is to become the best expert beginner. You may never become the kind of developer who innovations amazing new solutions, but you can always find employment. Your only hope of eventual advancement is to exchange software work for management.
For competence you need to dig a little deeper into the foundations and core competencies of the technologies you are working. Increased competence is equal parts brilliance and discipline in that you are constantly solving for ever more challenging problems in order to provide ever better solutions often entirely of your own initiative. You will think in terms of portability and execution performance. If you are working in an area mostly populated by expert beginners your disdain for convenience will make you an extreme pariah. Your career mobility will be severely restricted, but with the right opportunity you can have a more fulfilling and rewarding career.
For leadership I strongly suggest you abandon software for a line of work that is more leadership focused such as operations, logistics, emergency response, military, and so forth. No matter what industry you are in leadership boils down to asset management, planning, and communication. You can always come back to the software industry later once you have experience as a strong leader operating at the director level.
As for specifically what to study you won't have any trouble finding the correct content once you know what you want to become.
Learn how to learn. Learn how to read documentation. Learn how to write documentation.
Learn how to debug. Learn the scientific method, and how to propose a theory that could explain some behaviour you’re seeing, and then propose tests that could disprove that theory. It’s not a theory if you can’t propose tests that could potentially disprove it.
Learn to discover what your limitations are, and how you can improve them.
Learn to know when to not overcommit yourself, and to say “No” when you’re asked to do something you’re not comfortable with.
If you can do all those things well, then you’re doing better than I am.
this would be the core of my curriculum:
if we set 500 hrs == 21 days; that is long enough for most people to starve to death
3 days without any fluid intake or water to drink is damaging to most peoplethe temperature can kill or maim within the hour.
fire, how to, h2 with wet or cold fuel.
shelter, timely construction according to need and availabilities.
water, collection and treatment.
food, forage, traps, opportunity hunting, sling vs bow
you must be capable of satisfying all of these within the day if you are suddenly inserted into a situation without warning