brunch

You can make anything
by writing

C.S.Lewis

by 개발자 꿀 Aug 02. 2019

Coursera부터 Scala Days까지

개발자가 스웨덴으로 이직한 썰 19

Coursera 수강생이 Scala Days에 가기까지.



새로운 것을 시작해야겠다! 는 생각, 강력한 추진력이 느껴지면 이 느낌을 잊어버리기 전에 빨리 흐름을 타는 것이 내 원칙이다. 다소 충동적 일지 모르지만 갑자기 생기는 모멘텀으로부터 시작한 일들이 인생을 갑작스럽게 크게 그리고 보통 좋은 방향으로 바꾼 경우가 많았다는 소박한 빅데이터를 기반으로 나는 충동적인 시작을 신뢰한다.

프로그래밍 언어 스칼라를 시작한 것도 충동적이었던 것으로 기억한다. 당시 회사의 이사님은 자기 계발을 지지해주시고 금전적 지원도 쿨하게 해 주셨다. 내가 2년 넘게 일했던 팀은 안정기에 접어들었고 오래 같은 팀에 있다 보니 개인적으로도 흥미로움보다는 편안함을 더 크게 느끼던 시기였다. 그때 마침 누군가로부터 Coursera 수강료를 지원에 대한 이야기를 들었고 당장 이거다!라고 생각했다. 그래서 흐름을 타서 바로 이사님께 'Functional Programming in Scala specialization'을 듣고 싶다는 메일을 썼다. 어떤 과정을 들을지에 대해서는 조금의 고민도 머뭇거림도 없었던 것 같다. 스칼라 기본기부터 Spark까지 다루는 이 과정은 함수형 언어를 배우고 싶고 빅데이터(당시의 buzzword) 세계에 발을 담가보고 싶은 당시의 나 같은 사람에게 최적이었다. 사실 당시에 스칼라를 업무 어딘가에 쓰려면 스파크가 최선이었다. 백엔드와 프론트엔드는 역사가 오래되어 사내 표준이 단단하게 잡혀있었지만 데이터 처리는 막 시작하는 단계라 선택의 여지가 남아있었다.


이렇게 시작한 스칼라는 나의 개발자 인생을 스칼라를 배우기 전과 후로 나눌 수 있을 만큼 큰 변화였다.

함수형 언어를 언젠가 배우겠다는 오랫동안 가지고 있던 개인적 목표 중 하나를 자랑스럽게 목록에서 지웠고 Coursera 과정을 어느 정도 마무리했을 즈음 Spark를 본격적으로 쓰려는 팀으로 옮겨서 백엔드 위주였던 업무의 일부분을 Spark에 할애하기 시작했다. 자기 계발을 지원해주는 부서에서 일하고, 내가 공부한 것을 필요로 하는 팀이 주변에 있었다는 것은 운이 좋다고 밖에 말할 수 없는 것 같다.


스칼라와 스파크 둘 다 좋아했는데 특히 스칼라는 배우면 배울수록, 쓰면 쓸수록 더 좋아졌다. 언어가 궁극적으로 지향하는 순수함과 여전히 다른 방법을 배제하지 않는 유연함 같은 것들이 좋았다. 심지어 나는 스칼라 책 중 중급자용에 속하는 빨간책 'Functional Programming in Scala'을 같이 읽을 스터디 사람들을 블라인드에서 찾아 스터디를 만들었고 이 모임에서 빨간책을 6개월에 걸쳐 끝내기에 이르렀다. 함수형 언어를 설명할 때 사용하는 범주론(Category Theory)을 처음 접한 것도 이 때다. 나는 처음이었지만 멤버 4명(그렇다, 우리는 정말 소규모였다) 중 전부터 관심이 있었던 분과 수학 전공자 두 선생님들이 눈높이 교육을 해주셨다.

회사 밖에서 스칼라 스터디가 진행되는 동안, 회사 안에서는 스파크로 개발할 수 있는 기회가 운 좋게 조금씩 계속 생겼다. 인턴과 프로젝트를 했고 그것을 보강해서 꽤 구체적인 결과물을 만들었고 잠깐이지만 서비스로 나가기도 했다. 이 업무를 하면서 백엔드에서 데이터로 커리어를 바꿔야겠다는 생각을 키웠고 언어는 당연히 스칼라를 희망했다. 나는 이직하면서 마침내 Data engineer라는 이름을 얻었으며 지금 사용하는 언어는 자바와 스칼라다. 어찌 보면 Coursera를 시작했기 때문에 지금 스톡홀름에 살고 있는 게 아닐까 싶을 정도로 온라인 수업을 기점으로 모든 것들이 연결되어있는 것 같다.




6월 11일부터 13일까지 Scala days 컨퍼런스에 갔다 왔다. 제네바 공항에 도착했을 때 좀 감개무량한 기분이 들었다. 스웨덴에 온 지 거의 1년을 채웠고, 즉 스칼라가 재미있어서 매일 스칼라로 일하고 싶다는 상상이 현실이 된 지 만 1년 된 참이었으며, 나를 스칼라 개발자로 받아준 회사에서 컨퍼런스 비용을 지불해줬다. 컨퍼런스는 10주년 기념으로 스위스 로잔에 있는 EPFL에서 열렸는데, 이 학교는 마틴 오더스키 교수가 박사 논문으로 스칼라를 내고 교수로 있는 학교이자 내가 해외 취업을 생각하기 훨씬 전부터 석사를 심각하게 고민했던 학교다. 원했던 방법으로 학교에 간 것은 아니었지만 예전에 꿈꾸던 장소를 좋은 기회에 방문할 수 있어서 기뻤다.

누군가는 너무 큰 의미를 둔다고 웃을지도 모른다. 하지만 직장을 구하고 자리 잡기까지 운이 좋았지만 순탄했던 것은 아니다. 그래서 컨퍼런스는 다사다난했던 첫 번째 챕터를 끝낸 기념으로 받은 선물 같았다. 회사에서 백만 원에 육박하는 티켓, 비행기, 호텔비를 지원해주고 같이 간 회사 동료가 있었고 휴가도 쓰지 않았는데 선물이 아닐 수가 없다.



프로그래밍 언어가 주제인 컨퍼런스는 처음이었다. 언어라는 기본을 다루는 만큼 다른 컨퍼런스에서는 좀처럼 찾기 힘든 개발자의 기본기를 다루는 세션이 심심치 않게 보였고 많은 사람들이 모여들었다. 나보다 적어도 10년, 20년 경력이 많을 것 같은 발표자가 테스트에 대해 다른 시각에서 생각해본 이야기를 듣는 것은 막 떠오르고 있는 기술 적용기를 듣는 것만큼 흥미로웠다.

리팩토링이나 테스트는 개발을 업으로 시작하는 사람들이 마틴 파울러나 켄트 백의 책을 읽으며 흡입하는 단골 주제다. 이것이 '개발자의 기본'인 이유는 리팩토링과 테스트는 당연히 고려하는 것,으로 생각 회로 속에 붙박여있어야 한다는 뜻이지 1+1=2처럼 모두 똑같은 답을 말하는 덧셈이 아닌 것 같다. 생각의 과정이기 때문에 매일 똑같은 사이클을 돌더라도 오늘과 내일의 선호가 다를 수도, 더 창의적으로 집요하고 깊게 발전할 수도 있다. 그러므로 기본기에 대해 말하고 고민하는 것은 마틴 파울러와 켄트 백의 책을 읽는 중인 사람들의 전유물이 아니어야 한다. 내가 들었던 세션처럼 오히려 경험을 바탕으로 새로운 질문을 던질 수도 있으니까.

강당에 한 시간 남짓 앉아있으면서 문득 내 생각 회로 속에 ...다음에는 테스트하고 리팩토링하고... 가 들어있기는 한데 과정들에 한동안 변화가 없었다는 생각이 들었다. 1+1을 매일 반복하고 있는 것은 아닐까? 너무 힙한(?) 것들에 집중하고 기본기를 소홀히 하지 않았나? 그런 생각을 했다.


<In Types We Trust - Bill Venners>

* 세션 소개 https://scaladays.org/schedule/in-types-we-trust

* 영상 https://youtu.be/oK1P7cPu0i0



컨퍼런스는 온갖 홍보의 장이다. 일단 Scala Days는 스칼라를 무려 3일 내내 홍보하는 자리다. 컨퍼런스를 서포트하는 회사는 부스를 열어서 사람들을 기다린다. 사회성이 좋은 사람들은 모르는 사람들에게 말을 걸고 스스럼없이 자기소개를 시작한다. 발표자들은 스스로를, 오픈소스를, 회사를 홍보한다. 홍보의 효과로 디즈니에서 스칼라 개발자를 뽑는다는 것과 많은 스칼라 컨설팅 회사가 존재한다는 것 등을 배워왔다.

회사 가방이나 티셔츠를 입고 있는 사람들을 보면서 지금 다니는 회사를 처음 알게 된 것이 F8이라는 페이스북 컨퍼런스를 갔을 때 남자들 여러 명이 단체로 입고 있던 회사 로고가 박힌 티셔츠 덕분이라는 것이 새삼 떠올랐다. 우리나라에서는 좀처럼 보기 힘든데 외국인들, 특히 남자 개발자들은 회사 SWAG(Stuff We All Get, 회사나 컨퍼런스 기념 티셔츠 같은 것)을 정말 많이 입고 다닌다. F8에서 여러 명이 까만색에 하얀 글씨로 Spotify라고 적힌 티셔츠를 입고 걸어가던 장면이 신기할 만큼 기억에 남아서 나중에 회사를 검색해봤었다. 그래서 회사 사람들에게 예쁘고 인상적인 SWAG의 중요성에 대해 장난처럼 말하곤 하는데... 이번 컨퍼런스에 갈 때 회사 로고가 박힌 티셔츠를 챙기지 않은 것을 조금 후회했다.


스칼라 컨퍼런스 중에 가장 높은 퀄리티일 것이라고 생각하지만 모든 발표가 다 좋았던 것은 아니다. 준비가 덜 되었거나 흐름이 논리적이지 않은 전형적인 케이스뿐만 아니라 영어 발음 때문에 따라갈 수 없는 발표도 있었다. 프랑스어를 쓰는 스위스 또는 프랑스 사람 같았는데 영어 단어를 일부러 프랑스어로 읽는 것 같은 발음 때문에 쫓아갈 수가 없었다.

발음은 미국인이 아닌 동질감으로 이해한다치고, 발표자가 에너지가 없으면 아무리 좋은 주제라도 흡입력이 뚝 떨어지는 것 같다. 반대로 발표자가 즐거워 보이고 발표 내용에 대한 애정이 느껴지면 내가 모르는 주제라도 따라가게 되는 것을 여러 번 느꼈다. 내가 흥미를 느껴야 하는 것도 있겠지만, 일부분 그가 왜 저 내용을 저렇게 재미있게 느끼는지 궁금해지는 것 같다. 상대방의 덕력에 끌린다고나 할까? 컨퍼런스에 있는 사람들 모두 스칼라를 조금이라도 덕질하는 사람들이라고 하면 모르고 지내던 덕질의 또 다른 세계를 찐 덕후가 엄청 열심히 영업하는 셈이다. 한시간 내내 그렇게 즐겁게 열심히 영업한다면 귀 기울이지 않을 수 없다.



3월에 스칼라 밋업에 갔을 때 Scala Days에서 발표하게 되었다는 사람과 이야기한 적이 있다. 주말에 취미처럼 스칼라 그룹메일을 읽기 시작했다가 Collection에 아이디어가 생겨서 주말에 조금씩 개발을 했다고 했다. Map에 구현을 추가했는데 구현부터 성능 측정까지 6개월 정도 걸렸다고. 나도 곧 발표를 하게 되었으면 좋겠다. 갈 길이 멀지만 처음 스칼라를 배우기 시작했을 때 처럼 갑자기 아이디어가 떠오르지 않을까!





20th July 2019

#개발자 #해외취업 #스웨덴 #스칼라



매거진의 이전글 Scala meetup에서 발표하기

작품 선택

키워드 선택 0 / 3 0

댓글여부

afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari