Data publikacji: 14.01.2021
Data aktualizacji: 05.07.2023
Kim jest architekt IT?
Mówiąc krótko, architekt systemów IT to osoba odpowiedzialna za przygotowanie projektu systemu oraz nadzorowanie, aby został on zaimplementowany zgodnie z planami projektowymi.
Zakres obowiązków architekta systemów IT
Do zaprojektowania architektury systemu, niezależnie od stopnia jego złożoności, konieczna jest dobra znajomość wymagań funkcjonalnych oraz niefunkcjonalnych. Architekt musi bardzo dobrze znać oczekiwania stawiane przed systemem, aby adekwatnie do nich zaproponować optymalną architekturę.
W zależności od organizacji oraz specyfiki danego projektu architekt może operować na różnych poziomach:
- od skali makro, w której skupia się na wysokopoziomowych komponentach systemu (aplikacjach, usługach, podsystemach) oraz ich integracji poprzez udostępniane interfejsy,
- po skalę mikro, w której projektuje strukturę zależności klas, modele danych oraz algorytmy logiki biznesowej w oparciu o powszechnie przyjęte wzorce projektowe.
Wynikiem pracy architekta najczęściej są dokumenty opisujące projektowany fragment systemu, w tym m.in.:
- dokumentacja techniczna opisująca szczegóły architektury (tj. występujące w systemie komponenty: moduły, aplikacje, serwery, usługi oraz sposób ich integracji i zachodzące interakcje),
- diagramy UML (diagramy klas, komponentów, sekwencji, aktywności, itp.).
Bardzo często zdarza się, że architekt systemów informatycznych, planując użycie danego rozwiązania, przygotowuje dla niego tzw. „Proof of Concept”, czyli uproszczoną implementację mającą na celu pokazać koncepcję działania danego mechanizmu oraz zweryfikować jego wykonalność.
Z kim architekt systemów informatycznych ściśle współpracuje w projekcie?
Jak zostało wcześniej wspomniane, znajomość funkcjonalnych i niefunkcjonalnych wymagań jest kluczowa w celu przygotowania optymalnej architektury, dlatego też architekt często współpracuje z analitykami biznesowymi, a w mniejszych projektach bezpośrednio z klientem. Po uwzględnieniu wymagań i przygotowaniu projektu systemu, architekt IT przekazuje go zespołowi developerskiemu do implementacji. Osoba na stanowisku architekta ściśle współpracuje z developerami, szczególnie w projektach prowadzonych w metodykach zwinnych (np. Scrum). Jest to praca iteracyjna, w trakcie której architekt projektuje kolejne fragmenty systemu, a zespół developerski je implementuje.
Przeczytaj również: Jak zbudować zespół? Poznaj praktyczne wskazówki
Chcę zostać architektem IT. Na jakich obszarach wiedzy mam się skupić?
Jest kilka obszarów szczególnie istotnych dla osób zainteresowanych zawodem architekta:
- biegłość w programowaniu (architekci często specjalizują się w wybranych technologiach, np. .NET / Java),
- znajomość wzorców projektowych, modeli zarządzania projektami i dobrych praktyk programistycznych,
- znajomość wzorców architektonicznych,
- znajomość interfejsów komunikacyjnych (REST API, SOAP, gRPC, GraphQL, etc.),
- znajomość podstawowych sposobów integracji pomiędzy systemami (kolejki, szyny komunikacyjne).
- rozwój umiejętności miękkich – komunikatywność i dobra organizacja pracy
- znajomość języków obcych – zwłaszcza w środowisku międzynarodowym w branży informatycznej
Od stażysty do architekta – ścieżka rozwoju przyszłych architektów IT
Najczęstszą (choć nie jedyną możliwą) ścieżką rozwoju dla architekta jest ścieżka związana z programowaniem. Często po osiągnięciu odpowiedniej biegłości w zakresie implementowania systemów starsi programiści, chcąc mieć większy wpływ na ich kształt, zaczynają patrzeć na nie z szerszej perspektywy i skupiać swoją uwagę nie tylko na sposobie implementowania oprogramowania, ale również koncepcji działania, integracji oraz projektowaniu rozwiązań dla całego systemu.
To właśnie wtedy najczęściej obejmują rolę architekta w projekcie.
Przeczytaj także: Kim jest .NET developer?
Plusy i minusy pracy na stanowisku architekta
Projektowanie systemów IT i praca architekta przynosi niebywałą satysfakcję, gdyż jest to praca bardzo twórcza – każdy projekt jest inny, a zatem pojawiające się problemy i wyzwania także są różne. Architekt poszukuje optymalnych rozwiązań tych problemów w oparciu o wymagania i ograniczenia projektowe. Obserwowanie, jak pomysły i koncepcje przeobrażają się w działający system daje wiele radości.
Podejmowanie decyzji dot. architektury systemu wiąże się jednak z dużą odpowiedzialnością – źle zaprojektowana architektura może spowodować, że cały system lub jego fragment nie będzie działał zgodnie z oczekiwaniami. Zatem: czy gdybym mógł cofnąć czas, czy zostałbym architektem? Zdecydowanie tak – to niezwykle pasjonująca praca!