Skip to main content

approaching new technologies and languages

Master the Fundamentals

Every language and technology builds on core principles

  • Data structures and algorithms: Beyond theory, they sharpen your problem-solving skills
  • Object-oriented programming: A broad and deep concept critical for mastery
  • Design patterns: Challenging but essential for becoming a professional
  • Additional foundations: Version control (e.g., Git), basic networking, and debugging techniques

Prioritize Books and Courses Over Tutorials

Why books matter

  • Comprehensive and detailed: Books provide in-depth, systematic knowledge
  • Authoritative: Often written by language or tool creators, ensuring alignment with original intent
  • Experience-driven: Authors with extensive expertise distill years of insights

Recommended approach

  • For each language or technology, read 2–3 books concurrently
  • Skim tables of contents, indices, and main sections
  • Dive deeply into one book, then cross-reference related topics in others for diverse perspectives
  • This method is efficient and enriches understanding

Tutorials' role

  • Tutorials are valuable for new technologies lacking books or for concise, practical tips
  • They complement books, especially for quick solutions or niche topics
  • This guide itself is a form of tutorial

Online courses

  • Platforms like Udemy, Pluralsight, Coursera, edX, Khan Academy, and YouTube offer excellent overviews

Leverage Official Resources

Most languages and tools have a homepage hosting valuable resources

  • Tutorials
    • Step-by-step guides to build simple applications
    • Official tutorials are reliable and nearly guaranteed to work
  • Documentation
    • A comprehensive resource, including tutorials, function references, and commands
    • It's the definitive source for solutions, like finding a print function

Use Cheatsheets

Cheatsheets are concise references for commands, syntax, or configurations

  • For example, a Git cheatsheet lists commands like git init
  • Print and display one at your workspace to avoid repetitive searches
  • Even experienced developers underuse this tool

Create Mind Maps

Mind maps visually organize knowledge as tree-like diagrams, with the language or tool as the root

  • They're simple yet effective for note-taking, systematizing learning, and improving recall
  • While not covered here, their utility in reviewing and retaining knowledge is significant

Identify Commonalities Across Technologies

Recognizing shared elements accelerates learning new languages or tools

  • Syntax and functions: All languages have basics like input/output, string manipulation, and arrays. Learn the essentials first
  • Dependency managers: Modern technologies use tools like npm (Node.js), Composer (PHP), Maven (Java), pip (Python), or Gem (Ruby)
  • Build tools: Examples include Gulp (Node.js), Ant (Java), Phing (PHP), or Rake (Ruby)
  • Database migration tools: Common in frameworks, like Phinx or Doctrine for PHP, often tailored to specific technologies