오도원입니다.

건강과 행복을 위하여

컴퓨터공학

데이터 AI 사이언티스트로서의 개발 진로

오도원공육사 2020. 6. 1. 01:19
반응형

https://www.youtube.com/watch?v=8mjeJpHtLVQ

 

 실제로 DSC를 처음 시작할 때 머신러닝에 관심을 가지는 가장 큰 이유는 '멋있어보인다.'이었다. 물론 하다가 막히니깐 관심이 없어졌고, 그렇게 열정도 식었다. 현재 내가 컴퓨터 공학을 전공으로 하지만 컴공에서 확실하게 정한 분야는 없다. 프론트, 백, 클라우드, 네트워크, 머신러닝 등 여러가지의 분야가 존재하지만 나는 뭐를 해야할지 모르겠다. 그러는 와중에 송호연님의 이 영상을 보고 어느정도 진로를 정하게 되었다. 

 

 해당 영상의 골자는 이것이다.


일단 개발을 잘해야한다.


 컴공이면 꼭 머신러닝 모델링은 한번씩 해본다. 그러면서 여러 머신러닝 관련 지식들을 가볍게 알게되고 관심을 가지게 된다. 물론 나는 관심이 없어졌지만, 데이터 직군의 연봉을 들으면 귀가 솔깃하긴 한다. 

 

 하지만 데이터 사이언티스트에 대한 로망을 버리라고 경고한다. 해당 직군으로 커리어를 시작하지 마라. 즉, 데이터 사이언티스트로 취업을 하지말라고 한다. 일반적으로 회사에는 두 종류의 데이터가 존재한다고 한다.

  • 데이터가 없거나
  • 데이터가 쓸 수 없는 상태거나

데이터가 없을 때는 데이터를 남길 수 있도록 만들어야한다. 따라서로그를 남겨야하고 그러기 위해서는 백엔드 개발을 할 줄 알아야한다. 그러므로 데이터가 정리되어 있지 않은 상태에서 데이터 전처리 하는데 비용이 많이 들다보면 성과를 내기 힘들다. 실제로 데이터 사이언티스트가 신입으로 들어와서 성과를 내기가 힘든 것이고, 자연스럽게 기업에서는 신입을 안 뽑는 것이다. 그래서 추천하는 것이 바로,

 


백엔드 엔지니어로 시작하라.


 백엔드 엔지니어로 커리어를 시작해서 데이터 사이언티스트의 역량을 갖추는 것을 추천했다. 백엔드 엔지니어는 자연스럽게 빅데이터를 접할 수 있고, 로그를 설정할 수 있다. 이렇게 데이터를 다루면서 전처리할 수 있는 기회도 갖게된다. 그러면 그러한 데이터를 머신러닝 문제로 변환할 수 있고, 데이터 사이언스 관점에서 접근성이 높아진다. 그렇게 되면 이제 본인은 데이터 사이언스 문제를 풀 수 있는 상황을 만날 수 있다.

 

 따라서 데이터 사이언티스트로 시작하기보다는 엔지니어링 능력을 먼저 키우는데 커리어와 자신의 몸값 측면에서 모두 좋은 선택이다.

 

 또 하나의 이유는 전반적으로 데이터 사이언스를 잘하는 것 보다는 엔지니어링을 잘하는 것이 시장에서 더욱 수요가 많고 몸값이 비싸다. 엔지니어링을 잘하면 어떤 프로젝트라도 할 수 있는 일이 존재하지만 데이터 사이언티스트는 데이터가 잘 정제되어있는 상태여야하고, 그리고 문제 정의 자체를 하기가 어렵다.

 

 그래서 백엔드 엔지니어로서 커리어를 쌓은 데이터 사이언티스트는 뭐든 할 수 있지만, 그냥 데이터 사이언티스트는 온실 속에서만 성과를 낼 수 있다. 

 

 요즘 컴퓨터 사이언스에 있는 학생들이 프론트, 백에 관심이 없고 전부 머신러닝 쪽에만 집중하는 경향이 있다. 그것의 문제점는 학부생이 머신러닝 모델링을 조금 할 줄 아는 것으로는 아무것도 못 만든다는 것이다. 실제 실무에서는 모델링은 전체 프로젝트의 5% 밖에 되지 않기 때문에 모델링만으로는 일이 안된다고 한다. 전처리, 데이터 엔지니어링, 소프트웨어 개발 등, 소프트웨어의 기본적인 요구사항은 변하지 않기 때문에 로그관리, 장애관리, API속도도 당연히 잘해야한다. 이런 것들은 대부분 백엔드 엔지니어링과 관련된 것이다. 

 

 정리하자면, AI로 진로를 생각한다면 커리어를 백엔드로 시작하고, 데이터 엔지니어링을 다루면서 머신러닝을 보는 것이다. 일이 되게끔 하기위해서는 엔지니어링을 잘해야한다. 

 

 commercial project에서 확실하게 엔지니어링을 경험하는 것. 그 경험이 매우 중요한 요소이다. 그것이 바로 실제로 일을 할 수 있는 역량이 있다는 것을 증명하는 것이다. 

백엔드!

API를 어떻게 하면 좋고, 안정적으로 API를, 서버를 운영하려면 어떻게 해야하고, 로그는 어떻게 남기고, 클라우드 환경에서 어떤 식으로 하면 인프라 관리를 좀더 잘할 수 있고, 장애가 났을 때는 어떻게 대응해면 좋고, 데이터베이스에서는 어떤 식으로 쿼리를 전송해야 속도가 빠르고.

 

이런 컴퓨터 사이언스에서 기본적인 핵심들을 실무 프로젝트에서 경험하는 것을 추천한다. 너무 머신러닝에만 빠지는 것이 아닌 개발 역량에 집중해서 투자를 하다보면 더 좋은 기회가 많이 생길 것이다. 

 

정리

  • 백엔드 엔지니어로 커리어를 시작하라.
  • 실무 프로젝트에서 엔지니어링을 경험하라.
  • 컴퓨터 공학에서의 기초 지식이 중요하다.
반응형

'컴퓨터공학' 카테고리의 다른 글

조엘 테스트  (0) 2020.07.12