백엔드 개발자 로드맵 및 공부 순서ㅣ기술 면접 질문, 포트폴리오 예시

인사이트

백엔드 개발자 로드맵 및 공부 순서ㅣ기술 면접 질문, 포트폴리오 예시

2023년 02월 10일

프론트엔드 개발자가 사용자가 눈으로 보는 영역을 구축하고, 기능을 구현하는 개발자라면 백엔드 개발자는 사용자의 눈에 보이지 않는 영역을 개발하고 관리하는 개발자입니다. 프론트엔드 개발자, 백엔드 개발자의 역할이 다른만큼 공부 방법과 취업 준비 방법도 다를 수밖에 없는데요.

프론트엔드 개발자 로드맵에 이어 오늘은 백엔드 개발 분야로 취업하고 싶은 분들이 어떻게 방향을 잡아 공부해야 할지, 어떻게 취업 준비를 하면 좋을지 알려드릴게요.


백엔드 개발 정의

백엔드 개발은 웹 애플리케이션의 서버 측 구성 요소 생성을 의미합니다. 여기에는 데이터 저장, 처리 및 검색과 서버 측 비즈니스 논리를 처리하는 코드 작성이 포함됩니다. 이 작업은 일반적으로 Python, Java, Ruby 및 PHP와 같은 프로그래밍 언어를 사용하여 수행되며 종종 데이터베이스 및 웹 서버와 함께 작업하여 프론트엔드에서 사용할 수 있는 API를 생성합니다. 백엔드 개발의 목표는 애플리케이션을 강화하고 해당 기능을 지원하는 안정적이고 확장 가능하며 효율적인 시스템을 구축하는 것입니다.

백엔드 개발자가 하는 일 🧑‍💻

백엔드 개발자는 여러분이 지금 보고 있는 홈페이지, ‘웹’을 개발하는 웹 개발 영역 중 가장 중요한 영역중 하나로, 사용자가 필요로 하는 정보들을 저장하고 관리하고, 전달하는 영역을 담당하는 개발자입니다.

백엔드 개발자가 담당하는 주요한 작업 중 하나는 바로 서버 관리입니다. 평소에 게임을 하거나, 수강신청, 콘서트 티켓팅 등을 진행할 때 “서버가 터졌다!”라는 표현을 들어 보셨을 텐데요. 백엔드 개발자가 개발 및 관리하는 것이 바로 이 서버입니다.

백엔드 개발자가 담당하는 주요한 작업은 데이터를 저장, 관리하는 것 뿐만 아니라 데이터 처리 시간을 줄이고, 사용자의 수를 늘리는 것 등과 같은 작업도 포함됩니다. 이런 작업을 위해서는 웹 서비스의 전체적인 구조를 이해해야 하고, 상대적으로 더 논리적이고 효율적인(알고리즘 적인) 사고가 요구됩니다. 이는 퍼즐 해결 능력과 비교해 볼 수 있는데, 단순히 퍼즐을 푸는 것 만으로는 만족하지 않고, 더 효율적이고 빠르게 퍼즐을 풀 수 있는 방법을 찾는 것이 좋아하는 분들에게는 학습하기에 더 즐거운 과정이 될 것입니다.

백엔드 개발에 사용되는 언어는 대표적으로 Java, Python, JavaScript(Node.js) 등이 있습니다. 기초적인 자바스크립트 학습과 많이 쓰이는 언어 중 한 가지를 선택하여 깊이 있는 지식을 습득하고 확장해 나가는 것이 좋습니다.

백엔드 개발자 공부 로드맵 🗺

백엔드 개발 공부 방향을 어떻게 잡아야 할지, 어디서부터 시작해야 할지 막막한 분들이라면 포털 검색 창에 ‘백엔드 개발자 로드맵’, ‘백엔드 공부 로드맵’, ‘Back End Developer Roadmap’을 검색하여 어떤 순서로 학습해야 하는지 큰 그림을 먼저 확인하시길 권장드립니다. 다양한 백엔드 공부 방향과 목표를 달성하기 위해 필요한 기본 기술과 주요 개념, 프레임워크 등을 상세히 확인할 수 있어요. 이미 백엔드 개발 분야를 독학하고 현업에서 일해본 많은 선배 개발자들이 추천하는 학습 순서이므로, 이를 적절히 고려하여 학습 과정을 세운다면 도움이 되실 거예요.

백엔드 공부 로드맵을 처음 보시는 분들이라면 방대한 길이에 당황하실 수도 있어요. 특히 처음부터 끝까지 독학해야 하는 비전공자라면 모든 것을 익혀야 한다는 부담감에 힘이 빠지실 수도 있고요. 하지만 걱정하실 필요 없어요! 회사에서는 아래에 나와 있는 모든 스킬을 요구하지 않고, 회사마다 필요로 하는 스킬 셋이 조금씩 달라요.

백엔드 개발자 로드맵-백엔도 공부방법-공부 순서
백엔드 개발자 로드맵 (출처 : https://roadmap.sh/backend, 이미지 코드스테이츠 자제 체작)

따라서 필수로 알아야 하는 언어부터 시작해서 차근차근 익히면서 상황에 맞는 기술 스킬을 숙달하는 것이 가장 중요합니다. 원하는 회사에서 요구하는 스킬까지 찬찬히 준비한다면 기본기가 탄탄한 백엔드 개발자로 성장하실 수 있을 거예요.

백엔드 개발자 공부 순서

신입 백엔드 개발자가 되고 싶다면
어떤 순서로 공부해야 할까요? 📖

그렇다면 백엔드 개발자 로드맵 2023 버전을 앞부분만 간단하게 같이 살펴볼까요? 보라색 체크 표시가 되어 있는 부분은 필수로 알아두면 좋은 내용입니다.

백엔드 개발자 로드맵-공부 방법-공부 순서

백엔드 기초 개념

인터넷 (Internet)

  • 인터넷(Internet)은 어떻게 작동할까?
  • HTTP는 무엇일까?
  • 브라우저(Browser)는 무엇이고 어떻게 작동할까?
  • DNS는 무엇이고 어떻게 작동할까?
  • 도메인 이름(Domain Name)은 무엇일까?
  • 웹 호스팅(Web Hosting)은 무엇일까?

기본 프론트엔드 지식

  • HTML / CSS / 자바스크립트

백엔드 프로그래밍 언어 학습

  • Java
  • Python
  • Ruby
  • PHP 등

백엔드 개발에 사용되는 주요 언어들 중 선택하여 깊게 학습하세요. 국내에서는 주로 Java를 많이 학습하며 코드스테이츠 백엔드 개발 부트캠프에서도 Java를 학습하고 있습니다.

백엔드 개발은 데이터 베이스, 프레임워크, 웹 서버 등을 통해 웹 사이트 기능을 수행하도록 하는 것이 요구됩니다. 따라서 사용하는 언어의 동시성, 메모리 모델 등의 디테일도 함께 공부해야 합니다.

OS 및 백엔드 개발 일반 지식

  • 터미널 사용
  • 운영체제
  • 프로세스 관리
  • 스레드 및 동시성
  • 기본 터미널 명령
  • 메모리 관리
  • 프로세스간 통신
  • I/O 관리
  • POSIX 기초
  • 기본 네트워킹 개념

위에서 이야기한 것 외에도 깃과 깃허브, 관계형 데이터베이스에 대해서도 순차적으로 학습하시길 추천드립니다.

백엔드 독학, 시작부터 막막하다면?

독학으로 백엔드 개발을 공부하는 방법도 있지만 부트캠프를 통해 웹 백엔드 개발의 기초지식을 배우는 방법도 있습니다.

코드스테이츠에서는 자바, 스프링, 데이터베이스를 학습하여 백엔드 전반에 대한 기초를 쌓을 수 있고 프론트엔드 개발자와의 협업을 통해 실무에 가까운 프로젝트를 진행할 수 있습니다. 과정 중 평균 35명과 짝을 이루어 함께 코드를 짜는 페어 프로그래밍도 협업 능력을 향상시킬 기회입니다. 내가 알고 있는 것을 상대방이 이해할 수 있도록 설명하는 과정을 통해 자연스럽게 기술 면접을 대비할 수도 있고요.

코드스테이츠 엔트리코스를 통해서 백엔드 코스를 미리 만나볼 수 있습니다. 가상공간 ZEP에서 결과물을 직접 만들어보며 프론트엔드, 백엔드 포지션에 대한 이해도를 높이고 5일로 압축된 백엔드 커리큘럼을 미리 체험해볼 수도 있어요.

백엔드 개발자 로드맵-공부 순서-공부 방법
코드스테이츠 프론트엔드/백엔드 개발 부트캠프에서 제공하는 엔트리 코스

백엔드 개발자 취업 TIP
– 이력서와 기술 면접 준비 📇

이력서를 처음 작성해보는 개발자 지망생이라면 이력서를 어디서부터 어떻게 작성해야 할지 막막하실 텐데요. 이력서는 내 커리어를 요약하여 원하는 회사에 면접을 볼 기회를 얻기 위한 문서입니다. 백엔드 개발자 커리어와 관련된 내용이 눈에 띌 수 있게끔 일목요연하게 정리하는 것이 중요합니다.

예비 백엔드 개발자를 위한
이력서 작성 체크리스트

이력서 작성 전

- 현업 개발자 이력서를 충분히 찾아보고 참고합니다. 
- 분량이나 포맷보다는 내용에 집중합니다.

이력서 작성 시

- 무조건 많은 양의 스킬 셋을 작성하기보다 JD와 핏이 맞는 프로그래밍 언어 & 프레임워크 & 라이브러리 등을 부각합니다.
- 팀 프로젝트의 경우 자신의 정확한 역할과 성과를 드러냅니다.
- 꾸준히 관리해온 GitHub, 기술 블로그 계정이 있다면 적극적으로 어필해도 좋습니다.

이력서 제출 전

- 맞춤법 검사는 필수로 진행합니다.
- 이력서는 혼자 보는 문서가 아님을 인지하고 3명 이상의 피드백 받아 부족한 점을 보완합니다.
- 모바일, PC에서 각각 열어보고 가독성을 체크합니다.

자주 나오는 기술 면접 질문

개발자 면접은 다른 직무와 다르게 일반 면접과 기술 면접이 있습니다. 기술 면접은 손코딩이라 불리는 간단한 코딩 테스트를 본 후 진행하는 기업도 있고, 손코딩을 대신해서 프로그래밍 언어에 대한 생각이나 지식을 말로 답하는 형태로 진행하는 경우도 있습니다. 기술 면접에서는 어떤 질문이 자주 나오는지 간단하게 살펴볼까요?

백엔드 개발자 기술 면접 질문 예시

Cloud CI/CD가 무엇이라고 생각하시나요? CI와 CD의 차이점이 무엇인지 설명해 주세요.
Spring Framework DTO가 무엇인지 설명해 주세요.
객체지향 추상 클래스와 인터페이스의 차이는 무엇인가요?
Java 자바 데이터 타입 중 기본형과 참조형의 차이에 대해 설명해주세요.
Algorithm 이진 탐색 알고리즘(BST)이 데이터를 효율적으로 찾기 위해 탐색하는 과정을 설명해주세요.
CS 트랜잭션에 대해 설명해주세요.
보안/인증 패스워드를 암호화 하는 단방향 암호화에 대해서 설명해 주세요.
HTTP URL과 URI의 차이점이 무엇인가요?
Browser Client Side Rendering 과 Server Side Rendering 의 차이점에 대해서 설명해주세요.
Database ORM이 무엇인지 설명해 주세요.

위와 같은 백엔드 개발에 대한 지식을 묻는 질문 외에도 제출한 포트폴리오가 있다면 해당 프로젝트에 대한 질문을 받을 수 있습니다. 프로젝트에 대해서는 다음과 같은 질문들을 많이 묻습니다.

  • 가장 최근에 진행한 개발 프로젝트에 대해서 설명하세요. (Main-Project)
  • (꼬리 질문) 해당 프로젝트에서 가장 중요했던 요구사항이 무엇이고, 요구사항 달성을 위해 꼭 필요했던 기능에 대해서 설명하세요.
  • (꼬리 질문) 해당 프로젝트에서 가장 중요했던 요구사항이 무엇이고, 요구사항 달성을 위해 꼭 필요했던 데이터에 대해서 설명하세요.

백엔드 개발자 포트폴리오,
어떤 내용을 담아야 할까요? 📨

포트폴리오란 나의 이력 및 경력, 실력 등 이력서에 못다 한 이야기를 시각화한 자료집입니다. 웹사이트나 PPT, 노션 페이지 등 다양한 방법으로 제작해 나 자신을 소개할 수 있습니다. 많은 기업에서는 개발자 채용에서 포트폴리오가 필수가 아닌 선택사항인 경우가 많지만, 백엔드 개발자로서의 내 역량을 잘 드러낼 수 있는 포트폴리오라면 플러스가 될 수 있겠죠?

백엔드 개발자의 포트폴리오에도 정해진 양식이 있는 것은 아닙니다. 만약 내가 개인적으로 진행한 개발 프로젝트나 팀 프로젝트가 있다면 프로젝트 목적과 소개, 구현 내용을 잘 정리하여 포트폴리오로 활용하는 것이 좋습니다.

코드스테이츠 프론트엔드와 백엔드 부트캠프에서는 프론트엔드 수강생과 백엔드 수강생이 함께 프로젝트를 진행합니다. 각 포지션에 맞춰 개발 영역을 담당하기 때문에 탄탄한 결과물을 만들어 낼 수 있습니다. 백엔드 개발 부트캠프 수강생 포트폴리오의 프로젝트를 소개합니다.

백엔드 개발자 로드맵-공부 순서-공부 방법-포트폴리오
Team Roobits의 프로젝트 발표 문서 – 스택 & 구조 다이어그램
백엔드 개발자 로드맵-공부 순서-공부 방법-포트폴리오
Team Roobits의 프로젝트 발표 문서 – Entity Relationship Diagram(개체 관계 다이어그램)
백엔드 개발자 로드맵-공부 순서-공부 방법-포트폴리오
Team Roobits의 프로젝트 발표 문서

프로젝트 전반에 대한 소개와 사용된 기술에 대해 서술합니다. 그리고 각 팀원이 담당했던 영역에서 도전적이었던 부분, 어려웠던 부분과 문제를 해결하기 위해 시도했던 방법을 꼭 기술해두도록 합니다.

독학보다 더 체계적인 백엔드 개발 공부를 원한다면? 💻

코드스테이츠 백엔드 개발 부트캠프

코드스테이츠는 비전공자 분들까지 학습할 수 있는 프론트엔드, 백엔드 과정을 운영하고 있으며 사용자 친화적인 웹 서비스를 만드는 개발자로 성장시키기 위한 체계적인 커리큘럼을 제공하고 있습니다. 페어 프로그래밍과 팀 프로젝트 협업을 통해 커뮤니케이션 역량을 쌓고, 메타인지 학습모델을 적용한 학습 콘텐츠 및 알고리즘 문제를 푸는 데일리 코딩 시간을 통해 문제해결 능력을 키울 수 있죠.

백엔드 개발자 커리어로 나아가길 희망하고 있다면 코드스테이츠 백엔드 부트캠프에서 실무 역량과 협업 능력을 갖춘 개발자로 성장하세요!

편집 정다윤 Growth Manager (프론트엔드&백엔드 개발 부트캠프)


👩‍💻 좋은 개발자 커리어의 시작,
코드스테이츠 부트캠프가 더 궁금하다면?

목록 보기

추천글