요즘, 개발
우리는 왜 알고리즘을 공부할까요? 기초 소양을 쌓기 위해서? 좀 더 나은 개발자가 되기 위해서? 아주 틀린 이야기는 아니지만, 좀 더 솔직하게 얘기해 보겠습니다. 아마 대부분은 코딩 테스트를 통과하기 위해 알고리즘을 공부하고 있을 겁니다. 프론트엔드 개발자라면 ‘일단 서비스부터 잘 만들어야 할 것 같은데, 알고리즘은 또 언제 배우냐?’라며 막막한 마음이 들었던 것이 사실입니다. 저도 이런 고민을 했던 입장으로써, 오늘은 프론트엔드 개발자의 관점에서 알고리즘 공부의 중요성에 대해 솔직하게 이야기해보고자 합니다.
데이터 직군은 21세기에 가장 매력적인 직업으로 주목받고 있습니다. 그렇지만 정작 ‘어떤 일을 하는지’에 대해서는 덜 알려진 편입니다. 특히 데이터 직군 중 하나인 ‘데이터 엔지니어’는 업무의 중요도에 비해 정보를 구하기가 어렵고, 특히 해당 일을 하는 사람을 만나기도 힘듭니다. 저는 데이터 직군에서 일을 시작했기 때문에 업계에서 일하는 관계자들을 쉽게 만날 수 있었습니다. 각자의 배경, 소속한 기업의 상황에 따라 조금씩 다르지만 데이터 엔지니어의 업무에 대한 전반적인 이야기를 들을 수 있었습니다. 그래서 오늘은 이러한 내용들을 정리해 데이터 엔지니어를 목표로 하는 사람들을 위한 가이드를 작성해 보겠습니다.
함수형 프로그래밍을 배우면서 깨달은 것이 있습니다. 실제 함수형 프로그래밍의 본질은 그렇게 어려운 것이 아닌데 이걸 설명하기 위해서는 대단히 어려운 일이 많았습니다. 아마 함수형 프로그래밍에 쓰이는 용어들이 대부분 낯설기 때문일지도 모릅니다. 최근 함수형 프로그램을 더 깊이 공부하다가 실제로 알려주고 싶었던 것이 방법이나 용어가 아닌, 코드를 함수형으로 생각하는 ‘함수형 사고 패러다임’이라는 걸 깨달았습니다. 그래서 오늘은 함수형 사고 패러다임을 바탕으로 새롭게 함수형 프로그래밍에 관한 글을 써보려고 합니다.