Darmowa dostawa od 150,00 zł
Brakujący plik README. Przewodnik dla początkujących inżynierów oprogramowania
Promocja Okazja

Brakujący plik README. Przewodnik dla początkujących inżynierów oprogramowania

  • Rok wydania: 2022 Oprawa: miękka ISBN: 9788328394087 Ilość stron: 248 Format: 16,5 x 23,5 cm
Rozmiar

53,10 zł

brutto / 1szt.
Najniższa cena z 30 dni przed obniżką: 59,00 zł / szt.-10%
Cena regularna: 59,00 zł / szt.-10%
Cena katalogowa:
Możesz kupić za pkt.
z
Produkt dostępny w bardzo dużej ilości
Skontaktuj się z obsługą sklepu, aby oszacować czas przygotowania tego produktu do wysyłki.
Produkt dostępny w bardzo dużej ilości
Wysyłka
14 dni na łatwy zwrot
Sprawdź, w którym sklepie obejrzysz i kupisz od ręki
Brakujący plik README. Przewodnik dla początkujących inżynierów oprogramowania
Brakujący plik README. Przewodnik dla początkujących inżynierów oprogramowania
Bezpieczne zakupy
Odroczone płatności. Kup teraz, zapłać później, jeżeli nie zwrócisz
Kup teraz, zapłać później - 4 kroki
Przy wyborze formy płatności, wybierz PayPo.PayPo - kup teraz, zapłać za 30 dni
PayPo opłaci twój rachunek w sklepie.
Na stronie PayPo sprawdź swoje dane i podaj pesel.
Po otrzymaniu zakupów decydujesz co ci pasuje, a co nie. Możesz zwrócić część albo całość zamówienia - wtedy zmniejszy się też kwota do zapłaty PayPo.
W ciągu 30 dni od zakupu płacisz PayPo za swoje zakupy bez żadnych dodatkowych kosztów. Jeśli chcesz, rozkładasz swoją płatność na raty.
Po zakupie otrzymasz pkt.

Dla inżyniera oprogramowania umiejętność kodowania to zaledwie punkt wyjścia. Większość początkujących programistów przekonuje się o tym już w pierwszych dniach pracy w firmie. Nagle się okazuje, że wielu kluczowych spraw zabrakło w programach nauczania. Mowa tu nie tylko o praktykach związanych z tworzeniem i wdrażaniem kodu, ale także o zachowaniach i metodach współpracy ułatwiających odpowiednie działanie zespołu i w efekcie całego przedsiębiorstwa.

To książka przeznaczona dla osób, które chcą rozpocząć karierę inżyniera oprogramowania. Znajdziesz w niej wiele cennych informacji, które zazwyczaj nie są uwzględniane w programach nauczania informatyki na poziomie studiów inżynierskich czy licencjackich, dowiesz się też, czego możesz się spodziewać w pracy. Poszerzysz swoją wiedzę techniczną dotyczącą pisania kodu nadającego się do wdrożenia w środowisku produkcyjnym, opanujesz zagadnienia efektywnego testowania i przeglądów kodu, ciągłej integracji, a także ciągłego wdrażania, dokumentacji projektowej i najlepszych praktyk w zakresie architektury. Zapoznasz się również z informacjami o umiejętnościach miękkich, takich jak techniki zwinnego planowania, efektywna współpraca z kierownictwem i zarządzanie rozwojem własnej kariery.

Najciekawsze zagadnienia:

  • oczyszczanie zastanego i tworzenie poprawnie działającego kodu
  • testy deterministyczne i przeglądy kodu
  • proces projektowania technicznego
  • obsługa incydentów produkcyjnych
  • zaawansowane techniki architektoniczne
  • agile w praktyce firmowej

Po ukończeniu uczelni czas na prawdziwą szkołę programowania!

O autorach

Chris Riccomini jest inżynierem oprogramowania. W ciągu ostatniej dekady pracował w takich firmach jak PayPal, LinkedIn i WePay. Jest również twórcą oprogramowania open source, inwestorem i doradcą w dziedzinie startupów.

Dmitriy Ryaboy od dwudziestu lat pracuje jako inżynier oprogramowania i menedżer. Pracował w startupach i instytucjach badawczych. Pomagał w tworzeniu i rozwijaniu wielu projektów open source, w tym Apache Parquet. 

Spis treści

O AUTORACH

PODZIĘKOWANIA

WSTĘP

1. PODRÓŻ, KTÓRA CIĘ CZEKA

  • Cel Twojej podróży
  • Mapa Twojej podróży
    • Góra Żółtodzioba
    • Rzeka Szkolenia
    • Przylądek Kontrybutora
    • Ocean Operacyjny
    • Zatoka Kompetencji
  • Pełną parą naprzód!

2. ŚWIADOME DOCHODZENIE DO KOMPETENCJI

  • Jak się uczyć, żeby się nauczyć
    • Przygotuj się do nauki
    • Ucz się przez działanie
    • Eksperymentuj z kodem
    • Czytaj
    • Obejrzyj prezentacje
    • Uczestnicz w spotkaniach i konferencjach (z umiarem)
    • Wymiana doświadczeń i współpraca z doświadczonymi inżynierami
    • Eksperymentuj z projektami pobocznymi
  • Zadawanie pytań
    • Zrób research
    • Ramy czasowe
    • Pokaż wykonaną pracę
    • Nie przeszkadzaj
    • Preferuj multicast, komunikację asynchroniczną
    • Zaplanuj żądania synchroniczne
  • Pokonywanie przeszkód w rozwoju
    • Syndrom impostora
    • Efekt Dunninga-Krugera
  • Co należy, a czego nie należy robić
  • Wejdź na wyższy poziom

3. PRACA Z KODEM

  • Entropia oprogramowania
  • Dług technologiczny
    • Rozwiązywanie problemu długu technologicznego
  • Zmienianie kodu
    • Użyj algorytmu zmiany dotychczasowego kodu
    • Pozostaw kod czystszy niż ten, który zastałeś
    • Wprowadzaj zmiany przyrostowo (stopniowo)
    • Bądź pragmatyczny w refaktoryzacji
    • Użyj IDE
    • Stosuj najlepsze praktyki systemu kontroli wersji
  • Unikanie pułapek
    • Użycie nudnych technologii
    • Nie daj się zbałamucić
    • Nie rozwidlaj bez commitowania do źródła
    • Oprzyj się pokusie, by napisać to od nowa
  • Co należy, a czego nie należy robić
  • Wejdź na wyższy poziom

4. PISANIE DZIAŁAJĄCEGO KODU

  • Programowanie defensywne
    • Unikaj wartości zerowych
    • Spraw, aby zmienne były niezmienne
    • Używanie podpowiadania typów i statycznego sprawdzania typów
    • Sprawdzanie poprawności danych wejściowych
    • Korzystaj z wyjątków
    • Precyzyjnie określaj wyjątki
    • Rzucanie wyjątków wcześnie, przechwytywanie wyjątków późno
    • Inteligentne ponawianie prób
    • Stosuj systemy idempotentne
    • Czyszczenie zasobów
  • Rejestrowanie
    • Użyj poziomów dziennika
    • Przechowuj dzienniki atomowe
    • Dbaj o szybkość dzienników
    • Nie rejestruj wrażliwych danych
  • Metryki
    • Wykorzystanie standardowych bibliotek metryk
    • Zmierz wszystko
  • Ślady
  • Konfiguracja
    • Nie kombinuj z konfiguracją
    • Rejestrowanie i sprawdzanie poprawności wszystkich konfiguracji
    • Podaj wartości domyślne
    • Konfiguracja powiązana z grupą
    • Traktuj konfigurację jako kod
    • Utrzymuj porządek w plikach konfiguracyjnych
    • Nie edytuj wdrożonej konfiguracji
    • Narzędzia
  • Co należy, a czego nie należy robić
  • Wejdź na wyższy poziom

5. ZARZĄDZANIE ZALEŻNOŚCIAMI

  • Podstawy zarządzania zależnościami
    • Wersjonowanie semantyczne
    • Zależności przechodnie
  • Piekło zależności
  • Unikanie piekła zależności
    • Wyizoluj zależności
    • Celowe dodawanie zależności
    • Przypinanie wersji
    • Wąski zakres zależności
    • Chroń się przed zależnościami cyklicznymi
  • Co należy, a czego nie należy robić
  • Wejdź na wyższy poziom

6. TESTOWANIE

  • Wielość zastosowań testów
  • Typy testów
  • Narzędzia testowe
    • Biblioteki atrap
    • Frameworki testowe
    • Narzędzia do poprawy jakości kodu
  • Pisanie własnych testów
    • Pisz czyste testy
    • Nie przesadzaj z testowaniem
  • Determinizm w testach
    • Ziarno generatora liczb losowych
    • Nie wywołuj zdalnych systemów w testach jednostkowych
    • Wstrzykiwanie zegarów
    • Unikaj usypiania i przerywania pracy
    • Zamykanie gniazd sieciowych i uchwytów plików
    • Powiązanie z portem 0
    • Generowanie unikalnych ścieżek do plików i baz danych
    • Wyizoluj i usuń pozostałości stanu testów
    • Nie uzależniaj się od kolejności testów
  • Co należy, a czego nie należy robić
  • Wejdź na wyższy poziom

7. PRZEGLĄDY KODU

  • Dlaczego warto przeglądać kod?
  • Uzyskiwanie przeglądu kodu
    • Przygotuj swój przegląd
    • Zmniejszanie ryzyka dzięki przeglądom projektów
  • Nie wysyłaj recenzji w celu wyzwolenia testów
    • Przechodzenie przez duże zmiany w kodzie
    • Nie przywiązuj się
    • Bądź empatyczny, ale nie toleruj chamstwa
    • Bądź proaktywny
  • Przeglądanie kodu
    • Ocena wniosków o przeprowadzenie przeglądu
    • Zarezerwuj czas na przeglądy
    • Zrozum zmianę
    • Przekaż wyczerpującą informację zwrotną
    • Uznaj to, co dobre
    • Rozróżniaj problemy, sugestie i drobiazgi
    • Nie przybijaj pieczątki na przeglądach
    • Nie ograniczaj się do narzędzi dostępnych na stronach internetowych
    • Nie zapominaj o sprawdzaniu testów
    • Dąż do konkluzji
  • Co należy, a czego nie należy robić
  • Wejdź na wyższy poziom

8. DOSTARCZANIE OPROGRAMOWANIA

  • Fazy dostarczania oprogramowania
  • Strategie rozgałęziania
  • Faza kompilowania
    • Wersja pakietów
    • Oddzielne pakowanie różnych zasobów
  • Faza wydawania
    • Nie rób z wydań kukułczych jaj
    • Publikowanie pakietów w repozytorium wydania
    • Zachowaj niezmienność wydań
    • Częste wydawanie
    • Zachowaj przejrzystość w kwestii harmonogramu wydań
    • Publikowanie dzienników zmian oraz informacji o wydaniu
  • Faza wdrażania
    • Automatyzacja wdrożeń
    • Dokonaj atomizacji wdrożeń
    • Wdrażaj aplikacje w sposób niezależny
  • Faza rozpowszechniania
    • Monitoruj rozpowszechnianie
    • Zwiększanie wydajności dzięki flagom funkcji
    • Zabezpiecz kod za pomocą wyłączników automatycznych
    • Równoległe wersje usług i progi
    • Wdrażaj w trybie ciemnym
  • Co należy, a czego nie należy robić
  • Wejdź na wyższy poziom

9. PEŁNIENIE DYŻURÓW TELEFONICZNYCH

  • Jak działa dyżur telefoniczny?
  • Ważne umiejętności w kontekście dyżurów telefonicznych
    • Bądź dostępny
    • Bądź uważny
    • Ustalaj priorytety pracy
    • Komunikuj się w jasny sposób
    • Śledź swoją pracę
  • Postępowanie w przypadku incydentów
    • Ocena
    • Koordynacja
    • Łagodzenie skutków incydentu
    • Rozwiązanie
  • Dodatkowe zadania
  • Udzielanie wsparcia
  • Nie bądź bohaterem
  • Co należy, a czego nie należy robić
  • Wejdź na wyższy poziom

10. PROCES PROJEKTOWANIA TECHNICZNEGO

  • Stożek procesu projektowania technicznego
  • Myślenie o projektowaniu
    • Zdefiniuj problem
    • Przeprowadź analizę
    • Przeprowadzaj eksperymenty
    • Daj sobie czas
  • Pisanie dokumentacji projektowej
    • Wiedz, po co piszesz
    • Naucz się pisać
    • Aktualizuj dokumentację projektową
  • Korzystanie z szablonu dokumentacji projektowej
    • Wprowadzenie
    • Stan obecny i kontekst
    • Motywacja do zmian
    • Wymagania
    • Potencjalne rozwiązania
    • Proponowane rozwiązanie
    • Projektowanie i architektura
    • Plan testów
    • Plan wprowadzenia
    • Kwestie nierozstrzygnięte
    • Dodatek
  • Współpraca przy projekcie
    • Zrozumienie procesu przeglądu projektu w zespole
    • Nie zaskakuj ludzi
    • Burza mózgów i dyskusje projektowe
    • Udział w projektowaniu
  • Co należy, a czego nie należy robić
  • Wejdź na wyższy poziom

11. TWORZENIE EWOLUUJĄCYCH ARCHITEKTUR

  • Zrozumienie złożoności
  • Projektowanie z myślą o ewolucji
    • Nie będziesz tego potrzebował
    • Zasada najmniejszego zdziwienia
    • Enkapsulacja wiedzy domenowej
  • Ewoluujące API
    • Staraj się, żeby API były małe
    • Udostępnianie dobrze zdefiniowanych API dla usług
    • Zachowaj zgodność zmian API
    • API wersji
  • Ewoluujące dane
    • Wyizoluj bazy danych
    • Używanie schematów
    • Zautomatyzuj migrację schematów
    • Zachowaj zgodność schematów
  • Co należy, a czego nie należy robić
  • Wejdź na wyższy poziom

12. AGILE'OWE PLANOWANIE

  • Manifest Agile
  • Framework planowania zwinnego
  • Scrum
    • Historyjki użytkownika
    • Zadania
    • Szacowanie w punktach
    • Klasyfikacja zadań do zrobienia
    • Planowanie sprintu
  • Stand-upy
  • Przeglądy
  • Retrospektywy
  • Roadmapy
  • Co należy, a czego nie należy robić
  • Wejdź na wyższy poziom

13. PRACA Z MENEDŻERAMI

  • Czym zajmują się menedżerowie
  • Komunikacja, cele i procesy rozwojowe
    • Spotkania 1:1
    • PPP
    • Cele i kluczowe rezultaty (OKR)
    • Ocena pracownika
  • Zarządzanie w górę
    • Uzyskaj informację zwrotną
    • Przekaż informację zwrotną
    • Omów swoje cele
    • Podejmij działanie, gdy coś nie działa
  • Co należy, a czego nie należy robić
  • Wejdź na wyższy poziom

14. ŚCIEŻKA KARIERY

  • Do poziomu seniora i jeszcze dalej
  • Doradztwo zawodowe
    • Trzymaj się litery T
    • Uczestnictwo w programach inżynierskich
    • Kieruj swoim awansem
    • Ostrożnie zmieniaj miejsca pracy
    • Trzymaj się własnego tempa
    • Refleksje końcowe
Autor
Chris Riccomini, Dmitriy Ryaboy
ISBN
9788328394087
Potrzebujesz pomocy? Masz pytania?Zadaj pytanie a my odpowiemy niezwłocznie, najciekawsze pytania i odpowiedzi publikując dla innych.
Zapytaj o produkt
Jeżeli powyższy opis jest dla Ciebie niewystarczający, prześlij nam swoje pytanie odnośnie tego produktu. Postaramy się odpowiedzieć tak szybko jak tylko będzie to możliwe. Dane są przetwarzane zgodnie z polityką prywatności. Przesyłając je, akceptujesz jej postanowienia.
Napisz swoją opinię
Twoja ocena:
5/5
Dodaj własne zdjęcie produktu:
pixel