본문 바로가기
우아한테크코스/회고

[우아한테크코스] Lv. 1 - 2주차 회고: 마인드셋

by shyun00 2024. 2. 26.

새로운 미션이 시작된 한주였다.

지난 자동차 경주 미션의 경우 프리코스때 한번 작성해본적 있는 코드였지만 주어진 시간이 짧아 아주 바쁘게 돌아가는 느낌이었다.

 

이번 미션은 약 2주에 걸쳐 진행된다. 주제는 "사다리 타기"였다.

또한 미션은 두 단계로 나눠서 진행되는데 1단계는 페어와 함께 사다리 만들기를 구현하고

2단계는 만들어진 사다리 결과를 도출/출력하는걸 혼자 구현하게 된다.

 

그 외에도 소프트스킬과 관련된 강의들도 진행되는데 우아한테크코스 자체가 하드스킬 / 소프트스킬 모두를 중요하게 여기고 있다는걸 알 수 있는 부분이었다.

사다리 게임 구현 with 페어 (TDD)

미션별로 새로운 페어와 작업을 하게 된다. 1단계 자체 기간이 길지는 않아서 약 3일정도 같이 작업을 하게되었다.

아무래도 지난 과제에서 페어프로그래밍을 한번 경험해봐서 그런지 같이 어떤것이 더 좋을지, 적합한 방향일지 의논하는게 익숙해졌다.

코드 하나를 작성할때도 "과연 이걸 사용하는게 맞을까?" 고민하면서 작성하게되고,

이 로직이 여기에 들어가는게 맞을까? 하면서 객체의 역할에 대해서도 고민했다.

 

이번 페어와는 모르는 부분은 서로 알려주기도 하고, 둘다 모를땐 같이 찾아보면서 같이 "배워나간다"는 느낌이 강하게 들었다.

그렇게 코드를 작성하다보니 내가 만든 코드에 대한 이해도 확실히 잘 되는 느낌이었다.

 

그리고, 이번에는 특별히 TDD 방식을 통해 코드를 작성하도록 안내되었다.

TDD는 이전에도 개념만 들어보고 실제로 사용해본적은 없었기에 처음 도입하는데 시간이 꽤 걸렸다.

요구사항을 정리하고, 해당 요구사항을 바탕으로 "실패하는 테스트코드"를 먼저 작성한다.

이 때 어떤것을 테스트해야할지, 테스트한다면 어떤식으로 테스트해야할지를 비즈니스 로직 전에 작성해야하는게 어려웠다.

예를들면 아래 순서로 작업이 진행된다.

사다리게임에 참가하는 사용자를 콘솔에서 입력하는데 5글자까지만 입력받을 수 있다.

-> 입력값이 5글자 이상이면 예외를 던지는걸 검증하는 테스트 코드를 작성한다.

-> 입력값을 검증하고 예외를 던지는 비즈니스 로직을 작성한다.

-> 테스트가 정상적으로 통과되는지 확인한다.

 

TDD를 처음 적용하다보니 간단한 길이 검증같은 부분을 구현하는데도 약 한시간이 소요되었다.

그래도 몇번 반복해서 하다보니 테스트부터 작성하는것이 (아주 조금은) 익숙해졌다.

하지만 이게 적절한 테스트 방식인지, 혹은 테스트가 빠진 부분이 있는지 아직은 명확하지가 않았다.

특히 이 부분은 리뷰를 받아도 구현과정에서의 방식이기 때문에 확인이 불가해서 잘 하고 있는건가? 하는 궁금증이 생겼다.

이건 앞으로 여러 페어들과 함께 과제를 해보면서 더 알아갈 수 있을것같다.

 

소프트 스킬 (마인드셋)

우아한테크코스를 시작하면서 가져야할(?) 마인드셋에 대해 생각해볼 수 있었다.

크게 성과 증명 마인드셋, 학습 마인드셋 두 가지가 있다고 설명했다.

- 성과 증명 마인드셋: 도전 상황에서 "본인의 능력과 기술을 자신은 물론 주변까지 증명"하려는 목표로 행동하는것

- 학습 마인드셋: 도전 상황에서 "성장하고 학습할 수 있는 기회를 찾으려 의도적으로 노력하고 행동하는것"을 목표로 하는것

 

한국의 대부분의 직장인들은 성과증명마인드셋을 가지고 있다고 한다.

생각해보면 학창시절부터 지금에 이르기까지 계속해서 성적, 성과 등 결과물로 증명해야했기에 당연한 부분도 있는것같다.

실제로, 나도 어떻게든 결과를 내기위해 몰두하고 혹시 그게 잘 되지 않으면 크게 스트레스 받는 경험이 있었다.

조금 의연해져야할 필요성을 느끼고있다. 특히 개발 분야에서는 그런 태도가 더 중요한것같다.

(아무래도 서로 피드백도 많이 하게되고 토론도 많다보니..!)

 

우테코에서 지향하는것은 학습 마인드셋이다. 실패를 두려워하지만 말고 거기에서 어떤 성장을 할 수 있을지 찾아나간다.

그렇다고해서 성과 증명 마인드셋이 나쁜것은 아니다. 적절한 성과 지향도 필요한 부분이 있다.

적어도 이 과정을 들을때는 '성과', '실적'을 만들기 위해 노력하기 보다 그 과정에서 내가 무엇을 배워갈 수 있을지 계속 찾아봐야겠다.