공부/서버

[공부/서버] 백엔드 개발자 지망생, 앞으로 공부해야할 것들

오잎 클로버 2022. 3. 28. 20:00
728x90

또다시 작성하는 앞으로 공부해야할 것들 시리즈입니다.

제 블로그를 자주 읽으신 분들 혹은 제 친구들은 아마 제가 백엔드 개발자를 지망하는 고등학생이라는 사실을 아마 알 것입니다. 

 

어른들이 자주 하시는 말씀 중에는 아마 이런 말이 있었습니다.

 

첫 회사가 나중 회사를 좌우한다.

저는 이 말이 틀렸다고는 생각하지 않습니다. 그리고 첫 회사를 좋은 데 갈 수 있다면 가는 것이 저에게 있어 제일 좋을 것이기 때문입니다. 그래서 저는 최대한 첫 회사를 잘 가기 위해 노력을 하고자 하는 데....

그거 어떻게 하는 건데?

저는 해본 적이 당연히 없으니 이런 고민을 하는 것이니, 제가 앞으로 준비해야 하는 것들을 알아보려면 크게 2가지 방법이 있습니다. 

첫 번째는 정보의 불확실성을 안은 채, 인터넷 정보를 신뢰하는 것입니다.

두 번째는 현재 현역에서 뛰고 계시는 지인 혹은 선배께 물어보는 것입니다.

그래서 저는 아는 지인분들께 질문을 들여본 결과, 

크게 3가지 정보를 알게 되었습니다.

  1. 하고픈 분야를 정해라 (안드/서버/프론트/A.I/DBA 등등)
  2. 언어를 정해라. 한국에서 보통 취업할 테니까 자바를 하는 편이 나을 것이다.
  3. 직접 토이나 개인 프로젝트 만들어봐라. 포폴용이든 진짜 만들고 싶은 거든

그런데 이런 정보들을 알고자 물어본 것이 아닌, 이미 1, 2번은 결정한 후, 취업과 관련된 질문으로 다시 질문을 드려본 결과,

개발자는 영화에 나오는 그런 사람들이 아니다. 취업하기 위해 다음과 같은 것들을 알고 있어야 한다.

언어와 프레임워크. 네트워크, 데이터베이스 정도의 CS 지식 있고, 더 나아가 자료구조, 운영체제, 알고리즘까지 갖추면 된다. 

... 고 답해주셨습니다. 

더 붙여서 뭐든 처음이 어렵다. 너무 스트레스받지 말아라라고 격려까지 받았습니다.

 

그리고 구글에서 자바 백엔드 취업 관련해서 찾아보니, 70%는 강의였고, 나머지 30%는 블로그, 영상 들이었습니다.

그래서 자바 백엔드는 Spring이 보통이기에 찾아본 결과

프레임워크 관련한 강의가 굉장히 많이 나왔습니다.

 

물론 프레임워크가 중요한 것은 사실이나, 그것보다는 순수하게 백엔드 현업에서는 어떤 것을 하는지 궁금하였기에

블로그 한 두 개를 찾아서 내용을 요약하자면

  • 서버에서 자주 사용되는 언어와 프레임워크에 대해 다룰 줄 알며, DBMS에 대한 지식이 요구된다.
  • GIT 기능
  • 무중단 배포, 성능 측정, 트래픽 처리
  • 언어/프레임워크를 깊이 공부해라
  • 엘라스틱서치 공부

위 정보들 역시 도움이 되었을 수도 있지만, 저도 제가 아는 선에서 최대한 작성해보았습니다.

※실무에 대해서는 1도 모르는 학생이, Spring 백엔드 개발자라는 목표를 갖고 작성하였습니다. 잘못된 정보가 있을 수 있음을 알려드립니다.※

  • 자바를 공부해라.
    • 자바 실력을 키우는 데에는 1.8을 사용하자.
      • 하지만 요즘은 11도 많이 사용하기에 11도 나쁜 선택은 아니다.
    • 기초적인 문법부터 작동원리, Thread, 스트림 등등
  • Spring 프레임워크에 대해 공부해라
    • 작동 원리, IoC, AOP, DI, MVC, PSA 등
    • ORM 표준 JPA (원리 및 사용)
    • 성능 최적화
    • API 개발
  • GIT 기능
    • branch, issue, merge 규칙들
    • 커밋 규칙
  • 배포 방식
    • 서비스 중단 없이 배포하는 방법
    • 서비스 성능 측정
    • 높은 트래픽에도 안정적으로 처리하는 방법
  • DB
    • Query
    • 테이블

 

 

이상입니다.