Search results
Programista na rozmowie kwalifikacyjnej
Dariusz Kalbarczyk, Bartłomiej Narożnik, Miłosz Piechocki, Paweł...
Nie daj się zagiąć - zrób dobre wrażenie na przyszłym pracodawcy! Rozmowa kwalifikacyjna to nie jest coś, o czym myśli się z przyjemnością, ale każdy z nas prędzej czy później musi się z nią zmierzyć. Im lepiej się do niej przygotujesz i im więcej błędów uda ci się uniknąć, tym większą masz szansę na ciekawą, doskonale płatną pracę. Problem w tym, że rekruterzy rzadko biorą pod uwagę specyfikę pracy programisty, oczekując, że kandydat do pracy sam się zareklamuje i zrobi to przekonująco. Jeśli chcesz zdobyć naprawdę dobrą pracę, musisz wiedzieć, na co zwrócić uwagę, by spełnić oczekiwania pracodawcy. Ta książka pomoże Ci zorientować się, jak rekruterzy postrzegają kandydatów do pracy, co chcą od nich usłyszeć i dlaczego wybierają konkretną osobę. Dzięki niej odkryjesz także, jakie obszary - związane i niezwiązane z programowaniem - interesują rekruterów i dlaczego. Zobaczysz, co warto podkreślać, na czym skupiać się podczas rozmowy, jak obrazowo opowiedzieć o swoich projektach i planach komuś, kto nie jest specjalistą w językach programowania i ma niewielkie pojęcie o tym, co potrafisz. Ponadto zdobędziesz solidną dawkę programistycznej wiedzy i poznasz przykładowe pytania rekrutacyjne. Przeczytaj, a Twoja kariera zawodowa nabierze rozpędu, zaczniesz pracować nad bardziej interesującymi projektami i zyskasz głęboką satysfakcję z pracy. Dostań się do świetnej firmy! Po co, jak często i czy w ogóle chodzić na rozmowy rekrutacyjne? Wybór firmy, wybór stanowiska, CV Jak współpracować z rekruterami Przygotowanie do rozmowy i kluczowe 60 minut Łatwe, trudne, głupie - o pytaniach rekrutacyjnych Programowanie obiektowe, architektura aplikacji, bazy danych i SQL C#, ASP.NET MVC i ASP.NET Web API HTML/CSS, JavaScript, ES2015+ i TypeScript Angular i React Windows Forms i Windows Presentation Foundation
Software Craftsman. Profesjonalizm, czysty kod i techniczna perfekcja
Sandro Mancuso
Coraz więcej mówi się o dobrych praktykach programistycznych, a mimo to wciąż zdarzają się przypadki wydania nieudanego produktu. Istnieje wiele przyczyn tego stanu rzeczy, np. postrzeganie procesu tworzenia oprogramowania jako linii produkcyjnej, brak właściwego zarządzania projektami, a także brak wypracowanych metod rekrutacji specjalistów i kierowania zespołem. Rozwój metodyk zwinnego programowania poprawił sytuację, lecz problem niskiej jakości samych projektów nie zniknął. Książka ta proponuje czysto rzemieślnicze podejście do pracy programisty. Idea ta, znana jako software craftsmanship, zakłada kompletną zmianę sposobu myślenia o programowaniu. Priorytetami stają się tu profesjonalizm, techniczna perfekcja i zadowolenie klienta, a osiąga się to, stosując pewne praktyki programistyczne, które zaczerpnięto m.in. z metodyk programowania ekstremalnego, zwinnego i odchudzonego. Autor, który jest współzałożycielem największej organizacji deweloperów-rzemieślników, dzieli się swoją wiedzą i doświadczeniem poprzez inspirujące przykłady i praktyczne rady. Okazuje się, że dzięki tej postawie zespół może osiągnąć najwyższy poziom technicznej doskonałości tworzonych projektów. Jest to książka o peofesjonalizmie programowania. Nie tylko o profesjonalizmie programisty, ale również o całej organizacji tworzenia oprogramowania Jest to książka o mistrzostwie w programowaniu. Na jej stronach autor przedstawia plan, srategię, podejścia i reguły, które mogą pomóc każdemu programiście, każdemu zespołowi programistów i każdej organizacji wytwarzającej oprogramowanie w wyrwaniu się z grzęzawiska mierności i we wkroczeniu na ścieżkę profesjonalizmu, jak również w zapewnieniu większej wydajności oraz poczucia dumy z tego, co się robi. / ze wstępu, Robert C. Martin Z książki dowiesz się: w jaki sposób podejście rzemieślnicze zwiększa jakość tworzonego oprogramowania i obsługi klientów, kiedy i jak mówić klientowi nie oraz jak proponować rozwiązania zastępcze, dlaczego dobrym deweloperom zdarza się pisać zły kod i jak można temu zapobiegać, jak być pragmatykiem — a nie dogmatykiem — w kwestii stosowania praktyk i narzędzi, w jaki sposób zatrudniać deweloperów-rzemieślników, jak nimi kierować, jak zaszczepić w zespole prawdziwy kult uczenia się, jak wprowadzać zmiany techniczne. Programuj profesjonalnie — liczą się pragmatyzm, perfekcja i cel! Sandro Mancuso programuje od dziecka. Pracował w wielu różnych firmach, również w korporacjach międzynarodowych i bankach inwestycyjnych. Jest zwolennikiem idei programowania mistrzowskiego i ekstremalnego. W październiku 2013 roku został współzałożycielem firmy konsultingowej o nazwie Codurance, w której za podstawę działania przyjęto zasady i wartości software craftsmanship. Mancuso jako cel zawodowy przyjął sobie podnoszenie jakości branży informatycznej przez pomaganie deweloperom w doskonaleniu rzemiosła programistycznego. Często bierze udział w konferencjach informatycznych w różnych miejscach świata.
Sprint projektowy. Tworzenie produktów cyfrowych
Richard Banfield, C. Todd Lombardo, Trace Wax
Innowacyjność pomaga budować pozycję rynkową firmy. Słowo to nie oznacza jedynie oferowania nowych produktów i usług, ale dotyczy również organizacji działania. Niestety, realizacja zasady ciągłego doskonalenia się najczęściej napotyka opory. Ludzie nie lubią zmian sposobu myślenia i niechętnie akceptują konieczność innego podejścia. Tymczasem dla wielu podmiotów, szczególnie tych z nowoczesnych branż, umiejętność szybkiej zmiany jest kluczem do sukcesu. Niniejsza książka prezentuje koncepcję sprintów projektowania produktu. Jest to nowe podejście do projektowania produktów, szczególnie zalecane firmom stawiającym na innowacyjność. Dzięki tej metodzie nowe pomysły dużo szybciej i skuteczniej przeradzają się w prototyp, który z kolei staje się gotowym rozwiązaniem. Powstaje produkt o wysokiej jakości. Co istotne, realizacja zadań w sprintach przebiega szybciej i jest bardziej wydajna. W zależności od specyfiki przedsiębiorstwa sprint projektowania może trwać od kilku godzin do kilku dni, w wyjątkowych przypadkach — kilka tygodni. W książce omówiono: koncepcję sprintu projektowania, jego zalety i wady sposoby planowania sprintu etapy sprintu projektowania i ich przebieg sposoby wykorzystania wyników przeprowadzonego sprintu Sprintem do sukcesu!
Programowanie sterowane testami w Pythonie. Jak tworzyć skalowalne zestawy testów i aplikacji
Alessandro Molina
Spośród wielu koncepcji tworzenia oprogramowania na szczególną uwagę zasługuje model programowania sterowanego testami, znany jako TDD. Technika ta opiera się na integracji procesów projektowania aplikacji i pisania kodu z prowadzeniem testów. Mimo że taki sposób pracy wydaje się dość wymagający dla zespołów deweloperów, łatwo się przekonać, że TDD pozwala na stałe uzyskiwanie dobrych efektów, a opracowane tą metodą aplikacje zaskakują stabilnością i przewidywalnością w środowisku produkcyjnym. W tej praktycznej książce dokładnie opisano koncepcje przeprowadzania testów oprogramowania, a szczególny akcent położono na model programowania sterowanego testami. Przedstawiono w niej również szeroką gamę przydatnych do testowania narzędzi, takich jak wbudowany w Pythona moduł testów jednostkowych unittest, frameworki pytest i Robot, a także biblioteka webtest. Omówiono też zasady projektowania testów, testowania kodu podczas implementacji nowych funkcjonalności i tworzenia pełnych zbiorów testów. Ponadto dokładnie zaprezentowano najlepsze praktyki związane z testami automatycznymi i modelem programowania TDD. Poszczególne koncepcje zostały zilustrowane praktycznymi przykładami zastosowania narzędzi dostępnych w Pythonie. W książce między innymi: najlepsze praktyki dotyczące projektowania testów praca z frameworkiem pytest przeznaczonym do testowania aplikacji tworzenie testów funkcjonalnych dla aplikacji WSGI za pomocą biblioteki webtest zasady programowania sterowanego testami techniki tworzenia niezawodnych aplikacji w Pythonie Najważniejsze jest testowanie kodu - od pierwszej linii!
Programuj tak, aby nie naprawiać. Planowanie projektów i systemów
Juval Löwy
Tworzenie oprogramowania, zwłaszcza dużych i złożonych aplikacji, bywa problemem. Często objawy złego planowania projektu nie mają wiele wspólnego z uwarunkowaniami technicznymi: wysoki poziom stresu, duża rotacja pracowników, wypalenie zawodowe, brak zaufania, niska samoocena, a nawet różnego rodzaju dolegliwości fizyczne. Przyczyny tego stanu rzeczy są podobne: określane w nierealny sposób koszty, terminy i wymagania. Później okazuje się, że wewnętrznej złożoności systemu nikt nie rozumie, nad koniecznymi ciągłymi zmianami nikt nie panuje, a wytworzone oprogramowanie jest niemal niemożliwe do utrzymania. Jak widać, problem jest wielowymiarowy. Wielowymiarowe musi więc też być narzędzie, które umożliwi jego rozwiązanie. W tym praktycznym przewodniku uniwersalne zasady projektowania zostały dostosowane do specyfiki wytwarzania oprogramowania. Znalazł się tu zbiór najważniejszych zasad inżynierii oprogramowania, jak również wyczerpujący zestaw narzędzi i technik do stosowania w projektach programistycznych. Ich zastosowanie sprawi, że gotowy system będzie łatwy do utrzymania, rozszerzalny, nie będzie zbyt kosztowny, a jego wykonanie będzie realne pod względem czasu i ryzyka. Koncepcje opisane w książce stanowią doskonały punkt wyjścia, gdyż pozwalają sporządzić dobry projekt systemu oprogramowania oraz dobry plan budowy tego systemu. Dopiero to umożliwi ukończenie pracy w wyznaczonym terminie i bez przekroczenia założonego budżetu, a wytworzony produkt będzie łatwy w utrzymaniu, możliwy do rozszerzania oraz wielokrotnego użycia. W książce między innymi: koncepcja projektowania systemu i planowania projektu dekompozycja systemu, jego struktura i łączenie komponentów narzędzia i techniki potrzebne w planowaniu i projektowaniu mierzenie i wyliczanie ryzyka projektu i jego wariantów zaawansowane techniki projektowania systemów o wysokiej złożoności Mistrz w projektowaniu oprogramowania rozważa bardzo niewiele opcji!
Programiści i tłumacze. Wprowadzenie do lokalizacji oprogramowania
Agenor Hofmann-Delbor, Marta Bartnicka
Prawie wszystkie interfejsy cyfrowej wieży Babel! Status quo, czyli dlaczego warto tłumaczyć oprogramowanie Procesy tłumaczeniowe i inne koła zębate Skomplikowane związki, czyli tester i programista O graniu i naprawianiu, czyli kilka problemów i ich proponowane rozwiązania Dawno, dawno temu, w czasach, gdy na świecie pojawiały się nieśmiało pierwsze komputery osobiste, nikt nie przejmował się zbytnio kwestią tłumaczenia oprogramowania na lokalne języki. Bez znajomości choćby paru słów po angielsku Twoje szanse na uruchomienie gry czy sformatowanie dokumentu były w zasadzie zerowe. Od tamtych czasów przebyliśmy jednak długą drogę i dziś nikt nie kupi oprogramowania, które nie jest dostępne w lokalnej wersji językowej, a nawet więcej: w wersji dostosowanej do lokalnej kultury i zwyczajów związanych z korzystaniem z konkretnych produktów. To dlatego dobra współpraca tłumacza i programisty jest dziś na wagę złota. Niestety, ten tandem często ma wyraźny problem z wzajemnym zrozumieniem. W tej książce znajdziesz mnóstwo praktycznych, a także zabawnych przykładów sytuacji, w których potrzeby tłumacza i programisty kompletnie się rozmijają. Zobaczysz, skąd biorą się problemy, gdzie najczęściej się pojawiają i jak zapobiegać ich powstawaniu. Jeśli jesteś programistą, być może przestaniesz alfabetycznie sortować teksty w pliku do tłumaczenia i jasno określisz płeć postaci w Twojej grze, a jeśli tłumaczem, może uda Ci się rozpoznać to, co należy zostawić w oryginale, i nie zmienisz pomocy technicznej programu w zbiór ezoterycznych, poetyckich tekstów. Nie zastąpi to praktyki i codziennych interakcji zawodowych, ale może ułatwić przyjrzenie się problemom z innej perspektywy. I z pewnością przyczyni się do podniesienia jakości nowej wersji oprogramowania. Klienci to docenią! Lokalizacja oprogramowania to klucz do serca i portfela klienta!
Programowanie dla początkujących w 24 godziny. Wydanie IV
Greg Perry, Dean Miller
Warto nauczyć się programowania! Poza stworzeniem sobie możliwości znalezienia ciekawej i dobrze płatnej pracy czy pasjonującego hobby umiejętność programowania bywa niezwykle przydatna w rozwiązywaniu różnych problemów. Paleta języków programowania i narzędzi programistycznych jest niezwykle szeroka i praktycznie każdy znajdzie coś dla siebie. Zanim to jednak nastąpi, trzeba zdobyć trochę wiedzy i umiejętności. Ale bez obaw! W nauce programowania najtrudniejszy bywa pierwszy krok, jednak ta książka sprawi, że wykonasz go bez trudu i dumnie wkroczysz w świat kodowania! To kolejne wydanie lubianego samouczka, dzięki któremu w ramach 24 godzinnych lekcji przyswoisz solidne podstawy programowania. Zrozumiesz, jak działają programy, i nauczysz się reguł stosowanych przez profesjonalistów przy ich projektowaniu. Dowiesz się, jak wygląda świat programistów i na czym dokładnie polega programowanie w korporacjach. Znajdziesz tutaj także wprowadzenie do kilku najpopularniejszych języków programowania, co pozwoli na ich porównanie i ułatwi wybór języka do dalszej nauki. Każdy z 24 rozdziałów zawiera materiał, który można opanować w ciągu godziny. Naukę ułatwiają instrukcje krok po kroku, quizy, ćwiczenia i praktyczne przykłady. Dzięki tej książce zdobędziesz najlepsze podstawy, aby stać się dobrym programistą. Przygotujesz się też do świadomego kształtowania swojej dalszej ścieżki zawodowej! W książce między innymi: przygotowanie narzędzi do pracy - sprzęt i oprogramowanie podstawowe aspekty programowania i projektowania programów algorytmy, interaktywność, zmienne, funkcje debugowanie kodu programowanie obiektowe i korzystanie z baz danych planowanie kariery programisty Zacznij programować. Najlepiej od razu!
Profesjonalne programowanie w Pythonie. Poziom ekspert. Wydanie II
Michal Jaworski, Tarek Ziade
Twórcy Pythona niemal od początku starali się opracować wieloparadygmatowy język zorientowany na czytelność kodu i produktywność programisty. Dziś język ten jest uważany za wszechstronny i potężny, a do tego cechuje się prostotą i elastycznością. Nadaje się zarówno do pisania niedużych skryptów, jak i wielkich systemów, a także do wysoce specjalistycznych zadań, jak choćby analiza danych w celach naukowych. Mimo to pisanie kodu, który jest wydajny, prosty w utrzymaniu oraz łatwy w użyciu, wciąż sprawia problemy nawet zaawansowanym programistom Pythona. Niniejsza książka jest zbiorem praktyk stosowanych przez najlepszych programistów pracujących z Pythonem. Jest przeznaczona dla osób zawodowo zajmujących się rozwojem oprogramowania oraz dla ambitnych pasjonatów w tej dziedzinie. Poza opisem zaawansowanych technik programowania w Pythonie znalazły się tu również informacje o narzędziach i technikach stosowanych obecnie przez profesjonalnych programistów. Opisano metody zarządzania kodem, tworzenia, dokumentowania i testowania kodu oraz zasady optymalizacji oprogramowania. Przedstawiono również wzorce projektowe, które szczególnie docenią programiści Pythona. Najważniejsze zagadnienia przedstawione w książce: metodologie pracy w Pythonie i najlepsze praktyki składniowe rozszerzenia Pythona napisane w innych językach programowania techniki profilowania aplikacji przetwarzanie współbieżne i równoległe najprzydatniejsze wzorce projektowe Python — niezawodne narzędzie dla profesjonalisty!