To są moje przemyślenia na temat roadmapy dla Programistów, oparte na wiedzy z internetu i moim własnym doświadczeniu. W miarę dodawania treści, procesu nauki będę linkował wiedzę z danej tematyki.

Kim jest programista full stack?

Uniwersalny programista, który potrafi:

  • pracuje we frontendzie i zna technologie frontendowe
  • potrafi projektować API i pracować w projektach backendowych, może nie tworzy super zoptymalizowanych programów, ale te programy działają sprawnie i dobrze
  • potrafi korzystać i operować na danych zawartych w bazy danych SQL i NoSQL
  • posiada podstawową wiedzę z zakresu architektury, testowania, bezpieczeństwa, Linuxa, CI/CD

to proste, może działać we wszystkich obszarach związanych z wytwarzaniem oprogramowania i wdrażaniem oprogramowania

Obszary

  • Frontend – wszystkie technologie związane z uruchamianiem programów działających w przeglądarce, na ogół napisane są one w JavaScript/TypeScript lub w innych językach i używające kompilatora WASM do konwersji na WebAssembly
  • Backend – wszystkie technologie działające w serwerach lub w ekosystemach chmurowych (AWS, Amazon, Google Cloud, itp.)
  • DevOps – zapewnia działanie serwerów i oprogramowania
  • Bezpieczeństwo
  • Architektura
  • Relacyjne bazy danych i NoSQL

T-Shaped Skills

Programista nie może wiedzieć wszystkiego o wszystkich technologiach i zagadnieniach związanych z IT i wytwarzaniem oprogramowania. Można się specjalizować w 2-3 technologiach, nie więcej. Dlatego wiedza programisty, szczególnie FullStack przypomina coś w kształcie litery T, gdzie pewne elementy są znane lepiej, a inne tylko powierzchownie.

Discipline Discipline Discipline Discipline
Skill Skill Skill Skill
Skill Skill Skill
Skill Skill
Skill
Skill
Skill

Mapa dla programisty Java Full Stack

Zostawiam oryginale znaczenia, bo łatwiej się nimi posługiwać wyszukując informacje z danej tematyki.

Basic

Internet

  • Basic Network and IP concept
  • TCP and UDP Protocols
  • HTTP
  • HTTP Methods
  • DNS and domain name
  • Hosting

Computers

  • How to OS works
  • Process Management
  • CPU, Memory and cache
  • Thread and Concurrency
  • Linux
  • Basic Linux commands
  • Bash script
  • I/O Management

GIT

  • Basic Git commands
  • GitBash and Git tools
  • GitHub
    • GitLab
    • Bitbucket