Functional Programming Creeps into Job Specs

서광열님의 블로그를 보고 다시 생각해봤다.

Functional Programming Creeps into Job Specs

즉, 돈 안 되는 이상한 언어를 구사자를 찾을수록 실력 있는 개발자를 뽑을 확률이 높다는 이야깁니다. 함수 언어를 먹고 살기 위해 배우는 언어가 아니라 열의를 가지고 공부해야만 알 수 있는 언어이기 때문에, 함수 언어 구사자를 찾으면 자연적으로 다른 언어 구사자에 비해 실력 좋은 개발자를 뽑을 가능성이 커집니다.

이전에 “사랑하지 않으면 떠나라”라는 글을 보면서 썼던 블로그 포스팅이 생각난다.
그곳에도 채용에 관한 같은 이야기가 나온다.

개인적으로는 올해 Functional Language를 실제 실무에 써보면서 많은 좌절과 기쁨을 동시에 느꼈지만 어찌됐건 그 함수형 언어에 대한 막연한 동경심은 가실줄을 모른다.
그 동경심의 발로는 당면한 문제에 대해서 다른 접근 방식을 사용하게끔 문법적으로 강제하는 힘이 있기 때문이라고 생각한다.  그 강제성을 배경으로 구현을 하면서 더 간결하고 빠른 코드가 나오거나 보기 편한 코드가 나오면 이게 바로 함수형 언어에 중독되게 만드는 힘이 되는것 같다.

그덕에 Python프로그래밍을 해볼때 functional 함수들을 쓰는 빈도수가 더 늘어났고 그렇다 보니 코드가 좀더 보기 편해졌다.
이 습관들은 C++을 코딩할때도 역시 영향을 미치고 있다.

Collective Intelligence라는 책을 보면 Python에 익숙한 사용자를 위해서 쓰여졌다고도 하지만 함수형 언어를 한 사람들에게는 크게 무리없이 볼 수 있을거라고 써 있었다.
만일 이 책에서 쓰인 수많은 List 연산들을 Python이 아닌 다른 언어를 써서 했다고 하면 책의 분량이 최소 2배는 넘어가지 않았을까 생각해본다. 하긴 책이 프로그래밍 연습을 위한 책이 아닌 이해와 구현을 중심으로 서술해 나가기 때문에 이런 함수적인 특징을 가진 언어를 사용한건 최적의 선택이였다고 생각한다. (코드를 보면 이 책의 저자인 toby가 함수형 언어를 ML업무분야에서 상당히 잘(?) 사용하고 있다는 느낌을 지울수가 없다.)

일반적으로 새로운 언어를 배우기 좋아하는 사람은 기존의 언어를 잘 다루는 사람이고, 더 나은 방법을 지속적으로 찾는 사람이다.
또한 그들은 계속 껍질을 깨어 나가는 사람이다.
굳이 그런 사람들을 환영하면 환영했지 인터넷 기업에서 마다할 이유가 없다.

CC BY-NC 4.0 Functional Programming Creeps into Job Specs by from __future__ import dream is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.