개발자
안녕하세요 저는 프론트 신입이고 일한지 7개월 돼가는 새싹개발자 입니다. 현재 저는 작은 스타트업에서 자체서비스 프론트업무 및 약간의 백엔드 작업을 하고 있습니다. 스타트업 국룰 스택 (프론트 react & 백 nest ) 로 개발하고있어요 ㅎㅎ 저희 회사에서는 제가 막내고 그 위로 4명의 개발자가 계십니다. 전부 백엔드로 커리어를 시작하셨고 프론트쪽도 능수능란하게 잘 하십니다. 근데 최근에 고민거리가 생겼습니다. 사수분들 왈 , 프론트는 미래가 없다. Ai가 가장 먼저 대체 될 것이다. 그리고 프론트는 기술적 한계가 크다. 기술적 고민이 있으면 그에 맞는 라이브러리 써서 해결하면 끝인거고, 고객 요구사항은 그때 반영해서 수정하면 끝이며 백에 비해 코드 유통기한도 짧아서 유지보수 고려안해도 된다 , 화면에 보여지는게 전부인 프론트는 기술적고민이라곤 성능 최적화가 전부이다. 라고 말씀하시면서 저에게 백엔드쪽으로 전향할 생각이 없냐며 조언을 하시더라구요. 근데 저는 그때 바보같이 사수분들의 말씀에 동조를 했고 그게 맞는거 같아서 받아들였습니다.. 하지만 집가서 다시 되새김질 해보니까 프론트가 진짜 그게 전부일까라는 의문점도 들고 그렇게 따지면 대기업에는 왜 프론트하고 백이 나눠져있으며 역할이 있을까?? 진짜 프론트엔드개발자로서의 기술적 고민은 저게 전부인가?? 라는 의문점이 들었고 괜시리 프론트가 주업무인 저는 뭔가 자존심도 상하고 기분이 썩 좋진 않더라고요.. 사실 저는 백엔드개발경험도 있지만 백보다는 아직 프론트가 무척 재밌고 최근에는 canvas나 threejs로 그래픽스 개발하는거에 흥미를 느끼고 있어서 솔직히 백쪽보다는 프론트를 전문적으로 할수있는 프론트개발자가 되고 싶은데 사수분들의 말씀들 덕분에 점점 흔들리더라고요.. 정말 사수분들 말씀을 듣고 백쪽으로 커리어를 돌려야 할지 의문입니다 ㅠㅠㅠ 여기 선배님들도 저희 회사 사수분들 말씀에 동의를 하시나요???
답변 6
인기 답변
안녕하세요! 저는 현재 프론트엔드를 개발하고 있고, 과거에 백엔드에도 몸을 살짝 담갔던 사람으로 말씀드리자면, 사수분들이 프론트를 능수능란하게 잘 한다고 하셨는데, 저의 의견은 다릅니다. 프론트를 깊게 파고 들수록 어렵고 할 수 있는 일이 무궁무진하다고 생각이 듭니다. 과거와는 다르게 브라우저에서 처리해줄 수 있는 범위와 능력이 제한적이지 않고, 프론트적인 기술도 많이 향상되고 폭이 넓어졌죠. 예를 들어, api 호출을 한다고 했을 때 예전에는 무조건적으로 백엔드에 api 를 요청했다면, 현재는 데이터 페칭 라이브러리를 이용하거나 브라우저 캐시 스토리지를 이용해 캐싱시스템을 설계할 수 있습니다. api를 설계하는 곳이 백엔드라면 api를 호출하고 활용하는 쪽은 프론트엔드니 방법이 더 많겠죠? 게다라, '할 수 있는 것뿐이라곤 성능 최적화뿐이다.' 라고 하셨다는데 사용자가 지루함을 느끼지 않게 뭔가를 처리할 수 있는 사람은 오직 프론트엔드 개발자일 뿐입니다!-자부심을 가지세요 :) 프론트가 무척 재미있으시다면 프론트를 해야합니다. 제가 그랬거든요. 최근에 threejs 사용해서 프로젝트를 런칭한 경험이 있는데, 아주 귀중하고 즐거운 시간이었습니다! '정말 개발자하길 잘했다!' 하는 순간은 오롯이 프론트엔드 코드를 만질때라 즐거운 경험은 같이 나누고 싶네😃
인기 답변
저는 대체적으로 동의하지 않습니다. 사수분이 해주신 이야기들에 제 의견을 한 번 달아보겠습니다. 기술적 고민이 있으면 그에 맞는 라이브러리써서 해결하면 끝이다, -> 반은 맞고 반은 틀립니다. 먼저 내가 구현하려는 요구사항을 완전히 만족하는 라이브러리를 찾기 쉽지 않을 때가 많습니다. 내가 원하는 어떤 기능이 존재하지 않거나, 현재 프로젝트의 패키지 버전과 호환되지 않거나, 특정 환경(특정 OS, 특정 버전)에서 동작하지 않거나, 도입한 다른 패키지와 충돌이 생기는 등 예상치 못한 문제들이 발생하곤 합니다. 프론트 개발자는 이런 상황에서 주어진 시간안에 최선의 해답을 찾아야합니다. 이 문제를 다양한 상황과 변수를 고려해서 해결해야 하는데, AI가 하기엔 쉽지 않을 거라고 생각합니다. 고객 요구사항은 그 때 반영해서 수정하면 끝이다. -> 그렇지 않습니다. 요구사항을 반영하더라도 예상치 못한 버그는 항상 존재하며 이에 상황에 따른 적절한 조치를 내리는 것도 개발자의 몫입니다. 특히 큰 서비스들은 잠깐의 장애로 비즈니스 매출에 큰 타격을 입기도 합니다. 이런 부분을 AI에게 온전히 맡길 수 있을까요? 백에 비해 코드 유통기한도 짧아서 유지보수 고려 안해도 된다, -> 유통기한과 관계 없이 유지보수는 항상 중요합니다. 요구사항에 언제든지 쉽게 대응할 수 있는 환경을 만들어야 개발이 편하기도 하고, 예측 가능한 코드를 작성함으로써 예상치 못한 버그를 방지할 수 있기 때문입니다. 프론트는 기술적 고민이라곤 성능 최적화가 전부이다. -> 유지보수를 고려 안해도 된다는 관점에서의 이야기인 것 같습니다. 기술적 고민은 성능 최적화가 다가 아닙니다. 최적화 말고도 프론트에서 고민할 거리는 많습니다. 쌓여가는 수많은 프로젝트를 모노레포로 관리할지 아니면 멀티레포로 관리할지 (관리한다면 어떤 도구를 쓸 지), 테스트 코드를 사용할 때 어떤 도구를 사용할 지, 구버전을 사용하는 브라우저에 대한 지원을 어떤 식으로 처리할 지, 중복되는 코드를 어떻게 줄일지(추상화 레벨에 대한 고민 등)... 개발자가 늘어나고, 사용자가 늘어나고, 요구사항이 늘어나고, 버그가 많아질 수록 성능 최적화 뿐만 아니라 협업과 유지보수에 대한 고민도 점점 늘어날 겁니다. 결론적으로, 프론트엔드 개발자의 업무는 아직도 인간의 능력이 필요한 부분이 많으며 쉽게 대체되지 않을 거라고 생각합니다.
인기 답변
https://careerly.co.kr/qnas/4602?utm_campaign=user-share 비슷한 문의글에 달린 답변인데요. 매우 좋은 답변이라고 생각하여 공유 드립니다! 한번 읽어 보시기를 권해드립니다! :)
글쓴이께서 언급해주신 프론트엔드 한계에 관한 내용은 백엔드에도 동일하게 적용될 수 있는 말이네요. 애초에 프론트/백으로 개발 분야가 나뉜 것은 분업으로 인한 개발 생산성 향상이 목적이라고 생각합니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!