
297
8
장
경력 조언과 앞으로의 진로
8.3.2
프로그래밍 숙련도
일반적으로 많은 데이터 과학자는 코딩에 능숙하지 않습니다. 적어도 소프트웨어 엔지니어 수
준은 아닙니다. 하지만 코딩의 중요성은 점점 더 커지고 있으며 우위를 점할 수 있는 기회를 제
공합니다. 객체 지향 프로그래밍, 함수형 프로그래밍, 단위 테스트, 버전 관리(
예
깃
Git
, 깃허
브), 빅 오
Big
-
O
알고리즘 분석, 암호화 및 기타 관련 컴퓨터 과학 개념과 프로그래밍 언어 기능
을 배워보세요.
그 이유는 다음과 같습니다. 주어진 표본 데이터를 기반으로 로지스틱 회귀 또는 신경망과 같
은 머신러닝 모델을 만들었다고 가정해봅시다. 그다음
IT
부서의 사내 프로그래머에게 기존 소
프트웨어에 추가해 달라고 요청합니다.
그들은 여러분의 프로그램을 조심스럽게 바라보며 “파이썬이 아니라 자바로 다시 작성해야 합
니다”라고 말합니다. “단위 테스트는 어디 있죠?” 다른 사람이 묻습니다. “클래스 정의나 타입
이 하나도 없나요? 이 코드를 객체 지향으로 리엔지니어링
reengineering
해야 합니다.” 게다가 그들
은 모델의 수학을 이해하지 못하기 때문에 이전에 본 적 없는 데이터에서 모델이 잘못 작동할
까 걱정할 수밖에 없습니다. 머신러닝에서는 종종 단위 테스트를 정의하지 않기 때문에 모델의
품질을 검증하는 방법에 ...