Obowiązkowe programy z perspektywy programistki

☕️☕️ 8 min

Pamiętasz ten moment, kiedy reklamy w internecie zaczęły nas masowo zalewać? Ktoś zauważył niszę i tak powstała wtyczka AdBlock, która szybko rozpowszechniła się wśród internautów. Pewnie już nawet nie pamiętasz, że ją instalowałaś, ale założę się, że od razu byś zauważyła jakby przestała działać.

Obowiązkowe programy z perspektywy programistki

Programy i narzędzia to jedna z tych rzeczy, do których się przywiązujemy, a jednocześnie często o nich nie pamiętamy. Stopniowo wkraczają do naszego życia, a po pewnym czasie używamy ich już zupełnie nawykowo.

Dzisiaj chcę Ci pokazać z jakich programów najczęściej korzystam podczas programowania.

Narzędzia programistyczne

Bardzo często pytacie jakie programy są przydatne w nauce programowania. Moja odpowiedź jest prosta! To te, które same napiszecie! Nauczą was wiele więcej niż przeczytanie tysiąca książek.

No ale nie jest przecież tak, że programiści używają tylko programów przez siebie napisanych. Podczas programowania korzystramy z wielu dodatkowych narzędzi, którę nam te pracę ułatwiają.

Konsola

Moim podstawowym narzędziem, którego używam codziennie jest konsola. Trochę mi zajęło zanim się do niej przekonałam, bo stało się to dopiero jak zaczęłam używać Maca, ale od tego czasu nieustannie mi towarzyszy.

Na szczęście teraz mogą ją pokochać ❤️ również użytkowniczki i użytkownicy Windowsa, dzięki Windows Subsystem for Linux (szczegóły odnośnie instalacji znajdziesz tutaj).

Każdy system operacyjny domyślnie ma zainstalowany jakiś terminal, jednak zamienniki w tym przypadku bywają lepsze jak oryginał. Używam iTerm2 wraz z nakładką oh-my-zsh.

Obowiązkowym dodatkiem do konsoli dla użytkowników Maca jest Homebrew. Jest to pierwszy program, który instaluję na nowo konfigurowanym komputerze. Prawie wszystkie kolejne instaluję z jego pomocą.

Najczęstsze zastosowanie w moim przypadku to oczywiście Git, od którego moja przygoda z konsolą się zaczęła. Oprócz tego używam konsoli do prostych operacji na plikach wykorzystując poniższe komendy:

cd [ścieżka do folderu]              // nawigowanie do wybranego miejsca
ls -al                               // wyświetlanie zawartości folderu
mkdir [nazwa folderu]                // tworzenie nowego folderu
touch [nazwa pliku]                  // tworzenie nowego pliku
rm [nazwa pliku]                     // usuwanie pliku
rm -rf [nazwa folderu]               // usuwanie folderu
open [nazwa pliku lub folderu]       // otwieranie pliku lub folderu w domyślnym programie
open .                               // otwieranie bieżącego katalogu

Środowiska deweloperskie / edytory

Środowisko deweloperskie to coś bez czego nie da się programować. Jego wybór jest mocno zależny od języka programowania.

Moim podstawowym edytorem do otwierania wszelkiego rodzaju plików tekstowych, naprawiania konfliktów w Gicie oraz oczywiście pracy frontendowej jest Visual Studio Code. Uwielbiam jego szybkość, ogrom dostępnych wtyczek i wbudowaną konsolę.

Niestety nie da się w VSCode pisać kodu pod ekosystem Apple, gdzie deweloperki i deweloperzy jeszcze do niedawna byli skazani na dedykowane rozwiązanie, którym jest Xcode. Nie widziałam nigdy bardziej ubogiego środowiska deweloperskiego. Narzędzia do refactoringu dopiero powoli się pojawiają, podpowiadanie składni często przestaje działać. Mogłabym tak marudzić bez końca, na szczęście już nieco zdążyłam zapomnieć jakie to było cierpienie, bo od kilku lat używam programu o nazwie AppCode, który z powodzeniem zastępuje Xcoda w codziennej pracy.

AppCode jest narzędziem od firmy JetBrains, która słynie z rozbudowanych środowisk deweloperskich, zaawansowanych funkcji refactoringu czy analizy kodu. Funkcjonalność AppCoda nie jest tak bogata jak np. IntelliJ IDEA, ale jest o niebo lepiej niż w narzędziu dostarczonym przez Apple.

Praca z grafikami / designerami

W pracy nad projektami frontendowymi, zarówno webowymi i mobilnymi, konieczna jest nieustanna kooperacja z graficzkami i grafikami.

Ciągłe przesyłanie projektów graficznych poprzez maila, albo udostępnianie na dysku byłoby bardzo uciążliwe. Dlatego powstały fajne narzędzia, które to upraszczają.

Pierwszym, z którego miałam okazję korzystać jest Zeplin, który udostępnia grafikę w sposób czytelny dla programisty. Można sprawdzić wielkości elementów, marginesów, czy rodzaj fontów i kolorów. Firma udostępnia wtyczki do eksportu grafik z najbardziej popularnych programów graficznych.

Drugim programem oferującym podobną funkcjonalność jest Figma, która ma również możliwość tworzenia grafik i żadne dodatkowe narzędzie nie jest potrzebne. Dla mnie to narzędzie stało się pomocne przy tworzeniu tego bloga. Minimalizowałam koszty i nie mogłam sobie pozwolić na zatrudnienie grafika. Zakup programu do projektowania też mocno wykraczał poza budżet. Wersja darmowa Figmy okazała się wystarczająca na moje potrzeby i mogłam zaprojektować wygląd bloga. Żeby była jasność, zupełnie się na tym nie znam, chociaż wyszło moim zdaniem nienajgorzej 😉.

Tak mocno przyzwyczaiłam się do korzystania z tego typu programów, że kiedy ostatnio klient zaproponował, że udostępni mi grafiki w Photoshopie oblała mnie fala grozy 😱. Na szczęście szybko udało się wyeksportować projekt do Zeplina. Naprawdę, nie wiem jak kiedyś można było pracować inaczej 😉.

Organizacja pracy

Nie lubię mieć poczucia, że czas przecieka mi między palcami. Angażując się w kilka rzeczy jednocześnie takich jak praca, tworzenie treści na bloga i social media, rodzina, fotografia, czy już niedługo remont mieszkania nie mogę sobie pozwolić na lekkomyślne podejście do czasu i planowania.

Kluczowe są też narzędzia, które mi w tym pomagają. Zadania w dłuższej perspektywie czasowej, na przykład na kilka tygodni do przodu, planuję w Asanie. To tam trafiają rzeczy związane z remontem mieszkania, przygotowywania do wakacji, prace programistyczne nad blogiem, czy pomysły na własne aplikacje (które być może kiedyś zrealizuję 😉).

Oprócz tego codziennie rozpisuję zadania na dziś w formie listy TODO w moim wirtualnym notatniku Bear. Używam tego edytora także do tworzenia artykułów oraz wszelkich innych treści i notatek. Lubię jego minimalizm, dzięki czemu nie rozpraszają mnie rzeczy na około, a ja mogę się w pełni skupić na tym co piszę.

Bywa czasem tak, że zupełnie nie chce mi się siadać do czegoś co mam zaplanowane. Wtedy z pomocą przychodzi mi aplikacja Be Focused i stosowanie techniki zwanej Pomodoro. Jest mi dużo prościej namówić siebie samą do jednego pomidora niż na zrobienie w całości jakieś nudnej rzeczy. W praktyce najtrudniej jest zacząć, więc jak już siądę to zazwyczaj robię daną rzecz do końca. To czego mi brakuje w tej aplikacji to, żeby na czas pracy automatycznie przełączała moje urządzenia w tryb nie przeszkadzać, który wyłącza wszystkie rozpraszające notyfikacje.

Kiedy realizowałam dodatkowe projekty i rozliczałam się z klientami na podstawie przepracowanego czasu, do jego mierzenia używałam Toggla. Obecnie już tego nie robię, ale zastanawiam się nad mierzeniem czasu spędzanego nad blogiem. Na ten moment nie jestem nawet w stanie oszacować ile godzin w tygodniu na niego poświęcam.

Programy do śledzenia postępu odgrywają dużą rolę w pracy programistów. Jest to zupełnie zrozumiałe, bo klient, nad którego oprogramowaniem pracujemy, chce mieć jasność co do tego jak się sprawy mają, kiedy może się spodziewać konkretnych funkcjonalności i ile to go będzie kosztować. Oczywiście wiele z tych rzeczy jest jedynie prognozą, ale dają jakiś obraz nadchodzącej rzeczywistości. Istnieje wiele rozwiązań, które wspierają w tym procesie i w swojej dotychczasowej pracy miałam już okazję korzystać z większości z nich.

Najczęściej dostosowuję się do wymagań lub przyzwyczajeń klienta, bo to narzędzie ma służyć głównie jemu, a funkcje istotne z perspektywy zespołów deweloperskich są podobne w każdym z nich. Do najpopularniejszych i chyba najbardziej na ten moment rozwiniętych programów należy Jira. Oprócz tego korzystałam z wcześniej wspomnianej Asany, czy Trello. Ostatnio w jednym z projektów pierwszy raz miałam styczność z Clubhouse i bardzo przypadł mi do gustu. Mam nadzieję, że w niedługiej przyszłości będę miała okazję jeszcze trochę z nim popracować.

Komunikacja

Dużą częścią programistycznej pracy jest oczywiście komunikacja. Zwłaszcza podczas pracy zdalnej, kiedy nie można się przejść do pokoju obok o coś poprosić, narzędzia są niezbędne.

Do codziennej wymiany informacji w Tooploox używamy Slacka, który sprawdza mi się także do zdalnych sesji pair programingowych. Korzystam z wideorozmów z udostępnianym ekranem. Fajną opcją jest możliwość rysowania po ekranie przez osobę, która jest obserwatorem. Szybko można wskazać miejsce o którym się rozmawia. Do pozostałych spotkań korzystam z Google Hangouts lub Meet.

Przy organizacji pracy nie może oczywiście zabraknąć kalendarza. Tu niestety nie mam nic nadzwyczajnego. Używam standardowego Applowego kalendarza, do którego importuję ten służbowy.

Inne

Przyszedł czas na moją ulubioną kategorię 🤗. Narzędzi niesklasyfikowanych, niby nieistotnych, a jednak nie wyobrażam sobie pracy bez nich.

Na pierwszy ogień idzie podrasowany zamiennik Applowego Spotlighta czyli Alfred. Używam wersji darmowej do wyszukiwania plików i aplikacji oraz kalkulatora.

Mój faworyt to Spectacle. Proste narzędzie, dzięki któremu z użyciem kilku skrótów klawiszowych możemy dowolnie rozmieszczać otwarte aplikacje na ekranie. Korzystanie z klawiatury jest dla mnie w takich sytuacjach dużo szybsze niż rozmieszczanie okna przy pomocy myszki 🐭.

Kolejny program na liście pełni czysto estetyczną rolę. ‎Irvue podmienia regularnie tapety na moich pulpitach, korzystając z wcześniej wybranych przeze mnie kolekcji. Aplikacja posiada integrację z Unsplash i zdjęcia zaciąga właśnie z tej platformy.

Nie mogło zabraknąć oczywiście Spotify, który jest ze mną od mojej pierwszej pracy jako programistki 🥰. To dzięki niemu zachowuję skupienie, nawet jak dookoła panuje głośna dyskusja.

W moim zestawieniu znajdują się także zarządzający hasłami LastPass i dbający o mój wzrok i dobry sen f.lux oraz otwarty na okrągło Google Chrome, oczywiście ze wsparciem wielu wtyczek w tym The Great Suspender do usypiania nieaktywnych zakładek.

Podsumowanie

Stworzenie tej listy było dla mnie ciekawym wyzwaniem, ponieważ nieustannie dochodziły nowe programy. Zwyczajnie nie zdawałam sobie sprawy, że korzystam z tylu rzeczy.

Daj znać jeżeli znalazłaś w tym zestawieniu coś, czego nie znałaś, a chętnie wypróbujesz. Jeżeli natomiast masz jakieś fajne narzędzie do polecenia, koniecznie podziel się w komentarzu. Dzięki temu więcej osób będzie miało szansę je poznać.

Zostańmy w kontakcie

Odbieraj materiały i informacje, które pomogą Ci zadbać o swój rozwój i karierę programistki. Uzupełnij swoje dane i zapisz się na newsletter.