잡담/진짜 잡담

[잡담] Front-End 개발자가 되고 싶은 나

隣席の開発者群 2023. 4. 27. 14:21
반응형

이건 정말 잡담이다. 

그냥 왜 Front를 선택한건지, 왜 풀스택이 아닌지, 그러려면 어떻게 해야할지 그냥 내 생각을 쓰려는거다.

왜 쓰냐고 묻는다면, 지금 이 생각을 정리해야 나중에 잊고 살다가도 떠올릴테니까.

 

1. 왜 Front인가? 

글쎄 이건 나도 의문이다. 1년 남짓, 얼마 안되는 개발 인생이지만 조금 이야기를 하자면 

많은 개발자들이 그렇듯 난 국비지원학원 출신이다.

절대 컴퓨터 공학을 전공하지 않았고, 오히려 경제학이라는 전공으로 학사학위를 가지고 있다.

사실 학문으로의 컴퓨터는 관심도 없었다. 

그냥 테크덕후에 콘솔겜 좋아하고, 오타쿠라 컴퓨터와는 멀어지기 힘든 인생이었기 때문에

하드웨어 정도만 자연스레 좀 잘 알게 된 것 뿐이었다.

어쨌든 내게 재미없는 경제학보다는 원래 좋아했던 컴퓨터와 연관된 일을 하고 싶다는 생각에서

최대한 비용이 들지 않는 국비지원학원을 알아봤고, 여러 학원들 중에 한군데 그 곳에서 Java를 시작했다.

그렇게 그냥 막연히 Java를 주력언어로 쓰게 될 것이라는 생각에 Back-End 개발자가 될 것이라는 생각을 했는데,

내 일생일대의 사건은 지금 회사에 입사하면서 일어났다. 

 

입사하자마자 React로 두들겨 맞기 시작했기 때문이다. 

우리 회사는 연차가 낮은 직원에게 어지간하면 Front를 맡기는데,

이 이유는 좀 공부를 많이 했으면 모르겠지만 쌩신입기준  Back-End 로직 흐름 따라가는거 자체를 이해하는게 어렵기 때문이다. 

뭐 기능적인 면이니 신입한테 맡겨서 불안하기만 하지 좋을 거 하나도 없고, 애초에 Back-End에 맞춰서 Front는 Request만 쏴주고 화면에 뿌리기만 하면 되는거였어서 상대적인 난이도가 Front쪽이 낮기 때문에 그렇다.

하여튼 이런 이유로 Front를 시작했는데 그래도 쌩신입 기준으론 Front도 마찬가지로 어려울 수 밖에 없다. 원래 view는 jsp, html안에 <script></script> 로 만드는거 말곤 생각도 안해봤는데, 컴포넌트니, jsx, tsx니, 상태니 어지럽기 시작했다. 

거기다 우리 회산 Mobx라는 상태관리 라이브러리를 주로 사용하고 있었는데, 하필 내가 Legacy 소스를 만지는 역할을 하게 된 바람에 배웠던 Mobx가 아닌 Redux를 다루게 됐다. 

안 그래도 러닝커브가 좀 있는 Redux를 실무에 쓸만큼 공부하려면 잠은 못자겠다 싶어서 한 2-3일 잠을 거의 못자다시피했는데 이게 또 하다보니 재밌었다. 그래서 좀 더 고민해보니 그냥 내 성격에 Front가 맞는 것 같아서 이 길을 선택했다.

 

2. 왜 풀스택을 생각하지 않는가?

아주 솔직히 얘기하면 연차가 낮은데 풀스택은 개소리라고 생각한다. 

진짜 그냥 코딩하나만 보고 얘기하는거 같은데,

데이터 서빙하고, 클라이언트는 그 데이터 받아서 뿌리고 그거 할 줄 알면 풀스택..?

그거 아니다. 

지금이라도 그런 생각하고 있는 학원 갓 수료한 응애 개발자가 있으면 당장 고쳐먹어라 그 마음.

Front 하나만 생각해도 고려할 점이 상당히 많다. 

MSA냐 MA냐 에 따라서 프로젝트 구조도 달라지고 최근엔 모노레포도 있던데, 그리고 그 많은 라이브러리들 중 어떤걸 쓸지 고민도 할거고

당연히 Front는 브라우저랑 직접적인 연관이 있으니 브라우저도 알아야할거고,

Back, Front 공통으로 알아야하는 거지만 HTTP, 통신에 대한 개념도 있어야할거고 등등 그렇지 않나?

한 분야에서 돈을 주고 고용할만큼 전문가가 된다는 것은 당연히 어려운 일이다. 

근데 그걸 Front, Back 넘나 들면서 할 거라는건 더더 어렵다. 아주 긴 시간과 노력이 필요하다고 본다.

그래서 연차가 낮은데 풀스택은 개소리 인거다. 

한 업력 20년 정도 달고 오면 풀스택이라고 할 수 있겠다.

 

3. 그럼 연차가 낮은 Front 개발자는 Back 몰라도 되는건가?

이것도 웃긴 얘기다. 너무 흑백으로 양분하고 있는거다. 

내가 말하는 영역은 전문성의 영역이다.  둘 다 전문가가 된다는 것이 상당히 어렵다는 의미다. 

즉, 전문성을 가진 분야가 하나 있는거고 그 전문성을 살리기 위해서는 적어도

얕게라도 타 분야를 알고 있어야한다는 것이다. 

적어도 API로 요청을 보냈을때 Response로 돌아오는게 어떤 식으로 돌아오는지,

그 정도는 알아야 개발의 선택지가 다양하게 늘어날테고 협업에도 유리할테니 말이다. 

LIST