# Jak uprofesionalnić twój poboczny projekt w pracy

Załóżmy że nie jesteś programistą, ale udało Ci się zautomatyzować część zadań za pomocą małego skryptu. Gratuluję! Utrzymujesz kod na produkcji i dostarczasz wartość za jego pomocą. Z tego artykułu dowiesz się, jak możesz wprowadzić swój kod na nowy poziom i uzyskać wartościowe umiejętności programistyczne.

## Zaczynamy!

Najprawdopodobniej, Twój kod:

– to zbitka fragmentów kodów znalezionych w internecie;
– działa w większości przypadków, ale czasami ulega awarii;
– może być obsługiwany tylko przez Ciebie.

Na dodatek masz wrażenie, że to nie jest prawdziwe programowanie.

## Możliwe ulepszenia

Jest kilka rzeczy, które możesz poprawić w takim kodzie. Korzyści będą dla obu stron:

– firma będzie mogła korzystać z kodu, nawet kiedy opuścisz swoje aktualne stanowisko,
– Ty będziesz miał możliwość uzyskać cenne umiejętności & zademonstrujesz je w praktyce.

Rzeczy, które możesz dodać do Twojego projektu:

1. kontrola wersji – na przykład git,
2. dokumentacja,
3. testy automatyczne,
4. ciągła integracja (continuous integration).

## Kontrola wersji
Kontrola wersji jest standardem przy każdym programowaniu na poważnie.  Pozwala Ci ona dokumentować zmiany w miarę postępów i szybko przywrócić przeszłą wersję kodu. Jeśli nie używasz kontroli wersji, marnujesz firmowe zasoby (Twój czas) i ryzykujesz bez potrzeby własną frustrację. Aktualnie GitHub i GitLab oferują darmowy hosting, również dla prywatnych projektów.

## Dokumentacja
Ulubiony temat developerów do narzekania – albo dlatego, że muszą pisać dokumentację, albo dlatego, że pracują na nieudokumentowanym kodzie. Najlepiej zacznij przynajmniej z `README` i w miarę jak projekt będzie się rozwijać, poszukaj sposobu, żeby dokumentować różne jego fragmenty.

## Testy automatyczne
Najważniejsze to zacząć testować jak najwcześniej. Zawszę są pilniejsze rzeczy niż testowanie, ale możesz przynajmniej zbudować infrastrukturę do testowania i zacząć pisać testy jeden po drugim. Na pewno będą one wartościowe, kiedy projekt zrobi się bardziej skomplikowany lub będzie go przejmować ktoś inny.

## Ciągła integracja (CI)
To trochę sporo, jeśli pracujesz zupełnie sam, ale robi się naprawdę ważne, kiedy inny zaczynają pracować nad kodem. CI obniża próg wejścia do projektu – oprócz Twojego komputera jest jeszcze jedna maszyna, na której system działa. W miarę jak inne osoby będą dołączać do projektu, będziesz mieć centralne miejsce, w którym zmiany będą weryfikowane – bez angażowania Ciebie, autora aplikacji.

## Linki
* [oryginaly artykuł po angielsku](https://how-to.dev/how-to-professionalize-your-little-work-project)

## Podsumowanie
Żeby sprofesjonalizować poboczny projekt w pracy, możesz użyć listy przedstawionej w tym artykule i powoli zacząć dodawać te elementy.
