정말 파이썬은 내 시간을 아껴줄 도구가 될 것인가
새로운 결심은 늘 우연히 다가온다. 시작은 텀블벅에서 온 메일이었다. 현재 진행중인 펀딩 몇 개를 살펴보다가 비전공자가 자신이 개발자가 된 과정과 코딩 방법을 다룬 책이 눈에 띄었다. 흥미롭게 보다가 국비지원으로 개발자 교육을 받았다는 부분에서 이런게 있다니 싶었다! K-Digital Trainning이라고. 국비로 데이터 분석과 개발을 배울 수 있다니! 사실 요즘은 맘만 먹으면 기초 정도는 배울 수 있는 무료 웹사이트가 많다. 하지만 구체적인 목표가 없다 보니 시작하더라도 흐지부지 되거나, 커리큘럼이 너무 기초적이거나 실제 사례와는 거리가 있어서 늘 끝까지 집중하지 못했다. 몇 번의 시도가 늘 실패로 끝났었는데, 이런게 있었구나.
K-Digital Trainning은 내일배움카드를 발급하는 직업훈련포털에서 국비로 운영하는 디지털 분야 교육이다. 국가의 지원 아래 여러 기관에서 데이터, 프로그래밍, 개발 관련 분야의 교육을 온라인으로 진행하고 있다. 커리큘럼이 많다 보니 관심가는 영역도 많았다. 욕심내지 않고 지금 내가 하는 일과 비교적 가깝게 시작해볼 수 있는 강좌를 골랐다.
지금까지 나는 늘 2-3년을 주기로 새로운 곳에서 일하거나, 새로운 것을 배우거나, 새로운 사람을 만나왔다. 힐데와소피를 시작한 지 3년이 다 되어가다 보니, 슬슬 습관처럼 새로운 역량을 갖춰야 하는 것은 아닌지, 다른 영역으로 확장할 수 있는 도구를 찾아야 하는 것은 아닐지 막연히 생각 중이었다. 그래서 더욱 좋은 기회라고 생각했다. 내게 지금 필요한 건, 연구 분야와 출판사 일에 적용할 수 있는 정도의 역량. 현재 시스템 분석에 관한 책을 준비하고 있기도 하고, 맵핑하는 연구방법에 관심이 많다 보니, 이를 뒷받침할 양적 데이터 분석 역량이 필요하다는 생각을 하던 터이기도 했다. 그래서 파이썬을 선택했다. 파이썬은 데이터 분석과 웹페이지 개발에도 모두 쓰일 수 있으니, 연구 외에 출판사와 관련된 일에도 사용할 수 있을지도 모른다.
그렇게 결정한 후 내일배움카드를 신청했다. 카드가 내 손에 들어오는 데까지는 4일 정도 걸린 듯하다. 그리고 익히 들어 알고 있는 패스트캠퍼스 강좌를 들어보기로 결정했다. 강의비는 전액 내일배움카드에서 나갔고, 3만원 자부담이 있지만 조건을 충족시키면 돌려받을 수 있다. 그리고 패스트캠퍼스에서 제공하는 챌린지를 수행하면 3개월 간 추가로 관련 강의를 무료로 제공해준다.(이 기록도 챌린지의 일환!) 이래저래 좋은 기회이지 않나! 그동안 여기저기에서 기초만 반복해서 배워왔는데 구체적인 적용 사례를 담은 기본 커리큘럼을 보니 차근차근 배워볼 욕심이 생겼다. 약간의 보상체계도 있고, 막연하지만 작은 목표도 있으니 일단 배워볼 준비는 된 셈이다.
내가 듣기 시작한 <빅데이터 첫걸음 시작하기>는 총 5주 과정이다. 현재 1주차는 예열단계로 크게 아래와 같은 내용을 배웠다. 개인적으로 데이터에 관한 내용은 굉장히 기초적인 내용이어서 이 부분이 길지 않고 바로 파이썬 실습으로 들어갈 수 있는 점이 좋았다.
이 강좌에서는 파이썬을 작성하는 에디터로 Jupyter Notebook을 쓴다. 개발자가 아닌 이상 맥에서 터미널을 쓸 일이 별로 없는데, 아나콘다를 설치하고 터미널로 가상 공간을 만들어서 Jupyter Notebook을 실행하는 점이 흥미로웠다. 터미널을 끄면 마치 여기에 있었던가 하는 느낌으로 사라진다. 완벽히 이 구조를 이해하지는 못해도 본격적으로 배운다는 기분은 중요하지 않은가(!) 그래도 그동안 이것저것 찔끔거린 것이 알아듣는데 확실히 도움이 됐다. 그리고 컴퓨터의 기본 구조, 메인 메모리에 프로그래밍을 시키기 위해 일을 얹는 것, 할당하는 것에 대해 좀 더 이해할 수 있었다. 실행하는 구조를 알고 함수를 배우니 확실히 좀 더 도움이 된다.
이번 강의에서는 숫자 데이터 타입과 문자열 데이터 타입에 대해 배우고 사용되는 몇 가지 함수를 알아봤는데, 파이썬이 연산에 취약하다는 점이 기억에 남는다. 물론 3주차에서 이를 보완할 numpy도 배울 수 있다! Numeric 데이터를 Integer, Complex number, Float 이렇게 세가지로 나누는데 강사님이 Float는 실수라 할 수 있지만 그런데 수학적 실수 개념이 아니라 소수라고 생각하면 된다고 하길래. 그런데 컴퓨터는 무한소수를 인식하지 않으니까 유한소수인건가... 라는 생각이 들어 찾아보니 Floating-point number라고 해서 컴퓨터가 실수를 근사값으로 표시하면서 그 소수점의 '위치'인 지수를 다른 숫자로 적어내서 이진법으로 표현해내는 방법이라고 한다. 잘 이해는 안 되지만 느낌적인 느낌으로만 알겠다. 위치를 숫자로 표현하다 보니, 당연히 연산은 취약할 수밖에. 연산 기호는 같지만, [=]은 파이썬에서 기본적으로 메모리를 할당, [==]이 수학의 등호라는 점도 확인. 그리고 문자열 데이터 타입에서는 문자열을 포맷에 맞게 출력하고 유용하게 사용할 수 있는 함수 몇 가지를 배웠다.
처음부터 차근차근 배워나가니 좋다. 1주차 내용들은 그리 낯설지 않았는데, 2주차는 어떨 것인가.
#패스트캠퍼스 #내일배움카드 #K디지털크레딧 #바이트디그리 #데이터분석인강