Mapa pojęć, aby zostać architektem programowania

Cezary Walenciuk

Mapa pojęć, aby zostać architektem programowania

@walenciukC

Speaker

Agenda

Jak zostać *starszym* programistą?
blog
Copyright © Cezary Walenciuk
blog
Copyright © Cezary Walenciuk

Tytuły stanowisk i ich analiza

Tytuły stanowisk i ich analiza

  1. Kim jest : Full Stack Developer
  2. Kim jest : DEV-OPs
  3. Kim jest : Tech Leader
  4. Kim jest : Archiktekt
Wszystko, też zależy od filozofi działania danej firmy
Nie w każdej w firmie jest Archiktekt. Tłumaczymy, że jesteśmy zwini (Agile)
Polecam chodzi na rozmowy kwalfikacyjne na każdym etapie kariery
blog
Copyright © Cezary Walenciuk
Co trzeba umieć, aby zostać *starszym* programistą...
Co trzeba umieć, aby zostać *starszym* programistą poza technologią
blog
Copyright © Cezary Walenciuk
Jaki byłby idealny programista
blog
Copyright © Cezary Walenciuk
blog
Copyright © Cezary Walenciuk
blog
Copyright © Cezary Walenciuk
blog
Copyright © Cezary Walenciuk
blog
Copyright © Cezary Walenciuk
blog
Copyright © Cezary Walenciuk
blog
Copyright © Cezary Walenciuk
A jaki jest idealny programista po pracy
blog
Copyright © Cezary Walenciuk

Cykl rozwoju aplikacji

Różne sposoby patrzenia na architketurę

Pokaż mi mapę pojęć do nauki
- pora na mięso
Starszy programista umię robić wizualizację systemu

Potrzeba wizualizacji architektury

Jak powinna być wizualiacja

Wizualiacja

Jakie są problemy z wizualizacją architektury

Rozwiązanie?

C4

Czyli robimy 4 diagram do każdego poziomu
blog
Copyright © Cezary Walenciuk
Starszy programista i wycenianie zadań

Powody określania stopnia trudności zadań i ich kierunków (Drivery)

Co jest ważne w danym zadaniu?

Pamiętaj o cyklu życia systemu

Warto zapisywać swoje decyzję (rekord)

Co ten rekord powinnien mieć:

Domain Driven Design, czyli architektura a biznes
blog
Copyright © Cezary Walenciuk

Programowanie to :

blog
Copyright © Cezary Walenciuk
Domeny i subdomeny

Główna domena

Subdomena : wspierająca

blog
Copyright © Cezary Walenciuk

Subdomena jako generic subdomian

Dlaczego odkrywanie subdomen jest ważne?

Kiedy subdomen nie szukać?

Kiedy subdomen nie szukać?

Jak odkrywać subdomeny
blog
Copyright © Cezary Walenciuk
blog
Copyright © Cezary Walenciuk
Czym jest Bounded Context?
Czym jest Model?
blog
Copyright © Cezary Walenciuk

Bounded Context? Jak wykryć?

Stworzenie zespół per Bounded Context
Czym jest Model Domenowy?

Implementacja modelu

Implementacja modelu czego nie zawiera

CONWAY'S LAW
Jak struktura organizacji wpływa na osiągane rezultaty
blog
Copyright © Cezary Walenciuk
https://radekmaziarka.pl/2019/02/25/conways-law-jak-struktura-organizacji-wplywa-na-osiagane-rezultaty/
Event Storming
blog
Copyright © Cezary Walenciuk
blog
Copyright © Cezary Walenciuk
Co dalej z tym? CQRS? Event Sourcing?
blog
Copyright © Cezary Walenciuk
Style archiektury (korporacyjnej)
które zna starszy programista

Monolit

Zalety Monolitu

Wady Monolitu

Monolit First

Systemy rozporszony

Dlaczego system rozproszony

Błędne myślenie w systemie rozporoszonego

Szyna integracyjna :
Enterprise Service Bus
RabbitMQ

Wady

Mikroserwisy
Pamiętaj o autonomi biznesowej, czyli rozwiaj produkty niezaleźnie od siebie
Co byś ty wybrał?
blog
Copyright © Cezary Walenciuk
Style archiektury aplikacyjnej

Architketura warstwowa

Architketura warstwowa

Ile warstwy tak naprawdę potrzebujemy?
Architekruta Hexagonalna
blog
Copyright © Cezary Walenciuk
blog
Copyright © Cezary Walenciuk
Architekruta Pipes and Filters
blog
Copyright © Cezary Walenciuk
Jak to jest z tym wdrożeniami
blog
Copyright © Cezary Walenciuk
Continuous Integration, Deployment & Delivery
Czym jest ciągłe dostarczanie (CD)
blog
Copyright © Cezary Walenciuk
Czym jest ciągłe instegracje (CI), czyli kiedy zrobić merge
Fail-Safe, Safe to Fail: czyli problem wdrażania na produkcje
https://devskiller.com/techblog/Safe-to-fail-vs-fail-safe/
Główne problemy wydajnościowe.
Czyli coś co powinno Ciebie obchodzić?

Główne problemy wydajnościowe

Coś zrobliśmy źle : ORM

Coś zrobliśmy źle : Podejście do danych

Coś zrobliśmy źle : Komunikacja sieciowa

Infrastruktura czyli chmura, kontenery, Kubernetes
Coraz więcej chmury?
Jest nieunikniona jak Thanos
Kontenery?

Kontenery?

Kontener, a maszyna wirtualna

Kubernetes?
Google Wygrało wyścig

Kubernetes? Co potrafi.

Strategie wdrożeń

Podsumowanie
blog
Copyright © Cezary Walenciuk

Tytuły stanowisk i ich analiza

  1. Kim jest : Full Stack Developer
  2. Kim jest : DEV-OPs
  3. Kim jest : Tech Leader
  4. Kim jest : Archiktekt
blog
Copyright © Cezary Walenciuk