본문 바로가기
Java Study/Article Study 2024. 3. 19.

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

Article Date 2023.10.03
URL https://brunch.co.kr/@gocoder/263

백엔드 개발자란

  • 데이터베이스 설계, 시스템 보안, 서버 구성, 성능 최적화,  API 개발,  DBMS 네트워크 및 인프라 구성 등 서비스 동작을 관리
    • 웹 서비스 구조 파악
    • 문제 해결 능력 필요

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

  •  API 개발 (REST API)
    • Application programming Inerface, 어플리케이션을 프로그래밍 하는데 쓰는 인터페이스 개발
    • 가장 먼저 백엔드 개발자가 해야하는 일
  • 개발 언어와 웹 프레임워크 (Language & Web Framework)
    • REST API를 개발하기 위한 도구
    • 다양한 언어중에 Java는 백엔드 개발을 위한 라이브러리들이 충실하게 준비, 가장 많이 쓰이는 언어
    • 서비스를 빠르게 구축할 수 있어 많은 업체가 PHP를 이용해 백엔드를 구축하는 경우도 있음
  • 서버 기본 지식 (Server)
    • 서버에 올려서 서비스를 할 수 있게 클라우드 서비스인 AWS, 특히 EC2 Instance 활용을 할 수 있어야
      • MS사의 AZURE, 구글의 GCP 등을 사용하는 업체들이 있기 때문에 추가적으로 학습
    • 대부분의 서버 운영체제는 리눅스 기반이기에 해당 커맨드들과 익숙해져야
  • 데이터베이스 (Database)
    • 데이터를  다룰 수 있는 SQL 쿼리의 개념을 잘 이해할 수 있어야
      • ORM을 많이 사용하는 추세이므로 이 부분도 함께 학습하는 것을 추천
✏️
ORM 역시 대부분의 회사에서 SQL은 필수지만 우대사항이나 업무의 일환으로 취업 공고를 올려놓는 회사 꽤나 있기 때문에 꼭 근미래에 학습을 해야하는 분야일 듯
ORM: DB와 어플리케이션의 연결을 도와주는 객체지향의 어플리케이션 개발언어
SQL의 쿼리 및 문법대신에 어플리케이션 개발 언어를 그대로 사용할 수 있어 개발언어의 일관성과 가독성을 높임
여기에서 Java Hibernate를 사용해서 Java언어를 SQL처럼 쓸 수 있는것
단! SQL의 모든 기능을 대체해서 ORM이 다 다룰 수 없기 때문에, SQL은 기본→ ORM을 추가로 알고 있어야 백엔드 개발이 좀더 효과적이라고 알고 있어야
 
  • 소프트웨어 형상관리 (SCM : Software Configuration Management)
    • SVN, AWS Code Commit, Mercurial 및 Git은 백엔드 개발 자에가 사용하는 대표적인 형상관리 시스템
      • 코드의 변경 사항을 추적
      • 개발자의 실수로 복원 가능
      • 필수 협업 시스템

 

백엔드 개발자의 장점

  • 항상 일자리가 있다는 것
    • 구사할 수 있는 언어가 많아진다면 회사 내에 가치도 더 높아지고 급여도 올라갈 것
  • 개발 환경이 안정적
  • 역사가 오래되었기 때문에 인터넷에 활용 자료가 많음

 

백엔드 개발자의 적합한 성향

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

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

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

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

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

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

💡
2, 5, 6은 PM 공부를 하면서 귀에 딱지가 않게 피드백/확인을 하면서 관련 내용을 반년을 했기 때문에 나름 마음의 준비는 되어 있다곤 생각한다. 단, 지금 두려운 것은 4 이 개발 환경의 낯설음과 이에 따른 도구와 관련 언어에 관한 두려움이 있다고 느껴지기 때문에, 꾸준히 성실하게 계속 찾아보고 공부하는 나의 성격으로 헤쳐나갈 수 있어야 할 것이다.
 

 


출처