Search

2. 좋은 개발자가 되기 위해 갖추어야 한다고 생각하는 덕목 셋

좋은 개발자의 '덕목'을 이야기 하기 위해서는 우선 '좋은 개발자'에 대한 정의가 필요합니다. 제가 생각하는 좋은 개발자란 필요한 환경을 함께 만들어 내는 개척자라고 생각합니다. 이 정의에 부합하는 좋은 개발자의 덕목은 아래와 같이 나눌 수 있습니다.
 '필요한' 환경 - 문제의 발견과 문제 해석  '함께' 만들어 내는 - 협업을 통한 문제 해결  '개척자' - 나아갈 수 있는 길을 구현하고 해결 방안 공유

1. 필요한 환경 - 문제 발견과 해석하는 시선

첫번째 항목으로 꼽은 '필요한 환경'이라는 단어는, 개선해야 할 문제를 발견하고 해결을 위한 방향성을 생각해내는 시선을 의미합니다.'필요한'이라는 단어는 현재의 부족함을 인지하고, 어떻게 나아가야하는지 생각하는 것을 함축하고 있다고 생각합니다.우아한테크코스 실무 업무를 진행하면서 소규모의 팀으로 진행하기 때문에 팀원들 각자의 능력껏 업무를 스스로 챙겨야 하는 경우가 많았습니다.저의 업무인 프론트엔드 업무도 기획자, 디자이너, 프론트엔드 사수나 시니어가 팀내에 없기 때문에, 스스로 고민해야하는 시간이 많았습니다.그러한 부담감으로 인해 혼자 먼저 고민하고 개발한 후 공유하는 프로세스로 초반에 일을 하였습니다.하지만 이러한 과정이 진행되면서 팀원들은 제가 개발한 후에야 UI를 알게 되었고, 이후 피드백을 받고 수정하느라 커뮤니케이션 비용이 증가하는 경우가 발생했습니다.
이러한 문제로 인해 팀원과의 이야기를 통해 스케치와 제플린을 도입하게 되었습니다. 디자이너가 아니기 때문에 모든 페이지에 대해서 세세한 디자인을 전부 할 시간은 없지만, ui design resources를 이용해서 빠르게 디자인을 구성하고, 제플린으로 공유하는 시간을 통해 같은 화면에 대해 팀원 모두의 다른 생각을 빠르게 캐치하고 공유할 수 있게 되었습니다.
이 과정에서 제가 얻은 가장 큰 수확은 같은 화면에 대해서 함께 이야기하면서 제가 더 자신감을 가지고 개발할 수 있다는 것이었습니다. 혼자 고민할때는 '다른 사람들은 나와 다르게 생각하면 어떻게하지'라는 고민 때문에 버튼 하나의 위치를 결정하는데에도 많은 시간이 걸렸지만, 공유하고 의견을 나누는 사이클을 만듦으로써 혼자만의 고민을 줄일 수 있었습니다. 이처럼 문제를 발견하고 그 해결위한 방향성을 제시하는 시선은 더 나은 환경, 더 많은 소통을 위해 중요하다고 생각합니다.

2. 함께 만들어 내는 - 협업을 통한 문제 해결

두번째는 함께 만들어 내는 협업 능력입니다.실무에서 일을 하면서 느낀 가장 큰 교훈은 소프트웨어는 기술이 아닌 협업이라는 것이었습니다.협업이란 신뢰를 통해 발생하는 시너지라고 생각합니다. 우아한테크코스팀은 교육플랫폼이라는 소프트웨어도 개발하지만, 그것은 전체 교육과정을 위한 도구 중 하나이고,개발 외적으로도 신경써야할 요소가 많았습니다.특히 우아한테크코스의 학생들과도 매일 소통하기 때문에 팀원들과의 잦은 커뮤니케이션과 빠른 의견 공유가 중요했습니다.
그 과정에서 협업을 위한 소프트스킬에 대해 고민하게 되었습니다. 그리고 가장 기본적이면서 가장 중요한 가치인 '듣기'의 힘을 깨닫게 되었습니다.학생 때부터 '말을 잘하는 법'에 대해서는 많이 강의를 듣고 배워봤지만, 설득 하기 위해 '상대방의 이야기를 잘 듣기'는 배워본적이 없었습니다.하지만 듣기를 탁월하게 잘하는 팀원이 회의에서 소통하는 방식을 보고 '듣기'의 가치를 몸소 느꼈습니다.그래서 이후 학생들과 면담을 하거나 소통할 때 제가 느낀 2가지를 지키며 듣기를 하려고 노력했습니다.
첫번째는 상대방이 말한 것을 다시 반복해서 이야기를 시작하는 것입니다. "~라고 한 것처럼"이라는 말로 상대방의 이야기를 정리해서 시작하면 제가 상대방의 말을 잘 듣고 있다는 것을 보여줌과 동시에,상대방의 이야기에서 제 이야기로 자연스럽게 연결되어 대화가 매끄러워지는 경우가 많았습니다.두번째는 상대방이 말을 마칠 때까지 끼어들지 않는 것입니다.

3. 개척자 - 일구어낸 길을 공유

마지막으로 개척자 정신입니다.개척자의 사전적 정의는 '처음으로 어떤 길이나 분야를 열어 나가는 사람'을 의미합니다.하지만 제가 좀 더 주목하는 것은 일구어낸 길과 그 해결 방법을 다른 사람들과 공유한다는 것입니다.그 방법이 주변 동료와의 공유일 수도 있고, 블로그나 유튜브와 같은 SNS일수도 있고 스터디를 하는 것일 수 있습니다.저는 다수의 익명의 대상자와 호흡하는 블로그나 유튜브도 좋지만, 우아한테크코스를 운영하면서 서로 코드리뷰하는 호흡과정에서 발생하는 소통과정이 좋았습니다.하지만 백엔드 과정을 운영중이고, 팀 내에서도 프론트엔드 개발자는 저 혼자여서 이러한 프론트엔드에 대한 깊은 소통과 코드리뷰하는 기회를 가지기 쉽지 않았습니다.그래서 '블랙커피'라는 코드리뷰 외부 스터디를 만들었습니다.
'블랙커피'라고 이름을 지은 이유는 '훌륭한 의사소통은 블랙커피처럼 자극적이며, 후에 잠들기가 어렵다' 라는 미국의 작가 린드버그의 문구를 보고 정하였습니다. 좋은 코드리뷰 과정은 서로가 같이 성장할 수 있는 강렬한 경험이기에 그러한 경험을 확장하고 지속하고 싶어 만들게 되었습니다. 아직 규모는 작아 8명 정도가 서로 코드리뷰를 하고 있는데 점차 이 커뮤니티를 확장하면서 성장하고 싶은 프론트엔드 개발자들이 자연스럽게 모이는 커뮤니티로 발전시키는게 목표입니다. 그리고 우아한테크코스에서 추후 우아한테크살롱이라는 개발자들이 모일 수 있는 공간을 염두하고 있기 때문에 추후에 이 공간을 활용하여 블랙커피 오프라인 모임도 개최하여 페어프로그래밍이나, 서로의 경험을 공유할 수 있는 장으로 확장해 나가는 것이 목표입니다.