brunch

You can make anything
by writing

C.S.Lewis

by 고코더 Oct 03. 2023

백엔드 개발자가 되고 싶다면

JAVA, API, SERVER

백엔드 개발자란?

Q. 백엔드 개발자는 무엇을 개발합니까?

"백엔드 개발자는 보이지 않는 걸 개발합니다."


프런트엔드 개발자가 눈에 보이는 부분을 개발한다면 백엔드 개발자는 눈에 보이지 않는 것을 개발한다. 백엔드 개발자가 되기 위해서는 넓은 범위 지식과 경험이 필요로 한다. 백엔드 개발자가 하는 일을 자세히 살펴보면 다양한 업무가 존재한다. 데이터베이스 설계, 시스템 보안, 서버 구성, 성능 최적화,  API 개발,  DBMS 네트워크 및 인프라 구성 등 서비스 동작을 위한 모든 것을 신경 써야 한다. 이를 위해서 웹 서비스의 전체 구조를 파악해야 한다. 그리고 문제 해결 능력 또한 필요로 한다.

 


백엔드 개발자가 되기 위해 필요한 학습

1. API 개발 (REST API)


API는 Application programming Inerface의 약자이다. 이를 해석하면 애플리케이션을 프로그래밍하는데 쓰이는 인터페이스다. 프런트 엔드는 백엔드 개발자가 만들어준 API를 이용해 서비스를 개발한다. 그렇기 때문에 백엔드 개발자의 주요 업무 중 하나가 바로 이 REST API를 개발하는 것이다. 이 방식은 API개발의 표준처럼 사용되어 왔고 서버개발의 전반적인 흐름을 이해하는데 도움이 된다. 그러므로 백엔드 개발자가 되기로 결심했다면 먼저 REST API를 먼저 익히고 학습하자.


2. 개발 언어와 웹 프레임워크 (Language & Web Framework)


REST API를 개발하기 위한 도구가 언어와 웹 프레임워크이다. 그 종류를 보면 JAVA, NodeJS  Ruby On Rails, Python Django, Kotlin, golang 등 다양한 언어들이 준비되어 있다. 언어의 선택이 어렵다면 JAVA를 먼저 학습하는 걸 추천한다. 대한민국에서 가장 많이 사용하고 일자리가 많은 언어다. 그리고 Java는 백엔드 개발을 위한 라이브러리들이 충실하게 준비되어 있다. 또한 Java는 광범위한 엔터프라이즈 수준 응용 프로그램을 구축하는 데 자주 사용되는 언어이다. 만약 자바 외에 언어를 추천하면 PHP 또한 추천한다. 라라벨 같은 프레임워크를 사용하면 서비스를 빠르게 구축할 수 있어 많은 업체가 PHP를 이용해 백엔드를 구축하는 경우가 많다.


3. 서버 기본 지식 (Server)


API를 개발하는 방법을 배웠다면 이제 이걸 서버에 올려서 서비스를 할 수 있게 해야 한다. 그러므로 가장 핫한 클라우드 서비스인 AWS와 친해져야 한다. 그중에서도 EC2 Instance와 친해지면 좋다. 대부분의 서버 운영체제는 리눅스 기반이기에 해당 커맨드들과 익숙해져야 한다. 물론 MS사의 AZURE, 구글의 GCP 등을 사용하는 업체들이 있기 때문에 추가적으로 학습하는 것도 추천한다. 


4. 데이터베이스 (Database)


백엔드 개발자가 가장 많이 씨름해야 하는 대상이 바로 데이터베이스라고 생각한다. 가장 깊은 단계에서 서비스를 위해 필요한 데이터를 체계적으로 저장하고 가공하는 저장소의 역할을 한다. 데이터베이스의 종류는  크게 관계형 데이터베이스와  NoSQL이 있다. 둘 중에 오라클과 같은 관계형 데이터베이스부터 시작하는 것을 추천한다. 현업에서 가장 많이 사용되는 방식이다. 데이터를  다룰 수 있는 SQL 쿼리의 개념을 잘 이해할 수 있어야 한다.  하지만 최근에는 ORM을 많이 사용하는 추세이므로 이 부분도 함께 학습하는 것을 추천한다. 


5. 소프트웨어 형상관리 (SCM : Software Configuration Management)


SVN, AWS Code Commit, Mercurial 및 Git은 백엔드 개발 자에가 사용하는 대표적인 형상관리 시스템이다. 코드의 변경 사항을 추적하므로 백엔드 개발 자에가 아주 유용하게 사용된다. 그리고 개발자의 실수를 되돌릴 수 있기 때문에 형상관리 도구는 현업에서 필수로 사용하는 시스템이므로 그 사용 방법을 익혀두어야 한다. 


든든한 백엔드 개발자의 장점


백엔드 개발자의 장점은 항상 일자리가 있다는 것이다. 개발 산업이 발전함에 따라 더 많은 백엔드 개발자들이 필요로 한다. 그 수는 계속 증가하고 있는 편이다. 그리고 또 다른 매력은 다양한 프로그래밍 언어를 배울 수 있다는 것이다. 백엔드 개발자는 일을 하면서 많은 다양한 종류의 프로그램과 코드를 접하게 된다. 만약 구사할 수 있는 언어가 많아진다면 회사 내에 가치도 더 높아지고 급여도 올라갈 것이다. 또한 현실적인 장점은 개발 환경이 안정적인 부분이다. 오래 일할 수 있습니다. 또 프런트엔드에 비해 역사가 오래되었기 때문에 인터넷에 자료가 많아 공부할 수 있는 방법도 많은 것도 장점이다.



백엔드 개발자 성향 체크


자신이 백엔드 개발자가 되고 싶다면 이러한 성향인지 한번 체크해 보자. 기준은 필자가 직접 백엔드 개발자로 지내오면서 생각한 필요하다고 생각한 특징들이다. 


1. 어려운 문제에 대한 끈기

2. 꾸준한 학습이 즐거운지

3. 변화에 빠르게 적응하는 편인가

4. 다양한 환경과 도구, 언어에 대한 두려움이 있는지

5. 문제를 빠르게 파악하고 정의할 수 있는지

6. 비즈니스에 대한 이해가 빠른지




그리고 마지막으로 "열정"이 있는지?


매거진의 이전글 술, 담배 그리고 개발자
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari