Firma » Biznes
Rozwój technologii to wyzwanie dla programistów
Zobacz więcej zdjęć » |
Nowinki technologiczne wiążą się z koniecznością stałego dokształcania i podnoszenia kwalifikacji, zdobywania nowych umiejętności i certyfikatów. Praca programisty wymaga znajomości gotowych produktów, takich jak serwery baz danych, serwery aplikacyjne, portale, silniki procesów, system obiegu dokumentów. W tym obszarze programiści certyfikują się w zakresie produktów oferowanych przez największych na świecie dostawców technologii (np. Microsoft, Oracle, IBM czy JBoss).
Zamów artykuły sponsorowane na serwisie CentrumPR.pl w kilka minut, poprzez platformę Link Buildingu np.:
Przeczytaj również
Rozwój technologiczny bezpośrednio dotyczy takich czynników jak bezpieczeństwo informacji, ergonomia systemów czy ich skalowalność. W tym kontekście każda implementacja nowych rozwiązań zwiększa ryzyko wystąpienia problemów. Stąd wiele firm i dostawców decyduje się na technologie, które gwarantują jak największe bezpieczeństwo danych. Nie zmienia to jednak faktu, że dostawca powinien pomóc dokonać wyboru prezentując także korzyści w obszarach ergonomii, wydajności i skalowalności przy użyciu najnowszych rozwiązań.
Klienci chcą mieć pewność, że otrzymają od dostawcy stabilne rozwiązanie, stworzone w technologii, która nie zostanie wycofana czy wyparta z rynku w ciągu najbliższych kilku lat. W wielu przypadkach w ten aspekt bezpieczeństwa wpisuje się możliwość rozwoju systemu, dostępność nowych wersji, otwartość czy łatwość dokonania migracji. Jeżeli programiści nie są na bieżąco z najnowszymi technologiami, to po pierwsze ich klienci będą potencjalnie tracić korzyści wynikającej z wdrażania tańszych i lepszych rozwiązań, po drugie zaś, w dłuższej perspektywie dla programistów może to oznaczać utratę klientów i zleceń.
Języki programowania
Jednym z zagadnień, które muszą śledzić programiści, są języki programowania. Języki podstawowe wykorzystywane w tworzeniu rozwiązań stale się rozwijają. Opanowanie ich wszystkich jest praktycznie niemożliwe, dlatego programiści specjalizują się w jednym bądź kilku językach. Stąd w przypadku tworzenia produktu lepiej bazować na jednym języku.
Dla klientów ważne są możliwości, jakie dają nowe technologie. Z punktu widzenia zespołu projektowego przed przystąpieniem do pracy najważniejszy będzie wybór odpowiedniej technologii. Twórcy rozwiązania muszą mieć stuprocentową pewność, że wybrany język, technologia czy platforma pozwolą stworzyć i wdrożyć wymagane przez klienta funkcjonalności. Jednocześnie wybór ten należy wpisać w trendy rozwoju rynku i branży, w jakiej działa klient. W praktyce producenci wykorzystują nowe - i tym samym nie dość dobrze sprawdzone - języki i platformy tylko w prototypach i małych rozwiązaniach.
Zmiany technologiczne
Dla programistów bardzo istotne są zmiany związane z wzorcami architektonicznymi i projektowymi, co może rzucać nowe światło na sposoby tworzenia oprogramowania. Tego rodzaju zmiany pozwalają lub wręcz zmuszają do przemodelowania myślenia o tym, w jaki sposób można spełnić oczekiwania klienta. Do takich zmian technologicznych należały m.in. MOM (Message-oriented middleware), SOA (Service-oriented architecture), rozwój narzędzi workflow/BPM, dBPM (dynamic BPM), REST (Representational state transfer), a w ostatnim czasie rozwój modelu chmury (Cloud computing) wraz z coraz powszechniejszym udostępnianiem w sieci usług w modelu SaaS (a także IaaS i PaaS). Warto zwrócić uwagę, że tego rodzaju zmiany są trudne do przyjęcia, ponieważ wymagają znacznego zaangażowania po stronie klienta i jego współpracy z dostawcą oprogramowania.
Chmura
Jednym z obecnie największych wyzwań jest cloud computing. To typowa innowacja, która zmienia dotychczasową filozofię dostarczania oprogramowania klientom. Jej konsekwencją jest przekierowanie na inne tory myślenia o rozwiązaniach IT zarówno po stronie dostawców, jaki i użytkowników.
Wsparcie społeczności
W przypadku wielu wdrożeń i projektów tworzenia rozwiązań dedykowanych ważnym czynnikiem sukcesu jest możliwość współpracy twórców oprogramowania z jego użytkownikami. Rola klienta nie powinna sprowadzać się wyłącznie do złożenia zamówienia. Ważne jest środowisko tworzenia i budowania aplikacji, dobre IDE, wsparcie do debugowania, wsparcie do wykonywania testów jednostkowych, narzędzia SCM (Software configuration management). Ważna jest też społeczność - otoczenie - zgromadzona wokół danej technologii. Na nie składają się firmy i ludzie, którzy dostarczają bibliotek, dzielą się doświadczeniami, a nawet aplikacjami wykorzystującymi technologię. Umiejętność korzystania z tego rodzaju społeczności ułatwia tworzenie nowych rozwiązań.
Nieświadomi sobie szkodzą
Postęp technologii jest wyzwaniem także dla samych firm. Nieświadomość postępu doprowadza czasem do sytuacji, w których organizacja zostaje ze starą technologią, co w konsekwencji powoduje problemy przy dalszym rozwoju systemu czy aktualizacji. (np. poprzez uniemożliwienie migracji do nowej wersji systemu operacyjnego). Tacy „maruderzy technologiczni" narażają się na duże trudności w funkcjonowaniu przedsiębiorstwa, co niemal zawsze skutkuje wysokimi i nieprzewidzianymi kosztami.
Autor: Dariusz Dudek - Główny Specjalista IT, Pentacomp Systemy Informatyczne S.A., www.pentacomp.pl
Nadesłał:
kowalka
|
Komentarze (0)