(3) 꾸준히 코딩할 일 찾기 - 完
데이터 사이언스에 관심 있는 사람에게 추천하는 3가지 활동
지난 데이터 사이언스에 관심 있는 사람에게 추천하는 3가지 활동 1편과 2편에서는 각각 데이터 사이언스 경진대회 플랫폼에의 참여와 최신 논문 읽기에 대해 이야기하는 시간을 가졌습니다. 데이터 사이언스 경진대회와 최신 논문을 꾸준히 읽어나가다 보면 분명 빅데이터와 인공지능 분야에 있어서 트렌드를 따라가는데 무엇보다 장점을 가질 수 있습니다. 거기다 각 분야의 실력자들이 다양한 데이터에 다양한 실험을 한 결과를 쉽게 쳐다볼 수 있다는 것은 데이터 사이언스 분야 안에서 안목을 기르는데 큰 도움이 되기도 합니다. 하지만 정말 데이터에 관심이 있고 데이터를 분석하고 모델링하는데 커리어를 가져가고자 한다면 이 활동들만으로는 부족할 수 있습니다.
아무리 이론적으로 빅데이터, 인공지능, 머신러닝, 딥러닝 등에 높은 식견을 쌓아간다고 할지라도 실제로 이를 행하는 것과 단순히 이해하는 것에는 큰 차이가 있습니다. 그렇기 때문에 데이터 사이언스에 관심이 있는 사람이 반드시 관심을 가져야 할 영역 중 하나는 바로 꾸준하게 코딩을 해나갈 일을 찾아보고 실제 코딩을 진행하는 것입니다. 실제로 데이터 사이언스 경진대회에 올라온 우수한 작품들을 분석한다고 할지라도 어느 정도의 코딩 실력을 유지해야 하고 최신 논문에 발표된 알고리즘을 구현해보려고 해도 특정 수준 이상의 코딩 능력이 뒷받침되어야 하기 때문입니다.
꾸준하게 코딩을 연습해야 하는 이유
데이터 분야를 공부하고자 한다면 누구나 자연스레 진행하게 되는 것이 코딩 공부입니다. 그럼에도 불구하고 꾸준하게 코딩 공부에 시간을 할애할 것을 이번 데이터 사이언스에 관심 있는 사람에게 추천하는 3가지 활동에 따로 시간을 내서 이야기하는 것은 생각보다 코딩 공부에 큰 의의가 있을 수 있기 때문입니다. 빅데이터 관련 직종 종사자의 특징 중 하나는, 특정 수준 이상의 경험을 지니고 있는 사람들의 경우 따로 시간을 내어 코딩 공부를 하지 않는 경향이 매우 강하다는 점입니다. 아무래도 프로그래밍 역시 언어로 불리는만큼 한 번 익숙해지면 더 이상 공부의 필요성을 느끼지 못할 수 있기에 발견되는 현상이라 생각합니다.
누구나 주니어 레벨로 회사 생활을 시작한다.
데이터 분야에 관심 있는 사람이 꾸준하게 코딩할 일을 찾고 실제 코딩을 진행해야 하는 이유는 크게 두 가지로 바라볼 수 있습니다. 먼저 데이터 사이언스 분야에서 이제 막 커리어를 쌓고자 하는 입장에서 생각해보면, 실제 업무 중 코딩을 할 일이 매우 많기 때문입니다. 이는 직장인 생활을 시작하는 누구라도 주니어 레벨로 그 시작을 맞이하기 때문이라고 볼 수 있습니다. 당연히 기업이라는 조직은 내부적으로 서열 체계가 존재합니다. 기업의 규모가 클수록 그 시스템 역시 복잡하며 아무리 수평적인 분위기를 강조하더라도 구조 자체는 수직적일 수밖에 없습니다. 여기서 실제 데이터를 조작하고 수치를 뽑아내는 업무는 당연히 윗 단계에 있는 사람들이 아닌 흔히 말하는 주니어 사원의 역할이 됩니다.
실제로 학교에서 교수의 위치에 있거나 대기업의 임원 위치에 있는 사람이라면 따로 시간을 내어 코딩을 공부하는 것이 반드시 필요하다고 볼 수는 없습니다. 그들만이 할 수 있으며 의사결정에 더 큰 영향을 미치는 업무가 따로 있기 때문입니다. 연차가 쌓이지 않은 직원이 실제 코딩을 하는 일이 잦고 그렇기에 높은 실력을 유지해야 하는 것은 어쩔 수 없는 이치입니다. 이는 비단 본인이 공부해왔던 프로그래밍 언어에 한정되는 이야기만은 아닙니다. 예를 들어 파이썬 언어를 주로 이용해왔던 사람일지라도 회사의 시스템에 맞추어 SQL, R 등 다양한 프로그래밍을 구사해야 할 수도 있습니다.
나도 모르는 새에 코딩 실력은 점차 떨어집니다.
꾸준하게 코딩할 일을 찾아 공부해 나가는 것이 중요한 두 번째 이유는 바로 코딩 실력이라는 것은 자연스레 퇴화하기 마련이기 때문입니다. 이는 갓 데이터 분야 공부를 시작한 사람보다는 데이터 사이언스 분야에 이전부터 관심을 가지고 공부해온 사람에게 특히 해당되는 이야기일 수 있습니다. 사실 어느 정도 데이터 사이언스 공부를 한 사람이라면 기본적인 코딩 실력은 지니고 있습니다. 프로그래밍 역량이라는 것이 데이터를 분석할 때 반드시 필요한 능력이기 때문입니다. 하지만 그렇기에 대부분의 사람들은 초기에 코딩 공부에 대한 노력을 집중하고 시간이 지날수록 그 관심을 떨어뜨리는 경우가 많습니다. 그리고 이것이 이따금 문제를 야기하곤 합니다.
여기서 말하는 문제란 코딩은 꾸준히 하지 않으면 자연스레 실력이 점차 떨어지는 성격을 지니고 있는데, 데이터 사이언스 분야의 트렌드를 따라가거나 가끔씩 업무의 진행을 위해 수준 높은 코딩 실력이 요구되는 경우가 있기 때문입니다. 실제로 데이터 사이언스에 관심 있는 사람에게 추천하는 3가지 활동 1편과 2편에서 이야기한 경진대회 참여 및 최신 논문 따라가기는 모두 어느 수준 이상의 코딩 실력을 필요로 합니다. 하지만 영어를 아무리 잘하는 사람이라도 오랫동안 영어를 사용하지 않으면 그 실력이 천천히 떨어지기 마련입니다. 여기서 가장 큰 문제는 그 실력이라는 것이 자신도 모르는 새 하락하는 성격이 있다는 점입니다.
코딩 실력을 유지하기 위해서 추천하는 활동
데이터 사이언스 경진대회 수상작 필사
코딩 공부에 있어 대개의 경우 초기 시작은 강의를 수강하거나 관련 서적을 살펴보는 것으로 시작합니다. 하지만 이러한 방식으로 실제 코딩 실력을 높이고 유지하는 것에는 분명한 한계가 따릅니다. 빅데이터 분야에서 코딩 실력을 유지하기 위해서는 무엇보다 데이터 셋에 전처리를 가하고 모델링을 진행하는 실제 분석 작업을 꾸준하게 진행하는 것이 좋습니다. 그리고 다행히도 데이터 사이언스 분야를 비롯해 코딩을 배우는 사람이 점차 늘어남에 따라 꾸준하게 코딩 공부를 진행하도록 도움을 주는 여러 환경들이 마련되어 있습니다. 그중 하나는 바로 데이터 사이언스 경진대회 수상작의 필사입니다.
데이터 사이언스 경진대회 수상작의 필사는 캐글(Kaggle)과 같이 유수한 경진대회 속 수상자의 코드를 그대로 베껴보는 활동을 의미합니다. 이는 경진대회의 성격 상 실제 데이터를 바탕으로 데이터 과학자들이 하는 업무를 그대로 습득하게 하며 동시에 코딩 공부를 도와준다는 점에서 매우 유익합니다. 그리고 실력이 출중하다고 볼 수 있는 실제 수상자들의 코드를 따라 하다 보면, 학원이나 책에서는 가르쳐주지 않는 그들만의 노하우가 담긴 코드를 종종 발견하기도 합니다. 물론 복사 붙여넣기가 가능한 내용을 직접 작성하는 것이 귀찮게 느껴질 수는 있습니다. 하지만 원칙적이고 문법적인 교육보다는 실용적인 코드를 체화할 수 있다는 점에서 필사는 큰 장점을 지니고 있다고 볼 수 있습니다.
코딩 테스트 연습문제 풀이
마지막으로 코딩 실력을 유지하기 위해 추천하는 활동은 바로 코딩 테스트 연습문제 풀이입니다. 최근에는 빅데이터, 인공지능 분야는 물론 개발자 직군의 인기가 높아짐에 따라 많은 기업에서 입사 시 코딩 테스트를 진행하고 있습니다. 그리고 입사를 대비하는 사람들을 위해 코딩 테스트용 문제와 답안을 공유하는 여러 플랫폼들 역시 많이 생겨나고 있습니다. 하지만 많은 경우 코딩 테스트는 데이터 사이언스보다는 개발자들을 위한 문제들이 많이 출제되어 빅데이터, 인공지능을 공부하는 사람들은 해당 플랫폼에 관심이 없는 경우가 대다수입니다. 물론 데이터 사이언스에 관심이 있는 것이라면 그러한 종류의 코딩을 공부하는 것은 일종의 시간낭비로 느껴질수도 있습니다. (https://brunch.co.kr/@8d1b089f514b4d5/27)
하지만 아무리 개발자 직군과 데이터 사이언스 분야의 코딩이 서로 다른 성격을 지니고 있다고 할지라도, 코딩의 감을 유지할 수 있다는 점에서 코딩 테스트 문제를 꾸준하게 풀어보는 것은 큰 장점이 있습니다. 실제로 개발자들의 코딩 테스트에서 주로 묻는 알고리즘이라고 불리는 개념은 기본적인 코딩 실력은 물론 어떻게 프로그래밍 설계를 하면 좋을지에 대해 사고력을 요구하는 경우가 많습니다. 이는 다양한 데이터 셋을 니즈에 맞고 빠르게 변형해야 하는 데이터 관련 전문가들의 입장에서도 분명히 필요한 역량입니다. 또한 최근에는 데이터 사이언스 분야의 직군 역시 코딩 테스트를 치르는 경우가 점점 많아져 입사를 위한 대비에도 이는 유익할 수 있습니다. 하루에 한 문제라도 꾸준히 연습을 하는 사람과 그렇지 않은 사람은 그 실력에 차이가 날 수밖에 없습니다.
초심으로 돌아가 보는 것도 때로는 좋은 방법입니다.
앞서 언급하였듯 데이터 사이언스에 관심이 있는 사람들은 대부분 코딩을 공부하며 그 시작을 맞이하곤 하지만 시간이 지날수록 코딩 공부에 손을 놓는 경향이 있습니다. 그래서 빅데이터나 인공지능 분야에 있는 사람들이 코딩 공부를 하던 시절을 떠올린다는 것은 초심을 떠올리는 것과 비슷한 느낌을 받을 수 있습니다. 그리고 일반적으로 초심으로 돌아가 마음가짐을 재정비하는 것은 큰 의미를 가져다주기 마련입니다. 이를 고려한다면, 논문을 읽고 업무를 할 때 필요한 코딩 능력을 유지하는 실용적인 이유를 차치하고서라도 코딩 공부가 필요할 수 있습니다. 코딩 공부를 꾸준하게 진행하는 것은 더 공부를 열심히 하고 자기 자신을 발전시키고자 하는 열정 높은 시절의 마음가짐을 상기시키는데도 큰 도움을 줄 수 있기 때문입니다.