신입의 눈으로 바라본 마이크로프로텍트에서 일하기 2

첫 글을 쓴 이후로 두 달이 흘렀다. 그 사이에 정말 많은 일이 있었다.

웹 사이트를 만들 뿐만 아니라(곧 여섯 번째 버전을 만들 계획이다), 모바일 앱을 개발했고 지금은 챗봇 서비스를 만들고 있다. 😎

계획했던 서비스가 아주 많이 달라졌고 또 다양해졌다!

경험하는 프로젝트와 개발 문화도 전보다 크게 바뀌어서 소개하려 한다.

WOW한가요

두 달간 개발하면서 모든 팀원들에게 돌았던 유행어 중 하나.

프로젝트를 시작하고 끝나는 과정 속에서 계속 물어봤던 질문: 그게 정말 WOW한가요?

WOW한가요?

지금 마이크로프로텍의 개발 문화를 가장 함축적으로 말할 수 있는 문장 아닐까!

처음 썼던 글에서는 좋은 개발 문화를 만들어가기 위해 노력한다고 했는데, 지금은 “좋은”이라는 표현보단 “WOW한” 개발 문화를 만들기 위해 노력하고 있다고 느낀다.

WOW한 개발 문화를 만들어가기 위해 어떻게 하고 있는지 소개하려 한다.

사용자들이 딱 보고 나서 wow가 나와야 한다!

1. 여기가 바로 짝 프로그래밍 맛집이라구요

짝 프로그래밍 설명

짝 프로그래밍이란?

짝 프로그래밍에서는 코드를 작성하는 사람이 드라이버가 되고 다른 한 사람이 내비게이터가 되어 코드 리뷰를 하며 프로그램을 작성한다. 두 프로그래머는 수시로 역할을 바꾼다.

마이크로프로텍트의 짝 프로그래밍

  1. 한 사람당 3분씩 코딩
  2. 다음 사람에게 키보드를 넘김
  3. 한 사람이 작업하는 동안, 다른 사람들은 태스크를 작성함
  4. 50분씩 코딩 후 10분 휴식(타임키퍼)

개발하면서 짝 프로그래밍으로 작업한다. 지금은 3명이 작업을 하는 데 한 사람이 3분씩 코딩하며 사이클을 돈다. 혼자 개발할 때보다 훨씬 높은 집중력이 필요하고 코드에 대해서 끊임없이 대화를 하므로 짧은 시간 동안 작업하지만 에너지 소모가 많다. 그래서 50분씩 작업하고 10분씩 쉬는 타임키퍼 제도를 도입했다. ⏱

도망치자!

실제로 느낀 짝 프로그래밍 후기_절망편 😈

짝 프로그래밍 맛집 정상영업합니다.

출근 첫날부터 “이제부터는 자바스크립트가 주 언어가 되어야 합니다.” 라는 아샬의 말과 함께 짝 프로그래밍을 시작했다.

전에도 짝 프로그래밍으로 작업을 해본 경험은 있었지만, 본격적으로 해보지는 않았었기 때문에 아무것도 모르는 신입의 입장에서 실수할까 봐 두려웠다. 잘 모른다는 것을 보여줄 때마다 부끄러웠고 내 실력이 다 보여진다는 생각에 스트레스를 많이 받았다.

게다가 익숙하지 않은 에디터와 자바스크립트 때문에 처음에는 받아쓰기(?)를 하는 기분으로 작업을 했었다. 3분이라는 시간이 다른 사람들이 할 때는 너무 짧고 내 순서에는 너무 길었다. 🤔

실시간으로 모든 코드를 집중해서 봐야 하므로 정신적으로도 체력적으로도 많은 에너지가 소모되었다. 그래서인지 퇴근하고 집에 가면 너무 피곤해서 쓰러져 자곤 했다.

속마음: 네

실제로 느낀 짝 프로그래밍 후기_희망편 😇

사실 좋았던 점이 훨씬 많다! 재미를 위해 절망편/희망편 이란 표현을 썼지만, 실제로는 짝 프로그래밍으로 일을 하면서 엄청나게 빨리 성장할 수 있었다.

특히 4개월 전만 해도 몰랐던 자바스크립트를 혹독하게(?) 스파르타로 배운 기분이랄까..! 키보드에서 손을 떼는 순간은 오로지 더 좋은 작업 방식을 논의할 때만, 조금도 망설여서는 안 되었기 때문에 많은 자극을 받으면서 성장할 수 있었다.

1초도_쉬지않고_타자치는_모습.gif

그리고 같이 계속해서 좋은 코드를 위해 이야기하다 보니 혼자 하는 것보다 훨씬 깔끔하고 좋은 작업이 나올 수 있었다.

놓칠 수 있는 실수들을 다른 동료들이 찾아주고 중요한 작업 순위를 실시간으로 쫓아가면서 빠르게 수정할 수 있다는 게 큰 장점이라고 느꼈다.

신입 개발자의 입장에서 선배 개발자의 작업 과정을 보고 많이 배울 수 있는 게 좋았다.

백문이 불여일견이라고 실시간으로 같이 작업하면서 프로그래밍을 하다 보니 어떻게 변수 이름을 설정할지, 어떤 코딩 스타일을 따라갈지, 어떻게 리팩터링해야 좋을지 등 초보 개발자가 힘들어하는 부분을 바로 알 수 있어서 재밌었다.

신입을 도와주는 MP 동료들

또 팀원들 간의 커뮤니케이션 능력과 신뢰감도 짧은 시간 안에 커질 수 있었다. 위에서 말했듯이 내 실력을 다 보여줘야 해서 부끄럽고 무서웠지만, 같이 작업을 할수록 어떤 의도를 가지고 코드를 작성하는지 알 수 있었고 상대가 힘들어하거나 잘 몰라도 질책하거나 비난하는 분위기가 아니라 이해하고 도움을 주기 위해 서로 노력하는 분위기가 형성되었다.

짝 프로그래밍을 바로 시작한다고 해서 신뢰가 올라가는 게 아니라 이미 심리적 안정감이 형성되어 있는 상태에서 짝 프로그래밍으로 작업하여 더 좋은 결과가 나올 수 있었다고 생각한다.

짝 프로그래밍 방식으로 작업하는 게 ‘잘 하고 있는 건가..?’라는 생각이 들었지만, 결과적으로 더 빠르고 효율적인 개발 방법이라고 느꼈다.

특히나 실력이 비슷하든, 차이가 크든 같이 작업을 공유하기 때문에 서로에게 더 빠른 성장을 줄 수 있고 협력하는 문화도 만들 수 있다는 부분에서 큰 장점이 있다.

짜릿해, 늘 새로워, 짝 프로그래밍이 최고야

다음 화 예고: TDD로 개발하기

다음 화 예고
WOW한 개발 문화 소개: 2. TDD

WOW한 개발 문화

  1. 짝 프로그래밍 (완료)
  2. TDD
  3. 슬기로운 리뷰생활
  4. 함께 빠르게 달리기