안녕하세요 컴퓨터공학을 공부중인 학부생입니다. 최근 진로관련한 결정을 하기앞서 궁금한 점이 생겨 질문드립니다. 우선 저는 학교에서 강의를 들으며 팀프로젝트를 진행했었고 그중에서 프론트앤드를 담당하여 리액트로 수행했습니다. 공부하면 공부할수록 프론트앤드는 사용자에게 직접적인 경험을 선사해주므로 참으로 매력적으로 느껴졌습니다. 사실 디자이너를 따로 구하지 못했기에 ui/ux적인 부분도 제가 맡아서 수행했습니다. 어떻게 보면은 저는 제대로된 프론트앤드를 아직 경험하지 못한걸수도 있습니다. 제가 느낀 매력은 프론트앤드가 아니라 ui/ux적인 부분일수도 있겠다라는 생각도 잠시. 최근에 앱개발과 관련된 강의를 수강하면서 플러터를 이용한 실습을 진행하였는데 역시나 저는 프론트앤드쪽이 잘 맞다는 생각을 다시한번 했습니다. 그런데 최근들어서 여러 소문들에 주춤하고 있는 상태입니다. 1. 프론트앤드는 비개발자/비전공생이 쉽게 접근하기에 좋은, 진입장벽이 낮은 분야이다. 2. 연차가 쌓였을때 신입과의 기술 격차가 백앤드나 다른분야에 비해 차이가 작다. 3. 백앤드같은 다른분야에 비해 계속해서 신기술이 빠르게 나오기 때문에 최신기술을 계속 찾아보고 익혀야한다. 4. 코드수명이 백앤드에 비해 짧다. 5. 코드를 유지보수하기보다는 아예 갈아엎고 새로 만드는 편이다. 또한 제 생각은 기업입장에서는 돈이 제일 중요한데 프론트앤드에서 연차에 따른 실력차이가 크지않고 그에 따른 결과물도 엄청난 차이를 보이지않는다면 몸값이 높은 경력직보다는 중고신입을 쓰지않을까 하는 생각입니다. -------------------------------------- 질문드리는 것은 1) 위와 같은 소문들에 대해서 현업에 종사하고 계시는분들의 생각은 어떠한지 궁금합니다. 2) 또한 비전공자와 전공자의 프론트앤드 개발자 차이가 CS 지식일텐데 그것이 얼마나 현업에서 차이를 주는지도 궁금합니다. 너무 어리석은 질문 죄송합니다.
답변 2
인기 답변
안녕하세요, 프론트엔드 풀타임 3년 백엔드 풀타임 1년 반 경력이 있는 프론트엔드 개발자입니다. 질문에 대한 답변을 드리자면 1. 네. 백엔드에 비해 진입장벽이 낮은것은 사실입니다. 아무 튜토리얼만 잡고 시작해도 금방 따라할 수 있습니다. 대신 이 진입장벽이 낮다 == 쉽게 마스터할 수 있다 는 아닙니다. 2. 아니요. 높은 연차일수록 능력있다는 뜻은 아니지만, 경험이 많을 수록 문제상황을 마주했을 때 쉽게 풀어갈 힘이 생깁니다. 물론 마주해온 경험들을 내 것으로 만든 개발자일때 말이죠. 3. 네, 아니요. 프론트엔드 쪽이 제 경험상으로도 라이브러리 메이저 업데이트도 잦고, 언어 자체도 새 스펙이 매년 나오고, 트렌드가 자주 바뀌긴 합니다. 그러나 백엔드라고 해서 한번 공부한 것을 천년만년 우려먹을 수는 없습니다. 대신 백엔드쪽이 더 기둥이 되는 필수 지식이 많기 때문에 학습 진입장벽이 높고, 그 기둥들이 잘 바뀌지 않을 뿐입니다. 4. 네... 프론트엔드 특성상 화면 디자인이 바뀌면 코드도 같이 바뀔 확률이 높습니다. 백엔드는 뷰에 대한 의존성이 비교적 낮기 때문에 코드 수명이 비교적 긴 편입니다. 대신, 백엔드에서는 성능 개선을 위한 코드 리팩토링이나, architecture 개편 등에 의한 대대적인 재개발이 있기도 합니다. 5. 아니요. 확장성을 고려한 코딩을 한다면 얼마든지 매번 새롭게 개발하지 않아도 됩니다. 매번 갈아엎어야 하는 코드는 좋은 코드라고 볼 수 없습니다. 그리고 지속가능한 코딩을 할 수 있는가가 좋은(=연차 높은, 높은 연봉을 받는) 개발자의 판단 기준이기도 합니다. 제가 직접 이직을 위해 취업시장에 나와보며 느끼는 점이 있습니다. 회사들은 잘 하는 프론트엔드 개발자를 찾고 있습니다. 그리고 다들 잘 하는 프론트엔드 개발자를 찾기 어렵다고 하시더라구요. 프론트엔드 분야 내에서 풀어내야 할 어려운 문제들은 백엔드 만큼이나 굉장히 많고 다양합니다. 저 또한 해결하지 못하는 문제들도 있어서 항상 구글링하고 관련된 강의 찾아보고 공부합니다. 새로운 기술 트렌드 뿐 아니라, 내가 개발해야하는 어플리케이션의 뷰와 로직을 어떻게 현명하게 풀어낼것인가도 항상 고민하는 문제입니다. 점점 개발해야하는 디자인, 기획 요구사항은 고도화되고 있기 때문에 비슷해 보이는 페이지여도 매번 다르게 해결해야합니다. 잘 하는 프론트엔드 개발자는 기획, 디자인 요구사항에서 빠르게 개발이 어려울 부분을 캐치해 개발 전에 피드백을 줘야 하고, 기존 코드를 재사용하고, 확장성 있는 코드를 짜고, 다양한 브라우저, 디바이스에서 문제없이 돌아가도록 안정성을 보장하며, 때로는 BE, 데이터, 기획, 디자인 사이 중간 톱니바퀴 역할을 적절히 해 전체 프로젝트가 원활히 돌아갈 수 있게 해야 합니다. 그 외 신경써야하는 자잘한 요소들도 많죠. 프론트엔드는 쉬워보이지만 복잡성이 굉장히 높은 분야입니다. 따라서 잘못 짜다보면 말씀하신것처럼 수명이 짧은 코드가 생기고, 매 업데이트마다 지우고 새로 만드는게 나은 수준이 되기도 합니다. 하지만 회사 입장이라면, 매번 똑같은 시간을 절대적으로 필요로 하는 개발자보다, 처음에 좀 더 고민해서 오래 걸리더라도 이후 업데이트들에 시간 리소스 소모가 적은 개발자를 선호하지 않을까요? 저는 이 차이가 O(N)과 O(logN)처럼 시간이 갈수록 벌어진다고 생각합니다. 그리고 마지막 질문에 대한 답변입니다. 제가 비전공자가 아니라 CS지식의 유무가 어떤 영향을 미치는지 잘은 모르겠으나, 저는 학교 다녔을 때 배운 CS과목들을 통해 은연중에 프로그래밍의 essense를 조금씩 익혀왔다고 생각합니다. 시간적, 공간적 제약을 어떻게 해결할 것이냐, 복잡한 문제을 어떻게 잘 책임을 나눠 해결할 것인가 등... 제가 통달하지는 못했지만 일 할때 문득문득 학교에서 배운 지식들이 떠오르고, 그게 문제 해결에 영감을 주기도 합니다. 그리고 어려운 과제들이 로직 개발 능력에 도움이 되었다고 생각합니다. View의 개입이 없는 시스템프로그랭, OS 과제들을 통해 복잡한 문제를 해결하는 법을 배운 것 같습니다. 물론 이 두가지 모두 대학과정을 수료하지 않더라도 개인 프로젝트나 현업에서 배울 수 있는 것들이라고 저는 생각합니다. 대신 전공자든 비전공자든 뇌 빼고 하면 내 것이 되어있지는 않겠죠 😇 프론트엔드 분야에 접근하는 진입장벽이 점점 낮아지는 것은 너무도 좋은 현상입니다. 그만큼 개발이라는 숨어있던 적성을 발견할 수 있는 분들이 늘어나고 있다는 뜻이니까요! 그렇다고 해서 프론트엔드 분야가 경쟁력이 없거나 백엔드보다 낮은 연봉을 받는다는것은 아닙니다. 여전히 업계는 전문성있고 다양한 문제를 경제적이고 멋지게 해결해온 프론트 개발자들을 찾고있고, 또 찾기 어려워하고 있습니다. 저 또한 한때, 프론트엔드 분야 지식과 코드가 너무 휘발성인것 같아 잠시 백엔드에 몸담았던 때가 있습니다. 하지만 백엔드 개발자로 일 할때도 여전히 매일매일 공부해야 했습니다. 그냥 개발자는 매일 공부하는게 맞다는 것을 느꼈습니다 😄 그래서 더 저에게 재미있는 프론트로 다시 돌아와 일했습니다. 이 복잡하고 복잡한 문제를 해결하는 것이 더 흥미롭습니다. 개발 능력 뿐 아니라 커뮤니케이션도 중요하고, 디자인을 놓치지 않는 미적 감각도 중요하고, BE 이해도도 있으면 좋습니다. 프론트엔드 분야가 잘 맞으시다면 한번 진득하게 시작해보시면 어떨까요? 무궁무진한 문제상황들을 효율적으로 풀기 위해 노력한다면 더 가치있는 프론트엔드 개발자가 되실 수 있으실거에요. 💪 그리고 잘 안맞으면, 백엔드로 옮겨도 되구요. 첫 술에 배부를 수는 없으니까요. 저도 아직 어떤게 잘 하는 개발자인지 찾고 있고, 노력하고있지만 갈 길이 먼 것 같습니다🥲 그래도 조금 먼저 둘 다 경험해본 개발자로서 도움이 되는 답변이 되었기를 바랍니다
정종윤
네이버 프론트엔드 개발자 • 2022년 11월 04일
지나가다가 답변을 읽게 되었는데 멋진 답변이라서 추천했습니다 ㅎㅎ 경험을 근거로 말씀해주셔서 더 공감이 가네요!
조성원
경기대학교 컴퓨터공학 • 2022년 11월 22일
저도 같은 고민을 하고있었는데 많은 도움이 되었습니다. 감사합니다.
박성원
APP 개발리드 • 1월 2일
프론트는 프로덕트와 사용자에게 밀접한 느낌이 있어 재밌는것같습니다😆 일하다보면 PM, 디자이너, 개발자를 이어주는 역할을 하는것같아요 ㅋㅋㅋ
최다인
콘텐츠 웨이브 웹개발팀 • 1월 4일
답변 스크랩 기능이 없는게 아쉬울 정도로 너무 좋은 글이에요! 프론트엔드를 준비하는데 한번 더 확신을 얻고 갑니다! 감사합니다🙂
김가은
플러터 개발자 • 3월 22일
저도 백엔드로 시작했다가 앱개발하면서 프론트영역에 관심을 갖게 되었어요. 질문 내용과 비슷한 고민도 있었고, 답변 보면서도 공감이 많이 되네요. 좋은 질문과 답변 감사합니다!!
ppowerddev
우주비행사 • 5월 11일
도움이 되었습니다 감사합니다!..
프론트엔드에 대한 소문들은 어느 정도 사실이지만, 완전한 진실은 아닙니다. 각 소문에 대해 개별적으로 살펴보겠습니다. 1. 진입장벽이 낮다: 프론트엔드 개발은 비전공자나 비개발자가 시작하기에 상대적으로 쉬운 편입니다. 기본적인 HTML, CSS, JavaScript 지식만 있어도 웹사이트를 만들 수 있기 때문입니다. 하지만 전문적인 수준의 프론트엔드 개발자가 되려면 깊이 있는 지식과 경험이 필요합니다. 2. 연차와 기술 격차: 프론트엔드 개발에서도 경력과 기술의 격차가 존재합니다. 연차가 쌓일수록 신입과의 차이는 분명히 있습니다. 다만, 이 차이가 백엔드 개발자에 비해 상대적으로 작을 수는 있습니다. 3. 신기술의 빠른 변화: 프론트엔드 개발은 기술이 빠르게 변화하는 분야입니다. 이에 따라 최신 기술을 계속해서 학습하고 적용하는 능력이 중요합니다. 백엔드 개발도 변화가 있지만, 프론트엔드에 비해 상대적으로 덜 급진적인 편입니다. 4. 코드 수명: 프론트엔드 코드의 수명이 백엔드에 비해 짧다고 주장하는 것은 상황에 따라 다릅니다. 기술의 변화와 디자인 트렌드에 따라 코드를 변경할 필요가 있지만, 근본적인 구조와 로직은 오랫동안 사용될 수 있습니다. 5. 유지보수보다 갈아엎기: 프론트엔드 코드를 아예 갈아엎기보다는 유지보수하는 경우가 많습니다. 새로운 기술이나 디자인을 도입할 때 기존 코드를 재사용하고 개선하는 것이 효율적이기 때문입니다. 기업의 입장에서, 실력 차이에 따른 결과물의 차이가 작다고 해도, 경력직 개발자는 전략적인 역할을 할 수 있으며, 팀의 성장과 프로젝트 성공에 큰 기여를 할 수 있습니다. 따라서 기업은 신입과 경력직 개발자를 적절하게 조합하여 팀을 구성하는 것이 일반적입니다.
커리어리 AI 봇의 답변을 평가해 주세요!
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직 개발자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!