TIL 1일차

안광의·2021년 6월 14일
0

Today I Learned

목록 보기
1/64
post-thumbnail

시작하며

오늘부터 [코드 스테이츠] 소프트웨어 엔지니어링 부트캠프 Full 31기 과정이 시작하였다.
앞으로 진행 될 6개월이라는 기간동안 많은 내용을 배우기 때문에 일 단위로 배운 내용을 정리하면서 주마다 통합해서 따로 포스팅을 하는게 효과적일 것 같다고 생각이 들어 #주차 후기TLI(Today I Learn)로 나누어 글을 작성하기로 결심했다. (추후 이해하기 어려운 부분이나 중요한 내용은 따로 포스팅할 예정이다)

Pair Programming

Pair Programming(페어 프로그래밍)이란 두명이서 짝을 이뤄서 주어진 과제를 협업하여 풀어내는 코드스테이츠에서 교육하는 방식 중의 하나이다. 실제로 현업에서도 동료들과의 협업을 통해 프로젝트를 진행하기 때문에 Pair Programming을 통해 소통하는 방법, 동료를 이끌어주거나 서포트하는 역할을 경험할 수 있다.

  • 네비게이터

    • 문제를 해결하기 위한 전체적인 방향을 제시하는 역할
    • 코드를 직접 알려주기 보다 질문을 통해 드라이버 스스로 해답을 찾을 수 있도록 도와주는 역할
  • 드라이버

    • 화면을 공유하며, 네비게이터가 이끄는 방향으로 코드를 직접 작성하는 역할

협업 시에는 위의 네비게이터와 드라이버의 역할을 정하고 번갈아가며 역할을 수행함으로써 팀을 이끌어가는 역할과 원활한 소통을 이끌어 내기 위해 노력하며 실무를 담당하는 역할을 자연스럽게 연습할 수 있다.

수도코드

수도코드란 인간의 언어와 프로그래밍 언어의 중간 역할이라고 이해하면 쉬운데, 사람의 말을 코드의 형태로 변경하는 것이다. 간단한 코드일지라도 수도코드를 만드는 과정을 연습하면 추후 복잡한 프로젝트를 개발할때 기획하는 과정에서 크게 도움이 될 것이다. 예시는 아래와 같다.

사람의 언어

네개의 방 중 한 방에만 친구가 있을때, 그 방을 찾을때까지 문을 열어서 확인한 후 친구를 안아준다.

수도코드

1. 방의 개수만큼, 문을 하나씩 엽니다.
2. 문을 연 방에 친구가 있다면,
3. 안아줍니다.

프로그래밍 언어

for(let roomNumber=1; roomNumber<=4; roomNumber++){ // 4개의 방을 하나씩 확인하면서
	if (friend) { // 만약 친구가 있다면
		hug(); // 안아준다
	}
}

Agora State

Agora State는 코드스테이츠의 수강생들이 해결되지 않는 문제에 대해 질문을 하는 Github의 커뮤니 공간이다. 그러나 질문을 하기 위해서는 절차와 방법이있다.

1. 해결되지 않는 문제가 있을때 가장 먼저 해야할 것은 검색이다.
내가 겪었던 문제는 이미 다른 사람들도 겪었던 문제일 가능성이 크고 그 해답은 이미 구글링을 통해 찾을 수 있다. 검색하는 Skill이 부족한 경우 혹은 정말 생소한 문제의 경우에만 질문을 해야하며, 최소 20분 이상의 검색을 통해 문제를 해결하기 위해 어떤 노력을 했는지도 질문을 할때 덧붙여야 한다. 물론 제일 좋은 방법은 문제를 파악하고 검색하는 Skill을 키워 검색 단계에서 모든 문제를 해결하는 것이다.

2. 질문을 할 때에는 책임감을 가져야 한다.
질문을 하는 것은 결코 부끄러운 것이 아니지만, 정성이 없는 무책임한 질문을 하는 것은 지양해야 한다. 좋은 질문은 답변자가 이해할 수 있도록 문제가 되는 상황을 설명해야 하며, 그 문제를 해결하기 위해 어떤 방향으로 노력을 했고 어떤 단계에서 막혔는지 간결하면서도 명확하게 나타내야 한다.

3. 답변을 받은 후에도 질문자의 의무를 다해야 한다.
답변을 받은 후 어떠한 과정으로 문제를 해결하였는지 서술해야 질문자, 답변자, 추후 이 기록을 볼 검색할 사람까지 도움을 줄 수 있다. 또한 답변자에게 감사를 표현하는 것은 기본이다.

마치며

첫 날은 앞으로의 과정을 밟기위한 기반을 다지기 위한 절차였다. 6개월은 꽤 긴 기간이기 때문에 포기하지 않고 이끌어가기 위한 방향, 팁들을 소개하면서 좋은 습관을 잡아가기 위한 기초를 다지며 동기부여 하는 것이 중요하다고 생각한다.

profile
개발자로 성장하기

0개의 댓글