technical Featured 5 min read

Not-So-Enlightened Path to Coding Enlightenment

A comprehensive learning path for getting into the tech industry, from Linux fundamentals to modern web development and beyond.

#JavaScript #Linux #NodeJS #Python #Tech #Technology #Programming #Career

A friend of mine is finishing up a BSCS and looking to get into the tech industry. Ready to code? Here’s the list I sent him…

Foundation

Tools and Environment

  • Master Vim (http://www.vim.org/)
    • This is kind of a personal preference, as are all editors.
    • I recommend mastering vim because it is ubiquitous. You can run it on all of your workstations (Linux / Win) and you can usually depend on it being installed on just about every Linux server you SSH to.
    • Being able to use the same editor everywhere has its advantages.

Programming Languages

Web Development

JavaScript Ecosystem

  • Learn JavaScript (fundamental language skills)
  • Learn modern JavaScript frameworks (React, Vue, or Angular)
  • Learn NodeJS for backend development
  • Explore full-stack frameworks

Additional Skills to Pick Up

  • Cryptography - Understanding security fundamentals
  • Web services and REST APIs - Modern application architecture
  • Security - Essential for any developer
  • Networking - Understanding how systems communicate

Database Technologies

Start with:

  • MySQL
  • PostgreSQL
  • MongoDB

Move up to:

  • DynamoDB (Amazon’s AWS)
  • Modern NoSQL databases
  • Oracle or Microsoft SQL Server if you have to

2024 Update Notes

Since writing this in 2016, the landscape has evolved significantly. Consider these modern additions:

  • Cloud platforms: AWS, Azure, GCP fundamentals
  • Containerization: Docker and Kubernetes
  • Modern JavaScript: ES6+, TypeScript
  • CI/CD: GitHub Actions, GitLab CI
  • Infrastructure as Code: Terraform, AWS CDK

The fundamentals remain solid, but the tooling has advanced considerably. The core principle still applies: master the fundamentals, then build on them with modern tools and practices.

Published by Stuart Bain

Share:

Related Posts

technical

Nagging Numbers

A practical exploration of alphabetical vs. numerical sorting problems, illustrated through auction industry lot numbering - and how to solve them with smart planning.

Read More
technical

The Move to Jekyll

Explaining the migration from WordPress to Jekyll static site generation during the 2020 COVID-19 pandemic, and the benefits of simplifying web hosting.

Read More