Отсутствует файл README. Руководство для начинающих инженеров
- Артикул:
- 15767909740
- Страна: Польша
- Доставка: от 990 ₽
- Срок доставки: 12-20 дней
- В наличии: 2
- Оценка: 5
- Отзывов: 1
Характеристики
- Identyfikator produktu
- 15767909740
- Stan
- Nowy
- Język publikacji
- polski
- Tytuł
- Brakujący plik README. Przewodnik dla początkujących inżynierów oprogramowania
- Autor
- Chris Riccomini
- Nośnik
- książka papierowa
- Okładka
- miękka
- Rok wydania
- 2022
- Wydawnictwo
- Helion
- Liczba stron
- 248
- Numer wydania
- 1
- Szerokość produktu
- 14 cm
- Wysokość produktu
- 20 cm
Описание
Brakujący plik README. Przewodnik dla początkujących inżynierów oprogramowania
Chris Riccomini, Dmitriy Ryaboy
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
Стоимость доставки приблизительная. Точная стоимость доставки указывается после обработки заказа менеджером.