CHAPTER 1< Intro />
개발자의 세계는 정말 다채롭다! 본격적으로 개발자의 삶을 논하기 전에, 이들이 어떤 일을 하는지 한 번 재미있게 살펴보자.
일단, 플랫폼이나 서비스를 만들려면 다음과 같은 여러 영역의 개발자가 필요하다.
1. 서버 개발 (Back-end)
2. 데이터베이스 개발
3. 웹 개발 (Front-End)
4. 모바일 앱 개발 (iOS, Android)
5. PC 앱 개발 (Windows, Mac)
서버 개발은 사용자들이 화면에서 하는 요청을 처리하는, 일종의 *무대 뒤* 역할이다.
마치 레스토랑에서 주방장이 요리를 준비하듯, 서버 개발자는 웹이나 앱에서 사용자가 요청한 정보를 뒤에서 빠르게 처리해 제공한다.
메뉴를 주문하면, 주방에서 요리가 완성되길 기다리는 것처럼 말이다.
요즘은 서버리스(Serverless) 아키텍처라는 흥미로운 개념도 자주 등장한다.
말 그대로 "서버가 없다"는 뜻이지만, 사실 서버는 존재한다.
단지 서버 개발자들이 서버를 직접 관리할 필요가 없을 뿐이다.
구글이나 AWS 같은 회사들이 알아서 관리해 주기 때문에 개발자들은 오로지 화면 개발에 집중할 수 있는 세상이 된 것이다.
마치 레스토랑에서 요리를 자동으로 만들어주는 기계가 도입된 것과 비슷하다!
하지만 모든 기술에는 장단점이 있듯, 기업의 목적에 따라 서버리스가 맞을 수도, 아닐 수도 있다.
기술 선택의 자유는 곧 고민의 시작이기도 하다.
데이터베이스 개발은 큰 기업에서 중요한 역할을 맡는다.
작은 스타트업에서는 서버 개발자가 간단한 데이터베이스를 설치해 사용하는 정도지만, 큰 기업은 이야기가 다르다.
이들은 방대한 데이터를 관리하고 분석해야 하기에 데이터베이스 전문가가 필요하다.
Oracle 같은 대형 데이터베이스를 다루려면 자격증이 필수일 정도로 지식이 깊고 복잡하다.
이 분야의 전문가들은 경험이 쌓일수록 그 가치는 높아진다.
데이터는 시간이 지나도 변하지 않는 지식이기 때문에, 데이터베이스 개발자들의 연봉이 수억 대라는 말이 나오는 것도 그 이유다.
프론트엔드 개발은 가장 대중적이고, 비전공자들이 가장 많이 진입하는 영역이다.
이 분야는 초창기부터 '홈페이지'라는 개념과 함께 성장해 왔다.
그래서 웹 개발자들은 자기 분야에 대한 자부심이 강하고, 프론트엔드 개발자들이 많은 이유도 여기에 있다.
최근에는 웹 개발자들의 욕심(?)이 점점 커지면서, PWA(Progressive Web App)라는 개념이 등장해 모바일 앱 영역까지 침투하고 있다.
모바일 앱 개발이 어려워지다 보니, 웹에서 해답을 찾으려는 것이다.
이처럼 웹 개발은 끝없이 진화하는 분야로, 가장 많이 쓰이는 만큼 기회도 많다.
비록 공부할 것도 많긴 하지만, 진입장벽은 상대적으로 낮은 편이다.
모바일 앱 개발은 주로 전공자들이 많이 뛰어드는 영역이다. 그중 Android는 입문용으로 인기가 높고, 좀 더 도전적인 사람들은 iOS 개발로 넘어간다.
앱 개발은 단순히 프로그램만 만들면 끝이 아니라, 앱스토어 배포 심사라는 강력한 관문을 통과해야 한다.
이 과정에서 사소한 문제로도 반려를 당할 수 있고, OS가 업데이트되면 그에 맞춰 앱을 수정해야 하는 등, 유지보수에도 신경 써야 하는 골치 아픈 부분이 많다.
하지만 모바일 시대에 앱 개발은 필수적인 기술이며, 특히 메타버스, VR, AR 시대가 도래하면 이 영역은 더 큰 기회를 맞이할 것이다.
메타버스,VR,AR 전용 앱스토어에 배포될 프로그램들을 개발하는 날이 오면, 또 다른 차원의 앱 개발이 펼쳐지지 않을까?
한때는 PC에서 설치형 프로그램이 대세였다. 주로 Windows 환경에서 돌아가는 응용프로그램들이 주류였고, 개발자들은 프로그램을 만들어 배포용 패키지까지 직접 제작하곤 했다.
물론 지금도 많은 기업들이 윈도우 응용프로그램을 사용하고 있지만, 웹의 영향력이 커지면서 그 비중이 줄어들고 있다.
재미있는 사실은, 요즘 많은 PC용 프로그램이 실제로는 웹 기반 기술로 만들어졌다는 점이다. 예를 들어, 디스코드(Discord)나 개발 툴인 *Visual Studio Code 같은 프로그램은 사실 웹 기술을 사용한 것이다.
PC 앱처럼 보이지만, 그 속은 크롬 브라우저를 기반으로 한 웹 프로그램이다.
이렇게 웹이 PC 영역까지 침범하는 모습을 보면, 웹의 힘은 참 대단하다.
과거에는 풀스택 개발자라 하면 웹, 서버, 데이터베이스, 앱까지 모두 다루는 초능력자를 의미했다.
모든 기술을 섭렵한 진정한 고수들이었지만, 요즘은 조금 다르다. 최근에는 서버리스(Serverless) 아키텍처와 클라우드 서비스 덕분에 웹 개발 하나만 잘해도 전체 플랫폼을 혼자서도 개발할 수 있는 시대가 되었다.
예를 들어, PWA + Vue.js/React/Angular + Firebase 조합이면, 웹 개발자가 혼자서도 하나의 서비스 전체를 만들 수 있다. 이렇게 웹과 클라우드 기술이 발전하면서, 풀스택 개발자가 되는 것이 과거보다 훨씬 쉬워졌다.
개발자의 세계는 정말 넓고 다양하다.
그리고 어떤 기술을 선택하느냐에 따라 여러분의 개발자 인생이 달라질 수 있다.
중요한 건 자신에게 맞는 길을 찾아 끊임없이 배우고 성장하는 것. 재미있게 공부하고, 끊임없이 변하는 이 세계에서 즐거움을 찾길 바란다!