avatar
Published on

프론트엔드 개발자, 3년차의 벽을 넘어: 성장의 악순환을 끊고 목표와 성취감을 찾는 법

Author
  • avatar
    Name
    yceffort
  • 다음은 한 개발자분께 받은 질문과 그에 대한 답변 메일을 블로그 형식으로 각색한 글입니다.
  • AI 가 작성하지 않은 글입니다 😄

프론트엔드 개발자, 3년차의 벽을 넘어: 성장의 악순환을 끊고 목표와 성취감을 찾는 법

10년차 프론트엔드 개발자로 여러 회사를 거치며, 저는 많은 동료들이 비슷한 성장과 정체의 사이클을 경험하는 것을 목격했습니다. 마치 약속이라도 한 듯, 2~3년 주기로 반복되는 이 패턴은 다음과 같습니다.

  1. 학습과 적응: 새로운 회사에 입사하여 업무와 기술 스택을 익힙니다.
  2. 숙련과 자신감: 요청받은 크고 작은 업무를 능숙하게 처리하며 자신감이 붙습니다.
  3. 정체와 회의감: 반복되는 업무에 지루함이나 회의감을 느끼기 시작합니다.
  4. 탐색과 이직: 새로운 성장 기회를 찾아 이직하거나 다른 업무를 모색합니다.

저 역시 이 과정을 수없이 반복하며 방황했습니다. 그리고 마침내 깨달았습니다. 이 악순환의 고리는 프론트엔드 개발자로서 이 정도면 충분하다, 다 해봤다는 착각에서 비롯된다는 것을요.

'잘하는 개발자'라는 착각의 함정

과거의 저는 어떤 요청이든 쉽게 처리할 수 있었고, 업무 자체가 크게 복잡하지 않다고 느꼈습니다. (솔직히 말해, 많은 업무가 CRUD의 범주를 크게 벗어나지 않기도 합니다.) 이런 생각은 **'회사 업무를 기한 내에 잘 처리하는 것 = 훌륭한 프론트엔드 개발자'**라는 오해에서 시작되었습니다.

저에게 좋은 평가를 주셨던 상사나 기획자분들은 프론트엔드 개발 전문가가 아니셨습니다. 그분들은 촉박한 시간과 제한된 리소스 안에서 결과물을 만들어냈다는 사실 자체를 높이 평가하셨죠. 코드의 내부적인 완성도, 장기적인 유지보수성, 실제 사용자 경험의 질적 수준까지 깊이 있게 판단하기는 어려우셨을 겁니다.

때로는 기술적 부채를 쌓아가며 서비스를 만들었음에도, 기능 구현 완료에만 초점이 맞춰진 환경은 저 스스로를 객관적으로 돌아볼 기회를 주지 못했습니다. 이러한 환경에서 반복되는 주관적인 평가는 '나는 프론트엔드 개발자로서 충분한 경지에 올랐다'는 성급한 자기 만족으로 이어지곤 했습니다.

현실의 벽 앞에서: 이직과 냉정한 평가

이렇게 스스로의 성장에 한계를 느끼거나 섣부른 만족감에 도달한 개발자들은 이직을 선택합니다. 그리고 이때, 자신의 역량을 진짜로 냉정하게 깨닫게 됩니다. 뛰어난 분들은 더 좋은 기회를 찾아가지만, 많은 경우 회사 업무에만 익숙해져 있던 분들은 시장의 냉정한 평가(서류, 면접)에 직면하고 현실에 안주하거나, 회사 업무는 최소한으로 하면서 이직 준비에만 몰두하는 안타까운 상황으로 이어지기도 합니다.

길잡이의 부재: 시니어와 리더의 역할

저는 '프론트엔드 개발자로서 성취와 목표감을 느끼지 못한다'는 문제의 핵심 중 하나가, 팀원의 성장을 객관적으로 독려하고 때로는 현재의 부족함을 건설적으로 지적하며 함께 나아갈 방향을 제시해 줄 수 있는 시니어와 리더의 역할 부재에 있다고 생각합니다. (물론, 진심 어린 조언을 듣지 않는다면 개인의 문제겠지만요.)

이러한 생각 이후, 저는 동료들과 제 자신에게 끊임없이 성장 자극을 주려고 노력합니다. 예를 들어, 이런 질문들을 던지는 거죠.

  • "이 기능은 잘 오픈했네요. 그런데 혹시 리액트 렌더링 최적화는 충분히 고려되었을까요?"
  • "라이트하우스가 지적하는 성능 병목 지점은 개선할 여지가 없을까요?"
  • "다양한 사용자 환경(저성능 기기, 느린 네트워크)에서의 사용성은 어떨까요?"
  • "사용자의 성능 정보를 수집하려면 어떻게 해야 할까요?"
  • "우리가 배운 것을 팀 내외부에 공유할 수 있는 글이나 발표로 정리해보는 것은 어떨까요?"
  • "주니어 개발자들의 성장을 도울 수 있는 멘토링에는 어떤 준비가 필요할까요?"

이는 '채찍질'이라기보다는, 완성된 결과물 너머의 깊이를 함께 탐색하며 함께 성장하기 위한 건설적인 자극입니다.

프론트엔드, 그 광대한 웹 생태계

프론트엔드 개발은 단순히 특정 프레임워크를 이해하고 CRUD를 구현하는 것에서 끝나지 않습니다.

  • 빠르게 진화하는 기술 트렌드: 꾸준히 학습하고 적극적으로 따라잡아야 합니다.
  • 최적의 사용자 경험: 서버라는 안정적인 지원 없이도 이를 만들어내야 합니다.
  • 다양한 전문 분야: 검색엔진 최적화(SEO), 웹 접근성, 그리고 최근 각광받는 AI 기술 접목까지.

이 광대한 웹 생태계에서 배울 것은 끝이 없고, 저 역시 매일 부족함을 느낍니다. 만약 중간관리자로서 동료들에게 더 이상 새로운 도전 의욕이나 성장 동기를 부여하지 못한다면, 그들이 다른 환경을 모색하는 것은 당연한 일일지도 모릅니다.

AI 시대, 개발의 본질은 무엇일까?

최근 Copilot 같은 AI 도구의 등장은 많은 개발자에게 '나의 역할은 무엇인가?'라는 질문을 던지고 있습니다. 단순 CRUD 업무가 자동화되면서, 개발의 의미와 목표 설정에 대한 고민이 깊어지는 것은 자연스러운 일입니다.

하지만 이는 위협이라기보다 개발의 본질에 더 집중할 기회입니다. AI가 코드 작성의 '어떻게'를 덜어주면서, 우리는 '무엇을, 왜' 만들어야 하는지에 더 깊이 파고들 수 있게 되었습니다.

이제 개발자의 진정한 가치는 단순히 코드를 짜는 것을 넘어, 복잡한 문제를 정의하고, 견고한 시스템을 설계하며, 사용자 경험을 깊이 이해하고, 나아가 AI를 비판적으로 활용하여 더 나은 결과물을 만드는 능력에 있습니다. 결국 AI 시대는, 단순 반복을 넘어서는 깊이 있는 학습과 끊임없는 호기심, 그리고 복잡한 문제 해결 능력이 개발자의 핵심 경쟁력임을 더욱 분명히 보여주고 있습니다.

개인적인 경험: 모놀리식에서 마이크로 프론트엔드로

현재 회사에 처음 합류했을 때 비슷한 어려움이 있었습니다. 거대한 모놀리식 저장소에 모든 서비스가 얽혀 있어 코드 변경의 영향 범위를 파악하기 어려웠고, 성능 관리는 거의 이루어지지 않아 사용자 불만이 많았습니다.

이후 팀에서는 논의를 거쳐 주요 서비스 단위로 분리하고, 각 서비스에 별도의 저장소와 URL을 부여하여 담당 팀 또는 개발자에게 책임과 권한을 함께 부여하는 마이크로 프론트엔드 방식을 채택했습니다. '이 서비스의 기술적 방향과 품질은 우리 팀이 주도적으로 만들어간다'는 주인의식을 심기 위함이 었습니다.

물론, 팀 전체의 기술 표준과 가이드라인을 설정하고, 주기적인 공유와 코드 리뷰를 통해 파편화를 막고 일관성을 유지하는 노력도 병행했습니다. 목표는 명확했습니다. 서비스 전체의 성능을 개선하고, 배포 과정을 더 안정적이고 가볍게 만드는 것.

이러한 변화는 레거시 시스템에서는 시도하기 어려웠던 다양한 기술(함수형 프로그래밍, 차세대 프레임워크 기능, 새로운 상태 관리 패턴 등)을 자율적으로 탐색하고 적용해볼 기회를 제공했습니다. 시행착오와 성공 경험들은 팀원 각자의 소중한 자산이 되었고, 이를 공유하며 함께 성장하는 문화를 만들 수 있었습니다.

이 과정에서 자연스럽게 모노레포, 공통 유틸리티 라이브러리, 디자인 시스템의 필요성이 대두되었고, 이 문제들을 해결하며 번들러, 빌드 시스템 등 웹 개발의 더 깊은 영역을 학습하게 되었습니다. 팀원들은 '내가 하던 프론트엔드 업무는 웹 개발의 아주 작은 부분이었구나'라는 깨달음을 얻으며 시야를 넓혔습니다. AI 도구의 도움을 받는다면, 이 학습 시간은 훨씬 단축될 수도 있을 것입니다.

새로운 도전, 함께 만드는 성장 문화

혹시 팀원들이 목표와 성취감을 잃고 있다면, 늘 하던 유지보수 업무 외에 새로운 기술적 도전 과제를 작게라도 시작해볼 수 있도록 독려하고 지원해보시는 건 어떨까요?

  • "최근 사용자 성능 지표에서 개선할 부분을 발견했는데, 함께 원인을 분석하고 개선해보면 재미있을 것 같지 않나요?"
  • "우리 서비스의 특정 부분이 기술 부채가 많은데, 이번에 새로운 기술 스택을 소규모로 적용해서 점진적으로 리팩토링해보는 파일럿 프로젝트를 진행해볼까요?"
  • "외부에서는 이런 기술이 핫하다던데, 조그만 서비스를 만들어서라도 새로운 프레임워크를 적용해 보면 어떨까요?"

완벽한 시니어 리더가 없어도 괜찮습니다. 중요한 것은 팀원들 스스로가 주도적으로 현재 상황에 대해 끊임없이 토론하고, 더 나은 방향을 함께 모색하는 문화를 만드는 것입니다. 이 과정 자체가 개발자로서의 역량 향상에 큰 도움이 됩니다.

끊임없는 질문과 호기심: 우리의 진정한 경쟁력

개발자 스스로에게, 그리고 동료들에게 끊임없이 질문을 던지세요. 새로운 것을 시도하며 함께 성장할 수 있도록 서로 응원하고 지지하는 환경을 만들어주세요.

  • 익숙한 코드의 내부 동작 원리를 깊이 파고들기
  • 복잡하게 압축된 소스 코드를 분석해보기
  • "왜 이렇게 만들었을까?", "더 좋은 방법은 없었을까?" 근본적인 질문 던지기

이러한 과정들이 잃어버렸던 호기심을 되찾고 한 단계 더 성장하는 원동력이 될 것입니다. 그리고 이 깊이 있는 고민과 성찰이야말로, 급변하는 AI 시대에 우리 프론트엔드 개발자들의 진정한 경쟁력이 될 것이라 믿습니다.