2월 초부터 에코노베이션의 백엔드 스터디 "새싹"에 참여하게 되었다. 여러가지 공부를 하는데 그 중 Clean Code, 객체 지향적 코드를 연습하기 위해 Java Racing Game을 연습하는 시간을 가졌다.
우테코 프리코스에 참여한 경험이 있는데 우테코 프리코스와 조금 다른점은 페어로 짝을 지어 프로그래밍을 한다는 것이다. 생애 첫 페어 프로그래밍 회고를 작성하려고 한다.
이미 유명한 Java Racing Game에서 요구사항은 조금 빠져있다. (ex driver 이름 입력, 출력 등 조금 더 단순하다)
드라이버와 네비게이터는 각 10분마다 역할을 바꿔가며 코드 작성의 주도권을 가진다.
IntellJ Code with me 플러그인으로 진행한다.
페어 프로그래밍 진행 방법은 기본적으로 한 명이 타이핑을 하고 다른 한 명은 실시간 리뷰를 한다.
코딩 50분 + 휴식 10분을 기본으로하며 서로의 컨디션을 체크하여 조절한다.
앞서 말했듯이 페어 프로그래밍 자체가 처음이었다. 그것도 온라인으로 진행했는데 시작 전 기대가 많이 되었고 새로운 경험을 하는 것이라 높은 흥미를 가지고 코딩을 시작할 수 있었다.
하지만 페어와 나의 실력이 차이가 많이 나면 어쩌지라는 생각이 들었다. 내가 민폐가 될 것 같아서 걱정이 앞섰다. 그러다 배워가는 입장에서 열심히 과정에 임하고 최선을 다해 집중하면 되겠지라며 마음을 다잡았다.
누군가 완성된 나의 코드에 집중하는 것은 비교적 감흥이 덜하는데, 코드를 작성하고 있는 모습을 본다고 하니 조금은 신경이 쓰였다. 하지만 페어분께서 나의 의견을 경청해주시고 존중해주셔서 금방 적응 할 수 있었다. 혼자 코딩을 할 때는 느낄 수 없는 것들을 배울 수 있었다.
더 나은 코드를 작성하기 위해 노력하는 과정에서 이 방법이 맞나 저 방법이 맞나에 대한 고민을 혼자가 아니라 함께 한다는 점이 굉장한 안정감을 주었고, 스트레스드 훨씬 덜 받을 수 있었다. 의도대로 동작하지 않는다던가 막히는 부분을 만났을 때 서로 한번 씩 웃고 의견을 나누고 문제를 풀어갈 수 있었다. 동료가 있다는 점이 심리적으로 도움이 많이 되었다.
잘못된 로직으로 코드를 구현해도 헤메지 않고 즉시 알 수 있고, 오타나 사소한 실수등도 시간을 많이 할애하지 않고 해결할 수 있어서 좋았다. 새로운 인사이트를 얻거나, 지식을 교환할 수 있다는 점도 장점이라고 생각한다.
하지만 혼자 코딩할 때보다는 전체적인 시간이 많이 들었고, 아직은 완벽하지 않은 플러그인 덕분에 스트레스를 받게 된다는 점이 있었다. 역할을 번갈아가며 해야하기 때문에 별거 아니지만 계속적으로 신경써야하는 부분이 있었다.
장점도 있고 단점도 있지만 개인적으로는 장점이 더 많았던 것 같고 코로나 상황이 끝날줄 모르는 상황에서 재밌는 짝코딩을 경험해 볼 수 있어서 즐거웠다.
배운점에 대해서는 블로그로 더 자세히 포스팅하는 것으로 하겠습니다. 🙏