본문으로 건너뛰기

나의 첫 테크니컬 라이팅 업무

· 약 4분
Sewon Kim
테크니컬 라이터 @Neurocle

직무 전환 후, 첫 주 업무는 워드로 작성하던 매뉴얼을 웹 문서로 전환하기 였습니다.

한 번의 제품 출시에 작성해야 하는 매뉴얼은 4가지였는데, 국문·영문·일문 매뉴얼을 제공하고 있기 때문에 총 12개의 워드 파일을 관리해야 하는 구조였습니다. 이전에 FE 개발자로서 일하면서 제품 개발할 때마다 수많은 워드 파일을 관리하는 게 참으로 끔찍한 업무라는 생각을 했었어요. Typst 같은 플랫폼에서 작성하거나 아예 형상관리를 적용하면 관리가 쉬워질거 같다는 생각은 해왔었는데 아쉽게도 당시 문서의 관리 주체가 형상관리에 대한 이해가 부족했고, 새로운 것을 배우기엔 너무 바쁜 환경이었습니다. 그렇게 몇 년이 흘러... 사용자 가이드는 300페이지가 넘는, 문서를 여는 것도 몇십초 기다려야 열리는 부담스러운 파일이 되었습니다.

워드 문서의 문제점

1. 수정이 힘들다

저희 제품은 국문·영문·일문 3가지 매뉴얼을 작성해야 하는데요. 내용이 동일하고, 언어만 다른 다국어 워드 파일은 관리가 매우 까다롭습니다.

파일 하나에 300페이지가 넘기 때문에 세 언어에 능통하지 않은 이상 내용을 수정할 때 정말 헷갈립니다. 특히 일본어를 볼 땐, 뭐가 틀렸는지 보기도 힘들어요. 언어마다 길이가 다르기 때문에 국문에서 130 페이지에 있는 내용이 일문에는 137 페이지에 들어가 있기도 하고, 실수하기 딱 좋은 구조입니다. (실제로 웹 문서로 전환하면서 오번역 된 부분도 많이 잡았습니다.)

그리고 이미지를 한 번 교체하려면 3번의 반복 작업을 해야 합니다. 국문 파일을 열어서 교체하고, 영문 파일을 열어서 교체하고, 마지막으로 일문 파일을 열어서 교체하는데 개발을 해왔던 저에게는 워드 파일 열리는 거 기다리고, 페이지 찾아서 수 십개의 이미지를 교체하는 작업을 반복하는 것이 정말 고역이었습니다.

2. 리뷰가 어렵다

지난 4년간 릴리즈 직전에 문서 오타를 발견해서 재빌드하느라 새벽까지 일했던 경우가 많았는데요. 300페이지 중에 몇 줄씩 찔끔찔끔 수정한 부분만 검수하기가 까다롭기 때문에 발생한 문제였습니다. 놀랍게도 워드에도 리뷰 기능이 있습니다...만 써보면 아실 것 같습니다. 복장 터집니다.

3. 버전 관리가 어렵다

문서라는 것이 날을 하루 잡아서 작업을 끝내버리면 좋지만 아쉽게도 개발 상황에 따라서 중간중간 작업을 해야하기 때문에 최종 버전이 나올 때까지 여러번 작업을 하는 경우가 많습니다.

최종, 최최종, 최최최종

최종, 최최종, 최최최종

어떤게 최종인지도 잘 모르겠고, 롤백을 하더라도 어떤 버전으로 롤백해야하는지 일일이 까보지 않으면 보기가 힘든 구조였습니다. 처음 인수인계 받았을 때에는 Git 없이 지금까지 어떻게 관리해왔는지 신기하다는 생각이 들었어요. 비 개발자라도 형상관리를 알아두면 업무 효율을 많이 높일 수 있을 것 같습니다.

2025 year in review

· 약 2분
Sewon Kim
테크니컬 라이터 @Neurocle

회사 생활 4가지 팩트

  1. 프런트엔드 개발자에서 테크니컬 커뮤니케이터로 직무 전환.
  2. word로 관리하던 문서를 웹 문서로 전환. 비 개발자를 위한 Git 사용 가이드 제작.
  3. CS, VoC 프로세스 개선 프로젝트 참여. 정기 회고 및 CS 리포트 발간 문화 정착.
  4. 팀 빌딩을 위한 개발 회고 퍼실리테이팅 및 팀 워크샵 주도.

팩트가 가르쳐준 것

무조건, 역지사지

올해 했던 일들은 '협업'이 핵심이었습니다. 개발자로 일할 때에도 협업은 중요했지만, 테크니컬 커뮤니케이터로써의 업무는 협업의 비중이 훨씬 높았습니다. 고객이 바로 내 옆의 동료들이고, 내 결과물이 그들의 업무 효율을 높이는 것이기 때문에 기술을 도입해서 업무가 더 편해지도록 해야했습니다.

내가 문제로 여겼던 일도 상대방에게는 문제가 아닐 수 있고, 문제 정의에서부터 의견이 맞지 않으면 일을 시작조차 할 수 없습니다. 설령 내가 몰아붙여서 시작하더라도 성공적으로 마무리할 수 없습니다.

  • 기술보다 먼저인 건 상대방의 기분을 헤아리는 것.
  • 진실보다 중요한 건 상대방의 기분을 좋게 해주는 것.

진정으로 하고 싶은 일을 하기 위한 필수 조건이라고 생각합니다. 이제야 사회 생활이 무엇인지... 조금씩 느껴가고 있습니다.

From Code to Docs - 나의 직무 전환기

· 약 2분
Sewon Kim
테크니컬 라이터 @Neurocle

이제 프런트엔드 개발자가 아닙니다..!

지난 4월, 공식적으로 뉴로클의 테크니컬 커뮤니케이터가 되었습니다. 일주일 간의 휴가를 가지고 직무를 변경했고, PM팀 소속의 테크니컬 커뮤니케이터로 일한지도 100일이 훌쩍 넘었습니다.

링크드인 프로필도 새롭게 바꿨습니다 :)

링크드인 프로필도 새롭게 바꿨습니다 :)

제 인생에서 꽤 큰 결정이고, 빅 뉴스인데 한 번도 글로 정리해본 적이 없더라고요. 그래서 이번 글에서는 제가 왜 프런트엔드 개발자에서 테크니컬 커뮤니케이터로 직무를 전환했는지, 어떤 일을 하고 있고, 앞으로 무엇을 해보고 싶은지도 함께 정리해보려 합니다.

나는 왜 디버깅을 못할까?

· 약 2분
Sewon Kim
소프트웨어 엔지니어 @Neurocle

1만 시간의 법칙은 틀렸다

1만 시간의 법칙; 어떤 분야의 전문가가 되기 위해서는 1만 시간의 훈련이 필요하다는 법칙

1만 시간을 꾸준히 투자하면 누구라도 특정 분야의 전문가가 될 수 있다는 이야기를 학생때부터 자주 들어왔다. 그러나 이 법칙은 틀렸다. 1만 시간을 주구장창 한다고 전문가 수준에 오를 수는 없다. 핵심은 '1만 시간'이 아니라 '훈련'에 있기 때문이다. 의도적인 행동과 피드백을 통해 개선을 반복하는 것을 꾸준히 해야 전문가가 된다.

문서화, 하지 마세요.

· 약 3분
Sewon Kim
소프트웨어 엔지니어 @Neurocle

저는 문서화를 중요하게 여기지만 사실 문서는 적으면 적을수록 좋다고 생각합니다. 코드를 최소한으로 작성해 효과적으로문제를 해결하는 것이 기술이듯 문서도 최소한으로 작성하면서 필요한 정보를 전달해야 합니다.

지난 3년간 회사의 FE팀 위키를 구축하고 유지보수하며 저만의 문서화 기준이 생겼는데요. 이 글에서는 문서화가 필요한 경우와 필요하지 않은 경우를 구분하는 기준을 제시하고, 실용적인 문서화를 통해 개발 효율성을 높이는 방법을 탐색해 보겠습니다.

덮어놓고 쓰다 보면...

회사에서는 크게 3가지 방식으로 문서화를 해왔습니다.

  1. 코드 주석
  2. Pull Request 설명
  3. 노션

그중 노션은 시간과 정성을 들여 작성해야 하는 '공식적인 문서' 역할이었는데요. 코드 설계나 구성에 대한 설명, 리팩토링 과정, 에러 핸들링 기록, PoC 상세 내용 등을 기록했습니다. 그렇게 3년 정도 노션에 열심히 문서를 쌓아놓다 보니 몇몇 불편한 부분들이 느껴졌습니다.

2024 year in review

· 약 3분
Sewon Kim
소프트웨어 엔지니어 @Neurocle

2024 Lesson Learned

신뢰는 말이 아니라 행동에서 나온다

어느 날, 회사에서 서비스 개발을 멈추기로 했다라는 글에서 한 번 정리했는데 올해 초, 애자일 업무 방식을 도입하기 위해 2개월 간 많은 분들과 치열하게 논의하는 시간을 가졌었다. 논의 할 때, 서로 반대되는 의견을 다룬 적이 많았는데 어떤 사람의 말은 신뢰할만했던 반면, 어떤 사람의 말은 전혀 신뢰하기 어려웠다. 평소 그 사람의 행동이 그 사람의 말에 힘을 실어준다는 것을 느낀 것이다.

말하는 것은 쉽고, 행동하는 것은 어렵다. 사람들이 내 말을 듣게 하려면 평소에 내 말을 직접 실천하는 사람이 되어야한다.

첫 PR 그날 밤

· 약 3분
Sewon Kim
소프트웨어 엔지니어 @Neurocle

아이유의 노래 '첫 이별 그날 밤'을 듣다가 '처음'에 대해 생각하게 되었습니다. 입사 후 저의 첫 커밋, 첫 PR(Pull Request)이 생각났어요. 처음 PR을 작성하고, approve를 받아 메인 코드 베이스에 머지했던 그날은 드디어 사회에서 1인분을 하는 사람이 되어간다는 기분에 설레는 마음이 가득했던 것 같습니다.

입사 후 첫 3주동안에는 회사 제품을 사용해보고, 제품 코드를 리딩하는 업무를 진행했습니다. 약 3년정도 진행중인 프로젝트여서 코드 베이스가 크고 복잡했는데요. 가장 먼저 눈에 들어온 부분은 코드 컨벤션이었습니다.

...오잉?! 컨벤션의 상태가...!

가장 처음 작업했던 것은 커밋 메시지를 자동화하고, PR 템플릿을 만든 일이었습니다. 프로젝트를 빠르게 개발하는 것이 가장 중요했던 시기라서 제가 입사하기 전에는 문서화 작업이 많이 부족했는데요. 코드 리뷰를 구두로 진행하고, PR에 관련 작업에 대한 설명이 대부분 없었습니다.

예를들면 이런식...

예를들면 이런식...

약 2,000 라인이 넘는 changes임에도 불구하고, PR에 아무런 설명이 없었어요. 3년간의 히스토리를 아무런 기록 없이 넘겨받으려니 엄청 막막했습니다. 그래서 PR에 대한 템플릿을 만들어 최소한으로 남겨놓아야할 정보들을 기록할 수 있도록 만들었어요.

역사적인 첫 PR🥳

역사적인 첫 PR🥳

스타일링 방식을 알아보자

· 약 5분
Sewon Kim
소프트웨어 엔지니어 @Neurocle

CSS는 HTML 문서의 요소들을 꾸미는 역할을 합니다. 처음 CSS를 배우고 나서는 도전적인 과제가 주어지거나, 인터렉티브한 과제가 주어지지 않는 이상 초반에 배웠던 CSS를 그대로 사용하게 되는데요. 저도 취업 이후에는 따로 CSS를 공부하지 않았던 것 같습니다. 최근 zero-runtime CSS-in-JS 키워드를 접하게 되면서 어떤 스타일링 방식이 있는지 다시 한 번 정리해보고자 합니다.

CSS의 작동방식

Vim 배우기 :q!

· 약 3분
Sewon Kim
소프트웨어 엔지니어 @Neurocle

Vim is a highly configurable text editor built to make creating and changing any kind of text very efficient. It is included as "vi" with most UNIX systems and with Apple OS X.[^1]

Vim은 "Vi IMproved"의 준말로, 원래 UNIX 시스템에서 사용되던 Vi 편집기를 개선한 텍스트 편집기 입니다. 1991년에 v1.14가 처음 공개되었습니다.[^2]

vim 실행 화면

vim 실행 화면

터미널에 vi를 입력하면 Vim이 실행됩니다.


vim을 배우고 싶었던 이유

출처 https://xkcd.com/378/

출처 https://xkcd.com/378/

어디에선가 vim에 익숙해지면 마우스 없이 모든 명령어를 처리할 수 있고, 생산성이 극대화된다는 말을 들었습니다. 저는 리눅스 환경에 익숙하지 않아서 검은 터미널 화면에 빽빽하게 타이핑하며 개발하는 것에 대한 환상이 있었고, 한 번 배워보고 싶었어요. 그리고 뭔가 '진짜' 개발자처럼 보이잖아요...!

글또 10기 미리보기

· 약 2분
Sewon Kim
소프트웨어 엔지니어 @Neurocle

어느 날 아침 문득, 정말이지 맹세코 아무런 계시나 암시도 없었는데 불현듯, 잠에서 깨어나는 순간 나는 이렇게 부르짖었다. "그래, 이렇게 살아서는 안 돼! 내 인생에 나의 온 생애를 다 걸어야 해. 꼭 그래야만 해!"

모순, 양귀자

요 근래에 정말 재미있게 읽었던 소설의 첫 문장입니다. 글또 10기 OT가 끝나고 문득, 정말이지 맹세코 아무런 계시나 암시도 없었는데 불현듯, '그래, 이렇게 살아서는 안 돼! 내 인생에 나의 온 생애를 다 걸어야 해. 꼭 그래야만 해!'라고 생각했어요. (부르짖지는 않았음...)

처음 개발자를 꿈꾼지 5년이 지났고, 프런트엔드 개발자로 봉급을 받은지 3년이라는 시간이 지났습니다. 사랑의 유효기간은 900일[^1]이라고 하죠? 요즘은 어쩐지 프로그래머로서의 열정도 사라지고, 커리어 권태기가 온 것 같아요. 그래서 '글또 10기 시작'이라는 핑계로 제 프로그래밍 인생에 저의 온 생애를 다 걸어보자는 비장한 다짐을 해보려고 합니다. 글또는 어쩌면 프로그래머로서 열심히 살아보기 위한 수단일지도 모르겠네요😁