최근 생각의 폭을 넓혀주는 글들을 접하고, 운이 좋게 DEVCORE 컨퍼런스에서 박성철 개발자님을 뵈었다.
그에 대한 기록과 현재 나는 어떻게 할 것인가를 톺아보는 글이다.
어떤 계기로 "박재성"님의 이름을 각인했는지는 잘 모르겠다. 유튜브 동영상을 보다가, 왠지 이 분은 좋은 교육을 하는 분이구나를 인지했고 웹과 친하지는 않지만 이 사람의 마인드는 숙지하고 있어야겠다는 생각을 해서 뉴스레터를 구독해 놓았던 것 같다.
가장 큰 깨달음 - 반란군을 키우는 일의 어려움
여러 배움이 있었지만, 가장 큰 깨달음은 조금 무거운 쪽이다. 반란군을 키우는 일이 얼마나 어려운가, 그리고 지금의 우테코 같은 경험만으로는 거기에 한계가 있다는 것이다.
우테코 교육으로 키우고 싶었던 사람은 '반란군 기질을 가진 인재'였다. 반란군이라는 단어가 거칠게 들릴지도 모르겠다. 규칙을 어기고 분란을 일으키는 사람을 떠올린다면, 내가 말하려는 것과는 한참 멀다. 내가 말하는 반란군은 이런 사람이다. 주변 환경에 휘둘리지 않으면서 자신만의 길을 찾고, 기어이 도전해 보는 사람. 남들이 다 그렇게 한다는 이유만으로 따라가지는 않는 사람. 정답이 없는 문제 앞에서 도망치지 않고 자기 나름의 답을 만들어 보는 사람. 권위가 틀렸다고 느끼면, 두렵더라도 손을 드는 사람. 무엇보다, 스스로를 믿는 사람이다.
가장 엉뚱한 방식
지금 시대에는 어쩌면 가장 엉뚱해 보이는 방식이 가장 경쟁력 있는 길인지도 모른다. 나는 여전히 그 엉뚱한 길을 걷고 싶다. 우리, 거기서부터 시작해 보는 것은 어떨까?

컨퍼런스를 갔다오고 보니, 개발자원칙 저자 중에 한 분이셨구나.
[덕업일치를 넘어서] 글에서도 그러했지만, 즐거움으로 일한다는 느낌이 나서 무척 좋았다.
다시 본 책과 컨퍼런스 내용 안에서 '프로그래머', '개발자'의 구분,
그리고 전문가로서의 "개발자"의 성찰을 많이 하셨겠구나를 일관적으로 느낄 수 있었다.
이 업을 오랫동안 할 수 있는 사람만이 고민하고 말할 수 있는 것이다.
Q. 개발자란, 좋은 개발자란 무엇일까요?
컴퓨터를 사용해서 현실의 문제를 해결하는 사람이라고 생각합니다. 좋은 개발자는 그 일을 잘하는 사람이겠고요. 좋은 개발자의 조건을 나열해보라면, 전문 지식과 공학적 기법을 꾸준히 습득하고, 풀어야 할 문제를 정확히 이해한 상태에서 최적의 해법을 끌어낼 줄 알며, 주어진 제약 안에서 최선의 결과를 만들어내는 사람이라고 말할 수 있겠습니다. 하지만 이것이 정답은 아니겠죠.
(중략)
'프로그래머'는 종종 (저는 이 구분에 동의하지 않지만) 전체 소프트웨어 개발 과정에서 일부 구현 단계에서만 관여하는 역할을 가리킵니다. 반면에 '개발자'는 소프트웨어 개발 전 과정에 참여하는 사람만이라는 의미를 담고 있다고 할 수 있습니다. 그런 면에서 '개발자'로 칭호만 변하고 의미는 여전히 구현에 치우친 역할로 축소해서 사용되는 현실에 아쉬운 마음이 큽니다.
'좋다'는 평가는 상대적입니다. 맥락에 따라 기준과 의미가 달라집니다. 따라서 '좋은 개발자'도 처한 상황에 따라 의미가 다릅니다. 회사마다 분야마다 시대마다 아마도 '좋은'이란 의미는 다를 겁니다. 소속된 회사에서의 '좋은'과 더 큰 사회의 '좋은'도 다를 겁니다. 자신이 처한 환경, 또는 속하고자 하는 환경에서 말하는 '좋은 개발자'가 무엇인지 찾아야 합니다.
무엇보다 각자 스스로에게 '좋은 개발자'가 다를 수 있습니다. 저마다 가진 개성과 욕구와 동기가 다릅니다. 자신에게 맞는 '좋은 개발자'가 다 같을 리 없습니다.
💡 전문가에 대한 생각의 변천사

연사 중에 내게 인상깊었던 페이지 🔽
세 번 설계하세요
제가 마이크로소프트에 있었을 때, 한 프로그래머가 당시에 완전히 세 번 다시 작성하는 것으로 유명했습니다. 그 방식을 간단히 말하면 이렇습니다. 과제를 할 시간이 2주라고 할 때, 첫 6일은 코딩하면서 마음껏 실수하고, 엉터리 결과를 만드는 데 사용합니다. 그리고 나서는 작업을 그냥 버리고 다음 3일을 다시 작성하는 데 보냈습니다. 그때쯤이면, 배운 교훈을 다 적용하고 있었습니다. 그리고 나서 마지막 하루 혹은 하루 반을 세 번째 버전을 사용하는 데 사용했고, 그것은 완벽했습니다.
-- 스티브 맥코넬
스티브 맥코넬 저자님이 흰머리 희끗하신 분인 줄 알았는데 생각보다 젊으셔서 놀랐다! 이렇게 여러번 우당탕 작성해보고 결정하는 것도 꽤 재미있겠다는 생각이 들었다.
저는 아직도 우리 개발자가 전문가로 인정받지도, 그렇게 행동하고 있지도 않다고 생각합니다. 오히려 지난 10년 동안 호황기를 거치면서 지나치게 높은 대우를 받았을지도 모르겠습니다. 이렇게 말하면 거칠게 항의할 분도 있겠지만 제 주위의 다른 직군에 있는 사람들과 비교하면 분명히 그렇게 보입니다.
무엇보다 개발자를 양성하는 교육 과정과 개발이라는 행위는 여전히 흑마법 같습니다. 제가 보기에 어떤 대학도 이렇다 할 개발자 양성 교육 과정을 제시하지 못하고 있습니다. 애초에 개발자가 누군인지 분명하게 말하지도 못하는 것 같습니다. 개발 과정에 대해서도 이제 막 이해하기 시작한 수준이지 않나 싶습니다.
스티브 맥코넬은 우리 업계에 주기적으로 골드 러시가 일어난다고 말합니다. 이런 호황기에는 그냥 아무렇게나 일을 해도 돈을 벌 수 있습니다. 하지만 골드 러시가 끝나고 나면, 그래서 진짜 실력으로 평가되고 경쟁해야 하는 때가 오면 엔지니어링 전문성이 중요해질 것이라고 말합니다.
"후기 골드 러시 소프트웨어 개발은 더 체계적이고, 위험이 낮으며, 자본 집약적인 개발 관행이 특징이다. 골드 러시 방식 개발 관행은 후기 골드 러시 단계에서 동작하지 않을 것이다." - 스티브 맥코넬
저는 스티브 맥코넬이 그의 책에서 말하는 형태의 전문 소프트웨어 개발이 정답이라고 생각하지는 않습니다. 하지만 그의 전망대로 언젠가는 호황기가 끝나고 진짜 실력으로 만들어내는 성과에 따라서 평가되는 때가 올 것입니다.
지금은 공부를 3개월 이내 마치고 취준을 할까 아니면 좀 더 공부할까를 결정해야 하는 시점이다.
이상하게 나는 돈은 공부하다보면 자연스럽게 따라오는 것이라는 생각을 자꾸 하고 있다. (덜 데여서 그런거겠쥬..)
코로나 시기에 잠시 배운 데이터를 통해 취업을 운 좋게 했을 때 제일 이상하다고 생각했던 부분은,
'이렇게 쉽게 고용당해서(?) 오랫동안 일할 수 있는건가?'
내 능력으로 돈을 받는 게 아니라, 이 자리에 있기 때문에 월급을 받고 있다는 생각을 지울 수 없었다. 이 자리가 너무 쉽게 대체될 수 있고, 문턱이 이렇게 낮다면, 나는 별로 이 일을 하고 싶지 않다고 생각하고 원래 하던 일로 돌아갔었다.
이런 우여곡절 끝에 여기 와 있는 건,
혼자 하지 않는 것 그리고 내가 공부한 것/개발한 것을 선뜻 오픈하는 문화가 무척 마음에 들었기 때문이다.
그래서 결론은?
취업과 상관없이 creator가 되고 싶다.
creativity: 창의성과 창조성 두 가지 의미를 내포하고 있다.
창의성은 발산하는 것, 창조성은 끝까지 만들어내는 것이라고 생각합니다. - 열두발자국 부록 중에
사람을 아끼고 좋아하는 내가, 사랑하는 사람들과 떨어짐으로써
좀 더 사랑하는 방법을 알게 되고, 그 사람들에게 이런 유용한 것들이 만들어졌으면 좋겠다.
라는 생각을 하게 됐다.
공부가 끝나는 시점에 내가 사랑하는 사람에게 줄 수 있는 창조적인 무언가를 만들 수 있으면 될 것 같다.
안전하고 유용하게 설계된!
아 그리고 박재성님이 말한 반란군 같은 사람이 되면 더 좋고 :D