테헤란벨리 / 백엔드 vs 프론트엔드 비교 영상을 보았다.
등장인물들의 개인적 의견이지만 어떤 분야를 팔지 고민하고 있는 나같은 사람을 위해 정리해서 올려본다.

프론트

  • 코드의 유효 기한이 짧음 (n개월인 경우도 있음)
  • 코드의 유효기간이 짧다 보니 추후에 유지보수가 쉽도록 하는게 별로 도움 되지 않음
  • 백엔드에 비해 '성능을 좋게 할 방법'을 고민하는데 쓰이는 시간의 중요성이 낮음. 그래도 이 고민을 통해 나온 결과물은 써보면 티가 난다(e.g. 토스의 웹뷰)
  • 기획, 디자인 등의 이유로 바뀌는게 엄청 많음
  • 백엔드나 다른 분야에 비해 변화가 극심하게 빠르다 (학습에 즐거움을 느끼고 변화에 스트레스 안 받는 타입이 좋음)
  • 채용 수요가 가장 많다. 이에 비해 팀장급 이상 개발자가 적다.
  • Bleeding Egde: 최첨단
  • 역사가 없어 뭐가 더 나은지에 대해 이야기할 때 진영이 나뉘므로 다양한 의견을 듣고 시도해보길 즐기는 사람이 프론트엔드 개발을 하는게 좋다.

프론트엔드 개발자는 화면에 보이는 모든 것을 만든다. (정재남 님)

  • html, css, js를 이용해 마크업 화면에서 이루어지는 애니메이션과 인터랙션 구현
  • UI 성능 최적화
  • 서버에 데이터 요청하고 응답을 받아서 화면에 뿌려주기 (XMLHttpRequest, 웹소캣, 쿠키, 로컬스토리지, 세션스토리지)

보통 문제가 생기면 디자이너나 기획자가 제일 먼저 찾는 사람이 프론트엔드. 프론트엔드가 원인을 파악하고 백엔드로 넘겨주는 경우가 많음. => 커뮤니케이션 스킬이 중요!

프론트엔드 개발자 전망

  • SPA 시대가 되면서 템플릿 언어까지 프론트엔드가 맡는 경우가 많아짐.
  • GraphQL 등 데이터를 직접 가공하는 일까지 넘어오는 추세
  • 데이터 캐싱, 라우터 관리 등 업무 영역이 넓어지고 있음

백엔드

  • 백엔드 개발에서는 기술적 성능을 높이면 돈으로 직결된다. (프론트에서는 성능이 좋아져도 차이가 미묘한 경우가 많음)
  • 추상적 사고력 중요 (완전 추상화된 세계)
  • 설계를 지루해하지않고 트래픽이 늘었을 때를 상상해 설계할 줄 알아야함
  • 백엔드 기술의 발전, 역사를 알고 기술이 어떻게 전 기술을 보완하며 발전했는지 파악하면 이해가 쉬움

나의 결론

위 영상에 나온 바로는 나는 앞구르기뒷구르기 프론트엔드 개발자...
내가 변화, 새로운 것을 좋아한다고 해도 너무 빠르게 발전하니까 좀 압도당할 때가 있었는데
여전히 더 고민해봐야할듯...ㅎ