-
[프로그래머의 길, 멘토에게 묻다] - 08Notes/Book 2020. 9. 12. 11:11
앞으로의 포스팅은 책에서 소개하는 패턴 언어 중 마음에 드는 구절을 소개하는 방식이 될 것이다.
마음 맞는 사람들
상황
당신이 견습 과정을 시작한 지 어느 정도 지났지만, 몸 담고 있는 개발 조직의 문화가 당신을 낙담시킨다.
문제
소프트웨어 장인정신을 장려하는 조직 문화는 드물다. 당신은 이끌어 주는 이 없이 오도 가도 못하고 있으며, 자신이 품은 포부와는 어울리지 않는 환경에 놓여있다.
해결책
추진력을 계속 유지하려면, 특히 전담 멘토가 없는 경우에는 더더욱, 비슷한 길을 걷고 있는 사람들과 빈번히 교류할 필요가 있다. 뛰어난 개발자가 되고자 하는 사람들을 찾아 나서야 한다. 긴 여정은 누구에게든 혼자 걷는 길이 아니다. 특히 견습 과정 동안에는 친구가 필요하다. 마음 맞는 사람들이 지닌 힘을 확인해보자.
멘토는 나와 조금 거리감이 있을 수 있다. 그러나 커뮤니티에 있는 사람들은 훨씬 편하게 접근할 수 있다. 멘토링에 기초한 관계와는 조금 다르다. 멘토가 하는 언어나 일의 방식을 꼭 따라야만 할 것 같지만, 커뮤니티 멤버의 경우에는 강제성이 없다. 오히려 내가 속한 커뮤니티에서 만나기 때문에 관심분야가 겹칠 가능성이 더 커진다.
다만 커뮤니티에서 주의를 기울여야 하는 부분은 매몰 되지 않아야 한다는 점이다. 스스로 의견을 내서 커뮤니티를 건강하게 유지할 수 있도록 도와보자. 커뮤니티의 건전성을 새로운 의견이나 견해를 제안하는 사람들을 거부하는지 아닌지 여부로 판단할 수 있다. 당신의 커뮤니티는 어떤가?
당신이 사용하는 도구나 언어 등에 기초하여 가입할만한 커뮤니티를 조사하고 나열하라. 그리고 실제 오프라인 모임에도 참석해보고 마음에 드는 모임을 결정하라. 만약 없다면, 당신이 그런 모임을 만들 기회다!루터회관 14층에서는
마음 맞는 사람들과 함께 하고 있다. 다들 배움에 대한 열정이 넘치고 바라보는 방향이 같다. 이렇게 좋은 분위기에서 학습할 수 있기에 행복하다. 우아한 테크코스 내에서도 더 마음이 맞는 친구들과는 프로젝트나 스터디를 진행한다. 이렇게 진행한 프로젝트가 SUPP이고 스터디는 여럿이다. 우테코도 어느덧 레벨 4 과정이 시작되었다. 올해 말이면 우테코도 마무리되지만 우리가 함께한 시간들과 이야기들은 남아있기에 크루들과 꾸준하게 함께 걷고 싶다. 또한 우테코 이외에 몸 담았던 멋쟁이 사자처럼이나 SOPT와 같은 신나는 커뮤니티에서 만난 인연들과도!
팔꿈치를 맞대고
상황
주기적으로 만나는 멘토나 마음 맞는 사람들이 있을지 몰라도, 소프트웨어 개발을 할 때면 당신은 혼자다.
문제
생산성은 일정 수준에 올랐는데, 학습은 정체되고 있다. 뭔지 모르긴 해도 더 높은 수준의 테크닉과 접근 방식이 있을 것이라는 느낌이 든다.
해결책
다른 소프트웨어 개발자와 나란히 앉아서 실제로 같이 작업할 방법을 찾아보라. 세상에는 다른 개발자와 공통의 목표를 달성하기 위해서 같이 일할 때만 배울 수 있는 것이 있다. 이 패턴은 마음 맞는 사람들과 밀접한 연관이 있다. 재능 있는 프로그래머 곁에서 같이 일하는 경험은 유익하다. 세세한 기법들은 너무 뻔해서 가르치지 않지만, 옆에서 보고 배울 수 있고 이런 것들이 쌓였을 때의 효과는 크다.
짝 프로그래밍에 의한 개발은 이 패턴의 구체적인 사례다. 견습생들은 이런 기법을 적용하고 있는 팀에서 일할 기회를 찾아야 한다. 짝 프로그래밍이 학습 목적으로는 훌륭하지만 이는 복잡하고 항상 즐거운 경험으로 남지는 않는다. 하지만 효과적으로 사용될 경우 뛰어난 학습 방법이다. 특히 멘토와 함께 할 경우에는 더더욱! 짝 프로그래밍을 하다 보면 종종 길을 잃는 느낌이 들 경우가 있다. 이때는 질문을 해가며 드라이버의 속도를 늦추거나, 진행상황을 이해하고 나아가기 위한 시간을 요청하라. 이럼에도 길을 잃은 느낌이 반복될 경우에는 파트너가 별로일 수도 있고 추가적인 제안을 통해 상황을 개선시켜야 한다. TDD를 하고 있다면 한 명은 테스트 코드, 다른 한 병은 구현부를 짜는 핑퐁 프로그래밍도 가능하다.
팔꿈치를 맞대고 프로그래밍하는 장점은 내가 A라는 방식으로만 생각을 해왔는데 다른 사람이 B라는 방식이나 도구를 사용해서 의사소통을 할 경우에 새로운 시각을 얻을 수 있다는 점이다. 당장은 익숙하지 않아 불편한 느낌이 들 수 있다. 그렇지만 장기적으로는 다른 사람의 방식이나 도구를 활용하여 해결하는 게 더 적절한 문제를 발견할 수 있다. 다른 개발자와 함께 개발한 경험이 긍정적이든 부정적이든 배운 것을 기록해 두고 나중에 이런 경험을 돌이켜 볼 수 있어야 한다. 언젠가는 당신도 가르침이나 경험을 전달할 입장이 될테니 말이다.페어 프로그래밍 feat. 코로나
우테코에서 처음 진행해본 페어 프로그래밍은 정말 많은 도움이 되었다. 협업 능력, 프로그래밍 실력, 사고방식 등의 측면에 긍정적인 영향을 끼쳤다. 이처럼 즐거운 페어 프로그래밍이 잘 진행되려나 싶었는데 코로나 덕분에 직접 팔꿈치를 맞대기 어려운 상황이 찾아왔다.
그렇지만 우리는 방법을 찾아낸다. 행아웃을 켠다. 기능별로 페어 역할을 바꿔서 프로그래밍을 진행한다. 조금 더 적극적이고 싶다면 팀뷰어를 사용하여 페어의 컴퓨터를 조종할 수도 있다. 만날 수 없지만 서로의 의견을 효과적으로 나누기 위해 회의록을 작성한다. 처음에는 대면할 때보다는 효율이 떨어지지만 이 또한 적응해나가고 있다. 여기서 안주하지 않고 다른 방법들을 적용해나가며 즐겁게 온라인 페어 프로그래밍을 할 방법을 찾아야 한다. 프로그래머로서 재택근무는 먼 미래가 아니니까.'Notes > Book' 카테고리의 다른 글
[프로그래머의 길, 멘토에게 묻다] - 10 (0) 2020.10.03 [프로그래머의 길, 멘토에게 묻다] - 09 (0) 2020.09.25 [프로그래머의 길, 멘토에게 묻다] - 07 (2) 2020.09.05 [프로그래머의 길, 멘토에게 묻다] - 06 (0) 2020.08.30 [프로그래머의 길, 멘토에게 묻다] - 05 (0) 2020.08.10