[회고] 우테코 3주차 - 첫 회고, 성장의 요소

jangws·2022년 2월 27일
6

우아한테크코스

목록 보기
2/11

첫 회고

우아한테크코스를 시작한지 3주가 지났다. 우테코 총 10개월의 과정을 알차게 보내어 실력 있는 개발자가 되고 싶다는 생각에 시지프, 호프, 우디와 함께 주간회고스터디를 참여하게 됐다. ‘내가 성장하고 있는지’ 또는 ‘너무 무리하고 있진 않는지’ 등을 매주 일요일에 시간을 들여 회고를 하는 스터디이다.

성장의 요소

우테코는 남들과 경쟁하는 곳은 아니다. 대신 지난 자신보다 성장하는 것에 초점을 두고 있다. 하지만 지난 자신과 비교하여 성장하는 것도 쉬운 일이 아니다. 이를 위해서는 명확한 목표 의식과 체계적인 세부계획, 그리고 이를 수행할 성실함과 체력이 기본으로 요구될 것이다. 그러나 이것만으로는 오래 유지하기 어려울 수 있다. 장기간 지속가능하려면 회고를 통하여 달성목록을 정리 및 학습 방향 조정의 과정이 반드시 있어야한다. 내가 지난 한 주간 어떻게 공부하고 생활했는지 정리하며 “잘 하고 있구나”라는 생각을 가지어 자아의 긴장을 풀도록 하는 것은 아주 중요하다. 이렇게 주기적으로 내가 무엇을 잘 했는지 스스로 칭찬해주지 않고 막연하게 지나간다면, 잠재되어 있는 불안감이 언젠가 크게 드러나고 번아웃으로 이어질 수 있으니 주의해야 한다. 또한, 방향성은 속도보다 중요하기 때문에, 주기적으로 방향을 조정하고 작은 단위의 목표를 재설계하는 것은 필수적이다.

방향

첫 회고이므로 프로그래머가 왜 되려고 하는지부터 다시 생각해보았다.
나는 작년 가을 4년을 다니던 회사를 그만두고 개발 공부를 시작했다.
나는 비전공자이고 다니던 회사도 IT와는 무관하며 안정적이었기 때문에, 어떻게 보면 나의 만용이 아니고서는 개발은 아마도 죽을 때까지 내 인생과는 전혀 무관했을 것이다.
왜 개발자가 되려고 도전을 했을까? 그 이유는 한 마디로 자유롭게 살고 싶기 때문이다. 그 ‘자유’는 무엇인가를 하지 않기 위한 ‘소극적 자유’가 아니라, 무엇인가를 할 수 있는 ‘적극적 자유’의 의미에 가깝다.
많은 사람들에게 도움이 되는 서비스를 만들 수 있는 자유를 갖고 싶었다. 자유는 능력에서 오는 법, 그 능력을 갖기 위해 개발자가 되기로 결심했다.
물론 가야할 길은 아주 멀고 험하겠지만, 빨리 가기 위해서 너무 열심히 살 생각은 없다. 또한, 가다가 무언가 잘 되지 않아 낙심하게 되더라도 집착하지도 않을 것이다.
방향만 잘 잡히면 속도는 문제가 아니다. 내가 즐기는 만큼 속도는 알아서 붙게 되어있다.
우선 눈앞에 닥친 일을 최선을 다해 해결하며 한 발 한 발 나아가자.

페어프로그래밍

이번 주에는 로또 구현 미션 1단계를 진행했다. 무비와 함께 페어프로그래밍을 하여 1단계를 구현하였는데, 페어프로그래밍을 통해 얻는 것이 많다는 생각이 들었다. 설계나 개별 코드들을 말로 설명하며 하나의 결과물로 만드는 작업을 하면서, 추상화 능력이 더 길러지는 것 같다. 또한, 내가 모르던 기술이나 나와 다른 사고방식의 구현 과정을 페어프로그래밍을 통해 살펴보며 동시에 학습되는 부분도 많다.

유닛테스트

또한, 해당 미션을 유닛테스트 TDD 방식으로 처음 시도하였다. 기능 요구사항을 정리하고 구조도로 설계를 간단히 그려보았다. 그리고 단위 테스트를 작성하며 테스트 실패를 확인한 다음 성공하도록 하는 과정을 반복했다. 핵심 기능에 대한 유닛테스트를 다 만든 다음, 구현에 들어가게 되니 생각했던 것보다 무엇을 해야할지 더 명확해졌다는 느낌이 들었고, 리팩토링 후에도 테스트를 돌림으로써 코드에 대한 신뢰성도 높아져서 능률이 올랐다.

커스텀 이벤트를 이용한 설계

View의 역할을 명확히 하기 위해 노력했다. View에서 값을 가져오고, 이벤트도 수신하도록 하고 싶었다. 그러면서 View가 직접 Controller에게 명령은 하지 않도록 만들기 위해, 커스텀 이벤트를 활용했다.

Controller와 View 모두 해당 요소에서 이벤트를 수신하게 하는데 수신하는 이벤트가 다르게 만들었다. View는 내장된 실제 이벤트를 감지하여 입력된 데이터와 함께 커스텀 이벤트로 만들어서 이벤트를 발신한다(dispatch). Controller는 View가 발신한 해당 커스텀 이벤트를 관찰하고 있다가 발생하면 감지하고 로직을 실행한다.

뻔한 MVC 패턴을 다시 쓰긴 했지만, 그래도 전보다 더 개선된 설계를 할 수 있어서 만족스러웠다.

CommitLint

사소한 거지만, 커밋 메시지에 이모지 등 컨벤션을 통일하면 좋겠다는 생각이 들어 커밋린트도 적용해보았다. 나중에 쌓인 커밋 메시지를 보니까 이모지들로 반짝반짝하고 규칙적인 게 보기 좋았고 귀여웠다.

JSDoc

다른 크루의 코드를 보다가 주석에 무언가를 규칙적으로 써진 코드를 보았고, 그것이 JSDoc이라는 문서 작성 기능임을 알게 됐다. 그래서 궁금한 것은 또 참을 수 없어서 내 코드에도 JSDoc을 적용하고 주석을 달아보았다. 로컬에서는 해당 문서를 확인할 수 있는데, 깃허브에 deploy를 어떻게 하는 건지는 모르겠어서 아직 해결하지 못했다.

읽은 책

‘DOM을 깨우치다’와 ‘모던자바스크립트’의 ‘브라우저렌더링, DOM, 이벤트타겟’ 부분을 읽었다.

node, element가 무엇인지 그리고 그 메서드들을 살펴보면서 DOM의 모습과 작동방식에 대해 조금 더 이해를 하게 됐다. 공부하면서 포스팅을 하며 기록을 남겼던 게 의미가 있는 것 같다. 다시 생각하려고 하니 벌써 그 내용들이 정확하게 떠오르지 않는데, 포스팅을 해두어서 복습하는 데 도움이 된다.

읽을 책

오늘 도서관에 다녀오며, 보이는 책들을 여러 권 집어왔다. 이번 주는 설계와 객체지향에 대해 고민이 많았던 터라, 그런 내용의 책들이 많다.

  • 객체 지향과 디자인 패턴
  • 오브젝트: 코드로 이해하는 객체지향 설계
  • 객체지향적으로 생각하라
  • 테스트 주도 개발로 배우는 객체 지향 설계와 실천

그런데 객체 지향 관련 책들은 다 자바로 설명되어 있어서 이해하기 쉬울지 모르겠다. 그래도 일단 최소한 텍스트라도 읽으면서 도대체 무엇을 객체지향이라고 하는지, 그리고 좋은 설계는 무엇인지 얻고 싶다.

그리고 CSS도 나에겐 어렵기 때문에, CSS 책도 빌려왔다.

  • 에릭 마이어의 CSS 노하우

호프가 최근에 읽었다는 심리학 책도 재밌어 보여서 읽기 시작했다.

  • 나는 왜 나에게만 가혹할까

건강

이번 주는 잘 자고 잘 일어났다. 커피를 끊고 헬스장도 잘 다닌 덕분인 것 같다.

다음 주에도 헬스장을 3번 이상 가야겠다. 그리고 아침 기상 시간을 조금 더 앞당겨서 7시에 일어나도록 노력해야겠다.

몇 주전부터 직접 요거트를 만들어 먹고 있는데, 건강에도 좋고 맛도 좋아서 만족스럽다.

다음주 목표 정리

  • 객체지향이 무엇인지 이해하고 글로 정리하기
  • 좋은 설계가 무엇인지 학습하기
  • 함수와 클로저 학습 후 정리하기
  • Css grid 정리하기
  • 코드리뷰 스터디 조직하고 시작하기
  • 로또 미션 step2 구현하기
  • 헬스장 3회 이상 출석하기
  • 7시에 일어나기. 수업 전 9시부터 자습하기

2개의 댓글

comment-user-thumbnail
2022년 2월 28일

7시에 일어나기 넘 힘든데 ㄷㄷ

답글 달기
comment-user-thumbnail
2022년 2월 28일

마르코 회고 정성스럽게 쓰셨네요!!
적극적 자유를 위해 개발자가 되고자 하셨다니, 더 많은 이야기가 궁금합니다! 담에 얘기나눠용 ㅎㅎ

답글 달기