직장인이 코딩 배워보니.. "험난한 '주경야독'의 길..'끈기'는 필수"
“재무 상황이 허락하는 한, 개발 인력은 계속 뽑을 겁니다.”
장현국 위메이드 대표가 올해 1분기 실적 발표에서 한 얘기다. 개발자는 회사 상황이 허락하는 한 무조건 ‘확보’해야 하는 자원이라는 의미다. 현재 개발자가 IT 업계에서 차지하는 위상을 전적으로 보여주는 예다.
개발자가 차지하는 위상이 커지면서 업종을 바꾸겠다며 ‘주경야독’ 코딩을 공부하는 직장인이 늘어나고 있다. 직장인을 대상으로 온라인 코딩 강의를 제공하는 ‘팀스파르타’의 2021년 누적 직장인 수강생은 13만5000명으로 2020년(3만5000명) 대비 큰 폭으로 증가했다.
‘주경야독’을 꾸준히 하면 비전공자 직장인이라도 ‘코딩 고수’가 될 수 있을까. 기자가 직접 틈틈이 시간을 내며 약 5주의 기간 동안 ‘코딩’을 배워봤다.
▶학습 1일 차 “어라 쉽네?”
▷자신감·자만감이 솔솔
코딩 교육을 받기 위해 엘리스 사이트에 접속한 후, 호기롭게 ‘게임 개발’ 강의를 신청했다. 코딩을 배워본 후 나만의 작품을 만들어보겠다는 원대한 꿈을 꾸며. 홀로 게임 개발하는 모습을 상상하며 기다리던 찰나, 업체로부터 연락이 왔다. 코딩 경력이 어떻게 되냐고 물었다. 코딩을 처음 배우는 초보라고 대답하자 ‘해당 강의를 수강할 수 없다’는 진단이 내려졌다. 코딩의 기본은 알아야 따라갈 수 있는 강의란다. 담당자는 기자 수준을 진단하더니 알맞은 강의를 일부 추천해줬다. 모두 ‘기초’ 강의. 게임을 개발하고 싶으면 기초부터 닦고 오라는 뜻이다. 상한 자존심을 내려두고 ‘도레미 파이썬’ 기본 강좌를 신청했다.
제일 먼저 파이썬을 활용해 숫자와 문자를 입력하는 법을 배웠다. 파이썬은 문자와 숫자 입력 방법이 다르단다. 컴퓨터는 숫자도 입력을 다르게 하면 ‘문자’로 인식한다는 설명이 이어졌다. “숫자면 숫자지 왜 문자가 된다는 거야”라는 의문이 들었다. 문과 출신의 한계인가라는 생각이 들던 순간, 강사의 설명을 듣고 이내 이해가 됐다. 숫자는 그냥 입력, 문자는 ‘ ’나 “ ”를 붙이는 방식으로 입력하면 끝이란다. 즉 1이라도 그냥 입력하면 숫자 1이고, ‘1’로 쓰면 문자 1로 취급한다는 것이다. 설명을 듣고 ‘겁먹을 필요 없다’고 생각했다. 파이썬에 인덱스를 거침없이 적어냈다. print(3 ‘안녕하세요’)를 적은 후 ‘출력’을 눌렀다. 결과 화면에 ‘3 안녕하세요’가 등장했다. 기자 인생 역사상 첫 ‘코딩’의 결과물이었다. 뿌듯함을 뒤로하고 다음 과정에 도전했다. 연산자를 입력하는 과정이었다. 문자형 자료를 더하고, 숫자를 이용해 연산하는 방법을 배웠다. 배운 대로 코딩 입력값을 재빠르게 짰다.
print(“반” + “진욱”)
print(“반진욱” * 3)
반진욱
반진욱반진욱반진욱
결과는 성공적이었다. 화면 창에 정확한 값이 나왔다. 하루 만에 연산까지 마치고 나자 자신감이 올라왔다. 머릿속 한편에는 프로그램을 뚝딱 만드는 내 자신이 그려졌다.
▶오류 속출 ‘조건문 입력’
▷list, for…무슨 말이야
기본 강의를 끝내고 다음 학습에 접어들었다. 기초 강의 다음으로는 ‘조건문’ 학습이 나왔다. if, elif, else 명령어를 활용, 논리 구조를 만드는 법을 학습했다. 처음 강의처럼 ‘쉽겠지’라는 생각으로 접근했지만 오산. 조건문 학습부터 ‘코딩’의 벽에 부딪혔다. 처음에는 순항했다. input 함수 선언, 논리 자료를 만드는 데까지는 쉽게 따라갔다. 본격적인 if 함수가 나오면서 현실과 다른 파이썬 언어만의 문법에 당황했다. if score = 90이라는 구문을 입력했는데 자꾸 오류가 나면서 ‘결과를 도출할 수 없다’ ‘코딩을 다시 확인해라’라는 문구가 계속 등장했다. 알고 보니 파이썬에서 ‘같다’는 뜻의 등식을 입력하려면 ‘=’ 부호를 두 번 입력해야 한다고. 강의를 듣고 난 상태였는데도 실수를 연발했다. elif, else 구문까지 더해지자 오류가 속출했다. 한 번에 코딩을 완성시키지 못했다. 힌트를 계속 보고 고민했다. 3줄짜리 코딩을 하는 데 2시간이 넘게 걸렸다. 결국 if 조건문을 완전히 학습하는 데 3일이 넘는 시간을 써야만 했다.
그다음에는 또 다른 문제에 부딪혔다. 학습한 내용을 복습할 시간을 갖지 못하다 보니 배운 내용을 잊어버리는 사태가 발생했다. 새로운 단원을 배우기 전에 기본 강의부터 다시 듣는 게 반복됐다. 자연스레 강의를 듣는 시간이 급증했다.
기초에서 꼬이다 보니 응용 학습에서도 어려움을 보이는 게 당연지사. list 함수부터 한계에 봉착했다.
list는 여러 개의 자료를 한 번에 묶는 함수다. list에 묶인 자료는 ‘순서’를 갖게 된다. 예를 들어 a = [1, 3, 5, 7]이라는 list가 있다면, 대괄호 안의 숫자들은 차례대로 ‘순서’가 정해진다. 문제는 이 순서가 일반적인 상식과 다르다는 점. 파이썬 list에서 순서는 ‘1’이 아닌 ‘0’부터 시작한다. 즉 제일 첫 번째 인덱스인 ‘1’을 결과로 출력하기 위해서는 a[0]을 입력해야 한다. 실생활과 다른 파이썬만의 순서에 혼란이 찾아왔다. list를 배우는 데만 꼬박 하루를 바쳤다.
if와 list로 만신창이가 되고 나서 마지막 강의인 ‘반복문’ 수업을 들었다. 반복문은 똑같은 값을 여러 번 입력하는 수고를 덜어주는 구문이다. 나중에 대규모 코딩을 할 때 코딩 길이가 지나치게 길어지지 않도록 도와주는 역할을 맡는다. for와 while 함수를 이용, 특정값이 도출될 때까지 계산을 자동으로 하게 만들어준다고. 비교적 쉽게 이해했던 다른 과정과 달리 반복문은 첫 개념부터 혼란에 빠졌다. 특히 while 함수의 경우, 잘못된 설계로 이른바 ‘무한 루프’에 빠지기 일쑤였다. 특정값이 나오면 함수 반복 계산이 끝나게 만들어야 하는데 이 과정에서 코딩을 잘못 입력해 늘 잘못된 값이 나왔다. 강의를 3번이나 듣고 나서야 제대로 된 첫 ‘while’ 함수를 만들 수 있었다. 5주 동안 코딩에 쏟아부은 시간은 대략 30시간. 비용은 11만9000원이 들었다. 영상 강의는 2시간 40분에 불과했지만 각종 예제 실습 풀이, 복습 시간까지 합쳐 꽤 많은 시간을 투자했다. 아예 개발을 꾸준히 배웠다면 순식간에 지나갔을 과정이었지만 뚝뚝 끊어지는 ‘주경야독’ 체제에서는 쉽지 않았다.
총평. 직장을 다니며 코딩을 배우기 위해서는 ‘끈기’와 ‘꾸준함’이 필수다. 어설픈 각오로 섣불리 코딩을 시작했다가는 본업도 놓치고 코딩도 제대로 배우기 힘들고, 그냥 엉망진창이 되기 십상이다. 고단하겠지만 매일매일 학습하고 실전 문제를 풀어야 한다. 바쁘다는 핑계로 강의를 끊어서 듣고 문제 풀이를 게을리 한 기자는 기본 강의를 배우는 데만 5주가 넘게 걸렸다. 무조건 ‘개발자가 좋다더라’라는 식의 접근도 곤란하다. 각 분야마다 알맞은 프로그램 언어가 존재한다. 자신이 일하고 싶은 프로그래밍 분야를 찾아 집중적으로 파고들 것을 권한다.
[반진욱 기자]
[본 기사는 매경이코노미 제2160호 (2022.05.25~2022.05.31일자) 기사입니다]
[ⓒ 매일경제 & mk.co.kr, 무단전재 및 재배포 금지]
Copyright © 매경이코노미. 무단전재 및 재배포 금지.