[회고] - 엘리스 SW 엔지니어 트랙 2기

Ne5s·2022년 8월 12일
0

회고

목록 보기
1/2

2022.04.04 ~ 2022. 07. 24 까지의 엘리스 SW 엔지니어 트랙 2기 과정을 회고함과
앞으로의 계획을 작성하였습니다.

마지막 2차 프로젝트 발표가 끝나고 프로젝트 점수 및 1~3등, 인기상 등이 결정나고
아쉽게 수상하진 못하였지만 이후 2022.08.03 ~ 2022.08.05의 리쿠르팅 위크를 보내고
정말로 끝이났다는 생각과 함께 그동안 어땠는 지 짧게 정리해보려고 합니다.

생각해보니까 4개월동안 열심히 달려온 것 같은데, 기록이 없으니 다시 온전히 기억해보기 어렵고
어떤 게 부족한 지 정확히 알 지 못할 것 같아 앞으로는 꾸준히 기록을 해보자고 마음먹게 된
계기가 된 것 같습니다.

🏁 엘리스 SW 트랙 시작

처음 시작은 마냥 순조롭진 않았습니다. 다니던 회사를 그만두고 혼자 공부를 하면서 느낀 점은
공부방향성(커리큘럼), 같이 공부할 동료가 있었으면 하는 바램에서 교육을 찾아보게 되었습니다.

그러나, 막상 교육들을 찾아보니 기간이 엇갈려 갈 수 있는 곳이 많지 않았습니다.
그 때 마침 엘리스 SW 트랙이 공고중이었고 처음엔 커리큘럼이 백엔드보다는
프론트엔드에 조금 더 치우친 것 같아 걱정이 되었지만, 백엔드를 한다고해도 프론트엔드를 경험해 본다면
협업이나 팀프로젝트 시 도움이 될 것 같아 모두 배워보고 싶은 마음과 잘 맞는 것 같아 지원하게 되었습니다.

서류 - 간단한 알고리즘/독해 테스트 - 1대1면접 - 합격

테스트를 거쳐 운 좋게 최종합격 메일을 받게 되었고 트랙에 합류하게 되었습니다.
진행이 모두 온라인이었기 때문에, 다니던 회사 퇴사 후 정리가 덜 된 자취방이 남아있던 저에게는 다행이었습니다.

🔴 자바스크립트

기간 : 2022.04.04 ~ 2022.04.29
1주차에는 웹 기초(HTML/CSS)에 대해 간단히 배우고, Git에 대해 간단히 배울 수 있었습니다.
이 과정이 웹을 처음 배우는 사람들에게도 가르쳐주기 위한 것이었기 때문에 1주차에는 개념 위주로 간단한 것들을 배우고 Git에 업로드하고 관리하는 방법을 배우게 되었습니다.

2주차에는 자바스크립트를 배우고 HTML/CSS와 연계되어 웹페이지를 제어하는 방법을 학습했습니다.
DOM과 이벤트에 대해 배우고, 배운 것들을 가지고 간단한 자기소개 페이지를 제작하였습니다.

3주차에는 자바스크립트 심화 개념(this/closure 등)에 대해 배우고 간단하게 인스타그램 클론코딩을 통해 웹페이지 제작이 어떻게 이뤄지는 지 간략히 배울 수 있었습니다.
배울 당시에는 갑자기 클론코딩을 하게되어 난감하고 어려웠던 것 같습니다..

4주차에는 드디어.. 비동기 통신/Promise에 대해 배우면서 머리가 터지기 시작했습니다.
Promise와 async/await를 배우고 간단한 행맨 게임 만들기 프로젝트를 진행하였습니다.
이 때도 거의 디자인 부분 쪽은 클론코딩이었는데, 이해하기 너무도 난해한 코드들이었습니다.
그래도 동작의 핵심로직 쪽은 이해하려 노력하며 수업을 듣고 완성했던 기억이 나는 것 같습니다..

🟠 Node.js/TypeScript/MongoDB

기간 : 2022.05.02 ~ 2022.05.20
5주차에는 Node.js 기초부터 자바스크립트 ES6 문법과 타입스크립트에 대해 간략히 배웠습니다.
정적타입, 인터페이스, Generic 등을 학습하였습니다.

6주차에는 다시 Node.js 생태계(NPM, 모듈, Express) 등에 대해 배우고
Middleware의 개념과 Restful API에 대해 학습하였습니다.
이후 데이터를 직접 저장해보기 위해 MongoDB를 배우고, 이를 Node.js에서 편하게 사용할 수 있도록 ODM(Object Data Mapping) 라이브러리인 Mongoose를 배워 적용해보았습니다.

7주차에는 6주차에 배운 MongoDB와 Node.js를 활용하여 게시판을 제작해보았습니다.
게시판을 만들어보면서, 웹 보안에 대해 간략히 배우고 이를 회원가입 및 로그인에 적용(Session/Cookie/JWT 등 학습)하여 구현해보았습니다.
이후 배포를 위해 Nginx 및 Git Pages 등에 대해 배우고 배포 및 관리해보았습니다.

🟡 1차 프로젝트

기간 : 2022.05.23 ~ 2022.06.05 - 패션 쇼핑몰 사이트 제작(StoreStore)

Node.js 프로젝트의 흐름과 협업에 대한 이해

1차 프로젝트는 이 트랙이 시작하고 나서 처음으로 프론트엔드/백엔드로 역할을 나눠
프론트 3명 / 백엔드 2명 총 5명이 하나의 쇼핑몰 사이트를 제작하는 것이었습니다.

저는 백엔드로 지원하여 역할을 맡았고, 두 가지 모두 경험해 보았지만
경험상, 성격상 백엔드가 더 성향에 잘 맞는다고 생각하였고
앞으로도 백엔드만 한다는 것은 아니지만 백엔드 개발자를 지향하고 있습니다.

이번 1차 프로젝트로 아래에 대한 경험을 해볼 수 있었습니다.

  • Node/Express 서비스에 대한 기본적인 이해
  • MongoDB, Mongoose ODM
  • jwt를 이용한 인증/인가
  • 소셜 로그인
  • 협업 API 문서 작성(Postman)
  • REST API 개발

아래 링크는 github repository 주소이며,
프로젝트에서의 역할은 추후 간략하게 따로 프로젝트에 대해 회고해보도록 하겠습니다.
Github

🟢 React

기간 : 2022.06.06 ~ 2022.07.01
10주차에는 React 기초에 대해 배웠습니다.
제가 백엔드를 지향하지만, 이 트랙은 풀스택을 위한(프론트 쪽이 조금 더 비중이 큰) 교육과정이었기 때문에 이때부터 4주간은 React에 대해 배우게 되었습니다.
CRA를 통한 프로젝트 생성, jsx, Hooks에 대해 배우고 간단한 Todo 리스트 제작까지 해보았습니다.

11주차에는 스타일링 기법에 대해 배웠는데, CSS in JS, CSS 전처리기(SCSS) 등에 대해 배우고
SPA(Single Page Application)을 구현해보고 React Routing 및 React에서의 비동기 통신에 대해 학습했습니다.

12주차에는 상태 관리에 대해 배우고, 특히 Redux를 활용한 전역 상태 관리에 대해 학습하고 기존 프로젝트에 적용해보았습니다.
Jest를 이용해 테스팅을 구현해보기도 하였습니다.

13주차에는 React를 SSR(Sever Side Rendering)하는 방법에 대해 학습하고, SSR의 장점인 웹 서비스가 검색 엔진에 더 잘 노출되는 것에 대해 이해했습니다.
CSS in JS 기법 중 Styled Component를 학습하고 프로젝트에 적용해보았습니다.
React에서 타입스크립트를 적용하는 방법을 학습하고, 적용해보았습니다.

🔵 2차 프로젝트

기간 : 2022.07.04 ~ 2022.07.24 - 공간 예약 서비스 제작(TWOGATHER)

Nest.js와 AWS 그리고 협업에 대한 좀 더 깊은 이해

2차 프로젝트는 1차 프로젝트와는 다르게 자유주제였습니다.
사실 1차 프로젝트 때는 프로젝트에 대한 방향성이 쇼핑몰이라고 잡혀있었기 때문에, 기본적인 뼈대 코드를 제공해주었습니다.
그래서 처음에 그 코드를 이해하는 데 시간이 걸렸지만, 그것을 활용하여 개발에 도움이 되었었습니다.
이번에는 뼈대 코드 없이 정말 기획부터 프로젝트 생성 및 진행을 팀원들끼리 해내야 했기 때문에 처음에 걱정이 컸습니다.

걱정이 컸던 것과는 달리 주 1회 오프라인 미팅을 가지며 좋은 팀원분들과의 원만한 회의로 방향성을 잡고 3주간 진행해나갈 수 있었습니다.

이번 2차 프로젝트에서는 아래와 같은 경험을 해볼 수 있었습니다.

  • Nest.js(Node.js 프레임워크)
  • TypeScript
  • MySQL, typeORM
  • Jenkins를 통한 자동화된 CI/CD
  • AWS EC2, S3, Lambda
  • 여러 협업도구 : API 문서작성(Swagger, Postman), Slack(gitlab push 알림, 소통)

아래 링크는 github repository 주소이며,
프로젝트에서의 역할은 1차 프로젝트와 마찬가지로 추후 간략하게 회고해보도록 하겠습니다.
Github

🟣 1·2차 스터디

기간 : 2022.04.18 ~ 2022.05.20(1차 - 백엔드 스터디 3팀)
정규교육 과정 중 프로젝트 기간이 아닐 때에는 스터디에 참여하여 원하는 공부를 더 할 수 있었습니다.
1차 스터디 때는 제가 지향하는 방향(백엔드)에 대해 아직 많이 모른다고 생각하여
백엔드 스터디를 지원하여 하게되었습니다.

짧지 않은 기간이었지만, 스터디 중반부터 정규수업의 어려운 부분을 듣게되면서부터 수업에 대한 이해에 시간이 많이 필요하게 되어 그렇게 시간이 많이 할애하지 못한 것 같아 아쉬움이 남습니다.

먼저 RDB에 대해 학습한 뒤, 프로그래머스에서 문제 풀어보고 이후에는 MySQL과 Node.js를 활용한 인프런 강의를 수강하면서 간략한 게시판을 만들어보았고 스터디를 마무리하였습니다.

아래 링크는 스터디에 대한 기록(Notion) 주소입니다.
1차 스터디 기록(노션)

기간 : 2022.06.13 ~ 2022.07.01(2차 - 미니프로젝트 스터디 1팀[이상한 리그의 엘리스])
2차 스터디는 1차 프로젝트가 끝난 뒤라 어느정도 웹 제작에 대해 이해가 되었고,
더 실습을 해보고 싶었던 참에 감사하게도 같이 미니 프로젝트를 해보자고 제안해주신 분들과 함께
스터디를 하게되었습니다.
프로젝트 아이템은 모두에게 관심이 있던 LeagueOfLengeds(롤)이라는 게임으로 정해두고(?) 어떤 것을 만들 지에 대해 기획하고 만들게 되었습니다..
기술스택은 1차 프로젝트와 비슷하게 Node.js와 MongoDB를 사용하여 무리가 없었지만
라이엇API에 대해 공부해야 했고, 여러 가지 이미지들이나 데이터 값들을 정제해야 하는 요소가 컸던 것 같습니다.

진행하다보니 우리가 만들고자 하는 웹사이트에 필요한 데이터가 모두 제공되는 것이 아니었어서 기본적으로 라이엇에서 제공해주는 데이터들을 가공해서 데이터를 만들어야 했습니다.
그 점이 생각보다 오래걸렸고 어려웠지만, 만드는 것이 우리가 관심있던 분야여서 그런지 팀원들이 모두 힘내서 프로젝트를 완성할 수 있었던 것 같습니다.

아래 링크는 github repository 주소입니다.
아직 리팩토링 여지가 많지만, 현재 heroku를 통해 배포 상태로 간략히 사이트를 보실 수 있습니다.
Github
스터디 기록(노션)
배포사이트

😂 취업준비

앞으로 계속 이력서/포트폴리오 작성 및 추가하여 제가 성장할 수 있는 곳이라면
회사를 크게 가리지 않고 서류지원할 생각입니다.

📅 앞으로의 계획

알고리즘 스터디

회사를 지원할 때 코딩테스트를 보는 기업들이 많은데, 알고리즘이 많이 부족하다 생각하여
지인 2명과 알고리즘 스터디를 시작했습니다.
8월 안에 BOJ 골드티어를 달성하는 것이 목표이고
매일 3~4시간 할당하여 준비하려고 합니다.

면접준비 및 지원

알고리즘이나 자료구조, CS/네트워크 등 면접에 대해 준비를 하면서 취업 공고를 살펴보고 계속 지원해보려고 합니다.

공부

트랙을 수강하며 많은 기술들을 배웠지만, 아직 해보고 싶은 해보지 못한 기술들이 많아 정리해보았습니다.

  • 사용해 보지 못한 기술을 활용한 프로젝트
  • 알고리즘/자료구조/CS/네트워크
  • TypeScript 심화, 디자인 패턴 등
  • 프리온보딩 등 여러가지 도전해보기

🔥 끝으로

지난 4개월 정말 시간이 빠르게 지나간 것 같습니다.
첫 날 기초를 배우며, 쉽게 생각했던 나를 시간이 지날수록 반성하게 되었고
많이 배울수록 배움과 무언가를 만들어가며 느끼는 재미를 찾을 수 있었습니다.

협업을 하면서, 확실히 저는 협업하는 것을 좋아한다는 것을 깨달았고,
같이 일하면서 얻을 수 있는 장점이 많다는 것을 많이 느꼈습니다.
동료에게 배울 수 있던 점도 많고 같이 으쌰으쌰하면서 저 또한 많이 성장할 수 있었던 것 같습니다.

트랙이 종료되고 바로 회고글을 작성하고자 했으나, 이 회고글을 조금씩 쓰며 임시저장하다가 마무리가 되니까 실감이 나는 것 같습니다.

앞으로 개발을 하면서 더 재밌는 일이 많았으면 하는 바램으로 이번 글을 마무리하겠습니다.


어쩌다 보니 상장을 받게되어... 올려봅니다!! 앞으로도 화이팅~~~!!!

profile
초보개발자

0개의 댓글