“What should I learn?”

You should learn whatever will help you most with what you want to do in life but if that isn’t immediately obvious you can learn basic tech skills to sustain you while you figure out what it is that you want to do.

You’ll become the most empowered becoming a full-stack engineer.

Below is a list of technologies every full-stack engineer should master and maintain (in rough order of complexity and priority). You should regularly review these and self-assess where you are and what you have to show for each to prove it to others.

Don’t be intimidated. Start small and level up. There’s plenty here because no one should ever be done learning.

[I’ll do my best to keep this updated as major changes emerge.]

[Non-technical abilities and knowledge also need to be learned to become an enlightened, successful professional and human being.]

Foundational

Working Environment

Coding Languages

Languages come in many flavors for different purposes. Generally the best language for the job it preferred rather than a one-language-for-all approach (which is why Python actually sucks as a language, it isn’t the best at anything).

Data and Configuration

Content Creation

Programming

Applications Development

Operations and Hosting

Providers

Platforms

Hardware and Electronics

Notable Intentional Omissions

For reasons that are better explained in person (where I can provide objective explanations and demonstrations of why these technologies excluded ) the following currently not taught here.

⚠️ Strongly consider the time wasted learning these technologies. Your time is better spent adding and maintaining from the list above. If you take a job working with any of these – or your company is hiring for them – you will fundamentally limit your future opportunities by incurring massive technical debt. You cannot afford to waste that kind of time in the tech industry. Eventually it will catch up with you.

Dead, Dying, or Defunct

Broken

Ethically Challenged

Not Yet Ready, Questionable