안녕하세요, LA오남매아빠, LA오빠입니다.

LA오빠는 즐거운 Data Science, 슬기로운 직장생활, 행복한 가정생활, 이 세 가지 주제에 대해 영상을 올리고 있는데요.

오늘은 즐거운 Data Science 편으로 여러분의 코딩 효율을 2배! 늘려주는 꿀팁을 알려드리겠습니다.

데이터사이언티스트들에게 중요한 기술 중 하나가 바로 코딩입니다.

하지만, 코딩을 집중적으로 배우는 소프트웨어 엔지니어에 비해, 데이터사이언티스트들 중에는 코딩이 약한 분들이 많습니다. 그 이유는:

첫째, 코딩 이외에도 통계와 머신러닝, 시각화, 비지니스 분석등 익혀야 하는 분야가 다양하기 때문에 상대적으로 코딩에 들어가는 시간이 적구요. 둘째, 대부분의 코딩이 하나의 주피터 노트북이나 R Studio 세션에서 이루어지기 때문에 체계적인 코딩 기법을 적용할 기회가 적기 때문입니다. 데이터사이언티스트가 코딩을 잘하면 좋은 점이 많은데요.

  • 우선, 코딩을 잘하면 전반적인 업무 효율이 올라갑니다. 머신러닝이건 시각화건 데이터사이언티스의 거의 모든 업무에 코딩을 사용하기 때문에 코딩을 빨리, 잘하면 남들보다 빨리 업무를 마무리 할 수 있습니다.
  • 둘째, 코딩을 잘하면 더 많은 커리어 기회가 생깁니다. 요즘 가장 핫한 테크 쪽 회사들 경우에는, 데이터사이언티스들도 소프트웨어엔지니어 못지 않게 코딩을 하는 경우가 많습니다. 그래서 채용시에도 코딩 인터뷰가 중요한 부분을 차지합니다. 코딩을 잘하면 이런 회사들에서 일할 기회도 생기지요.
  • 마지막으로 다른 영역보다 코딩은 향상시키기 쉽습니다. 통계나 머신러닝을 남들보다 2배 잘하기는 어렵지만, 코딩을 2배 잘하기는 비교적 쉽습니다. 배워야 할 것도 잘 정리가 되어있고, 적용했을 때 바로 바로 효과를 볼 수 있기 때문이지요.

자 그럼 어떻게 하면 코딩 효율을 2배 늘릴 수 있을까요?

몇 가지 비법이 있는데, 그 중 오늘 제가 알려드릴 팁은 바로 디버깅입니다.

캠브리지 비지니스 스쿨에서 나온 연구결과에 따르면 개발 시간의 50%가 디버깅에 소요된다고 합니다. 즉 프로그램을 만드는게 걸리는 시간 만큼이나 프로그램에 생긴 문제를 해결하는데 시간을 쓴다는 말이죠. 이 수치가 평균이기 때문에 숙련된 개발자들은 훨씬 적은 시간을 디버깅에 소요하고, 초보 개발자들은 50%이상, 즉 70, 80%의 개발 시간을 디버깅에 소요하고 있다고 볼 수 있습니다.

그렇기 때문에 디버깅을 잘하면 프로그램에 문제가 생겼을 때 훨씬 빨리 해결할 수가 있고 전체 개발 시간을 크게 단축시킬 수 있는 것이죠.

자, 여러분들은 현재 프로그램이 오류가 발생했을 때 어떻게 고치고 계시나요?

많은 분들이 에러 메세지를 인터넷에 검색해보시거나, print문을 통해 입력된 데이터에 문제가 있는지 하나씩 확인을 하실겁니다.

이 방법들은 혼자 작성한 간단한 프로그램에서 생긴 오류를 고칠 때는 유용하지요. 하지만 실무에서 다른 팀원들과 함께 더 복잡한 프로그램을 작성하다 생긴 오류의 경우 이런 식으로 고치기 쉽지 않습니다.

복잡한 프로그램을 디버그 할 때에는 바로 디버거를 쓰시면 좋습니다.

디버거는 프로그램의 오류를 찾거나 테스트하는데 사용하는 프로그램입니다. 대부분의 프로그래밍 언어들은 기본 디버거 프로그램이 있습니다. Python의 경우에는 pdb라는 built-in 디버거가 있지요.

자 그럼, 예제를 통해 디버거로 어떻게 Python 프로그램을 디버깅하는지 살펴보도록 하겠습니다.

데모는 YouTube 동영상을 확인해 주세요.

지금까지 Python debugger를 이용해서 터미널, 코드, IDE 그리고 노트북에서 디버그 하는 방법을 살펴보았습니다. 보신것처럼 디버거를 사용하시면 복잡한 프로그램도 비교적 손쉽게 에러를 확인하고 수정할 수 있습니다.

여러분도 디버거 사용을 익히셔서 여러분의 코딩 효율을 크게 늘릴 수 있으시길 바랍니다.

그럼 화이팅~