본문으로 건너뛰기

관악산 정상에서 글또를 외치다

· 약 5분
Sewon Kim
SW Engineer @ Neurocle

이번 글은 글또 10기의 마지막 공식 제출 글이다. 지난해 10월의 첫째 날, 10기 다짐글을 작성하기 시작하여 총 9개의 글을 작성했다.

역시 모든 것은 계획대로 되지 않는다

어떤 글을 쓸지, 시작하는 날 11개의 주제를 정해놨는데 계획대로 작성한 건 4개뿐이다. 역시 인생은 계획대로 되지 않는다. 애초에 계획도 엉성했기 때문에 그러려니 한다. '패스를 단 한 개도 쓰지 않을 거야!' 라거나 '매일매일 조금씩 글을 쓸 거야!'라는 다짐을 하지 않았기 때문에 그러려니 하고 넘어갈 수 있는 것 같다. 그래도 크게 보면 6개월 동안 10편의 글을 작성했으니, 큰 단위의 계획은 계획대로 진행되었다고 볼 수 있다.

인생은 모순

10기의 다짐글은 2024년 재미있게 읽었던 양귀자의 '모순'이라는 소설의 첫 문장으로 시작했다. 나도 온 생애를 걸고, 내 인생을 탐구하고자 하는 마음으로 보냈는데 어느 정도 결실이 있었다. 한창 FE 개발자로서의 커리어를 고민하며 글또를 시작해서 지금은 테크니컬 라이터가 되기로 결심한 것. 테크니컬한 글을 더 써보려고, 개발자 커리어를 잘 쌓아보려고 시작했던 기술 블로그가 결국 개발 직무를 잠시 내려놓도록 만들었다. 차암 모순적인... 그것이 인생이다...


완전 새로운 직무를 하는 건 아니고, 개발과 연관이 있는 직무라 글또 내에서도 관심이 있는 분들이 계실지 여쭤봤었는데 덕분에 실제 테크니컬 라이팅 업무를 하시는 분과 커피챗을 할 수 있었다. 커피챗 덕분에 내가 새 직무에서 하고 싶은 일과, 어떤 역량을 쌓아야 할 지에 대한 방향성을 잡을 수 있었고 강의도 수강하게 되었다. 용기 내어 회사와도 이야기를 했고, 다행히 회사에서도 필요한 직무라 판단되어 '테크니컬 커뮤니케이터'라는 직무를 새로 만들어주셨다. 열심히 살아보려고 마음먹은 2~3개월 사이에 많이 찾아보고, 이야기하고, 도전하면서 일을 대하는 나의 마음도 성숙해진 것 같다.

함께 자라는 곳

최근 6개월 간 읽었던 기술 서적들은 왜인지 하나같이 함께하는 것의 중요성을 강조했다. 내 일만 잘하면, 나한테 주어진 업무만 기한 내에 해내면 잘하는 것이라고 생각했는데 그것이 아니었던 것이다. 정말 일을 잘하려면 결국 사람들과 함께 해야 했다.

그런 의미에서 나는 기술적인 공부보다는 사람 공부에 더 관심이 많아진 것 같다. 글또는 그런 나에게는 딱 맞는 공간이었다.15번 정도의 커피챗을 했고, 다양한 분들을 만났다. 완전 다른 분야에 계시지만 마음을 나눌 수 있는 친구도 사귀었고, 늘 만나 뵙고 싶었던 분도 진짜로 만났고, 별것 아니지만 내가 도움을 드릴 수 있는 분들도 만났다. 그리고 즐거웠다.

어제도 글또 사람과 관악산에 다녀왔다. 산에서 10기 활동 간이 회고를 하고, '참 여러모로 꿈같은 하루다~' 이야기하며 글의 제목을 정했다. 지난 6개월 동안 글또 덕분에 즐거운 시간을 참 자주 보냈지만, 만약 좋았던 날이 관악산을 올랐던 어제 하루였다고만 해도 그것만으로도 참 감사하다고 생각했다.

보통 회고는 이전에 세웠던 목표를 보고, 수치적으로 이것 저것 비교하고, 다음 액션플랜을 세우곤 하는데 이번엔 그냥 이것저것 재고 따지고 싶지가 않다. 6개월 전의 계획을 지켰든 안 지켰든 후회는 없다. 참 행복했다.

그리고 모두 행복하게 살았습니다

아쉽지만 글또는 이번 기수가 마지막이다. 그러나 나의 커리어는, 블로그는 계속된다.

  1. 한 달에 한 개 이상 글 작성하기
  2. 테크니컬 라이팅에 대한 직무적 지식, 경험 등을 담아내는 글 작성하기

그다음은 어떻게 될지 모르겠지만, 글또가 아니더라도 글은 꾸준히 쓸 것이다. 욕심을 좀 더 내보자면 개발도 완전히 놓지는 않을 거다.

FE든 BE든 공부도 꾸준히 하는 내가 되기를... 일 하는데에 있어서 행복에 겹지는 않더라도 불행하지 않은 사람이 되기를... 다들 행복하기를... 이런 저런 바람과 관악산 정기를 잔뜩 담아 10기를 마무리해본다. 👋

나는 왜 디버깅을 못할까?

· 약 5분
Sewon Kim
SW Engineer @ Neurocle

1만 시간의 법칙의 진실

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

1만 시간을 꾸준히 투자하면 누구라도 전문가가 될 수 있다는 이야기를 들어보았을 것이다. 그러나 이 법칙의 핵심은 '1만 시간'이 아니라 '훈련'에 있다. 의도적인 행동과 피드백을 통해 개선을 반복하는 것을 1만 시간을 한다면 어느 분야에서든 전문가가 될 수 있다는 것이다.

문서화, 하지 마세요.

· 약 6분
Sewon Kim
SW Engineer @ Neurocle

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

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

덮어놓고 쓰다 보면...

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

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

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

2024 year in review

· 약 8분
Sewon Kim
SW Engineer @ Neurocle

2024 Lesson Learned

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

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

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

첫 PR 그날 밤

· 약 7분
Sewon Kim
SW Engineer @ Neurocle

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

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

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

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

예를들면 이런식...

예를들면 이런식...

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

역사적인 첫 PR🥳

역사적인 첫 PR🥳

스타일링 방식을 알아보자

· 약 9분
Sewon Kim
SW Engineer @ Neurocle

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

CSS의 작동방식

Vim 배우기 :q!

· 약 7분
Sewon Kim
SW Engineer @ 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기 미리보기

· 약 5분
Sewon Kim
SW Engineer @ Neurocle

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

모순, 양귀자

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

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

비전공자도 개발자가 될 수 있나요?

· 약 3분
Sewon Kim
SW Engineer @ Neurocle

어제 2024 Women tech week에서 세미나를 듣고 왔습니다. '함께 그리는 커리어 성장 곡선'이라는 주제로 개발자로서의 커리어를 어떻게 쌓아나가야할지에 대한 이야기였는데 Q&A 시간에 어김없이 '비전공자도 개발자로 취업할 수 있을까요?'라는 질문이 나왔습니다.

전공자도 비전공자도 아닌 나

저는 '디지털콘텐츠학'을 전공했습니다. 이름만으로는 정확히 어떤 전공인지 알기 쉽지 않습니다. 사실 입학할 때, 포토샵이나 프리미어로 디지털콘텐츠를 만드는 방법을 배우는 곳이겠거니 싶어서 선택했는데 실제로는 포토샵이나 프리미어 같은 프로그램을 만드는 방법을 배우는 곳이었어요😅

1~2학년 때까지는 프로그래밍은 절대 하지 말아야겠다고 생각했었고, 운영체제나 네트워크 같은 전공 필수 수업은 듣지 않았습니다. 교내 방송국에서 일하면서 영상 편집을 배웠고, 대만으로 교환학생을 가서 중국어를 배우며 이리 저리 방황했더랬습니다. 어찌저찌 개발자로 취업했지만 스스로 '전공자'라고 하기에는 부끄러운 마음이 들 때가 많습니다.

애자일 하기

· 약 13분
Sewon Kim
SW Engineer @ Neurocle

이전 글 어느 날, 회사에서 서비스 개발을 멈추기로 했다.에서는 회사에서 2개월 간 서비스 개발을 멈추고, 개발 프로세스 개선하는 TF에 참여하면서 느낀 점을 정리했습니다. TF가 마무리 되고, 회사에서 서비스 개발에 애자일 프로세스를 적용한 지 6개월이 지났습니다 6개월의 시간 동안, 1번의 마이너 업데이트와 2번의 핫픽스를 진행는데요. 이번 글에서는 제가 생각한 애자일한 조직의 모습, 조직에서 애자일 프로세스를 적용한 방법, 겪었던 시행착오 등을 기록 해보려고 합니다.

애자일 하다는 착각

뉴로클의 개발 문화

뉴로클의 개발 문화

회사 채용페이지의 개발 문화에 대한 내용은 제가 작성했는데요. 작성할 때만해도 저는 저희 조직이 애자일하게 개발하고 있다고 생각했습니다.

착각 요소

  1. 스프린트를 진행한다.
  2. Jira를 사용한다.
  3. 프로젝트가 끝나면 회고한다.

생각해보면 이 두 가지 요소 때문에 애자일하다고 착각하고 있었던 것 같습니다. '워터폴이 아니니까 애자일인거 아니야...?'라고 대충 생각했던 것 같아요.

우리 조직은 애자일하게 하고 있는데 기획을 수정하는 게 왜 이렇게 힘든 걸까요? 왜 개발자들이 릴리즈 날에 밤새면서 버그를 고치는 걸까요? 애자일이란 과연 무엇일까요?