7주 차 신입 프론트엔드 개발자, 온보딩 적응기
안녕하세요! 비브로스 웹프론트엔드팀에 합류하게 된 조영동입니다.
약 7주 동안 신입 개발자 온보딩 프로세스를 거치며 느꼈던 경험과 제 생각을 나눌 기회가 돼서 영광입니다!
그럼 본격적으로 제가 경험한 7주간의 온보딩 과정을 소개하도록 하겠습니다.😁

사진 출처 : https://24ways.org/2017/levelling-up-for-junior-developers/
1. 7주 동안 경험한 것
체계적인 온보딩 프로세스
신입 부스터에게 무려 10단계의 온보딩 프로세스를 제공해서 온전히 기술에 대한 적응 기간을 주는 점이 좋았습니다. 아무래도 개발자로서는 첫 입사이기 때문에 모르는 부분이 많아서 걱정됐습니다.
하지만 온보딩 과정에서 한 챕터마다 해야 할 부분이 분명했기 때문에 과정을 진행하면서 완료 표시를 누를 때마다 성취감을 느낄 수 있어서 좋았고 실무가 어떻게 진행될지 확인할 수 있었습니다.
처음 접한 Angular 프레임워크
온보딩 과정 중 특히 앵귤러에 대한 걱정이 이만저만이 아니었습니다. 앵귤러는 처음이고 생소한데 그동안 개발 공부를 하면서 프론트엔드 삼 대장 중 가장 러닝 커브가 높은 프레임워크라고 많이 들었던 터라 낯선 프레임워크를 접하는 불안감이 있었습니다.😱
좋았던 점

-
프레임워크만의 강점
앵귤러가 모든 부분을 지원하는 프레임워크라서 초기에 어렵다는 말이 많지만, 유지보수할 때 리액트보다 오히려 쉽다는 의견이 많습니다. 오히려 자유도가 없는 프레임워크기 때문에 프레임워크 특성상 코드 작성에 있어서 정형화된 패턴이 있기 때문에 유지보수에 특화된 장점이 있는 것 같습니다. 이 부분이 사실일지는 실무를 경험해보면서 제가 직접 확인해봐야겠습니다.🤣
-
친절한 공식 문서
아직은 어렵긴 하지만 앵귤러 공식 가이드가 초심자가 쉽게 따라 할 수 있도록 작성되어 있어서 생각보다 초기에 받아들이기 쉽다고 느꼈습니다. 물론, 이후에 배워야 할 게 많다는 점을 체감할 수 있었지만, 공식문서가 어떤 문서보다 보기 편하게 작성돼서 잘 읽혔고 라이브 예제도 첨부되어 있어서 어떻게 동작하는지 실행해 보며 쉽게 이해할 수 있었습니다.
어려웠던 점
-
진짜 배울 게 많은 러닝 커브😂
초반에는 앵귤러 가이드에서 튜토리얼을 진행하면서 객체지향 방식을 채택해서 사용한다는 점, constructor에서 의존성을 주입할 수 있는 점, 템플릿과 CSS가 분리된 형태라는 점을 제외하고 리액트와 비슷한 점이 많다고 생각했습니다.
그런데 이후에 RxJS, Form, Router, Pipe, directive, operator 등 앵귤러에서 새롭게 배워야 하는 부분들이 계속 추가되는 것을 확인하면서 프레임워크답게 정말 소소한 것까지 많은 것을 제공하기 때문에 시작 지점에 배울 게 진짜 많다는 것을 느낄 수 있었습니다.
-
최신 자료 부족
앵귤러는 자료가 부족하다는 말을 SPA 삼 대장과 비교하면서 많이 들었습니다. 그래도 앵귤러가 가장 오래된 프레임워크로 알고 있었기 때문에 리액트보다 상대적으로 자료가 적다는 의미가 아닐까 추측했었는데 생각보다 더 자료가 부족했습니다.
앵귤러 공식 가이드북은 초심자도 쉽게 접근할 수 있도록 작성되었지만, 오류가 발생했을 때 검색하면 다른 프레임워크는 최신 문서가 많아서 해답이 비교적 명확하게 나오는 것에 비해 앵귤러는 최신 문서가 상대적으로 적은 편이라서 검색하는 시간이 상대적으로 더 오래 소요됐던 것 같습니다.😥
Angular보다 더 생소한 RXJS

사진 출처 : Angular- Introduction to Reactive Extensions (RxJS)
Angular를 접하면 꼭 같이 학습해야 하는 부분이 RxJs(Reactive Extensions For JavaScript) 입니다. Angular는 들어봤지만 RxJs는 생전 처음 들어보는 개념이라 더 생소하게 다가왔습니다. 😱
Rxjs는 비동기 프로그래밍 패러다임 중 하나로 데이터 스트림을 Observerble 객체로 만들어서 일관된 방식으로 안전하게 데이터 흐름을 처리할 수 있는 라이브러리입니다. 모든 것을 스트림이라는 데이터의 흐름을 중심으로 처리하기 때문에 지금까지 경험한 프로그래밍 패러다임과 너무나 달라서 초반에 혼란스러웠습니다. 하지만 많은 자료를 참고하면서 가장 확실히 와닿았던 설명은 아래와 같습니다.
방송국의 예에서 TV 방송국은 Observable이고 TV는 Observer며 영상 정보 프레임은 Observable이 방출한 notification이라고 할 수 있다. (모던 자바스크립트 Deep Dive)
좋았던 점
-
모든 데이터를 Observable로 처리하여 심플하다
함수호출, 이벤트, 콜백, 프로미스를 모두 Observable로 처리해서 데이터 스트림 내에서 단순하게 처리가 가능하여 비즈니스 로직에 집중할 수 있다는 점이 좋았습니다.
-
일관된 결괏값을 받을 수 있다.
RxJs는 순수함수를 지향하고 Observable 객체가 immutable이기 때문에 같은 입력이 주어지면 항상 같은 출력이 반환되기 때문에 side effect가 발생하지 않고 원하는 결괏값을 받을 수 있는 함수를 만들 수 있어서 좋았습니다.
어려웠던 점
-
초기 학습이 어렵다.
앞에서도 나와 있지만 새롭게 경험하는 프로그래밍 패러다임이기 때문에 초기 학습에 어려움이 있었습니다. 앵귤러와 마찬가지로 자료가 많지 않은 터라 초기에 이해하기 어려웠지만 잘 정리된 관련 책과 유튜브를 통해 RxJs에 대해 조금씩 이해할 수 있었습니다.
가이드를 진행하다가 갑자기 Observable과 mergeMap이 나왔을 때는 스트림 개념을 모르는 상태라서 이해가 되지 않아 우왕좌왕했었는데 친절히 팀장님이 Rxjs에 대한 특강을 손수 그림을 그리며 해주셔서 초반 개념 파악에 도움이 많이 됐습니다.. 🙏
- RxJS를 배우기 전 참고할만한 자료
-
40분이지만 Rxjs를 너무나 명쾌하게 설명해주셔서 시간 가는 줄 모르고 볼 수 있었습니다!
Rxjs가 처음에 이해가 안 되는 분은 보시는 걸 추천해 드려요 👍
-
