Tworzenie nowoczesnego oprogramowania polega na budowaniu natywny dla chmury, aplikacje chmurowe i wielochmurowe. Ale chodzi również o uwzględnienie analizy Big Data opartej na danych i wykorzystanie sztucznej inteligencji (AI) i uczenia maszynowego (ML). Definicja nowoczesnego tworzenia oprogramowania obejmuje granularne ponowne wykorzystanie kodu i narzędzia o niskim poziomie kodowania – a także o wiele więcej.
Ukryte pytanie brzmi tak naprawdę: co to znaczy być programistą w 2020 roku i później?
Po pierwsze, powróćmy do dobrze znanego wyrażenia, które stało się w pewnym sensie uznaną zasadą w tworzeniu, wdrażaniu, obsłudze i zarządzaniu rozwiązaniami programowymi: dotyczy ludzi, procesów, narzędzi i technologii.
Weźmy na przykład technologię. Nadrzędnym tematem w niezliczonych sektorach rynku jest spektrum technologii cyfrowych zapewniających nowe poziomy zdolności operacyjnej i zasięgu biznesowego. Lista jest długa. W żadnym wypadku nie jest kompleksowy, może obejmować od chmury i urządzeń mobilnych po produkty połączone z Internetem, strategie integracji interfejsy programowania aplikacji (API) i nowe modele aplikacji, takie jak łańcuch bloków i mikrousługi.
Organizacje chcą wykorzystywać technologie cyfrowe do wprowadzania innowacji i szybszego dostarczania rozwiązań i produktów. Technologie te umożliwiają również bardziej angażujące doświadczenia i interakcje, jednocześnie zwiększając poziom produktywności i personalizacji.
Granice organizacji nie są już ograniczone do fizycznych cegieł, ale do krawędzi, która wygina się zgodnie z jej punktami końcowymi. Podstawy procesów, takich jak DevOps, skupiają się na znalezieniu nowej relacji roboczej, która przyniesie korzyści całemu procesowi tworzenia oprogramowania. Założeniem tego celu jest szybkie, stabilne i powtarzalne udostępnianie oprogramowania w terenie z większą częstotliwością i kontrolą.
Dzisiejszy twórca oprogramowania ma dostęp do wielu narzędzi i usług, które ewoluowały i dostosowywały się wraz z nową falą barier ochronnych, które utrzymują ich w ryzach. Narzędzia te obejmują większe wsparcie dla automatyzacji, samoobsługi i szerszy zakres usług szkoleniowych. Istnieje elastyczność dzięki funkcjom, które są abstrakcyjnie złożone i zapewniają niezbędną instalację wodną, która sprawia, że wszystko działa.
Dzięki niewielkiemu wsparciu narzędzi do kodowania i braku wsparcia, firmy nie są ograniczone dostępem do tradycyjnych umiejętności programistów. Mogą poszerzyć zakres uczestnictwa o więcej pracowników.
„Daj ludziom to, czego chcą, kiedy tego chcą” stało się „pierwszą” zasadą, jeśli chodzi o dostarczanie oprogramowania. Ostatecznie liczy się wynik. Cechą charakterystyczną nowoczesnego tworzenia oprogramowania dla wszystkich grup wiekowych jest dostarczanie rozwiązań i produktów, które po prostu nie są „do niczego”, ale są intuicyjne w stosunku do współczesnych potrzeb i obaw.
Krótko mówiąc, nowoczesne tworzenie oprogramowania oznacza tworzenie aplikacji i aplikacji, które wykorzystują wszystko, co ma do zaoferowania obecna technologia. Wykorzystuje różne dostępne architektury, usługi i możliwości, aby zmaksymalizować korzyści. Wymaga umiejętności interpersonalnych i podejścia opartego na współpracy, które jest dostosowane do kontekstu użytkowania i klienta.
Ważne jest, aby zwracać uwagę na kwestie motywacyjne, takie jak bezpieczeństwo, prywatność i odpowiedzialność etyczna. Wyzwaniem dla bycia „nowoczesnym” jest nawigacja i wybieranie tego, co Cię nie powstrzyma – ludzi, narzędzi i technologii. Dobra wiadomość jest taka, że otwarta rozszerzalność i interoperacyjność to nowoczesna lingua franca, która zapewni Ci aktualność.
Rotibi Ball jest dyrektorem ds. badań w CCS Insight.