2P by GN⁺ 14일전 | ★ favorite | 댓글 1개
  • 많은 프론트엔드 팀이 프론트엔드를 새로 작성하면 성공할 것이라고 확신함
    • 하지만 프론트엔드 프레임워크 선택은 장기적인 제품 개발에서 가장 중요하지 않은 기술적 결정
    • 프레임워크 선택에 시간을 낭비하는 것은 비효율적임
  • 프레임워크는 5년 안에 구식이 될 가능성이 높음
    • 프론트엔드 커뮤니티는 빠르게 변화하기 때문에 프레임워크는 자주 업데이트되거나 새 버전으로 대체됨

스마트한 프로덕트 팀의 접근 방식

  • 똑똑한 제품 팀은 프레임워크를 바꾸는 대신 현재 프레임워크에 대한 깊은 이해를 추구함
  • 프레임워크 변경은 함정임
  • 현재 사용하는 도구를 깊이 이해하고, 작업에 방해가 되지 않도록 하는 것이 중요함

구직 엔지니어를 위한 조언

  • 특정 프레임워크에 강한 선호가 있다면, 그것을 기준으로 일자리를 찾을 것
  • 기존 팀에 들어가서 프레임워크 변경을 설득하려 하지 말 것
    • 이는 팀에 큰 비용과 혼란을 초래함

프론트엔드 기술 비용을 줄이는 방법

  • 기본 웹 기술에 집중해야 함
  • 복잡한 추상화 계층을 줄이고, 웹 플랫폼의 기본 기능을 재학습해야 함
  • 이를 통해 장기적으로 더 나은 가치 제공 가능
    • 핵심 웹 기술에 가까운 상태를 유지하면 새로운 엔지니어를 쉽게 채용할 수 있음
    • 대규모 코드 리팩토링 없이도 생산성 유지 가능

엔지니어의 장기적인 경력 관리 전략

  • 핵심 웹 기술을 깊이 이해하면 장기적인 경력 가치가 높아짐
  • React 이전에도 있었고, React 이후에도 살아남을 수 있음
  • 최신 인기 기술을 배우는 데 집중하는 것보다 기본 기술을 익히는 것이 더 유리함
  • 기술 변화로 인해 해고될 가능성은 항상 존재함
    • 특정 기술에 의존하기보다 기본기를 강화하는 것이 더 안정적임

현업에서 솔직하게 말하기 어려운 이유

  • 관리직에 있을 때는 이런 솔직한 발언이 어려움
  • 동기가 의심받거나 팀의 반발을 살 수 있음
  • 20년 이상 경험에서 얻은 교훈이므로 현실적인 조언임

프론트엔드 생태계의 문제점

  • 현재 프론트엔드 생태계는 복잡함
  • 신입 개발자가 필요한 기술을 배우기가 어려움
    • 복잡한 툴 때문에 좌절하고 있음
    • 기본적인 개발자 채용도 어려워지고 있음
  • 현재 기술 생태계에서 배운 기술은 추상화가 너무 심함
    • 기술 변화 시 큰 불리함으로 작용할 수 있음

웹의 정체와 도구의 문제점

  • 웹의 정체는 도구의 복잡성이 원인
  • 개발자들이 창의적이고 멋진 것을 만들고 싶어 하지만 도구가 방해됨
  • 기본 웹 기술 학습이 비효율적이라는 인식이 문제임

개인적인 입장

  • 필자는 오랫동안 웹 개발에 열정적이었음
  • 웹은 여전히 강력하고 독특한 플랫폼임
  • 웹 플랫폼의 기본 도구는 매우 우수함
  • 하지만 현재의 프레임워크 계층은 웹 플랫폼의 본질에 역행하고 있음
Hacker News 의견
  • 최근 FE 코드의 빌드 시스템을 yarn에서 pnpm으로 교체하는 작업을 하고 있음

    • 백엔드 엔지니어지만 JS 작업도 많이 해왔음
    • FE 작업을 하면서 가장 답답한 점은 거의 모든 것이 사용 중단된다는 것임
    • 예를 들어, 2022년에 apollo CLI를 사용했는데, 이제는 사용 중단되어 graphql-client를 배워야 함
    • 의존성을 패치 업그레이드하려고 하면 타입 시그니처에 의존하지 않기를 바라는 수밖에 없음
    • 결국 빌드가 완료되지만, 수백 개의 사용 중단 경고가 나옴
    • FE 개발은 변화와 사용 중단을 너무 쉽게 받아들이는 것 같음
    • Rust 프로젝트에서는 4년 동안 몇 번의 작은 변화만 있었음
    • JS에서는 6개월마다 무언가를 다시 작성해야 하는 것 같음
  • FE에서 20년 가까이 일해왔고 여러 패러다임 변화를 경험했음

    • 핵심 웹 기술을 아는 것이 더 다재다능한 엔지니어가 되는 데 도움이 된다고 생각함
    • 그러나 이것이 취업 시장에서 더 매력적으로 만드는지는 의문임
    • React에 매우 능숙해야 시장 가치를 극대화할 수 있음
  • 프론트엔드 개발자가 아니지만, React를 10년 동안 사용해왔음

    • Svelte로의 이동이 있지만, React가 여전히 강력함
    • 프론트엔드 개발은 빠르게 변하지만 그렇게 나쁘지는 않음
  • 프론트엔드 프레임워크를 사용하지 않는 것이 트레드밀에서 벗어나는 방법임

    • 서버 사이드 렌더링과 필요한 경우에만 JavaScript 사용
  • LLM이 더 두드러지면서 새로운 기술에 대한 관심이 줄어들 것임

    • Bevy와 Svelte에서의 경험을 통해 새로운 도구보다 기존 도구를 선호하게 될 것임
  • Vanilla JS와 CSS의 발전으로 서버에서 템플릿 HTML과 필요한 곳에서 JS를 사용하는 것이 더 의미가 있음

    • React와 같은 프레임워크가 여전히 강력하지만, 서버에서의 UI 상태 관리가 더 쉬움
  • 프론트엔드 문제가 아니라 큰 생태계의 문제임

    • Java에서도 비슷한 상황을 경험했음
    • 백엔드에서는 새로운 언어로의 전환이 더 큰 문제임
  • 웹 개발 초기에 Svelte와 React에 대한 이야기를 들었지만, MDN을 읽고 다른 것은 무시하는 것이 좋음

  • React를 10년 넘게 사용해왔고, 프레임워크가 5년 안에 구식이 된다는 주장에 동의하지 않음

  • 20년 넘게 웹 개발을 해왔고 CHAMP 스택에 만족함

    • CHAMP는 CSS, HTML, Apache, MySQL, PHP를 의미함
    • 프레임워크를 사용하지 않고 기존 기술을 고수한 것이 만족스러움