[프론트엔드] 백엔드 개발자에 의한, 백엔드 개발자를 위한 프론트엔드

#프론트엔드
Written by Sungbin2025년 11월 9일 · 2 min read

시리즈의 글 (5개)

  1. [프론트엔드] css
  2. [프론트엔드] Javascript
  3. [프론트엔드] HTML
  4. [프론트엔드] 프론트엔드에 대해
  5. [프론트엔드] 백엔드 개발자에 의한, 백엔드 개발자를 위한 프론트엔드

해당 포스팅은 인프런의 백엔드 개발자에 의한, 백엔드 개발자들을 위한 프론트엔드 강의 - 기본편를 참조하여 만들었습니다.

banner

소개

해당 시리즈 포스팅을 왜 작성하려고 하는지 알아보자. 현재 필자는 백엔드 개발자이다. 그런데 백엔드 개발자가 프론트엔드 지식을 알아야 할까? 혹은 백엔드 개발자여서 보여줄 수 있는게 API 문서밖에 없는데 포트폴리오는 어떻게 작성해야 할까? 이에 대한 답변으로는 다음과 같을 것이다.

본인이 만든 API를 서비스화를 하면 가장 좋다라는 답변이다. 물론 백엔드 개발자이기에 프론트엔드가 엄청 안 뛰어나도 좋다. 기본적으로 동작만 하면 되는 것이다. 또한, 백엔드 개발자여서도 실무에서 어드민 사이트를 만들때 기본적으로 이것은 백엔드 개발자가 할때가 많다. 이를 위해 백엔드 개발자도 어느정도의 기본적인 프론트엔드 지식을 아는 것이 중요하다. 그러면 단순히 이런 이유로 백엔드 개발자가 프론트엔드 지식을 알아야 할까? 그것은 아니지만 좀 더 자세한 이유를 알아보도록 하자.

백엔드 개발자가 프론트엔드를 알면 좋은 이유

지금부터 백엔드 개발자가 프론트엔드 지식을 알면 좋은 이유를 상세히 알아보도록 하겠다. 해당 내용은 필자의 주관적인 의견이 많이 들어가져 있으니 그냥 이렇구나라고 받아들이고 이해가 안 되는 것은 그냥 흘려들어도 좋을 것이다.

모든 백엔드 개발자가 프론트엔드 개발자와 일하는 것은 아니다.

모든 백엔드 개발자가 프론트엔드 개발자와 일하는 것은 아니다. 필자도 처음에는 어떤 서비스를 프론트엔드 개발자와 백엔드 개발자가 같이 만들어나간다라고 생각했다. 하지만 모든 서비스가 그런 것은 아니다. 작은 규모의 팀이나 스타트업같은 경우에는 백엔드 개발자가 프론트 업무도 같이 하는 풀스택 업무도 겸하고 있다. 혹은 대기업에서 규모가 있는데에서도 모든 백엔드 개발자가 프론트엔드 개발자와 같이 일하는 것은 아니다.

일반적으로 어떤 서비스에 대하여 클라이언트와 뭔가 접점이 있는 서비스를 개발해야 한다면 프론트엔드 개발자와 같이 일하기 마련이다. 그러나 이러한 서비스를 유지하기 위해서는 내부적으로 많은 작업들이 이뤄져야 한다. 예를 들어 고객이 사용하는 서비스 뒷단에 여러 서비스들이 엮여져 있는 경우가 대표적이다. 그리고 이런 뒷단의 서비스들은 API 단독으로 이루어질 때도 있지만 때로는 운영자들이 사용하는 UI를 가지고 있기도 하다. 이런 내부 서비스들의 UI는 프론트엔드 개발자가 개발하기 보다는 백엔드 개발자들이 개발을 진행하고 유지보수 하는 경우가 많다. 만약 우리가 이런 백오피스같은 것을 만든다고 생각해보면 프론트엔드를 그래도 할 줄은 알아야 한다는 생각이 들 것이다.

사용자가 어떤 형태로 서비스를 사용하는지 고려하지 않으면 좋은 API를 만들기 어렵다.

다음으로 사용자가 어떤 형태로 서비스를 사용하는지 고려하지 않으면 좋은 API를 만들기 어렵다. 예를 한번 들어보자. 만약 아래와 같이 우리가 사용자에게 서비스에서 발생한 이벤트에 대한 알림을 보여준다고 가정해보자.

image01

그런데 이런 알림 기능이 사용자들이 사용하기에 편한 형태가 되려면 어떻게 해야할까? 보통은 어떤 알림이 오면 해당 알림이 어떤 내용인지 확인하려고 클릭을 할 것이다. 그러면 해당 알림을 만들때는 관련된 내용에 대한 링크가 걸려있어야 할 것이다. 만약 이런 것을 생각하지 않는다면 링크는 제외하고 알림 목록만 뿌려줄 경우가 있을 것이다. 이런 경우는 좋지 못한 경우이다. 만약 사용자가 해당 알림 기능을 어떻게 사용할지를 고민했다라면 API 설계 단계부터 고려하여 개발을 진행했을 것이다.

백엔드 개발자를 뽑고 있지만 입사 후, 프론트엔드를 해야할 수도 있는데 누굴 뽑아야 할까?

만약 지원자 2명이 있을 때 한 분은 백엔드 개발만 할 줄 알고 한 분은 프론트엔드 개발도 어느정도 할 수 있다고 해보자. 물론 두 지원자의 백엔드 역량은 동일하다고 보는 것이다. 그러면 채용담당자 입장에서는 후자를 채용할 것이다. 당장 실무에서 백엔드 개발자가 백오피스와 같은 작업을 진행할 때 프론트 기술도 어느정도 필요하기 때문에 후자를 채용할 수 있겠지만 나중에라도 프론트로 간단한 작업을 맡겼을 때도 수용적으로 받아들이냐 아니냐에 문제이기 때문이다.

프론트엔드 개발까지 할 줄 알아야 혼자서 온전한 서비스를 만들 수 있다.

우리는 왜 개발을 할까? 이유는 누군가 사용 할 서비스를 만들기 위해 개발을 한다. 개인적으로는 하나의 온전한 서비스를 만들어 본 경험이 개발자로서의 성장하는 과정에서 큰 동기부여가 될 것이다.

HTTP

백엔드 개발자가 프론트엔드에 대한 지식을 어느정도 알면 개발자 도구와 친해지고 프론트에서 어떻게 HTTP 요청을 보내거 받는지 그것이 서버에서 어떻게 오는지 전반적인 흐름을 알 수 있게 되었고 HTTP라는 규약에 대해서도 어느정도 이해가 될 것이다.