오늘은 코드스테이츠 부트캠프 OT 첫날이다.
본격적인 6개월 부트캠프에 앞서
어떠한 마인드셋을 하는게 중요한지와 효과적인 학습전략 등
자기주도적 공부방법에 대해 알아보는 시간이었다.

아무래도 반년이라는 길다면 긴, 짧다면 짧은
엔트리 단계의 수준의 개발자로 거듭나기 위해서는 수많은 노력과
성장형 마인드셋을 가지는 것이 중요하고
거대한 벽에 무너지지 않게 고려해서 넣어둔 커리큘럼 같다.

개인적으로 바로 공부에 대한 지식보다
이러한 성정형 마인드를 갖추게해주는 커리큘럼이 너무 맘에들고
정독해서 6개월간의 나의 마음가짐을 다져보려한다.


메타인지

1. 자기 자신을 보는 거울
2. 스스로 믿는 능력
3. 나의 완벽하지 않은 모습을 인정하는 것

스스로를 객관적으로 바라보아야하고 나는 스스로를 믿는
능력이 부족하다고 많이 느끼는 편이다.


메타인지와 학습 데일리 회고

계획 단계
° 오늘 나의 학습 목표는 무엇인가요?
° 오늘 학습할 내용 중에 이미 알고 있는 내용은 무엇인가요?

점검 및 평가 단계
° 오늘 학습 내용 중 새롭게 배운 내용은 무엇인가요?
° 오늘 새롭게 학습한 내용을 다른 사람에게 설명할 수 있나요?
° 오늘 학습한 내용 중 아직 이해되지 않은 불확실한 내용은 무엇인가요?
° 이해도지 않은,불확실한 내용을 보완하기 위해서 나는 무엇을 할 수 있을까요?
° 나의 오늘 학습 만족도는 몇 점인가요?


페어 프로그래밍

짝궁과 함께 진행하는 코딩. 실무에서 동료들과 함께 협업하는 것을 연습합니다.

페어 프로그래밍을 왜 할까요?
현업은 팀 단위의 프로젝트를 진행합니다.
팀의 모든 구성원이 같은 의견일 수는 없기 때문에, 서로의 의견을 공유하고 조율해야 합니다.
협업을 하는 과정에서 팀원들과의 소통이 잘 이루어지는 것이 실력보다 더 우선시 되는 경우도 많습니다.
페어 프로그래밍을 통해 개발자의 커뮤니케이션을 연습하고 페어와 주고받는 피드백으로 서로의 좋은 점과
부족한 점을 파악하고 개선할 수 있습니다. 실제로 2인으로 구성된 팀과 개인이 비슷한 규모의 프로젝트를 진행할 때,
페어 프로그래밍을 했던 2인으로 구성된 팀이 개인으로 작업한 팀보다 오류 수가 절반으로 줄었던 사례도 있습니다.

또한, 현업에서는 팀 내의 다른 개발자 외에도,
개발에 대한 이해도가 낮은 다른 직무와 소통을 하는 일이 자주 있습니다.

이때 상대방을 잘 이해시킬 수 있는 능력도 개발자가 갖추어야 하는 필수 역량입니다.

  • 내비게이터:
    • 숲을 보는 역할
    • 문제를 해결하기 위한 전체적인 방향을 제시합니다.
    • 드라이버에게 작성해야 할 코드를 직접적으로 알려주기 보다, 질문을 계속 던지면서 드라이버 스스로 해답을 찾을 수 있도록 돕습니다.
    • 드라이버가 적는 코드 중 실수(오타, syntax 에러 등)가 있다면 바로바로 피드백합니다.
  • 드라이버:
    • 나무를 보는 역할
    • 내비게이터와 함께 문제를 해결할 수 있는 방향을 고민합니다.
    • 내비게이터가 제안하는 방향에 따라, 구체적인 문제해결 방법을 생각해 보고 코드 작성을 합니다. 이때 드라이버는 자신이 작성한 코드를 내비게이터에게 설명할 수 있어야 합니다.
    • 내비게이터의 의견에 동의하지 않더라도 자신의 의견을 숨기거나 강하게 내세우기보다는, 좋은 커뮤니케이션을 통해 합의점을 찾을 수 있도록 내비게이터와 충분히 소통합니다.

넷플릭스의 4A 피드백 문화


학습 전략

해당 코드스테이츠 코스를 진행하다보면 학습에 대한 어려움을 맞이하게되고,
학습일정을 따라가지 못함을 공통점으로 볼 수 있다.

자신에게 알맞는 학습전략을 구축을 통해 과정을 성공적으로 맞춰야한다.
흑습하는 방법 중 하나인 기록해나가는 습관.
TIL(Today I Learned)를 작성해나가면서 학습했던걸 정리하는 일은 중요하다.
현재 내가 작성하고 있는글도 TIL에 해당하고 코드스테이츠 전과정을 TIL로 작성할 예정이다.
(이 마음이 변치않기를…★)

1. 내일 배울 개념에 대해 간략한 리스트업
2. 세부적인 개념 채워넣기
3. 체크하기
4. 다시 읽기 & 검색 & 질문하기
5. 넘어가기

오늘 했던 공부를 정리하는 것 만큼 어려운게 없는 것 같다.
왜냐하면 이미 머리속엔 나는 이걸 이해해서 정리할 필요가 없다라는 생각이
강하게 자리잡혀있어 굳이…? 이걸 정리해야하나..라는 생각이 뜨문뜨문들면서
작성을 안하다보면 게을러지게 되는 것 같다.


질문과 답변하기

질문하기
검색은 질문의 시작이다.
대부분 검색을 통해 해결할 수 있는 문제가 많고, 어떤 것을 모르고있는지 확인할 수 있기 떄문이다.
질문을 하는 것도 상당히 어려운일이다.
광범위한 코딩의 지식속에서 해당 문제가 어떤 것 때문에 발생했는지를
설명하는 과정이고, 질문을 답변하는 사람의 입장으로선 방금 들은 내용이기 때문에
질문에 내용이 구체적이지 않거나 모호하면 답변하는 사람도 난처할 수 밖에 없다.

1. 좋은 제목을 달자
-. 제목만으로도 어떤 답변을 기대할지 판단할 수 있도록 제목을 달자
2. 코드를 붙여넣거나 스크린샷 등을 첨부하기 전에 현재 상황을 먼저 설명하자
3. 자신이 처해 있는 문제를 다른 사람이 재연할 수 있도록, 충분한 정보를 제공하자

사실 나는 이전에 하던일이 매우 코딩과 관련된 일이기 때문에
이러한 상황을 경험으로 습득을 했다.
상대방에게 질문하는 것은 당연한 것이 아니고, 늘 감사해야 할 줄 알아야한다.


답변하기
나는 개인적으로 답변하는 것을 좋아한다.
내가 알고 있는 지식을 설명하면서 다시한번 확인하면 머릿속에 오래 남기 때문이다.
그래서 그런지 학교에 다닐때 선생님이 되고싶었고, 늘 내가 잘했던 과목을
친구들에게 알려주는 것을 좋아했다.

이제는 개발자로서 답변을 하는법을 배워야하고
좋은 답변은 정확하게 답변하는 것 이라고 생각한다.
객관적인 근거를 기반으로 답변한 것이야말로
원하는 질문자에게 가장 도움되는 질문이고
그 근거가 맞는지 사전에 확인하고 체크하는 과정이 내지식으로 습득되는 것이라고 생각한다.