Search results
Programista. Przewodnik po zawodzie
Arkadiusz Kałkus
Kariera kodera Na listach najlepiej opłacanych zawodów koder, developer, programista zawsze plasują się wysoko. Specjaliści do spraw administrowania sieciami komputerowymi, frontend i backend developerzy, analitycy systemów i architekci oprogramowania są stale poszukiwani. A ponieważ głodny nowoczesnych technologii rynek tak bardzo ich pożąda, oferuje programistom warunki płacy i pracy, o jakich przedstawiciele wielu innych zawodów mogą tylko pomarzyć. Zarobki grubo powyżej średniej krajowej? Tak! Praca zdalna z dowolnego miejsca na świecie? Bardzo często! Duża samodzielność? Jasne! W dodatku, jeśli wolisz, jako programista możesz założyć firmę i działać w stu procentach na własnych zasadach. Brzmi jak bajka? Oczywiście. I jest to bajka, której bohaterem możesz się stać, jeśli ukończysz odpowiednie studia i nabierzesz wprawy jako stażysta, a potem junior w firmach z branży IT. Nim jednak zdecydujesz o wyborze zawodu programisty, upewnij się, że właśnie TO chcesz robić w życiu: Przekonaj się, na czym tak naprawdę polega programowanie Poznaj ramowy plan dnia programisty Zorientuj się, z kim na co dzień współpracuje developer Dowiedz się, w jaki sposób organizuje się projekty w branży IT Zajrzyj w przyszłość i sprawdź, co czeka developerów w nadchodzących latach
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!
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 układów AVR dla praktyków
Elliot Williams
Programowanie układów AVR dla pasjonatów! Reaguj natychmiastowo na tyle zewnętrznych zdarzeń, ile układ AVR ma pinów. Zbuduj niedrogi wykrywacz kroków. Zaprojektuj elektronikę sterującą silnikami prądu stałego i silnikami krokowymi oraz innymi elementami o dużym poborze prądu. Przygotuj gadający woltomierz, w którym próbki dźwięku zapisane są w nieulotnej pamięci mikrokontrolera. Wykorzystaj protokoły SPI i I2C. Współczesny świat elektroniki jest podbijany przez układ Arduino. Przemawia za nim wygoda oraz proste tworzenie całkiem zaawansowanych projektów. Jeżeli jednak wymagasz najwyższej wydajności, reakcji na zdarzenia w czasie rzeczywistym lub wielozadaniowości, warto, żebyś wykonał kolejny krok i poznał układy AVR firmy Atmel. Brzmi zachęcająco? Doskonale! W Twoje ręce oddajemy książkę, która pozwoli Ci poznać pasjonujący świat tych układów. W kolejnych rozdziałach nauczysz się wykorzystywać ich potencjał do pisania swoich własnych programów w języku C oraz komunikowania się ze światem zewnętrznym. Ponadto dowiesz się, jak korzystać z komunikacji szeregowej, wejść cyfrowych oraz przerwań sprzętowych. Na sam koniec, w części poświęconej zaawansowanym zagadnieniom, zobaczysz, jak używać przełączników i protokołu I2C oraz sterować silnikami. Książka ta przyda się wszystkim pasjonatom elektroniki, którzy pragną odkryć potencjał układów AVR. Dzięki tej książce: skompletujesz potrzebne narzędzia nauczysz się programować układy AVR wykorzystasz Arduino do programowania AVR zastosujesz przerwania sprzętowe użyjesz układu AVR w zaawansowanych projektach Wykorzystaj potencjał układów AVR!
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!