DHH, 2024년 6월 2일 원문

20여 년 전 Ruby on Rails가 출시되었을 때 저는 20대의 젊은 프로그래머였고, 제 스택을 사용해 본 사람이라면 누구나 웹 문제 해결을 위한 보편적인 우수성을 인정할 것이라고 확신했습니다. 그래서 저는 논쟁의 길을 택했고, 날카로운 논증으로 깨달음을 얻지 못한 대중을 변화시키려고 노력했습니다.

원문에서 crusades 라고 표현한 것을 논쟁이라고 번역했어요. 우리가 흔히 언어 전쟁이라고 표현하는 것과 같은 거라고 생각했어요.

그리고 오랫동안 저는 그것이 효과가 있다고 생각했습니다. 그래서 Ruby on Rails는 역사상 가장 인기 있는 풀스택 웹 프레임워크 중 하나가 되었고, 수많은 복제품에 영감을 주었으며, 이를 기반으로 구축된 회사에서 수천억 달러의 기업 가치를 창출할 수 있었다고 생각했습니다. 하지만 제가 틀렸습니다. 논쟁 때문이 아니었습니다.

초창기부터 저는 당시 Ruby on Rails를 채택한 수많은 프로그래머와 이야기를 나눴는데, 거의 모든 프로그래머가 인용한 것이 무엇인지 아십니까? 바로 15분짜리 블로그 동영상입니다. 이 동영상에는 다른 솔루션과 비교하거나 대안에 대한 구체적인 논거를 제시하는 내용이 하나도 포함되어 있지 않았습니다. 그저 Ruby on Rails로 무엇을 할 수 있는지 보여줬을 뿐이고, 이를 접한 모든 프로그래머의 머릿속에는 자동으로 비교를 하게 됐습니다.

저도 이 동영상의 중요성에 공감해서 한국어로 인프런에 강의를 하나 만들었어요!

그게 바로 성공의 비결입니다. 멋진 것을 보여주고, 현재 상황에 만족하지 않는 사람들이 영감을 받아 그것을 확인하도록 하는 것이죠. 어차피 그런 사람들이야말로 여러분의 대의에 동참할 수 있는 유일한 사람들이니까요. 함수형 프로그래밍에 푹 빠져 있던 사람이 객체 지향 프로그래밍에 대한 주장에 설득당하는 것을 본 적이 없습니다.

누군가를 강압적으로 복종시킬 수는 없으며, 그렇게 하려고 하면 오히려 역효과가 날 수도 있습니다. 하지만 현재 상황에 만족하지 못하는 사람들에게 대안이 어떻게 작동하는지 보여주고, 그 대안이 프로그래밍 생활을 어떻게 개선할 수 있는지 스스로 결론을 내릴 수 있도록 한다면 분명 기회를 주도록 유도할 수 있습니다.

또한 프로그래머의 지적 형태와 크기는 매우 다양하다는 것을 깨달았습니다. 그 중 일부는 함수형 프로그래밍에 열정을 쏟을 것이고, 그것이 열정으로 가는 길이 될 것입니다. 다른 사람들은 바닐라 자바스크립트를 클릭하고 빌드 파이프라인을 포기하고 안도할 것입니다. 또 다른 사람들은 여전히 Go에서 자신의 정신을 찾을 것입니다. 대단한 일이죠. 진심입니다. 웹에서 일하면서 이렇게 다양한 생태계를 선택할 수 있다는 사실은 버그가 아니라 놀라운 기능입니다.

“프로그래머의 지적 형태와 크기는 매우 다양하다” - programmers come in many different intellectual shapes and sizes

저는 Ruby에서 제 인생의 일과 열정을 찾았습니다. 파이썬이나 엘릭서, PHP, Go, 심지어 자바스크립트에서 자신의 열정을 찾은 친구들도 있습니다. 정말 멋지네요! 제가 여러분에게 바라는 건 그것뿐입니다. 여러분이 행복했으면 좋겠어요. 저에게 Ruby가 그랬던 것처럼 여러분도 자신에게 가장 잘 맞는 언어를 찾아 코딩이라는 아름다운 게임을 시작했으면 좋겠어요.

이것은 단순히 “모든 것에는 장단점이 있으니 가장 효과적인 것을 사용하라”고 말하는 것과는 다릅니다. 제 생각에 이는 다소 비약적인 표현입니다. 객관적으로 “가장 잘 작동하는” 보편적인 트레이드오프는 존재하지 않습니다. 프로그래밍 수수께끼의 절반은 지속적인 동기 부여의 원천에 연결하는 데 있습니다. Rust를 프로그래밍하는 데 하루 종일 시간을 보내야 한다면 저는 행복한 캠퍼가 될 수 없을 것입니다(하지만 저는 그 일을 즐기는 사람들이 커뮤니티에서 내놓은 많은 도구가 정말 마음에 듭니다).

그렇다고 장단점에 대한 기술적인 논의를 포기해야 한다는 뜻은 아니지만, 일반적으로 “내가 좋아하는 것, 내가 좋아하는 이유가 여기에 있으니 내 코드와 결과를 보고 당신도 좋아할 만한지 살펴보세요”라는 식으로 진행할 때 더 효과적이라고 생각합니다.

프로그래밍은 아름다운 게임입니다. 저는 제가 가진 모든 멋진 자동차를 포기하고 프로그래밍을 선택하라고 한다면 순식간에 포기할 것입니다. 지적 자극과 때때로 높은 몰입에 도달했을 때의 쾌감은 코코 샤넬의 “인생에서 가장 좋은 것은 공짜이고, 두 번째로 좋은 것은 매우 비싸다”는 말을 구체적으로 보여주는 예시입니다. 프로그래밍은 서구 세계의 모든 사람들에게 사실상 무료로 제공되는 ‘최고의 것’ 중 하나입니다(그리고 다른 곳에서도 점점 더 많은 사람들이 프로그래밍을 배우고 있습니다).

지적 자극과 때때로 높은 몰입에 도달했을 때의 쾌감은 The intellectual stimulation, the occasional high from hitting The Zone이 원문인데 여기서 The Zone이 높은 몰입의 상태라고 볼 수 있다고 하네요.

그러니 우리의 개념적 역량을 가장 잘 발휘할 수 있는 위치에서 최선을 다해 아름다운 게임을 플레이하고 멋진 코드를 만들어 봅시다.


옮기며

2024년 6월 25일 44BITS에서 Ruby on Rails 개발자 주니어 vs. 고인물이라는 주제로 라이브를 진행했는데 원래 같이 참여하기로 했지만 개인적인 사정으로 참여하지 못해 아쉬운 마음에 DHH의 글을 하나 번역하고 싶었어요.

DHH는 한창 Ruby on Rails로 일을 할 때는 별로 관심이 없었는데 리더 포지션을 달고 실무에서는 한 발자국 떨어진 상태에서, 그리고 육아 휴직으로 실무는 잠시 멀어진 상태에서 Ruby on Rails 생태계를 바라보면 가장 영감을 많이 주는 인물이에요.

DHH가 강한 의견을 자주 내는 편이라고 느끼는데 이런 회고를 하는 점이 인상적이라고 번역을 하게 됐어요. 저도 언어 전쟁이나 논쟁은 소모적이라고 생각해서 관심이 없는데 가장 중요한 걸 잘 짚어줬다고 생각해요.

“여러분도 자신에게 가장 잘 맞는 언어를 찾아 코딩이라는 아름다운 게임을 시작했으면 좋겠어요.”