ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [개발일기 #1] 페어 프로그래밍
    카테고리 없음 2020. 1. 16. 01:33

    찾아보면 의외로 많은 부트캠프들이 있다. 여기저기서 '당신을 6개월 만에 개발자로 만들어 드립니다'라는 문구로 사람들을 유혹한다. 나의 선택은 코드스테이츠였는데, 가장 큰 이유 중 하나가 커뮤니티였다. 혼자 공부하는 것은 힘들고 막막한 일이다. 일방적으로 강의를 듣는 수업보다는 커뮤니티를 통해 질문하고 피드백을 주고받는 방식으로 배우고 싶었다. 게다가 현업에 가면 결국 프로그래밍을 동료들과 함께 하게 된다. 코드스테이츠는 여러 가지 툴을 이용해서 수강생 커뮤니티를 활성화시키고 있다.

     

    코드스테이츠에서 중요시하는 것 중 하나가 바로 페어 프로그래밍이다. 둘 이상의 수강생이 짝을 이루어 함께 과제를 해결하거나 서로의 코드를 피드백해주는 것이다. 한 명이 프로그래밍 방향을 설정하면 다른 한 명이 실제 코드를 작성하며 문제를 푸는 것이 기본이다. 페어 프로그래밍을 진행하고 싶다면 깃허브나 슬랙에 함께 풀고 싶은 과제, 시간을 자유롭게 올리면 된다. 페어를 원하는 사람은 해당 글을 보고 시간을 맞추어 페어 프로그래밍을 진행한다. 

     

    사실 진작부터 했으면 좋았겠지만 밀린 강의 진도를 빼느라 이번 주에야 처음으로 페어 프로그래밍을 해볼 수 있었다. 아래는 이번 주 진행했던 페어프로그래밍 후기.

     

    2020. 1. 13. 

    다른 모든 과제들을 마치고 Twittler를 며칠째 완성하지 못하고 있었다. 유일하게 구현하지 못한 게 바로 필터링 기능이었다. 골머리를 앓던 와중에 Twittler 과제 관련 페어 글이 올라와 바로 페어 프로그래밍을 진행했다. Zoom이라는 툴을 사용해서 서로의 화면을 공유하며 이야기를 진행하는데, 설정 문제로 페어분께 내 화면을 보여드리지 못해 처음에는 조금 당황스러웠다. 

    실제로 내 코드를 누군가한테 보여주는 건 처음이라 꽤 긴장이 되었다. 막상 진행해보니 코드는 문제가 아니었는데, 코드를 설명하는 내가 문제였다. 어찌어찌 코드를 구현은 했으나 이를 말로 풀어내는 것이 굉장히 어려웠다. 계획된 설계로 코드를 짠 게 아니라 문제를 부분부분 고쳐나가다 보니 큰 그림이 말로 잘 설명이 되지 않았던 것 같다. 또한 이게 무슨 의도로 짰던 코드였는지 읽어내는 데 시간이 걸리더라. 설계에 조금 더 공을 들이고, 이를 주석으로 차근차근 정리해보는 습관을 들여야겠다고 생각했다.

    함께 페어를 진행하신 분께서는 친절하셨고, 문제 해결에 있어 몇 가지 단서를 주시기도 했다. 코드를 설명하다 보니 아쉬웠던 코드들이 눈에 들어오기 시작했고 이후 다시 싹 고쳐놓았다. 코드가 굴러간다고 넘길 게 아니라 더욱 깔끔한 코드를 짜는 데 노력을 기울여야 한다. 

     

    2020. 1. 15. 

    과제를 모두 제출했으니 이제는 복습을 시작하기로 결정했다. 페어를 구하는 글을 올렸고, 곧 페어를 희망하시는 분께서 응답을 주셨다. 

    페어분께서 코플릿(*연습문제) 문제를 풀기를 희망하셔서 해당 과제로 프로그래밍을 진행했다. 코플릿 베이직은 몇 번 풀어봤기 때문에 나름 자신이 있었다. 배열과 반복문 문제들에 대한 질문을 주셨고 나는 내가 짠 코드를 기반으로 방향을 잡아 설명드렸다. 설명하면서 느낀 점은 나한테 어려웠던 건 다른 사람한테도 어렵다는 점이었다. 예를 들어 반복문 중 01_sum 문제를 풀 때 반복문 밖에 빈 변수를 선언해서 이를 이용하는 발상이 처음에 적응이 되지 않아 고생했던 기억이 난다. 페어 진행에 큰 문제는 없었으나 역시 코드를 말로 설명하는게 쉽지 않았다. 또한 다른 사람의 코드는 왠지 더 낯설게 느껴지는 것 같다. 코드 읽기 연습을 더 해야겠다는 생각을 했다. 

     

     

    댓글