백엔드 개발자가 되기 위해 필요한 지식 및 기술들

신동혁·2023년 9월 10일
0

오늘 9/10일에 드디어 토익을 치고 왔다. 제법 열심히 준비해서 시험도 무난하게 친 것 같지만 , 점수는 나와봐야 알 것 같다.
토익을 공부하느라 그동안 개발에 대해 신경을 쓰지 못했는데, 오늘부터 본격적으로 달려 보고자 한다.

일단 이번 글에서는

백엔드를 본격적으로 공부하기 위해 필요한 것

들에 대해 탐구해 볼 예정이다.

인터넷에서 가져온 백엔드 로드맵인데, 보시다시피 상당히 복잡하다.

이 사진을 보면서 다시 한번 동기부여가 되었다. 상당히 많은 양을 공부해야 하고 그 과정이 험난할 것으로 예상되지만, 그 과정이 뭔가 재밌을 것 같다 (우매함의 봉우리를 올라가는 중이 아닐까..)

나는 초보 백엔드 개발자이기 때문에, 여러 가지를 고려해 보았을 때 다음과 같은 요소들을 우선적으로 두어 백엔드 공부를 할 예정이다.

밑의 내용은 https://www.developerfastlane.com/blog/things-to-know-for-backend-developer-basic 를 참고하였다

1. API 개발

우선 프론트엔드와의 연동을 위한 API 개발이 중요하다. 그 중 REST API를 추천한다고 하는데, 나같은 경우는 REST가 뭔지도 잘 모르고, API에 대한 개념도 모호해서

이 부분에 대해 다른 글을 작성하며 좀 더 탐구해 보도록 하겠다.

어쨌든 REST API를 추천하는 이유는 오랫동안 API 개발에 있어서 표준처럼 사용되어져 왔고, 전반적인 server 개발의 흐름을 이해하는 데 좋기 때문이라고 한다.

2. 개발 언어 / 웹 프레임워크

REST API를 실제로 개발하기 위해 개발 언어 및 프레임워크가 필요하다.
종류로는 NodeJS (JavaScript, TypeScript) , Ruby on Rails , Python Django , Spring Boot (Java, Kotlin) 등 다양한데, 처음 공부하기에는 NodeJS가 좋다고 하고, 최근 프로젝트에서 NodeJS를 사용할 예정이라고 해서 공부하긴 할 예정이나, 나는 Spring Boot 를 메인으로 공부하고 싶다. 국내 시장에서도 java가 압도적인 지위를 차지하고 있기도 하기에 제대로 공부해 둔다면 추후 취업에 큰 도움이 될 것이다.

3. 서버 기본 지식

Spring Boot 를 통해 API 개발에 성공하는 날이 온다면, 다음으로 고민해야 할 부분이 바로 “API를 어떻게 서버로 올려서 서비스를 제공할까” 이다.
블로그에서는 AWS EC2 Instance 를 추천하였다. EC2란 AWS에서 제공하는 클라우딩 컴퓨팅 서비스로, Amazon이 사용자들에게 컴퓨터를 임대해주는 서비스라고 할 수 있겠다. 이 서비스를 통해 가상 서버 구축이 가능하고, 보안 / 네트워킹을 구성하게 된다면 개발 및 배포가 보다 빠르게 가능하다.

추후에 AWS EC2 Instance를 이해하게 된다면 AWS Elastic Beanstalk과 같은 관리형 플랫폼 서비스를 이해하면 좋다고 하는데, 이는 나중에 알아보도록 하자….

4. 네트워크 기본 지식

REST API의 기반이 되는 HTTP부터 시작해서, 원하는 도메인에 연결 및 서비스하기 위한 DNS, AWS EC2 에 접속하기 위한 SSH 연결 등등… 서버 동작 전체를 잘 이해하기 위해서는 네트워크에 대한 기본 지식이 필수적이다.

5. 데이터베이스

백엔드 개발자로서 가장 중요한 분야로 손꼽히고 있고, 나 또한 동의한다. 학교 수업시간에 데이터베이스를 수강해서 간단한 수강신청 프로그램을 만들 때 DB를 설계한 적이 있는데, 상당히 흥미로웠던 동시에 어려웠던 기억이 있다.
필요한 데이터를 보다 체계적으로 저장하려면 어떻게 로직을 짜야 할까? 여러 가지 고민을 해보면서 공부하면 좋겠다. 일단 나는 관계형 데이터베이스 중 하나인 MySQL에 대해 공부해 볼 것이다.

6. 분산 스토리지

데이터베이스가 서비스에 필요한 데이터를 저장한다면, 서비스에 피룡한 파일들은 어디에 저장할까? 라고 한다면, 바로 이들을 저장하는 공간이 분산 스토리지라고 설명할 수 있다. AWS S3 가 대표적인 에시이다. 추후 데이터 베이스 공부가 어느 정도 된다면 접해보고자 한다.

7. 기본적인 프론트엔드에 대한 지식

백엔드 개발자도 프론트엔드에 대한 기본적인 지식이 필수적이다. 예전에 앱 개발 프로젝트를 한 적이 있는데, 백엔드 연동에서 굉장히 애를 먹었던 기억이 있다.. 꼭 연동을 위해서가 아니서라도 기본적인 지식을 가지고 있다면 우수한 개발자가 되는 데 도움이 될 것이다.

기본적인 지식 및 기술들을 나열했는데도 너무나 많다. 현재 나는 초초초초급 백엔드 개발자이지만, 열심히 성장해서 취업 시즌이 된다면 중/고급 백엔드 개발자가 될 수 있도록 열심히 해야겠다..!

profile
꺾이지 않는 마음

0개의 댓글

관련 채용 정보