Offcanvas
Some text as placeholder. In real life you can have the elements you have chosen. Like, text, images, lists, etc.
Offcanvas
1111Some text as placeholder. In real life you can have the elements you have chosen. Like, text, images, lists, etc.
개발자

"새로운 개발자 경험이 온다" 2022년 SW 트렌드 총정리

Matthew Tyson | InfoWorld 2022.06.16
전 세계적으로 사회의 양상을 근본적으로 바꿔버린 바이러스 대유행 사태가 잦아든 지금 우리는 2022년 중반에 와 있다. 지난 2년의 변화 중에서 가장 주목할 만한 것은 디지털 인프라의 필요성이 높아지고 이에 크게 의존했다는 점이다. 시스템 관리자가 새로운 작업 방식을 만들어 내느라 고전하는 와중에도 시스템 자체는 훌륭하게 견뎌 주었다.
 
ⓒ Getty Images Bank

우리는 웹이 PPE(Personal Protective Equipment)에서 가상 결혼식까지 모든 것을 제공할 수 있음을 알게 되었다. 달리 위안을 주는 것이 없을 때면 많은 사람이 디지털 보호막 속으로 더 침잠해 들어갔다. 이처럼 웹 사용량이 급증하면서 새로운 문제와 개선할 부분이 발견됐다. 이제 온라인 경험을 기반으로 이를 업그레이드할 새로운 기술의 물결이 떠오르고 있다. 기존의 인터넷을 새로 구축하려는 노력이 진행 중인 가운데 이와 관련된 여러 가지 트렌드를 정리했다.
 

재미와 수익을 위한 코딩

소프트웨어 개발자라면 방금 개발한 프로그램도 "충분히 좋으냐"고 물으면 "개선의 여지가 있다"고 답하는 경우가 대부분이다. 뮤지션이 아직 미완성 상태라고 생각하는 데도 결국 앨범을 그냥 발표하는 것과 비슷하다. 존 레넌은 비틀즈의 명반을 두고 “재녹음하고 싶지 않은 것은 하나도 없다”라고 말하기도 했다.

이를 통해 우리는 지속적인 개선을 이끄는 중요한 동기부여 요소를 이해할 수 있다. 소프트웨어 엔지니어는 예술혼 비슷한 것에 이끌린다. 뭔가 멋진 것을 개발하지 않고는 못 배기는 것이다. 그렇게 개발된 최첨단 기술을 ‘예술’의 경지라고 표현한다. 코드 가독성과 유지 가능성이 제일 중요하다고 하지만 내재적으로 가치 있는 무언가를 만들고자 하는 타고난 갈망이 동기를 부여하는 경우도 많다.

물론 우수성만이 아니라 수익도 동기부여 요소다. 혁신이 성공할 확률은 벼락에 맞을 확률만큼이나 낮지만 일단 성공하면 금전적 이익이 엄청나다. (합치기 어려운 것으로 악명 높지만) 코더의 사고방식과 사업적 감각을 한데 모은다면 번개를 병 안에 가두듯 성공 확률을 높일 수 있다.
 

소프트웨어 개발 트렌드의 융합

이런 강력한 동기부여 요소가 근면성과 어울려 효과를 발휘하면서 개발 환경이 빠르게 변하고 있다. 소프트웨어 개발 분야에서 가장 영향력이 큰 트렌드를 알아보고 개별 트렌드가 현재 어떻게 융합되고 있는지 살펴보자.
 
2022년 소프트웨어 개발 트렌드의 융합 © IDG
 

클라우드 채택과 고차원 인프라

클라우드 투자가 늘고 있음은 이론의 여지가 없다. 실제로 클라우드 투자는 최근 IT 투자 중 절반을 넘어섰다. 이유는 간단하다. 가상화된 인프라와 툴은 수요가 높은 고도의 애자일 솔루션을 제공하기 때문이다. 흥미로운 것은 클라우드 사용 방식도 진화하고 있다는 점이다.

클라우드에 호스팅 된 역동적인 가상 머신(일명 서비스형 인프라(IaaS))의 개념은 강력하지만 진화하는 화폭 상에 그린 첫 스케치에 불과했다. PaaS와 서버리스 함수가 다음 수순이다. 솔루션의 다양화와 전문화도 나타나고 있다. 수평 방향으로는 물론 수직 방향으로의 진화다. 혁신가는 가상화된 인프라로 고차원 솔루션을 개발할 수 있다. 이 분야의 참가자는 크게 API 호스터 진영과 API 제공자 진영으로 나뉜다.
 

서버리스 배포와 API 제공자

베르셀(Vercel)과 네트리파이(Netlify)같은 서비스가 대표적인 최첨단 API 호스터다. 이들은 IaaS 및 PaaS 계층 위에 있는 일종의 서버리스 인프라를 대표한다. 그뿐만 아니라 특정 상황을 맞춤 지원하는 전문화를 잘 보여주기도 한다. 베르셀의 대시보드 앞에 앉아 복잡한 프론트엔드 애플리케이션을 버튼 하나를 눌러 배포해 봤다면 이 말의 의미를 잘 알 것이다. 베르셀은 ‘서버리스 플러스’이다. 즉, 특정 요건을 충족하기 위해 개선, 수정된 서버리스다.
 

대표적인 최신 API 제공자는 몽고DB

아틀라스(MongoDB Atlas)다. 이 API는 주로 데이터 지속성을 제공한다. 몽고DB 아틀라스는 본질적으로 원격 이용 가능한 서비스형 API다. 센트리아이오(Sentry.io)와 오스0(Auth0)같은 서비스도 비슷하다.

이들 솔루션은 호스팅용 베르셀과 마찬가지로 특정 수요에 맞춰 고도의 추상화(일은 적게 들고 파워는 많음)를 제공한다는 점이 핵심이다. 데이터 저장소를 가상 인프라 내에 배포하는 것은 전통적인 모델이다. 단지 장소만 클라우드로 옮겼을 뿐이다. 기존의 보유 자산을 필요한 것과 쉽게 통합시켜주는 전문 데이터저장소 협력업체를 두는 것에 가까운 효과를 보려면 몽고DB 아틀라스 같은 것을 사용해야 한다. 이 분야에서 성공적인 툴의 공통점 3가지가 애플리케이션이 연결하는 API, 인코드 통합 지원, 웹 기반 관리 콘솔이라는 점도 흥미롭다.
 

API 빌더

클라우드 플랫폼의 시대 덕분에 뭔가 새로운 것이 탄생할 길이 열린 것은 분명하지만 그 새로운 것이 정확히 무엇인지는 예측하기 어렵다. 새로운 툴에 내재된 기능과 (사용자 자신도 모를 때가 많은) 사용자의 수요가 새로운 방식으로 만나는 곳이 어디인지 찾아내는 과정이다. 흥미롭게도 실제로 API를 개발하는 세계는 비교적 변화가 없다. 그동안 점진적인 개선은 있었지만 호스팅과 제공 분야에서 일어난 것과 같은 파괴적인 변화는 아니었다. API 구성 활동을 호스터 및 제공자가 이룩한 것과 통합하는 움직임은 기회로 가득 찬 격변을 상징한다.

다음으로 소프트웨어 구성이 활발하게 진화하고 있는 몇몇 분야를 살펴보자.
 

프론트엔드 툴과 프레임워크

프론트엔드는 백엔드 로직과 서드파티 API의 마법이 인간-기계 표현방식을 찾는 영역이며 이곳에서 자바스크립트(JavaScript) 언어는 계속 진화한다. 한편, 자바스크립트 위에 구축된 프레임워크는 치열한 경쟁을 통한 자연도태를 겪고 있다. 솔리드(Solid),?스벨트(Svelte), 퀵(Qwik)과 같은 프로젝트는 다양한 방향으로 한계를 초월하고 있고, 리액트(React), 뷰(Vue)와 같은 기성 리액티브 프레임워크도 계속 성장하고 있다. 이처럼 반복 개선과 교류가 소프트웨어 한 분야에서 일어나는 것은 보기 드물다.
 

커스텀 미들웨어

클라우드 내 작업은 기존 툴을 통합하고 API를 통일하는 일이 많다. 이를 위해서는 항상 사람이 미들웨어 수준에서 일정 분량의 커스텀 작업을 해야 한다. 모든 자동화의 궁극적인 목적은 변하는 사람의 수요를 맞추는 것이기 때문이다.

러스트(Rust)같은 서버측 언어와 제이힙스터(JHipster)같은 프레임워크의 등장은 흥미롭지만 전체적으로 이 분야는 유동적이다. 프론트엔드처럼 백엔드도 더 전면적인 진화를 기다리고 있다. 자바(Java), 노드제이에스(Node.js), 파이썬(Python)같은 기존 솔루션(관련 프레임워크 포함)은 이 환경에 매우 적합하며 현실 세계의 요구에 맞춰 끊임없이 진화하고 있다. 이들 솔루션은 변함없이 중요한 활동 영역이 될 것이다. IaaS가 계속해서 서버리스의 필수 계층인 것처럼 미들웨어 코드는 머지않아 더 중요해질 것이다.

로우 코드와 머신러닝이 인간 개발자와 경쟁할 조짐도 보이지만 궁극적으로는 개발자가 추가로 활용할 수 있는 툴에 불과할 것이다. 혁신적인 로우 코드의 대표적인 예는 빌더(Builder)이다. 머신러닝이 코딩에 어떻게 도움을 줄 수 있는지는 깃허브 코파일럿(GitHub Copilot)에서 확인할 수 있다.
 

분리 아키텍처(일명 마이크로서비스)

다음으로, 원격 분리 아키텍처(일명 마이크로서비스)를 향한 움직임이 계속 활발하고 더 확산할 것이다. 전통적인 모놀리식 아키텍처 패러다임은 클라우드에 내재된 잠재력을 충분히 활용할 수 없다. 대안인 마이크로서비스 아키텍처는 데브옵스 부담을 덜어주겠지만, 이는 프로세스 확장을 가능하게 하는 동시에 복잡성을 심화시킨다. 서비스형 API, 프론트엔드 진화, 커스텀 미들웨어 등 기술의 새로운 방향을 아우르고자 하는 혁신이라면 마이크로서비스 아키텍처의 복잡성을 해결해야 할 것이다.
 

프로세스 자동화

모범 사례를 패키지화해 제공하려면 프로세스 자동화, 즉, 각 팀이 소프트웨어를 개발하고 제공하기 위해 사용하는 프로세스를 조율하는 일이 중요해진다. 이 분야에서는 사용자화 솔루션에 집중되는 현상이 관찰된다. 모든 기업은 상황이 다르다. 따라서, 구글과 마이크로소프트 같은 대기업에서 구현한 잘 통하는 것을 규모와 종류를 막론한 모든 팀에 통하는 솔루션으로 담아내는 것은 충분한 가치가 있다.

많은 CI/CD 솔루션, 빌드 및 의존성 관리 툴, 그리고 테스트 프레임워크는 프로세스 자동화 툴이 개발자 활동에 초점을 맞추고 있는 사례다. 버전 통제와 깃허브같은 관련 서비스가 이 범주에 속한다. 프로세스 자동화는 소프트웨어의 미래에 일익을 담당할 또 하나의 핵심 분야다.
 

새로운 종류의 개발자 경험

앞서 제시한 융합 다이어그램처럼 이번에 살펴본 소프트웨어 개발 트렌드는 각각 변화의 원동력이다. 전체적으로 이들 트렌드가 가리키고 있는 것은 매력적이지만 아직 나타나지는 않은 새로운 종류의 개발자 경험이다. 현재 영향을 미치고 있는 세력과 움직임은 눈에 보이지만, 구체적인 미래는 아직 불투명하다. 그렇기에 지금이야말로 소프트웨어 개발자가 되기에 흥미진진한 시기다.
editor@itworld.co.kr
 Tags 소프트웨어 트렌드 개발자 프로그래밍
IDG 설문조사

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2022 International Data Group. All rights reserved.