개발자의 미래

여러분 안녕하세요. 꿈꾸는 개발자입니다. 너무 오랜만에 여러분들을 다시 찾아뵙네요. 정말로 그동안 때아닌 감기때문에 너무 고생을 했어요. 여러분들도 감기 조심하세요. 바로 본론으로 들어가서 여러분 앞으로 개발자는 어떻게 돈을 벌어야 하는지 고민되지 않으신가요? 제 유튜브 채널에 정말로 많은 분들이 댓글을 달아주시는데 개발자의 미래에 대해서 고민을 가지고 계신 분들이 정말로 많이 계시더라구요. 실제로 “개발자 미래”라고 유튜브에 검색을 하면 몇몇 조회수 영상이 높은 결과물도 눈에 띄구요. 그도 그럴게 작년? 즈음에 챗GPT가 나오면서 인공지능 붐이 일어나기 시작했잖아요. 개발할 때도 코파일럿과 같이 개발하는 시대가 왔고 최근엔 명령어만 잘 쓰면 왠만한 웹 서비스도 그냥 쉽게 만들어 주니까 개발자의 입지가 점점 줄어드는거 아닌가 하는 불안감이 드는건 사실이에요. 생각이 이쯤 되면 자연스럽게 개발자는 미래에 돈줄이 안되는 직업중 하나일거라는 생각때문에 좀처럼 개발자의 길로 들어서는걸 머뭇거리게 될거에요. 이런 상황에서 개발자는 앞으로 어떻게 살아가야 할까요? 개발자라는 직업이 미래에 돈줄이 되는 직업이 될수 있을까요? 이번 포스팅에서는 개발자의 미래. 개발자가 앞으로 돈 법는 법에 대해서 말씀드리겠습니다. 이러한 포스팅이 도움이 되신다면 지금 좋아요과 구독을 눌러주시고 제가 만드는 포스팅은 저의 책 “일본 개발자 취업백서”에 나온 내용을 참고로 제작되고 있으니 더 자세한 내용이 궁금하신 분은 제 youtube 영상 설명란에 전자책 구매 링크를 남겨놓을테니 꼭 구매하셔서 미래를 위한 후회없는 선택을 하시기 바랍니다.

먼저 개발자의 미래를 알아보기 전에 개발자의 변천에 대해서 말씀드릴께요. 요즘엔 개발자가 정말로 많은 분야로 나눠져 있죠. 웹 분야도 있지만 임베디드나 앱 등등도 있어요. 단적인 예로 웹 분야를 보면 웹 분야도 정말 광범위해서 프론트나 백엔드로도 나뉘지만 도커의 등장으로 데브옵이라는 것도 생겼고 최근엔 ML옵도 있고 인프라 등등으로 나뉘게 되죠. 또한 같은 프론트 개발자, 백엔드 개발자라 하더라도 개발 방식에 따라서 전문적으로 개발하는 분야가 다 달라서 솔직히 같은 분야의 같은 업무의 개발자가 아니라면 개발자들끼리 만나도 대략 어떤 일을 하는지 예상은 할 수 있어도 서로 무슨 개발하는지는 자세히 모를 때가 있어요. 그만큼 웹 개발 하나만 보더라도 많은 분야로 나뉘어져 있어서 복잡하다는 말을 하고 싶었어요. 그 뿐아니라 최근 10년 20년의 역사를 봐도 그동안 많은 언어와 프레임 워크가 생겨나서 더 생산성 있고 더 효율적인 개발을 할수도 있게 됐어요. 문제는 그만큼 개발자가 되려면 더 많은 것을 알아야 하게 되었고 앞으로도 많은 공부를 해야한다는 문제아닌 문제가 생겼죠.

근데 그거 아시나요? 웹 개발 초창기때는 이 모든걸 하나의 개발자가 개발했다는 사실요. 사실 이렇게 웹 개발이 많은 분야로 나뉘게 된건 역사가 그리 길지 않아요. 많은 회사들이 더 효율적이고 더 안정적으로 개발을 진행하려고 고민을 했고 개발자라는 직업이 10년 20년 전에는 컴터로 일하는 진심 노가다 직업이다보니 많은 위대한 선배 개발자님들이 많은 솔루션을 남겨주셨죠. 그분들이 아니였다면 지금 우리는 프론트나 백엔드 뿐만 아니라 인프라나 네트워크 같은 지식도 동시에 배워야 했죠. 물론 지금도 이러한 지식은 필요해요. 개발자라면 당연히 알고 있어야 하는 지식이라고 생각하고 있어요. 하지만 예전과 비교해서 자신의 전문 분야가 아니면 굳이 자세히 알고 있지 않아도 먹고사는데는 지장이 별로 없죠. 프론트 개발자가 인프라 지식이 있으면 좋지만 없어도 크게 문제 되지는 않다는 말이에요. 근데 이게 정말 그럴까요?

제가 민감해서 그런지는 모르겠지만 개발분야는 정말로 하루하루가 빠르게 변화하는 시장이라는 것을 많이 체감하게 되는데요. 단적인 예로 몇년 전까지만 해도 프론트 개발자는 백엔드 지식이 많지 않아도 취업하는데는 문제가 되지 않았어요. 그냥 만들어 달라는 API 잘 만들어 주고 화면단 잘 만들어 주면 됬으니까요. 백단에서 무슨 처리를 하는지는 몰라도 됬고 그건 백엔드한테 맡기면 된다고 생각했어요. 근데 요즘은 어떻죠? SSR이 보급화 되면서 프론트 개발자가 백단까지 만져야하는 시대가 왔어요. 지금까지는 작업의 효율화를 위해서 많은 분야로 개발자가 나뉘어졌지만 이제는 서비스의 퍼포먼스와 유저경험을 높이기 위해서 개발하는 방식에도 변화가 생겼다는 말이에요. 

개발에 관심을 가지신 분들이라면 이런 로드맵 표를 한번쯤은 보신적이 있으실 거에요. 이거 보시면서 어떠셨나요? 솔직히 저도 개발자이지만 이런 로드맵 표를 보면 그냥 마음 한구석이 답답해지더라구요. 다 맞는 말인데… 이걸 다 공부해야한다고? 이런 생각이 먼저 들어요. 심지어 백엔드는 더 심해요. 이걸 언제 다 배워? 이런 생각이 먼저 들지 않나요? 저만 그랬나요? 이런 로드맵 만든 사람은 도대체 무슨 생각으로 이런걸 만들었을까? 하는 생각을 했어요. 하지만 이런 로드맵도 매년 갱신이 되고 있고 여기서 저의 생각을 말씀드리자면 앞으로 개발 로드맵은 점점 더 단순화 되어갈거라는 말씀을 드리고 싶어요. 지금은 이렇게 복잡하지만 앞으로 통/폐합이 생길거라는 말씀이에요. 특히나 백엔드단에서 이런 통/폐합이 많이 이루어질거 같다는 생각이 드는게 SSR과 서버리스, firebase의 등장이 그 시작을 알리지 않았나? 하는 생각을 했어요. 이건 많은 시장이 원했기에 개발 분야도 그에 마춰서 변화가 생긴거라고 말씀드리고 싶은데요. 솔직히 firebase는 아직 현업에서 메이저의 위치는 아니라고 생각하지만 그래도 많은 개발자들이 한번쯤 사용해 본 서비스에요. 특히 프론트 엔드요. 이렇게 기존의 백엔드에서 하던 일을 굳이 신경쓰지 않아도 서비스를 제공할 수 있게 도와주는 솔루션이 많아진다면 비용이 줄고 그만큼 서비스의 퍼포먼스에 더 투자할 수 있으니 그 속도는 느리겠지만 점점 변화하겠다는 생각을 했어요. 어디까지나 저의 생각입니다.

이렇게 조금씩 변화가 생기다 보면 그동안 프론트와 백엔드 따로따로 존재했던 로드맵이 통합되고 굳이 몰라도 되는 지식은 없어지는 변화가 생기게 될텐데요. 제가 생각하는 개발자는 많은 지식을 배우기 이전에 문제를 정의하는 능력과 질문하는 능력, 그리고 그 문제를 개발이라는 도구로 혼자서도 해결할 수 있는 능력. 이렇게 세가지가 미래의 개발자에게는 필수적으로 필요한 능력이라고 생각해요. 지금까지 우리가 봐 왔던 이런 로드맵은 어디까지나 부가적인 지식에 불과하구요. 최근에 일론머스크가 포럼에서 이런 말을 한 적이 있었어요. 질문이 잘못되면 제대로 된 정답을 찾을 수 없다고요. 이걸 어떻게 해석하냐에 따라서 그 의미가 달라질 수도 있는데 저는 이 질문이라는게 인간만이 할 수 있는 능력이라고 생각하고 이 능력을 잘 길러내지 못한다면 앞으로 도래할 인공지능 시대에 도퇴될거라는 생각을 하고 있어요. 그건 개발자도 마찬가지구요. 

예전 포스팅에서도 말씀드렸지만 마이크로소프트의 코파일럿은 이미 많은 개발자들이 자주 사용하는 툴이 되었는데 이 코파일럿은 어디까지나 개발의 효율을 높이는 보조 수단이에요. 아직은 말이죠. 이건 저의 생각이 아니라 마이크로소프트에서 그렇게 소개하고 있어요. 그럼 개발자의 역할을 무엇이냐를 생각한다면 개발자는 앞서 말씀드렸듯이 문제를 정의하고 질문하는 사람이에요. 그리고 코파일럿이 솔루션을 제안하면 개발자는 코파일럿이 제안한 솔루션을 파악하고 적용여부를 판단하는 입장이되는거에요. 지금까지 우리가 생각해 왔던 개발자의 모습과 많이 달라질 수 있다는 거죠. 이건 개발자의 일을 어떻게 정의하냐에 따라서 미래에는 개발자가 없어진다라고 생각할 수도 있고 아니라고 생각할 수도 있어요. 근데 하나 확실한건 미래에는 지금까지와는 다른 형태로 개발을 할거라는 거죠.

그럼 마지막으로 우리 개발자들은 어떻게 돈을 벌어야 하냐…라는게 중요한데 이것도 저의 생각이지만 앞으로는 혼자서 서비스를 만들어서 수입을 낼 수 있는 1인 개발자가 더 유리하지 않을까 조심스럽게 예상해봅니다. 어차피 많은 개발은 사람이 아닌 인공지능이 해결해 줄거기 때문에 사람이 할 일을 꽤 단순해지거든요. 사람은 그냥 어떤 서비스를 제공하고 싶은지 자세한 룰을 정하고 인공지능이 제안한 솔루션을 판단하고 적용하는 일만 하면 되지 않을까 합니다. 즉 개발자는 인공지능이 제안한 솔루션을 이해할 수 있어야 하는데요. 당연히 그 솔루션은 코드로 이루어져 있으니 코드를 읽을 수 있는 능력은 미래에도 필요할 거라 생각해요. 뭐 코드를 읽지 못해도 해결할 수는 있지만 더 효율적인 질문을 하기 위해서는 코드를 읽을 수 있는 능력은 개발자라면 필수라고 생각해요. 여기서 더 효율적으로 많은 돈을 벌려면 협업이 필요한데 개발자이면서 회사를 운영할 수 있는 시스템을 구축하는 능력까지 있다면 더 많은 돈을 벌 수 있는 기회가 있지 않을까 합니다. 저는 앞으로 이런 미래를 꿈꾸고 있고 지금부터 조금씩 준비해 나가고 있어요. 

다른 직업과 비교해서 개발자라는 직업은 단순하지만 창의적인 직업이잖아요. 아이디어만 좋다면 상상한 것을 만들어낼 수 있고 수입화까지 가능한 직업이 개발자인거 같습니다. 그리고 인공지능의 발전으로 개발자의 본질을 더 고민하고 생각하고 집중할 수 있게 되지 않았나 생각이 들어요. 반대로 이런 준비를 지금부터 하지 않는다면 직업이 없어지게 되겠죠. 지금까지 역사가 그래왔듯이요. 제가 준비한 포스팅은 여기까지 입니다. 아직도 좋아요와 구독을 누르지 않으셨다면 지금 꼭 눌러주시고 일본 개발자 취업을 생각하고 계신 분들은 youtube 영상 설명란의 크몽 링크를 클릭하셔서 더 전략적인 취업을 준비하시기 바랍니다. 그럼 저는 더 좋은 포스팅으로 여러분들을 다시 찾아뵙겠습니다. 감사합니다.