Zarządzanie, modelowanie czy programowanie baz danych to tylko część zadań, które na co dzień wykonują bazodanowcy. Jak dokładnie wygląda praca na tym stanowisku? Czy znajomość języka SQL jest niezbędna? Przeczytaj artykuł i sprawdź, czy praca specjalisty IT w tym obszarze jest dla ciebie!

Developer Baz Danych to dość szerokie pojęcie. Osoba pełniąca taką rolę może zajmować się kompleksową pracą z danymi na wielu etapach „cyklu życia” danych. Do licznych zadań developera zajmującego się bazami danych należą: wybór technologii, projektowanie modelu danych, przygotowanie struktur, tworzenie logiki aplikacji, procesów przetwarzających duże ilości danych, przygotowanie danych do analiz czy optymalizacja zapytań tak, by dane były jak najszybciej dostępne dla użytkownika.

Programista Baz Danych ma przed sobą wiele ścieżek rozwoju i od osobistych preferencji zależy, którą podąży. Z całą pewnością jego podstawową umiejętnością jest język zapytań – SQL, jednak na tym fundamencie zbudować można bardzo różne zestawy umiejętności. Osoby dobrze czujące się w szeroko pojętym programowaniu preferować będą rozwój aplikacji backendowych. Osoby z zacięciem statystycznym mogą śmiało rozwijać się w analizie danych – Data Science, czy uczeniu maszynowym. Esteci z kolei są dobrymi kandydatami do projektowania systemów analitycznych, dashboardów do analiz czy raportów. Każda z tych ról jest niezbędna w projekcie i często jedna osoba ma okazję robić różne rzeczy, dzięki czemu ciężko narzekać na nudę.

Programista Baz Danych często ewoluuje razem z systemami, rozwijając się w kierunku Big Data. Wraz z rozwojem tego typu systemów rośnie zapotrzebowanie na programistów potrafiących pracować z danymi. Często dane migrowane są ze starszych systemów opartych na dojrzałych rozwiązaniach, więc niezbędny jest stały rozwój i poznawanie nowych technologii.

Jaką rolę pełni w projekcie Programista Baz Danych? 

Zależnie od projektu osoba pełniąca funkcję Programisty Baz Danych realizuje różnorodne zadania. Częściowo odpowiedź zawarta jest już w poprzednim pytaniu – Programista Baz Danych zajmuje się pracą z modelem danych i samymi danymi na każdym z etapów projektu. Zasadniczo pełni rolę podobną do każdego innego programisty. Często bierze udział w analizie wymagań, tak by optymalnie wybrać technologię, model danych czy sposób implementacji określonego procesu.

Tak jak każdy inny programista, zdecydowaną większość dnia spędza przed monitorem komputera, analizując kod – z tą różnicą, że kod ten zazwyczaj napisany jest w jednym z języków wykorzystywanych w bazach danych (np. PLSQL czy T-SQL). Dodatkowe zadanie, z jakim spotkać się może developer baz danych, to przygotowanie wizualizacji danych czy gotowych analiz w systemach takich jak Tableau czy Power BI.

Z kim Specjalista Baz Danych ściśle współpracuje w projekcie?

Odkąd popularność zdobywać zaczęły zwinne techniki wytwarzania oprogramowania, umiejętności miękkie stały się szczególnie ważne dla wszystkich osób zaangażowanych w ten proces. Nie inaczej jest z Programistami Baz Danych. Codziennością jest kontakt z innymi programistami, analitykami czy kierownikami projektów.

Zależnie od projektu, bardzo często zdarza się kontaktować z końcowymi użytkownikami danych, którzy zazwyczaj są osobami niezaznajomionymi z technikaliami. Nowoczesny programista zdecydowanie musi wykazywać się wysoko rozwiniętymi umiejętnościami komunikacyjnymi. Dodatkowo mocny nacisk na komunikatywność i empatię u kandydatów na programistów stwarza bardzo dobre warunki pracy i sprzyja tworzeniu zgranych zespołów.

Na jakich przedmiotach na studiach skupić się najbardziej, aby zostać w przyszłości Developerem Baz Danych?

Odpowiedź wydaje się oczywista – bardzo ważne są ogólne przedmioty programistyczne oraz przedmioty związane typowo z bazami danych, których poziom jest różny – od ogólnych wprowadzających w teorię baz danych, po zaawansowane przedmioty dotykające pewnego zagadnienia związanego z bazami danych jak np. hurtownie danych, administracja bazami danych czy przestrzenne bazy danych. Na początek zdecydowanie najważniejszy jest język SQL i warto go poznać, nawet jeśli nie planujesz być programistą baz danych. Znajomość SQL może oszczędzić wiele trudu i linii kodu programistom m.in. Javy, Python czy .Net.

Od stażysty do seniora – ścieżka rozwoju kariery

Ścieżka rozwoju jest standardowa dla branży IT i umożliwia dość szybki rozwój w zależności od predyspozycji i umiejętności. Standardowo kandydat w Inetum rozpoczyna przygodę na profilu bazodanowym od praktyk, podczas których rozszerza swoją znajomość SQL w ramach przygotowanego kursu oraz samodzielnych projektów realizowanych pod okiem doświadczonego opiekuna. Opiekun wyznacza temat i kierunek rozwoju indywidualnych projektów, dzięki czemu są one dostosowane do umiejętności i potrzeb każdego z praktykantów oraz stymulują rozwój.

Kolejnym krokiem jest staż, w czasie którego rozpoczyna się praca w realnych projektach. Z dobrym fundamentem zdobytym podczas praktyk, stażysta gotowy jest do podjęcia zadań projektowych. Nadal nad poprawnością wykonywania zadań czuwa opiekun. Etap ten ma na celu przede wszystkim dalszy rozwój podstawowych umiejętności niezbędnych w codziennej pracy, ale także daje szanse zderzenia się z prawdziwymi zadaniami. Dzięki temu może dać definitywną odpowiedź na pytanie – czy to jest dla mnie?

Następnymi etapami są: młodszy programista, programista i starszy programista. Ciężko zdefiniować wyraźne granice pomiędzy poszczególnymi stanowiskami, ale moim zdaniem główne różnice występują w samodzielności:

  • Młodszy programista – radzi sobie z prostszymi zadaniami, ale wymaga wsparcia w tych bardziej skomplikowanych,
  • Programista – świetnie, samodzielnie radzi sobie z większością zadań,
  • Starszy programista – jest w pełni samodzielny, a ponadto wspiera mniej doświadczonych kolegów i koleżanki w rozwiązywaniu ich zadań.

Moje największe wyzwania

Moim zdaniem największe wyzwanie to podjęcie praktyk oraz pierwszy kontakt z programowaniem w rzeczywistym projekcie. Przeskok z projektów „uczelnianych” na prawdziwe systemy komercyjne jest ogromny i uważam, że niezwykle istotne jest wtedy właściwe wsparcie i stopniowe wprowadzanie przez mentorów. Jeśli chodzi o wyzwania techniczne, to z całą pewnością sam początek przynosi ich najwięcej.

Pierwsza praca i pierwszy projekt to często sprawy poza naszym wpływem, w przeciwieństwie do kolejnych wyzwań, jakich pełno w karierze. Na dalszych etapach kariery każdy ma pewien wpływ na wyzwania, jakie sam przed sobą stawia, a także jest uzbrojony w oręż doświadczenia, więc nic już nie jest takie straszne!

Przeczytaj także: Neo4j – zaproszenie do grafowych baz danych

Plusy i minusy pracy na stanowisku

Praca programisty ma kilka wad i Programista Baz Danych nie jest żadnym wyjątkiem od tej reguły. Przede wszystkim większą część dnia spędza się w pozycji siedzącej, skupiając wzrok na monitorze. Nikomu nie trzeba tłumaczyć, jak fatalny ma to wpływ na oczy i kręgosłup. Oznacza to też mocno ograniczoną ekspozycję na działanie promieni słonecznych, co skutkuje mlecznobiałym odcieniem cery i niskim poziomem witaminy D. Najlepszym pomysłem na dziesięciominutową przerwę jest wyjście na kawę, więc staje się to nałogiem, co nie pozostaje bez skutku na jakość snu.

Plusów tej pracy jest bardzo wiele, ponieważ ilość dostępnych danych, które dziś nas otaczają, jest ogromna i bardzo szybko rośnie. Rozwój technik związanych z danymi pozwala na przeprowadzanie analiz, o których jeszcze kilkanaście lat temu nikomu się nie śniło. Dane i umiejętność ich odpowiedniego wykorzystania dają bardzo duże możliwości… Więc osoby, które potrafią „układać te klocki” są i zawsze będą poszukiwane na rynku pracy.

Gdybym mógł cofnąć czas, czy dalej zostałbym bazodanowcem?

Prawdę mówiąc, uważam, że generalnie praca programisty jest dobrym pomysłem na życie. Oczywiście potrafię sobie wyobrazić lepsze, ale będąc programistą, można nie tylko liczyć na wysokie zarobki, jakie oferuje rynek informatyczny, ale i realizować się. Praca ta wymaga ciągłego rozwoju i nie pozwala rdzewieć szarym komórkom. Będąc szczerym, oczywiście nie żałuję mojej ścieżki i każdemu polecam rozpoczęcie kariery programisty od baz danych, ale też nie uważam, żeby ścieżka ta miała jakieś szczególne atuty względem innych ścieżek programisty (jednocześnie nie ma też żadnych szczególnych wad).