AI시대의 CS학부생이 마주해야할 그리고 준비해야할 미래에 대한 고찰
학교랩실에서 집으로 막 도착한 적막한 새벽감성의 이끌려 학부생 입장에서 AI시대를 어떻게 준비해야 할 것인지 간단한 고찰을 적어봅니다. 다른분들의 의견도 들어보고 싶네요.
요즈음 제 주위 동기/선후배들과 대화하면 취업과 관련된 얘기는 빼놓을 수 없는 주제입니다. 불과 3-4년전까지만 하더라도 개발자 붐이라며 나라에선 부트캠프로 개발자를 찍어내고 타학과에서 CS를 복전하는 경우가 허다했습니다. 하지만, AI기술의 성장이 급속화 되면서 점차 개발자에 대한 시장의 수요가 줄어들고 있습니다. 무서운 점은 시간이 지난다고 이 상황이 좋아질 것이라고 보기 힘들다는 것 입니다.
이러한 상황속에서 CS학부생들의 고민은 깊어져 가는것만 같습니다. 앞으로 30년이상은 IT업계에 종사해야 될텐데 어쩌면 IT 시장에서 내가 설 자리가 없어지는것은 아닐까? 하고 말이죠.
이런 CS학부생의 입장에서 개인적으로 생각하는 AI와 개발자의 미래와 상생 그리고 더 나아가 앞으로의 비전을 고찰해 보고자 합니다. 아주 짧고 개인적인 경험하에서 개인적으로 생각하는 내용이다 보니 생각과 다른 부분이 있더라도 귀엽게 넘어가 주시면 감사하겠습니다.
본격적인 얘기에 앞서 생각도 정리할겸 CS학부 3학년으로써 경험해보았던 그리고 준비하고 있는 내용에 대해 간단히 적어볼가 합니다.
저는 2023년도, AI(ChatGPT)가 일반대중들에게도 알려지기 시작했던 시기에 컴퓨터공학부에 입학합니다. 우연히 좋은기회로 1학년 여름방학때 연구실에 들어가서 많은것들을 공부하고 배우며 경험했습니다. 교수님이 가져오신 SI프로젝트를 팀장, PM으로 참여하며 개발실무경험을 쌓고 작은 사건사고를 통해 커뮤니케이션의 중요성을 통감했던 기억이 있습니다.
제 성격상 새로운 지식을 습득하는것을 좋아하고 어떤 기술이 있다면 그 기술의 원천까지 이해해야 답답함이 풀리기 때문에 굉장히 다양한 분야를 심층적으로 공부했는데 기본적인 CS와 수학을 포함해서 암호학, 클라우드, UNIX, 데이터 엔지니어링, AI등 이론적 분야를 포함해 사용보았던 다양한 최신 프레임워크와 오픈소스를 다 나열하기 힘들정도로 공부하고 프로덕션 환경에 적용해보았습니다.
그 과정속에서 개인적으로 느꼈던 점은 이 세상엔 자주 사용되는 오픈소스만 하더라도 너무 많고 그 많은것을 다 공부하는것은 내 뇌로는 절대 불가능 하다는 것입니다. 또한 이런 다양한 각 기술들의 사상은 아무리 최신기술이더라도 근원적으로는 아주 과거에서부터 시작하며 대부분 비슷한 사상을 공유한다는 것입니다. 결과적으로 내가 이러한 기술들을 하나하나 공부하는 것 보다 내가 이런 기술을 만드는 사람이 된다면 결국 대부분의 기술들은 필요할때 그 기술이 어떤 원리적 근간에 의해 기술적으로 구현되었겠구나라는 합리적 추론이 가능해 질 것이다. 라는 결론을 도출하게 됩니다. 왜냐하면 컴퓨터분야에서 사용되는 어떠한 기술들도 CS와 수학의 위에서 동작하기 때문입니다. 결과적으로 도구를 만드는 사람이 되어야 겠다는 결심을 하게됩니다.
이쯤에서 AI에 관한 얘기를 해보려고 합니다. AI가 개발자를 대채할거라는 얘기는 요즘 IT저널에서 매일 등장하는 내용이며 그 내용은 더욱 심화되고 구체적입니다. 이미 해외에서는 개발자들이 해고되고 있다는 뉴스를 심심치 않게 볼 수 있습니다. 코덱스와 같은 AI개발 자동화 툴들의 발전이 가속화 되고 있는 만큼 AI가 개발자를 대체하는 속도 또한 가속화 될 것 같습니다.
AI가 개발자를 완전히 대체할 수 있을까?에 관해서는 다양한 의견이 있지만 아직 학생신분인 입장에서 과연 경험도 적고 커뮤니케이션 능력도 검증되지 않은 개발자가 AI보다 업부효용성이 높을까? 라고 묻는다면 그렇다 라고 대답하기는 쉽지 않은것 같습니다. 대화형AI모델들을 오랫동안 사용하며 느낀것은 질문만 구체적으로 잘 설정한다면 정확율이 높고 신선한 답변을 생성한다는 것입니다. 물론 실무에서는 다양한 변수들이 있고 지금당장 AI가 이 변수들을 모두 자동적으로 처리할 수 있기는 힘듭니다. 하지만 멀지 않은 미래에서 적어도 한 9-10명이 투입되던 프로젝트가 경험이 많고 AI를 잘 활용하는 2-3명의 개발자 로 대체될 수는 있지 않을까요?
앞으로 30년 이상을 봐라보아야할 학생의 입장에선 단순한 개발자라는 직업은 너무 모험적입니다. 하지만 아직 취업시장에 뛰어들지 않은 학생들은 AI발전이 나한테 미치는 영향을 간과하고 있는 경우가 많으며 선배들이 해왔던 것처럼 같은 방향을 가고 있는 학생들이 대부분인 것 같습니다.
개인적으로 AI시대를 대비하기 위해 학생들이 바라보는 관점이 조금 변할 필요가 있다고 생각이 듭니다.
새로운 개념을 만들어 내는 개발자
아직 존재하지 않은 문제를 정의하고, 해결책을 고안해 실체로 구현하는 사람입니다. 완전히 새로운 알고리즘을 제안하거나, 기존 오픈소스 생태계를 혁신적으로 결합해 효율을 극대화 하는 등 0에서 1을 만드는 역량을 가진 개발자입니다. 이 부분은 창의적 사고와 구체적 구현 능력이 동시에 필요해, AI가 완전히 대체하기 어려움과 동시에 AI를 가장 많이 활용할 수 있을것 같은 영역입니다.
책임을 지는 개발자
AI가 만들어낸 결과물을 검증하고 그 책임을 진 소수의 개발자는 필요합니다. 더 나아가서 한국의 학생들은 특정 기술을 집약적으로 공부하는 경향이 있는것 같습니다. 이 건 해외칼럼에서도 자주 하는 얘기지만 좀더 거시적 관점에서 개발을 하는 능력을 키울 필요가 있다고 생각합니다. 시스템 디자인은 아주 다양한 변수와 관점이 존재하기 때문에 하나의 정답이 없습니다. 거시적인 대규모 분산 시스템 아키텍처 설계나 거버넌스 정책 수립처럼 정답이 없고 다차원적 이해가 필요합니다. 이런 분야에서는 경험과 통찰을 지닌 인간의 판단이 필수입니다. 또한 AI가 생성한 결과를 검증/통합하고, 시스템 레벨에서 의사 결정을 내릴 수 있는 개발자도 마찬가지로 대체되기 힘듭니다.
저도 1학년때만 하더라도 특정 기술을 중점적으로 공부하고 그 다음스텝도 그 기술의 확장으로부터 한계되었던 경험이 있습니다. 그렇게 공부하면 너무 한 기술의 종송적이게 되며 변하는 환경에서 살아남기 힘들다고 생각됩니다.
현재 저는 분산/병렬 컴퓨팅을 연구합니다. 분산컴퓨팅으로는 지능형 분산 시스템과 블록체인. 병렬컴퓨팅으로썬 병렬계산모델을 집중적으로 연구합니다. AI가 발전하며 컴퓨팅 자원의 효율적인 사용 및 적절한 자원 분배와 노드간 통신은 중요해질 것이라고 생각되기 때문에 AI시대에서도 수요가 있을것이라고 생각됩니다. 역사가 깊은 분야기 때문에 공부하는 재미가 있습니다. 현재 SCI급을 목표로 논문 2개를 동시에 작성하고 있는데 좋은 결과가 있으면 좋겠습니다.
사실 궁극적으로 AI가 대체불가능한 분야는 없다고 개인적으로 생각합니다. AI로 대체되는 직군만큼 AI로 생겨나는 직군도 있을것입니다. 그 시간이 얼마나 걸릴지는 모르지만 적어도 이 시점에서는 위에서 언급한것처럼 이 시장에서 내 자리가 있기 위해 지금부터 고민해볼 필요는 있을 것 같습니다.
개인적으로 거시적인 관점을 키우기 위해 애용중인 사이트 몇가지만 소개를 하겠습니다.
Medium 구독 : 제 관심 분야를 중심으로 최신 포스트를 제공해줍니다. 이미 알고 있는 내용도 상기할 수 있어 좋고 다양한 분야의 글들이 많아 배경지식을 늘리기 좋습니다.
Bytebytego Newsletter : 아직 다양한 개발지식의 익숙하지 않은 분들을 위해 추천합니다. 분산 시스템 및 백엔드 개발에 있어서 다양한 기술 및 최신 기술들을 기사 형식으로 제공해주며 매주 목요일에 메일로 새 기사를 제공해줍니다. 같은 사이트에서 제공하는 시스템/머신러닝 디자인 인터뷰도 추천합니다.
CIO.com : 미국 it기업에 운영하는 디지털 매체로 cio/it경영진들을 주요 독자로 삼기 때문에 기술과 비즈니스의 융합 전략, 혁신 사례, 경력 개발 인사이트 등을 얻기 쉽습니다.
결론만 말해보자면 어떤 개발자든 자기의 인바운드를 넓혀 다양한 관점에서 프로젝트를 진행할 수 있는 다양한 지식과 그 근간이 되는 CS와 수학을 중심으로 공부하는게 중요할 것 같습니다. 네트워크, 운영체제, 자료구조등 기본적인 CS는 학부수준에서 다루지 않는 부분에도 중요한 내용이 많습니다. 하지만 아쉽게도 한국 서적에는 그런 내용을 딥하게 다루는 부분이 많이 없어서 따로 공부하실 거라면 해외의 서적들을 추천드립니다. 예를들어 그래프 이론같은 경우도 제대로된 한국 서적이 없어 해외 책으로 공부했던 경험이 있습니다.
그냥 생각나는 대로 두서없이 적다보니 내용이 일목정현하게 연결되지 않은 것 같네요. 선생님들께서도 생각하시는 AI시대에서의 개발자들의 위치에 대한 다양한 의견과 준비를 하고 계신게 있으시다면 공유해주시면 감사하겠습니다.