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
Możliwość komentowania jest wyłączona.