06.18 회고

아데스티·2023년 6월 18일
0

회고록 - TIL

목록 보기
8/14

1. 지금까지 진행한 학습

1) 개인 독학

지금까지의 발자취

  • 자동차 설계 전공
  • 모션그래픽 학원
  • 개발
  • 공통점: 컴퓨터를 활용한 연산작업

각 분야에서 흥미를 가졌던 연산작업, 혹은 필요했던 연산 과정

  • 도면이 수치에 맞게 형상을 그리는 2D CAD(Auto CAD)
  • CATIA를 활용한 3D 모델링 작업
  • 포토샵, 일러스트레이터를 통한 2D 그래픽 작업
  • 애프터이펙트를 활용해 계산된 수치와 그래프에 맞게 움직이는 2D 애니메이션 구현
  • C4D를 통한 3D 애니메이션 구현

시각적으로 디자인을 기획하는 부분보다 연산 그 자체에 좀 더 비중을 두고자 프론트엔드 개발자를 선택하게 되었습니다.

프론트 엔드 개발자 직군을 선택하는 과정에서 시도해 본 것

  • 게임 개발을 위한 Unity
  • 동네 컴퓨터학원에서 알고리즘을 배우기위한 C++
  • 드림코딩 [자바스크립트][HTML/CSS]

이 단계에서 겪었던 한계점

  • 주변에 다른 개발자가 없었다
  • 개발자간의 지식 공유
  • 함께 개발을 공부하는 분위기
  • 개발자간의 소통 언어, 커뮤니케이션

이 문제를 극복하고자 시도한 것

  • 인프런 스터디에서 100명정도 되는 개발 스터디의 운영진
  • 자바스크립트 딥다이브 스터디
  • 부트캠프 지원

2) 코드스테이츠 43기 수료 후기

부트캠프를 통해 얻고자 하는 것은 3가지였습니다.

  1. 개발자 지인
  2. 개발지식
  3. 취업정보

저는 학원을 가던 무엇을 배우든, 그 지식보다 그 지식을 가진 사람을 가까이 두려고 하는 경향이 있습니다.
지식을 넘어 언어태도를 배우고 싶기 때문입니다.

취업을 위해 배우고 개발지식도 중요하지만
이 과정을 오래 유지하기 위해서는 함께 개발을 공부하는 주변 개발자들을 두어 개발자들이 있는 환경을 구성하고 다른 개발자들을 보고 배우고자 부트캠프에 지원하였습니다.

부트캠프의 생각보다 어려웠던(?) 시험을 통과하고 43기 프론트엔드 기수로 들어와서
섹션1 부터 섹션4까지 많은 시간을 밤낮으로 학습하였습니다.

코드스테이츠의 학습 교재 자체는 들어있을 내용은 다 있을지언정 상당히 불친절했습니다.
개념을 알고보면 개념을 이해하기에 필요한 내용은 다 들어있지만 개념을 알기 전에는 그 개념을 받아들이기 난해하게 쓰여있습니다.
친절해야하는 부분에서 불친절하고 쓸데없는 부분에서 굉장히 친절하고..ㅋㅋㅋ
그런 어렵고 답답한 과정에서 페어프로그래밍을 하면서 페어로부터 배울 수 있는 점이 많았지만, 친해지는 개발자가 많아질 수록 스스로의 낮은 위치를 깨닫게 되며 자신감이 깎이는 제모습도 발견할 수도 있었습니다.

매 유닛이 끝날 때 마다 들었던 줌세션 설명은 부족했던 많은 부분을 채워주기에 충분했고, 짧은 기간동안 많은 것을 배우다보니 매일매일이 고역이였지만 '지금이 아니면 안된다'는 정신력으로 도망치지않고 버티면서 공부해왔습니다.

3. 스터디 경험

부트캠프를 들어오기 전 자바스크립트 딥다이브 스터디의 경험이 정말 좋았던 지라, 부트캠프 안에서도 스터디를 만들었습니다.
추가적인 공부를 할 여력이 되지않아 그날 배웠던 내용을 더 깊게 이해하고 질문을 하고 답변을 얻으며 서로 이해했던 내용을 함께 나누고 발표하며, 심화적인 공부와 커뮤니케이션에 대한 역량을 키울 수 있었습니다.
또 동기부여적인 측면에서도 '혼자하면 빨리가지만 함께가면 멀리간다' 는 것을 실제로 경험할 수 있었습니다.
TILDAY 스터디를 운영하며 서로 개성이 뚜렷한 4명의 팀원이 매일 모여 커뮤니케이션을 하는 과정이 쉽지많은 않았지만 그만큼 더 풍성하고 유의미한 경험을 할 수 있어서 좋았습니다.

그밖에 주말에도 공부할 수 있도록 신나는 주말 모임 '신주모'스터디를 만들어 주말 아침 8시에 모각코 스터디를 운영하였고, 학습을 더 효율적으로, 더 명확한 프로세스와 성과를 내기위해 시간을 관리하는 '시간 스터디'도 운영하였습니다.
3개의 스터디를 만들면서 서로 겹치지 않게 시간분배를 적절하게 하였고 학습과 휴식을 병행하기 위한 노력을 꾸준하게 하였습니다.

4. 팀 프로젝트 경험

학습이 끝나고 2번의 프로젝트가 있었습니다.
프리 프로젝트로는 스택오버플로우 클론코딩을 진행했고
메인 프로젝트는 팀의 주제에 맞게 크리에이터 커뮤니티를 만들었습니다.

프리때나 메인이나 로그인, 로그아웃 로직을 작성하고
메인때 추가로 헤더, 실시간 검색어, 검색 창, nav바, 반응형 웹 등등을 구현하였습니다.

메인때가 프리때보다 작업할 기간이 짧았음에도
더 많은 기술 스택으로 더 많은 기능들을 구현하려고 도전했고 그 결과는 .....

프리 프로젝트때에는 팀장역을 하면서
그 당시 제가 했던 로그인 작업은 프리프로젝트 직전에 참여한 원티드 프리온보딩 인턴십 사전과제와 똑같은 작업이였습니다.
그래서 생각보다 매우 수월하게 작업을 진행하면서도 팀원의 진행상황을 피드백하고 프론트엔드 파트의 진행도를 정리하여 백엔드와 원활한 소통을 진행하고 팀 전체의 진행도를 모니터링하고 프로젝트의 방향설정 및 품질 개선을 도모할 수 있었습니다.

메인 프로젝트때에도 팀장을 맡았지만
커리큘럼에서 배우지않았던 타입스크립트, Next.js, 리액트쿼리, tailwind CSS, contaxt API, zustand등을 사용하며, 로컬스토리지가 아닌 쿠키활용하는 부분을 구현하지 못하고, 프로젝트 자체의 구조가 다르다는 것이 생각보다 작업의 난이도를 크게 높여 팀에서 요구하는 기능을 모두 구현하지 못했습니다.
그 과정에서 하나의 기능을 구현하는 데 8시간 10시간이 소요가 되는 경우가 있었고, 실질적으로 개발 실력이 가장 뛰어났던 팀원과의 소통이 제대로 이루어지지 않아서 팀 내에서 저의 역할이 불분명하게 되었습니다.

기술만의 문제가 아니라 커뮤니케이션의 문제를 크게 느끼면서 팀을 이루는 데 개발자의 좋은 자질이 코딩실력만이 아니라는 것을 깨닫고 취업을 준비하는 과정에서 포트폴리오로 활용하기 위한 사이드프로젝트를 진행해야겠다고 결심하게 되었습니다.

5. 코드스테이츠 후배 기수에게 주는 팁

스터디에 들어가세요

다른 개발자들과의 커뮤니케이션은 정말로 중요합니다.
개발 지식을 얻는 것은 물론이고 태도와 정신을 배우면서 개발자가 되기 위한 마음가짐을 점검할 수 있고, 혼자서 학습을 유지하기 쉽지 않은 사람일수록 다른 개발자들과 함께 하는 것이 더 좋습니다. 스스로 다른 개발자로부터 자극도 많이 받게 됩니다.

줌세션 때 채팅 많이 치세요

다른 사람이 없는 것처럼 1:1 채팅인것처럼 채팅을 치는 게 좋은 것 같습니다. 물론 수업을 방해하거나 실례가 되는 나쁜 행동은 하지 않는 것이 좋겠지만, '나의 질문이 수업의 흐름을 끊는 것이 아닐까'라고 궁금한 것을 참고 넘어가지 말고 흐름을 끊어 부숴버리더라도 질문을 할 수 있는 용기, 그 한걸음을 내딛고 말고는 자신의 성장에 있어서 큰 차이가 발생하고 그것이 매일 쌓이면 매일 크게 성장하는 자신을 발견할 수 있게 됩니다.
또 그게 다른 사람에게 생각보다 큰 피해를 주지도 않고, 오히려 자신과 같이 질문을 하고싶지만 참고있는 다른 동기생에게 도움을 주기도 하는 유익한 행동입니다.
저같은 경우도 저의 질문으로 알고싶은 내용을 듣게 되어 고맙다는 인사도 많이 받았고, 설령 그 질문에 대한 답을 알더라도 그것과 관련된 심화적인 질문을 할 수 있는 길을 트는 행동으로도 해석이 됩니다.
결과적으로 강의의 질도 더 풍성해지는 유익한 활동이므로 질문을 주저하지 말고, 질문 외에도 반응이나 잡설, 농담들도 좋습니다. 크루분은 100명이상의 많은 학생을 대상으로 말한마디 한마디 신경쓰며 강의를 진행하게 됩니다. 그 긴장을 풀어주기 위해 농담도 치고 반응도 하다보면 더 풍성하고 유쾌한 강의를 진행할 수 있게 됩니다. 친밀감을 쌓는 것도 중요하구요
또 다른 수강생들에게 이름이 익혀지는 것도 상당히 중요합니다. 페어프로그래밍이나 프로젝트를 할 때에도 자신에 대해서 아는 분과 하는 편이 상당히 유리합니다.

프로젝트는 소통이 중요합니다.

기수분들 중에서 개발을 좀 한다는 사람과 한다고 무조건 좋은 것이 아닙니다.
저 또한 배울 점이 많고 퀄리티가 높은 결과물에 자신이 참여했다는 성취감을 기대하고 메인프로젝트 팀원을 구성했으나, 커뮤니케이션의 부재로 7명에서 하나의 팀이 아닌 각자 7개의 개인 프로젝트를 하는 느낌을 얻었고, 팀의 기준(기술 스택)에 맞추면서 소통이 없는 작업을 진행하다보니 제 개인의 역량조차 제대로 발휘하지 못하는 안좋은 결과를 낼 수 밖에 없었습니다.
무조건 개발을 잘하는 사람과 팀을 한다고 좋은 것이 아닙니다.
팀프로젝트에서는 개발을 잘하는 것보다, 소통을 잘하는 것이 중요합니다.
평소에 마음이 맞는다고 생각하는 개발자와 함께하세요
화려한 결과를 만들지 못한다고 한들 개인의 역량과 팀원의 시너지를 통해 본인 실력 이상의 결과물을 기대할 수 있습니다.

2. 앞으로 진행할 학습

1. 포트폴리오

취업을 위해 포트폴리오를 제작하는 데, 다른 수강생들처럼 메인 프로젝트를 포트폴리오로 사용하지 못할 것 같다고 판단했습니다. 그래서 사이드 프로젝트를 추가로 진행할 예정이며 한달동안 풀스택으로써 가능한 만큼 도전해보고자 합니다.

2. 기술면접 대비

면접을 위한 CS 전공지식 노트라는 책을 바탕으로, 프론트엔드 3명, 백엔드 2명 스터디를 개설하였습니다.
디자인 패턴이라던가 객체지향 프로그래밍이라던가 프론트엔드 과정보다는 백엔드 과정에서 나왔던 개념들에 대해서 자바스크립트로 설명하고 있는 책을 보며, 개념을 이해하기 위한 추가조사를 하고 자바스크립트를 설명하며 백엔드와 이해한 내용을 공유하고 예상질문 답변을 주고받는 활동을 진행할 예정입니다.

3. 개발 블로깅

요즘 IT라는 커뮤니티에서 매일 블로깅하는 시간을 먼저 배치한 이후에 개발을 진행한다는 글을 감명깊게 보았습니다.
대체 언제 어느시간에 블로깅이란 것을 할 수 있을지 항상 저에게는 어려운 과제였는데, 애초에 블로깅하는 시간을 먼저 갖고 나머지 시간에 개발을 하는 방법을 알고 그렇게 시도해보고자 합니다.
글을 쓰면서도 저의 현재 글작성 방식은 절차지향 프로그래밍, 사고의 흐름대로 작성해서 읽기도 빠르지만 무엇을 전달하고자 하는 지 가독성이 떨어진다는 생각이 듭니다.
글을 좀 더 깔끔하게 쓰기위해서는 사고방식도 함수형 프로그래밍처럼 두괄식으로 작성하는 연습이 필요할 것 같네요.

profile
종착지이자 거점 A Destination

0개의 댓글