Seung Hun

프론트엔드 개발자는 괜찮은 직업인가?

나는 곧 경력이 3년이 되는 주니어 프론트엔드 개발자이다.

아직 3년도 안 되는 짧은 기간이지만, 그동안 3곳의 회사를 다니며 느낀 ‘개발자라는 직업’에 대해 주니어 시점에서 매우 주관적인 생각을 작성해 보겠다.

(제가 생각하는 것과 다르시다면, 본인이 생각하시는 게 맞습니다.)

프론트엔드 개발자는 무엇을 하나?

프론트엔드 개발자는 보통 웹 UI를 만들고 기능을 연결하며, 백엔드 개발자, 디자이너, 기획자와 커뮤니케이션하며 애플리케이션을 완성하는 일을 한다.

물론 회사별, 부서별 차이가 있겠지만, 이런 단순 웹 UI 작업뿐만 아니라 모바일 앱, 인프라, 서버, 자동화 등 다양한 일을 하는 직업이기도 하다.

내가 지금까지 주로 해온 일을 회사별로 대강 나열해 보면

  1. 에바(전기차 충전기 제조 회사)
    • 전기차 충전기 어드민 사이트 개발
  2. 펫프렌즈(반려동물 이커머스)
    • 펫프렌즈 웹 애플리케이션 개발
    • 펫프 인슈어런스 서비스 런칭
    • 모노레포 구축
    • 배포 속도 최적화
  3. 라프텔(애니메이션 OTT 서비스)
    • 라프텔 국내 웹 개발
    • 라프텔 국내 앱 개발(React Native)
    • 라프텔 국내 웹 인프라 유지보수
    • 자동화 작업
    • 이메일 템플릿 개발

이 정도 되는 것 같다. 물론 이력서에 좀 더 자세히 나와 있다.


프론트엔드 개발자의 장점

내가 생각하는 이 직업의 장점들을 나열해 보겠다. 프론트엔드뿐만 아니라 개발자라는 직업의 공통적인 장점도 있다.

학벌을 거의 안 본다.

물론 전통적인 대기업들은 학벌을 본다는 얘기를 들었지만, 나는 그런 곳을 지원해본 적도 없어서 잘 모르겠고, 내가 지원하고 다녔고 다니고 있는 회사들에 대한 이야기다. 이런 회사들은 이력서 양식도 따로 정해져 있지 않고, 대학이나 학점을 안 적어도 상관없는 경우가 많다.

물론 학벌을 거의 안 본다는 점은 나와 같은 학벌이 그렇게 좋지 않은 사람에게는 장점이지만, 명문대를 다닌 사람에게는 단점처럼 느껴질 수도 있다고 생각한다. 그런데 신기한 점은, 보통 잘하고 유명한 개발자분들은 명문대를 나왔다. ‘와, 이 사람 개발 엄청 잘하네’ 하고 찾아보면 명문대를 나온 케이스가 많이 있었다.

실력만 좋으면 괜찮은 연봉을 받을 수 있다. 그리고 상대적으로 이직이 쉽다.

이 문구는 사실 개발자라는 직업뿐만 아니라 어느 직업이든 통용된다. 하지만 개발자는 상대적으로 회사 생활에서 가장 큰 폭으로 연봉이 오르는 이직을 하기 쉽다고 생각한다.

다른 직업에 대해서 많이 알지는 못하지만, 보통 이직을 준비하는 사람들을 보면

등등 이것저것 준비할 것이 많아 큰 시간적 비용이 소모되지만, 개발자는

이 정도다.

회사를 업그레이드해서 이직할 경우, 기존에 받던 연봉에 n%를 인상받으니 원래 다니던 회사에서 하던 연봉 협상 방식보다 압도적으로 많이 오른다.

개인적으로 이직을 통해 연봉이 오르는 것을 몇 번 경험해 보니, 이 자체가 큰 동기부여가 되는 것 같다.

나이가 별로 안 중요하다.

첫 회사에 입사할 때는 대학도 졸업하지 않은 23살에 입사했는데, 현재 회사에서는 나보다 더 어린 팀원분들도 있다. (이분들은 천재다.)

나이가 많든 적든 실력만 좋으면 되는 직업처럼 보인다.

전체적인 분위기가 자유롭고 수평적인 느낌이다.

IT 스타트업 특유의 분위기가 있다. 보수적인 회사에 다니는 사람들과 회사 얘기를 하면 서로 놀란다.

대충 이런 점들이 좋은 것 같다.

물론 회사별로 다르다. 수평 구조 관련해서도 수평 호소인 회사들이 많다. (영어 닉네임 쓰면 다 수평인 줄 안다;)

일이 재밌다.

프론트엔드 개발을 하면서 내가 만든 웹·앱이 상용 서비스에 배포되고, 이를 유저가 사용한다는 것 자체가 재밌다. 내가 작성한 코드가 화면에 반영되어 실시간으로 피드백이 오는 것도 즐겁고, 어려운 문제를 해결하거나 자동화 파이프라인을 구축하고 최적화하는 등 다양한 흥미로운 작업이 많다.

주변의 유능한 동료들 덕분에 성장하고 자극받는 것도 재미있다. 일에 몰입하다 보니 시간 가는 줄 모르고 일하는 경우가 많다.

부가적인 수입을 만들 수 있는 능력이 있다.

개발을 할 줄 알면 그 역량으로 부가적인 수익을 창출할 수 있다. 예를 들면 앱·웹 서비스 런칭, 외주 개발, 개발 멘토링, 이력서 첨삭, 개발 블로그 애드센스 등이 있다.

많은 개발자가 사이드 프로젝트를 통해 새로운 서비스를 만드는데, 이는 커리어뿐 아니라 수익화 목적도 있다. 실제로 성공 사례도 많이 있다.

물론 개발 능력이 있다고 해서 모두 수익을 내는 것은 아니다. 어떻게 만드느냐보다 무엇을 만들느냐가 더 중요하다고 생각한다. 우리가 토스를 쓰는 이유도 개발자의 역량 때문이 아니라 서비스의 편리함 때문이다.


프론트엔드 개발자의 단점

이제 내가 생각하는 단점들을 나열해 보겠다. 위에서 계속 언급했듯 매우 주관적인 생각이다.

꾸준히 성장하지 않으면 도태된다.

다른 직업도 마찬가지겠지만, 실력으로 승부 보는 개발 업계 특성상 꾸준히 성장하지 않으면 도태되기 쉽다. 처음부터 좋은 회사에 입사해 좋은 성장 환경에서 일하면 매우 좋겠지만, 성장하기 좋지 않은 환경에 입사한다면 회사 업무 외에 집에서 꾸준히 공부하며 성장하고 있음을 증명해야 한다.

적성에 안 맞으면 너무 힘들다.

꾸준한 성장을 위해서는 지속적인 노력이 필요한데, 이때 적성이 맞지 않으면 힘든 경우가 많다. 특히 고민하는 것 자체를 잘 버티지 못하면 개발자로 살기 힘들 것 같다. 내가 생각하는 나의 개발자 적성은 좀 애매한 느낌이다. 개발 자체가 재밌고, 어려운 문제를 풀었을 때 쾌감도 좋지만 ‘개발 없이는 못 산다’ 정도는 아니다. 게임하기와 개발하기 중이라면 솔직히 게임하는 게 더 재밌다. 원래는 개발을 좋아하고 적성에 맞는다고 생각했지만, 현재 회사에서 진짜 개발자들을 본 순간 나의 개발에 대한 관심이 가짜 관심이구나라는 생각이 문득 들었다.

신입 취업이 쉽지 않다.

예전 코로나 시기 때 개발자 붐이 오면서 엄청나게 많은 국비 학원, 부트캠프가 생겨났다. 그 후 IT 업계 채용시장이 점점 안 좋아지면서, 신입 TO가 줄자 신입 채용이 너무너무 힘들어졌다. 나는 첫 취업을 2022년 9월에 했는데, 개인적으로 개발자 붐 막차를 탄 느낌이 들었다. 그때 당시 이력서를 한 100개 정도 제출하고 최종 합격은 단 1곳뿐이었다. 아마 요즘은 더 힘들 것 같다.

어플리케이션 개발의 마무리를 담당하는 만큼 일정 압박을 받기 쉽다.

보통 개발 프로세스는 다음과 같다.

  1. 기획자가 기획을 한다.
  2. 디자이너가 기획에 맞는 디자인을 한다 and 백엔드 개발자가 기획에 맞는 서버 개발을 한다.
  3. 프론트엔드 개발자가 디자인, 백엔드 api를 보고 개발을 한다.

백엔드 개발자와 디자이너는 서로 작업 의존도가 상대적으로 적어, 기획만 나오면 독립적으로 작업할 수 있다. 하지만 프론트엔드 개발자는 백엔드, 디자인, 기획과 강하게 의존성을 갖고 있다. 디자인이 나와야 UI를 만들 수 있고, API가 나와야 기능을 연결할 수 있다. 물론 백엔드 API를 모킹(mocking)해 가짜 데이터를 넣어 개발할 수 있지만, API 스키마가 먼저 나와야 가능한 일이다. 이러한 의존성 때문에, 일정이 빡센 작업의 경우 상대적으로 더 큰 압박을 받는 것 같다.

가끔가다 무시하는 사람이 있다.

프론트엔드 개발자라는 직업은 세상에 나온 지 얼마 되지 않았다. 예전에는 프론트엔드와 백엔드를 나누지 않고 ‘웹 개발자’라는 이름으로 두 작업을 함께 했다. 시간이 지나 웹에서도 앱 같은 경험을 하고 싶다는 니즈가 생기고, SPA라는 기술이 나오며 점점 복잡한 클라이언트 작업이 늘어 전문성을 위해 프론트엔드라는 직업이 태어났다. 가끔 꼰대 개발자들 이야기를 들어보면 프론트엔드 개발을 무시하는 사람이 있다. 단순 퍼블리싱과 비교하며 “너무 쉬워서 개발인지도 모르겠다”고 얘기하곤 한다. 이렇게 쉽다고 말하는 사람을 보면 딱 두 가지가 떠오른다.

  1. 개발 실력이 신의 경지에 올라 모든 것이 쉬운 사람
  2. 쉬운 일만 하는 것만 보는, 본인의 세상에 갇힌 사람

뭐가 됐든 다행히 그런 주장을 하는 사람과는 같은 회사에 안 엮여서 다행이라고 생각한다.

사실 아주 간단하게 생각하면 된다. 그렇게 쉽다고 생각하면 본인이 프론트엔드 개발자로 직무를 변경해 좋은 기업으로 이직한 다음, 쉬운 일 딸깍딸깍하면서 억대 연봉 받으면 그만이다.

프론트엔드 진입장벽 낮다는데(쉽다는데) 별로 아닌가요?

진입장벽이 다른 개발 직군에 비해 낮다는 것은 매우 동의한다. 기본적인 HTML, CSS, JavaScript를 다루고 React를 할 줄 알면 아주 기초적인 개발이 가능하다고 생각한다. C언어처럼 직접 메모리를 관리할 필요도 없고, 싱글 스레드라서 멀티 스레드를 관리하는 복잡성도 존재하지 않는다. 하지만 진입장벽이 낮다고 해서 절대로 쉬운 일이라고는 생각하지 않는다. 단순히 UI 그리고 API 붙이기 자체는 쉽지만, 어려운 일도 많다. 지금 생각나는 것들만 간단히 적어보면

등이 있고, 이 작업들을 깊이 깊이 파고들수록 너무너무 어렵다. 괜히 빅테크 기업에서 잘하는 프론트엔드 개발자를 채용하고 높은 연봉을 주는 것이 아니다. 세상에 편하고 쉬운 일 하면서 돈 많이 받는 일은 없다. 있으면 내가 그거 하고 싶다.


Ai한테 대체되지 않나요?

ChatGPT부터 시작해 현재까지 수많은 AI가 나오고 있다. AI들이 나오면서 개발자 일자리를 위협한다고 하지만, 아직까지는 큰 문제처럼 보이지 않는다. AI에게 모든 일을 맡기기는 쉽지 않아 보이고, 지금은 개발자 생산성을 높이는 훌륭한 도구로 보인다. 물론 시간이 흘러 AI가 더 발전하면 어떻게 될지는 아무도 모르지만, 아직까지는 할 만한 직업 같다.

나는 업무 중에 사용하는 AI 툴로 cursor, gpt, immersive translate를 주로 쓴다.


내가 다시 노베이스 취준생으로 돌아간다면?

우선 무료 강의들을 들으며 HTML, CSS, JS를 간단하게 공부하고 토이 프로젝트를 만들 것이다. 그리고 무료 React 강의를 듣고 SupabaseFirebase를 사용해 SNS를 만들 것이다. SNS를 만든 다음, 나름 개발이 할 만하다고 느껴지면 국비 학원·부트캠프에 가서 무조건 1등으로 수료하고, 사이드 프로젝트로 포트폴리오를 채우며 자체 서비스가 있는 스타트업에 도전할 것 같다. 물론 엄청 힘들 것이다.

지금까지 내가 생각하는 매우 주관적인 ‘프론트엔드 개발자’라는 직업에 대한 느낌을 적어봤습니다.

결국 중요한 것은 꾸준한 관심과 노력인 것 같습니다.

평범한 범부 개발자가 평범함을 벗어나기 위해 열심히 노력해야겠다는 생각이 듭니다.

긴 글 읽어주셔서 감사합니다.