티스토리 뷰


우아한형제들에서 두번째 해를 보내고, 만 1년 6개월이 지났다. 이글을 포스팅하면서 한해를 마무리 하고자 한다.

무엇보다도 개발자로서의 경력기간 동안 배운것 보다 올 한해동안 경험하고 배운게 더 많다고 말 할 수 있겠다. 그만큼 시간도 빠르게 지나 갔으며, 배우게 된것도 많은 것 같다. 아래에는 올 한해 새롭게 알게되거나 배운거에 대해서 대략적으로 소개만 하고자 한다. 이 글을 누군가가 보더라도 본인의 깊은 곳에 있는 열정이 다시 타오를 수 있는 계기가 될 수 있길 바란다.  (적고보니 함수형프로그래밍 언어에 대해서 적은 것 같다. 올 한해는 함수형 프로그래밍에 대해서 알게 된 한해라고 해도 부족함이 없을 것 같다.)


FP in Scala

결론부터 말하자면, 함수형프로그래밍을 배우는 것은 아니라 프로그래밍 스킬에 대한 시야를 넓힐 수 있다. 그래서 나는 강력하게 추천한다. 어떤것이라도 좋으니 함수형프로그래밍(Functional Programing) 언어 중 하나라도 공부하길 바란다. 

처음에는 Scala 를 배우고 싶은 호기심에서 시작했었다. 학습초기에 카XX  에 다니는 지인에게 이렇게 물었었다. "회사에서 실제 서비스에 Scala를 사용하고 있어요?" 답은 "네" 였다. 새로운 언어에 대한 호기심과 서비스에 실제 서비스에서 사용할 지도 모른다는 기대감에서 스터디를 시작 했던것 같다. 스터디를 시작할때 회고했던 내용을 아래에 인용 하면, 

 

"현태: 이렇게 해결할 수도 있구나 하는 신선한 충격. 효정님과 함께 해서 재밌었다. 책을 읽고 오지도 않았지만 함수형 프로그래밍이 뭔가 알 수 있었다. 책 읽어보고 연습문제 풀어서 올리겠다." - 1주차 회고 중

 

시작은 위와 같이 기대감으로 가득 차 있었다. 사실 함수형 프로그래밍이란 개념이 오래전부터 있었던 개념이고, 최근에서야 부각되는 관심같게 되는 것 같다. 사이드 이펙트가 없는 완전 순수함수로만 이루어진 프로그램은 완성도가 얼마나 높을까? (실제로 개발은 해보지 못해서 느껴보진 못하고 있다.) 

 

하지만, 이런 초반의 패기는 오래가지 못했다. 프로그래밍 패러다임의 차이에 따른 괴리감은 나에게 엄청난 벽으로 다가 왔다. 다음은 스터디 중간쯤의 회고 내용이다.

 

"현태: 감은 오지만 만들 수 없다. 계속 뇌를 고문하고 있다. 다음 주부터는 외워야겠다.- 9주차 회고 중

 

정말이다. 공부를 하다보면, 뇌를 고문하는 느낌이다. 누구에게나 익숙한 for / while 문을 사용하지 않고 프로그래밍을 한다는 자체에 적응이 되지 않았다. loop 문을 구현을  하기 위해서 재귀를 사용하고, 파라미터로 함수를 넘기고 하는 것들이 모두가 낯 설었다. 그결과로 스터디 참석하는 인원이 2명이나 되는 상황까지 갔지만, 반복적으로 부딪히고 외우는 방법 밖에 없었다.  현재는 그나마 함수형프로그래밍에 익숙해져서 스터디를 잘 따라가고 있다. 

 

호기심을 갖게 되는 순간 바로 당장 실행에 옮기는 것이 좋다. 하루이틀 미루다 보면 결국 안하게 되는 경우가 허다 하니깐 말이다. 그래서 함수형프로그래밍에 대한 지식이 없다면 꼭! 한번쯤은 공부해 보길 바란다. 현재 사내에서 SICP & Clojure , FP in Scala 스터디가 있다. 

  

테스트주도 개발

 

테스트주도개발 이란 뭘까? 결론, 무조건 시작 해라. 코딩이 재밌어 질 것이다.

가장최근의 일이다. 테스트주도개발 스터디를 하면서 책의 실습을 따라가는 예제를 하고 있었다. 하나의 클래스를 리펙토링 하는 예제였는데, 많은 부분을 리펙토링 하려고 하니 작성해 둔 테스트가 모두 깨지는 상황이 발생했다. 하지만, 테스트 하나하나 통과를 시키면서 내가 코딩하고 있는 부분이 안전하게 수정되고 있다고 누군가가 옆에서 말해 주고 있는 것 같았다. 사실 이러한 재미는 글로 표현하기 어려운 부분이긴 하다. 직접 경험해 보길 바랍니다. 

 

( 테스트 주도 개발은 이제 막 시작해서 짧게나마 정리를 해보았습니다. )

 

마무리 하며.. 

서문에서 말했듯이 배우것도 많고 이룬것도 많은 한해 였던 것 같다. 내년에는 어떤 일들이 기다릴 지 기대가 되기도 한다. 좀 더 발전된 내년은 개발에 재미를 느끼는 한해, 협업이 효율적으로 할 수 있는 한해, 내가 배운 것을 공유 할 수 있는 한해, 회사 성장에 크게 이바지 할 수 있는 한해가 되었으면 좋겠다. 

댓글
댓글쓰기 폼