개발자로서 가장 중요한 도구는 펜과 노트입니다
(hamatti.org)- 새로운 회사에 입사하며 가장 먼저 한 일은 새 노트를 구입하는 일이었고, 이는 단순한 기쁨을 넘어 개발자로서 핵심 도구라는 인식에서 비롯됨
- 코딩은 최종 단계일 뿐, 더 중요한 것은 무엇을 어떻게 만들지를 사고하는 과정이며, 이는 종종 컴퓨터가 아닌 노트에서 시작됨
- 노트에 글과 그림으로 사고를 시각화하면 추상적인 생각이 구체화되고, 지식의 공백도 드러나며, 더 나은 설계를 도울 수 있음
- 자신이 작성한 코드를 글로 설명하면서 다시 검토하는 습관은 불일치나 잘못된 설계를 발견하는 효과적인 리팩토링 도구로 작용함
- 이러한 기록은 미래의 자신에게도 의사결정의 맥락을 복원하는 자료로 유용하며, 일종의 자동화된 회고 문서가 됨
펜과 노트가 가장 중요한 이유
- 첫 출근 전 가장 기대했던 일 중 하나는 새 노트를 고르는 것
- 개발자에게 노트는 단순한 기록 도구가 아니라 사고 도구
- 코딩은 사고의 끝단에 있는 실행이며, 무엇을 만들지 고민하는 과정이 더 중요
- 많은 경우, 컴퓨터 앞에서는 창의적 사고가 잘 흐르지 않음
- 에디터를 열면 “작동하는 코드”에만 집중하는 ‘기능 모드’에 들어가게 됨
컴퓨터에서 벗어나 생각하기
- 산책을 하거나, 노트를 들고 소파나 야외에서 문제를 고민
- 새로운 문제의 접근 설계, UI 스케치, 플로우차트, 기존 코드의 데이터 흐름 분석과 기능 확장 아이디어 등을 노트에 정리
-
글과 그림을 통한 사고 시각화는 모호한 아이디어를 구체화하는 데 탁월한 효과
- 머릿속 생각만으로는 빠르게 생략해버리는 논리적 공백이 글쓰기에서는 명확히 드러남
글쓰기는 최고의 리팩토링 도구
- 코드를 작성한 후, 다른 사람에게 설명하듯 글로 쓰는 습관
- 가능하면 블로그로 공개하지만, 내부 문서 형태로라도 설명하는 과정에서 불일치, 나쁜 설계, 실수 등을 발견
- 관련 포스트: 글쓰기는 내가 가장 좋아하는 리팩토링 도구
사고의 부산물이자 기록의 자산
- 글쓰기 사고법의 또 다른 장점은, 생각한 흔적이 자연스럽게 기록으로 남는다는 점
- 따로 문서화하지 않아도, 생각 정리의 부산물이 훌륭한 회고 자료가 됨
- 이후 누군가(특히 미래의 나)가 “왜 그렇게 했는지” 물어보면 노트를 열어 그대로 설명 가능
더 깊이 있는 개발자 노트 쓰기에 대해
- 관련 글: 개발자로서 업무 노트를 어떻게 작성하는가
Hacker News 의견
-
멋진 토론임을 느끼는 중임. 내가 생각하는 핵심은 노트북이든 디지털 도구든 자체가 아니라, 내 두뇌의 기어를 바꿔주는 것임. 모드를 바꿀 때마다 뇌가 다르게 주의를 기울이기 때문에, 새로운 컨텍스트가 집중력, 창의력, 기억력을 높여줌. 예를 들어, 계속 코딩만 하다 밤에는 글쓰기라는 새로운 취미를 시작했더니 뇌가 리셋되는 기분을 받았고, 낮 동안의 성과가 진짜로 올라감. 계획을 세울 때 디지털에서 펜과 종이로 잠시 바꾸는 것도 루틴을 깨뜨려 뇌를 다르게 작동시킴. 결국 도구가 아니라 변화를 통해 깨어나는 게 중요함임
-
요즘 개발자 중에 제도 기초 수업을 강제로 들어본 사람이 얼마나 될지 궁금함. 레고 가지고 논 사람은 많겠지. 3차원 물체를 2차원 종이에 설명해야 할 때는 보통 세 방향에서 투영도를 그려야 하고, 만약 3차원보다 복잡하면 더 많은 각도에서 봐야 설명이 가능함
-
책 'Smarter Faster Better'에서 접한 '불유창성(disfluency)'이라는 개념이 인상적이었음. 불편한 폰트, 새로운 환경, 다른 도구 등은 자동 조종 모드에서 벗어나 새롭게 사고하게 해줌. 어디에서도 이 개념을 본 적 없지만, 지난 9년간 문제 해결과 학습에 접근하는 방법이 완전히 달라짐. 나도 노트북으로 전환하는 게 이 효과를 유발시키는 좋은 트리거가 됨
-
나 같은 경우 실제로 노트 필기를 종이 노트, 구식 녹음기, 그리고 텍스트 파일 세 가지 매체로 함. 각각의 매체가 독특한 장단점을 가지고 있어서 아이디어도 다르게 표현됨. 녹음기가 점점 덜 쓰이긴 하지만, 시간이 부족할 때 얼른 넘어가야 할 때 최적임. 녹음한 걸 나중에 들으면서 다시 적으면 각각의 반복 과정이 아이디어를 다르게 변형시킴. 이런 과정을 통해 같은 아이디어를 다각도로 볼 수 있음
-
예전에 들은 연구 결과에서 컨텍스트 스위칭(작업 전환)은 평균 15분 정도의 비용이 든다고 함. 얼마나 정확한지는 모르겠으나, 내 상사들도 이 점을 매우 신경 써서 존중해줌
-
내가 경험한 건 실시간 웨비나 시리즈를 들으면서, 바로바로 펜과 종이로 필기를 할 때였음. 처음에는 따라가기가 너무 힘들었는데 며칠 지나면서 듣고 쓰는 상황 전환이 점점 능숙해지고, 청각 정보를 더 잘 기억하게 된 느낌이었음
-
-
내가 만난 수학, 물리, 컴퓨터 사이언스계의 가장 똑똑한 사람 중 일부는 노트조차 안 씀. 대신 프린터 용지에 펜으로 쓰고 끝나면 그냥 버려버림. 오랜 과거의 개인 노트에서 유용함을 발견한 경험은 거의 없음. 정말 중요한 건 문서화해서 남에게도 발견될 수 있게 하고, 꼭 외워야 할 건 플래시카드 with spaced repetition으로 학습함. 물론 내 방식이고 다른 사람에게는 안 맞을 수도 있음. 이 글의 제목은 단순히 한 개발자의 철학을 공유하려는 것일 뿐, 꼭 모든 사람이 따라야 한다고 말하는 게 아님. 펜과 노트북이 안 맞으면 안 써도 됨
-
과학적으로 보면, 뭔가를 적으면 기억력, 암기, 학습 능력이 향상됨. 심지어 바로 작성물을 버려도 효과가 있음. 관련 기사 도 있음. 손으로 쓰는 게 타이핑하는 것보다 더 많은 감각과 뇌(특히 운동 피질)를 활성화시킴. 나도 이걸 핑계 삼아 몰스킨을 사고 싶다는 생각을 자주 하지만, 손글씨는 내 워크플로우에는 안 맞음. 나는 단순 텍스트 버퍼에 대량으로 타이핑하고, 추후 GPT 같은 LLM으로 가공함. 머리가 멈췄을 땐, 이해 안 가는 단어라도 마구 타이핑하다 보면 서서히 정신이 돌아오고, 그 내용에서 할 일 목록이나 이메일 초안, 코드 초안 등이 나옴. 그 과정에서 대부분의 초기 낙서는 사라짐. 그래도 손글씨가 기억력에 더 도움됨
-
예전 노트는 쓸모가 없다는 (너의) 생각에 동의함. 하지만 나는 그 노트와 종이들을 여전히 보관함. 오랜 시간이 지난 뒤에 그걸 보는 건 마치 옛날 가족 사진 보는 기분, 예전 내 사고 과정의 사진 느낌임
-
내 뇌도 그렇게 작동함. 나도 노트가 있긴 한데 하루치 생각이 노트 한 페이지에 담김. 다음 날엔 다음 장을 씀. 이전 내용을 거의 다시 들여다보지 않음. 과거를 보는 데서 뭔가 가치는 있을 수 있지만, 실제로 해내지 못함
-
나에게는 노트 기록 방법이 완전히 자유롭고 구조화되지 않은 상태여야 효과적임. 키보드로는 흐름을 담기 힘듦. 비선형, 비언어적, 관계성, 공간적 데이터나 단기 기억용 정보들을 적기 위함임. 주기적으로 노트를 리뷰해서 의미 있는 정보는 캘린더, 티켓, 위키, spaced repetition 등 기록 체계로 이관함. 결국 보관할 가치가 있는 내용은 매우 드물지만 상관없음. 종이 노트는 나에게 공식 기록 시스템이 아니라 작업 기억의 확장임
-
나는 예전에는 노트를 자주 잃어버리곤 했음. 지금은 기술 도구로 노트를 텍스트로 옮기고 Obsidian vault에 정리함. 앞으로는 노트 간 연결을 자동으로 탐색하거나 태그를 붙여서 아이디어를 더 쉽게 찾을 수 있도록 해보고 싶음
-
-
노트북을 "가장 중요한 도구"라고 부르는 건 지나치게 낭만적임. 어떤 사람한테는 유용할 수 있지만, 디버거나 버전 관리, CI보다 더 중요하다는 건 과장임. 소프트웨어 엔지니어링은 장인 코스프레가 아님
-
OP임. 내 블로그가 HN에 올라올 때마다 "환상 속에 산다", "순전한 낭만주의다"라는 얘기를 들음. 네가 나열한 도구들은 물론 중요함. 버전 관리나 디버거 없는 개발은 비효율적일 테니 나도 기피함. 하지만 나에겐 노트북이 진짜 더 중요함. 코드를 쓰고 실행하는 도구는 일이 되게끔 하는 도구일 뿐이고, 소프트웨어 개발에서 진짜 중요한 건 뭔가 가치 있는 걸 만들고 문제를 푸는 과정임. 이때 코드 자체는 사소한 구현 단계에 불과함. 무엇을, 어떻게 만들지 고민하는 것이 훨씬 중요함. 누군가는 코드 에디터, 디지털 도구에서 더 잘 사고할 수 있음. 나는 코드 에디터에만 있으면 너무 세부 구현에 빠져 전체 구조를 떠올리기 힘듦. 그래서 나에게는 노트북을 들고 코딩 전후로 같이 쓰는 게 엄청 핵심적인 업무임. 만약 이 도구가 없다면 내 사고력, 문제 해결력, 창의력이 크게 무뎌져서 나쁜 소프트웨어를 만들게 될 것임
-
네가 말하는 건 소프트웨어 엔지니어링이 아니라 소프트웨어 가공임. 블루 칼라(현장 작업자)와 화이트 칼라(엔지니어)의 차이가 바로 이 '도구'에 대한 태도임. 엔지니어에게는 슬라이드 룰이든 계산기든 슈퍼컴퓨터든 단지 '도구'일 뿐임. 도구 때문에 엔지니어링을 하는 게 아님. 본질은 '생각'이며 도구는 그 과정을 촉진시켜줄 뿐임. 가공자에게는 기계 자체가 전부. 머신이 없으면 위젯 생산 불가인 것과 같음. '생산'이 아닌 '사고'가 본질임
-
이건 마치 "집 짓을 때 당연히 망치가 설계도보다 중요하다. 이건 미술 수업이 아니라 건설현장이다"라고 말하는 느낌임
-
이 점 짚어줘서 고마움. 똑같이 생산성 시스템에 엄청난 시간 쏟으면서 gtd 노트를 탭과 리스트로 꾸미고 실제 생산적인 일을 못 하는 사례가 많음. 사람들이 Obsidian 워크플로우에 대해 쓰지만, 실제로 의미 있는 메모는 안 남김. 블로그 자체를 만드는 데 시간을 다 쓰고 정작 글은 쓰지 않는 사람들도 많음. (나도 그랬음) "이건 장인 코스프레가 아니라 소프트웨어 엔지니어링"이라는 문구 정말 맘에 듦, 노트에 메모해두겠음
-
"craftsmanship cosplay"라는 표현 좋음. 각 댓글에 대한 직무나 커리어, 나이, 소득, 교육을 데이터로 보고 싶음. 의견은 결국 성공적인 소프트웨어 개발 자체보다는 발화자에 대해 더 드러내는듯함. OP는 자신에 맞는 집중력과 창의성이 잘 발휘되는 방식을 쓴 것뿐임. 본문이나 비판을 마치 표준처럼 여기는 건 오류임. 패턴을 흉내내면 결국 카고 컬트(cargo cult) 행동과 다를 게 없음
-
-
대부분의 댓글이 '펜과 종이'라는 물리적인 부분에 초점을 맞추는 것 같은데, 진짜 핵심 원칙은 놓치고 있는 것처럼 보임. 저자가 펜과 종이를 쓰는 이유는, 컴퓨터에 앉으면 자동으로 "구현 모드"로 전환되어 설계보다는 구현에 치중하게 되기 때문임. 즉 중요한 점은 설계가 필요할 때 단순히 구현에 빠지지 말고, 나름의 균형을 어떻게 유지할지 스스로 선택해야 함임
- OP임. 정확히 얘기해줘서 정말 기쁨. 자신에게 맞는 도구를 찾는 것이 중요함. 나 역시 대부분 기술팀에서 하루 종일 컴퓨터 앞에 앉는 분위기에 나만 스크린 없이 생각을 잘 한다는 막연한 소외감을 느꼈음. 나랑 비슷한 사람들에게도 용기를 주고 싶어 이 글을 썼음
-
이런 건 결국 개인 생산성의 영역임. 여러 가지 방식 실험해보고 자기에게 맞는 환경과 프로세스 찾아내야 함. 펜과 종이는 과도한 세부사항에 빠지지 않고 산만해지지 않도록 사고와 설계를 유도해줌. 나도 종종 펜과 종이로 했던 생각과 Sublime Text에 바로 쓴 생각을 번갈아가며 쓰는데, 둘 다 괜찮게 작동함
-
레딧에서 유행하는 벨커브 밈(티어의 양 극단이 같은 해법을 쓰고 '평균'은 불만을 품는 그림)이 딱 들어맞음. OP가 핵심을 짚음: 코딩 전에 생각하라. 내 커리어가 거의 끝나가는 요즘 (88년에 시작해 수십 년차임) 가장 흥미로운 점 중 하나는 도구의 변화임. 나는 큰 회사의 시니어 프린시펄 소프트웨어 아키텍트인데, 코드 한 줄 안 씀. 모든 결과물은 Visio, Word, PowerPoint(가끔은 PlantUML)로 만듦. 추상화 레벨이 올라갈수록 도구는 더 단순해짐. 내가 그리는 아키텍처는 10년 이상 돌아갈 군사용, 의료용, 자동차 1차벤더용임. 실제로 구현하는 코드(대부분 C, C++, 예전엔 Ada, 앞으로 Rust도 쓸지도)나 언어는 아키텍처에 전혀 영향 없음. 진짜 중요한 건 블록, API, 캡슐화임. 이게 실리콘, 보안, 생산, 테스트에 영향을 주기 때문임. 몇 장의 슬라이드로 설명할 수 있는 게 핵심이고, 코드 자체가 아님. (물론, 내 다이어그램이 설계 결함이 발견되어도 견딜 수 있어야 함. 이게 또 재미있는 부분임)
-
Leuchturm 1917 A4 Master 노트북(도트 그리드 강추). 퀄리티가 훌륭하고 만년필이랑 같이 쓰면 정말 기쁨임. A4 크기가 커서 루즈 페이퍼 끼워넣기도 좋고, 특히 UI 디자인에는 A4가 정말 최적 크기임
-
나는 20년 넘게 소프트웨어를 만들어 왔고, 그 전에는 OChem 박사 및 연구도 했음. 오스트레일리아에서 '시니어'로 충분히 벌고 있음. 나는 aphantasia(마음 속 이미지 상상이 불가)이 있어 펜과 종이나 화이트보드를 진짜 많이 씀. ERD, 마인드맵, 시퀀스 다이어그램 등 다양한 시각화. ReMarkable을 사용해 내용 이동 등이 더 쉬워졌고 효율성도 올라감. 어떤 사람에게는 '순전한 낭만'처럼 보일 수 있겠지만, 내 성공에는 펜과 종이가 필수였음
- 대부분의 사람도 한 번에 마음 속에서 많은 정보를 시각화하지 못함. 평균적으로 제한이 크다고 생각함. 그렇기에 모두가 펜과 종이의 혜택을 봄. 개인차가 있을 뿐임
-
다양한 노트 도구와 앱으로 정리 습관을 들이려다가, 올해 신년 계획으로 날짜 쓸 수 있는 To-Do 노트패드 한 뭉치를 사서 회의나 작업 중 그냥 자유롭게 쓴 결과, 훨씬 생산성이 올라감. 혹시 궁금한 사람 위해 내가 쓴 아이템 공유
-
사무실에서 일할 때 그리운 것 중 하나가 큰 화이트보드 앞에 서서 동료와 설계하는 시간이었음. 동료와 마커를 들고 아키텍처 고민을 하다 보면 진짜 세련된 클래스 설계가 나오곤 했음
-
나는 excalidraw를 이것에 활용하고 있으며 화이트보드보다 더 좋다고 생각함. 1) 더 예쁘고 지저분하지 않음, 2) 디지털 마커는 마르지 않음, 3) 수정과 변경이 쉬움. 기술 설계를 할 때 항상 excalidraw로 시작함
-
나는 24인치 펜 디스플레이를 씀. 예전 CTO였을 때 팀원 모두에게도 지급했었음. 공유 디지털 화이트보드로 여러 번 다시 그릴 필요 없이 계속 편집 가능하니까 너무 간편함. 화이트보드 지우기 전에 사진 찍는 것도 필요 없음
-
화이트보드(칠판 포함)가 생명임
-