주니어와 시니어 데이터 사이언티스트 사이의 격차는 코드가 아니다
Source: Towards Data Science
번역할 텍스트를 제공해 주시겠어요? 텍스트를 주시면 요청하신 대로 한국어로 번역해 드리겠습니다.
Junior와 Senior 데이터 과학자 사이의 진짜 차이
LinkedIn이나 X(구 Twitter)에서 5분만이라도 시간을 보낸다면, 데이터 과학 커뮤니티에서 격렬하게 논쟁이 벌어지고 있다는 것을 알 수 있습니다. 논쟁 주제는 새로운 모델이나 멋진 Python 라이브러리가 아니라, 주니어 실무자와 시니어 실무자를 진정으로 구분 짓는 것이 무엇인가에 관한 것입니다.
대부분의 사람들이 말하는 것
초기 경력 실무자들에게 물어보면 보통 이렇게 답합니다:
시니어는 단순히 더 많이 안다 — 더 많은 알고리즘, 더 많은 라이브러리, 더 고급의 deep‑learning 기법을 안다.
오랫동안 저도 그 설명을 받아들였습니다.
개인적인 깨달음
한 번은 작은 내부 분석 프로젝트를 맡아 일했습니다. 저는 그 프로젝트에 심혈을 기울였고, “깨끗하게” 정리된 결과에 자부심을 느꼈습니다:
- 노트북이 잘 정리되어 있었다.
- 함수가 모듈화돼 있었다.
- 시각화가 다듬어졌다.
- 어떤 접근법이 더 나은 성과를 내는지 보기 위해 몇 가지 방법을 직접 실험해 보았다.
그 프로젝트를 통해 데이터 산업에 종사하는 많은 전문가들이 간과하거나 과소평가하는 중요한 교훈을 얻었습니다.
이 글이 다루지 않는 내용
- 기술 역량을 폄하하는 것이 아니다.
- 코드가 중요하지 않다고 주장하는 것이 아니다.
저는 수많은 늦은 밤을 데이터 정제와 노트북 재작성에 보냈기 때문에, 이 분야의 기술적인 측면이 실제이며 도전적이라는 것을 잘 알고 있습니다.
진짜 차이: 사고방식의 전환
결정적인 차이는 모델 메트릭이나 깔끔하게 작성된 코드에 있지 않습니다.
다음과 같은 전환이 핵심입니다:
- 작업 수행 → 실제로 해야 할 일을 결정
- 지시 따르기 → 그 이유를 이해
- 노트북 전달 → 실제 비즈니스에 영향 주기
요컨대, 시니어 데이터 과학자는 전략적으로 사고하고 목적 의식을 가지고 행동합니다.
다음 섹션에서는 시니어 데이터 과학자를 돋보이게 하는 구체적인 습관, 책임, 사고 과정을 자세히 살펴보겠습니다.
“One of the most important skills for a data scientist is the ability to frame a real‑world problem as a standard data science task.”
— John D. Kelleher
Source
주니어는 과제를 해결한다. 시니어는 올바른 문제를 해결한다.
주니어와 시니어 데이터 과학자 사이의 가장 큰 차이점 중 하나는 문제가 내 책상에 놓였을 때 나타난다.
주니어였을 때, 나는 언제나 바로 뛰어들었다. 매출 데이터 세트를 분석하고 경영진에게 인사이트를 제공해 달라는 요청을 받았던 때가 기억난다. 나는 데이터를 정리하고 여러 모델을 만들며 시각화를 다듬는 데 몇 시간을 보냈다—하지만 나중에야 내가 한 대부분의 작업이 핵심 비즈니스 질문에 답변을 제공하지 못했다는 것을 깨달았다.
완벽한 분석을 만드는 데만 집중한 나머지, 분석이 무엇을 알려주려는지 이해할 시간을 갖지 못했다.
몇 달간 성장한 뒤, 나는 시니어들이 문제에 접근하는 방식이 다르다는 것을 배웠다.
- 그들은 키보드를 누르기 전에 잠시 멈춘다.
- 목표, 맥락, 그리고 작업이 실제 세계에 미치는 영향을 이해하는 데 시간을 투자한다.
- 다음과 같은 질문을 한다:
- 이 분석이 지원하려는 결정은 무엇인가?
- 성공은 어떻게 측정될 것인가?
- 더 간단한 해결책으로 동일한 결과를 얻을 수 있는가?
이러한 질문은 Kaggle 대회에서는 거의 등장하지 않지만, 실제 업무에서는 어디서든 나타난다.
핵심 차이는 주니어는 문제를 고정된 것으로 보는 반면, 시니어는 올바른 문제를 해결하고 있는지 확인하기 위해 멈춘다는 점이다. 그들은 코드를 한 줄 쓰기 전에 맥락, 영향, 실질적인 현실을 고려한다.
이러한 사고 방식은 모든 것을 뒤바꾼다. 실제 문제를 파악함으로써 불필요한 엔지니어링을 피하고, 작업이 의미 있는 차이를 만들도록 보장한다.
정확도가 영향과 같은 것은 아니다
대부분의 젊은 데이터 과학자들이 겪는 단계가 있습니다. 그 단계에서는 모델 지표 최적화가 전부인 것처럼 느껴집니다.
- 오류를 0.7 % 개선하면 마치 주식 포트폴리오를 관리하듯 노트북을 새로 고칩니다.
- 또 다른 피처를 추가하거나 다른 알고리즘을 시도하면 수치가 조금씩 움직여서 진전이 있는 듯합니다.
생각해 보면, 이는 비디오 게임에서 XP를 갈아 넣는 데이터 과학 버전과 같습니다. 레벨이 오르지만 주 퀘스트를 하고 있는지, 아니면 단순히 사이드 미션을 하고 있는지 확신이 서지 않습니다.
예전에는 “좋은 작업”이란 더 나은 모델을 만드는 것이라고 믿었습니다. 그게 전부라고 생각했죠.
한 주 내내 복잡한 모델을 전혀 설계되지 않은 파이프라인에 억지로 끼워 넣으려 애썼던 적이 있습니다.
마치 포뮬러 1 엔진을 골프 카트에 넣는 것과 같았습니다: 기술적으로는 대담하지만 실제로는 쓸모가 없었습니다.
선배 한 분이 제 파이프라인을 5분 정도 살펴보시고, 머신러닝 모델을 적용할 가치가 있는지 확인하기 위해 단순 휴리스틱부터 시작해 보라고 권했습니다.
- 5분의 검토.
- 1주의 작업.
이것은 코딩 실력의 차이가 아니라 판단력의 차이였습니다.
왜 영향이 순수 정확도보다 우선인가
영향을 최우선으로 최적화할 때:
- 기술 작업이 개선됩니다 – 과도한 엔지니어링을 피할 수 있습니다.
- 방법 선택이 문제 중심이 됩니다 – 작업에 맞는 도구를 선택합니다.
- 모델링이 목적을 가집니다 – 할 수 있기 때문에가 아니라 해야 하기 때문에 모델을 구축합니다.
미세한 지표 상승을 쫓는 대신, 실질적이고 측정 가능한 가치를 제공하는 데 초점을 맞추세요. 작업 효율이 높아지고 불필요한 복잡성에 소요되는 시간도 줄어듭니다.
시니어는 코딩보다 소통을 더 많이 한다
또 다른 차이점은 시니어 데이터 과학자들이 코딩을 하지 않는 데에 쓰는 시간이다.
주니어 시절 나는 노트북에 집중했다. 코드는 스스로 말해줄 거라 생각했다.
그렇지 않다.
- 이해관계자는 여러분의 피처‑엔지니어링 파이프라인에 관심이 없고; 그 결과가 그들의 의사결정에 어떤 의미가 있는지에 관심이 있다.
- 시니어는 이를 이해하고 기술적 발견을 비즈니스 언어로 번역하며 청중에게 복잡하게 만들지 않는다.
- 또한 그들은 더 좋은 질문을 한다—데이터에 관한 것뿐 아니라 맥락에 관한 질문도 한다.
이러한 대화는 모델이 훈련되기 훨씬 전에 분석에 정보를 제공한다.
내 경험으로 볼 때, 커뮤니케이션은 데이터 과학에서 “소프트 스킬”이 아니라 필수적인 기술이다. 왜냐하면 그것이 여러분의 작업이 실제로 사용될지 여부를 결정하기 때문이다.
- 이해되지 않은 모델은 배포되지 않는다.
- 신뢰받지 못한 인사이트는 실행되지 않는다.
최종 생각
- 기술 역량은 기본이다. 나쁜 코드나 부실한 데이터 관행을 코딩만으로 해결할 수 없으며, 탄탄한 기본기는 협상할 수 없는 필수 요소이다.
- 코드는 목적지가 아니라 입구이다.
- 주니어 개발자에서 시니어 개발자로 성장하는 여정은 더 많은 알고리즘을 쌓거나 도구를 더 많이 겹치는 것이 아니라, 다음과 같다:
- 언제 적용해야 하는지를 인식하는 것,
- 언제 무시해야 하는지를 알는 것, 그리고
- 그 행동을 왜 하는지 이해하는 것.
진정한 성장은 모델이 얼마나 개선됐는가가 아니라, 당신의 작업이 현실 세계에 변화를 일으키는가에 의해 측정된다.
좋은 코드를 작성하는 것과 효과적인 데이터 과학을 수행하는 것의 차이점이다.
떠나기 전에!
저는 개발자와 데이터 과학자를 위한 커뮤니티를 만들고 있습니다. 여기서 실용적인 튜토리얼을 공유하고, 복잡한 CS 개념을 풀어 설명하며, 가끔은 기술 산업에 대한 불평도 합니다.
그런 공간이 마음에 든다면, **무료 newsletter**에 가입하세요.