growthProcess

벽에 부딪치다

프론트엔드 개발자로 성장하기로 결심하고 독학을 시작했을 때, 기초가 잡혀있다 생각하여 리액트 공부부터 시작했습니다. 그러나 곧 큰 벽에 부딪쳤습니다. 다양한 문서나 강의의 맥락을 전혀 이해할 수 없었고, 코드를 읽기도 어려웠습니다.

급한불을 끄다

이런 어려움의 원인은 자바스크립트에 대한 충분한 이해 없이 문법 사용에만 익숙해진 상태에서 출발한 오만에서 비롯된 것이었습니다. 그래서 자바스크립트를 체계적으로 이해하기로 마음먹고 이웅모 님의 '모던 자바스크립트'를 공부했습니다. 하지만 프로토타입이나 클래스 같은 내용에서도 문법적 이해에 어려움을 겪었습니다. 자바스크립트의 핵심을 파악하기 위해 여러 방면으로 노력할 때, 정재남 님의 '코어 자바스크립트'를 접하게 되었고, 그 내용이 정말 신선한 충격으로 다가왔습니다. 그동안 이해하지 못했던 맥락들이 체감되기 시작했고, 자바스크립트 문법이 어떻게 탄생했는지, ES5의 문법들이 어떠한 차이를 보이고 왜 필요했는지를 깨닫게 되었습니다. 이후 새로운 강의도 이해가 되기 시작했고, 학습 속도가 가속화되었습니다. 이러한 성장을 바탕으로 다시 리액트 강의를 들어보니 내용이 한층 더 명확해졌습니다.

클린코드란 무엇?

그러나 자바스크립트를 어느 정도 이해하고 리액트도 숙지했음에도 불구하고, '정말 좋은 코드란 무엇인가'에 대한 의문이 들었습니다. 기능 구현에는 문제가 없어 보였지만, 제 코드에는 불필요한 과정이 많이 포함된 것 같았습니다. 다른 신입들은 어떻게 학습하고 어떤 역량을 가지고있는지 궁금하여 면접스터디에 참여했고, 스터디원들은 전문 교육을 받은 프론트엔드 개발자들 이였습니다. 그들과 대화를 나누며, 지식에서 크게 뒤처지진 않았지만, 코드를 보면 분명히 제가 무언가 부족하다는 것을 느꼈습니다. 그래서 그들의 코드를 분석해 보았고, 그들이 프로젝트를 진행하는 데 있어서 커스텀 훅을 적극 활용하는 것을 발견했습니다. 저 또한 커스텀 훅에 대해 공부하여 프로젝트에 적용했고, 그 결과 이전에 비해 프로젝트의 코드와 구조가 분명히 개선되었습니다.

첫단추를 끼우다

그렇지만 여전히 뭔가 부족하다는 느낌을 털어버리지 못했고, 프론트엔드에 대한 기초적인 지식을 다시 한번 점검하기로 마음먹었습니다. 그러나 이 과정에서 제가 원하던 해답을 찾지는 못했습니다. 그때 우연히 프리온보딩 코스 인턴십 공고를 보게 되어 지원했고, 과제를 해결하여 합격의 기쁨을 맛봤습니다. 프리온보딩 코스에서 관심사의 분리와 SRP(Single Responsibility Principle)에 대해 배우게 되었고, 바로 이것이 제가 찾아 헤매던 답안이었습니다. 제 코드에는 이 원칙들이 부족했고, 따라서 기능 구현에만 초점을 맞춘, 유지보수하기 어려운 소프트웨어에 가까웠습니다. 프리온보딩 코스가 끝나면서, 이 문제를 해결하기 위해 제가 진행했던 '인자강' 프로젝트의 리팩토링을 시작했습니다. 스스로 코드 리뷰를 해보니, 활용 측면이나 접근성 측면에서도 문제가 많았습니다. 그래서 이를 수정하고, 여러 리팩토링 기법을 적용하여 최종적으로 '인자강' 프로젝트를 완성시켰습니다. 이 경험을 바탕으로 제 스스로 프론트엔드 개발자로서의 한 단계 더 성장한 것 같아 기쁘게 생각합니다.

코딩의 신

프리온보딩 코스를 마치고도 더 나은 코드를 작성하기 위한 열망이 여전히 남아있었습니다. 현업에서 경험을 쌓아야 할까, 아니면 계속해서 공부를 이어가야 할까? 이러한 막연한 고민 속에서 예전부터 동경했던 코딩의신이라 불리는 아샬님의 강의소식을 접하게 되었습니다. 그의 학습 방법과 실무 중심의 교육 내용이 마음에 들어, 실무에 가더라도 좋은 사수를 만남을 기대하는것은 불확실하다 생각하여 수강을 결심했습니다. 면담을 거쳐 적임자 혜택을 받게 되어 성공적인 수강을 이뤄냈습니다.

아샬님의 강의는 자기 주도적인 학습을 강조했습니다. 리덕스를 배우더라도 라이브러리를 설치하여 학습하는 것이 아니라, 라이브러리를 직접 구현해보고 원리를 깨닫고 키워드에 대해 탐색하고 정리하는 과정을 거쳤습니다. 강의 도중 아샬님의 코드 스타일을 보며 감탄을 하기도 했습니다. 코드를 분리하고 조합하는 과정이 물 흐르듯이 이어지는 것을 보면서 많은 깨달음을 얻었습니다. 또한 그가 해당 수준에 도달하기까지 수많은 반복과 회고를 거쳐 성장했다는 사실을 배웠고, 저 또한 생존코스 과정에서 매일 노트를 정리하고 매주 회고를 통해 성장하는 습관을 가지게 되었습니다.

Last updated