jen3***
2024-02-18

백엔드 개발자 취업, 무엇을 어떻게 준비할까? 생생한 과제테스트 경험을 바탕으로 백엔드 개발자 취업의 모든 것을 배운다!

한빛미디어에서 출간된 '이것이~' 시리즈 중의 하나인 것 같은 <이것이 취업을 위한 백엔드 개발이다>라는 책을 보게 되었다. 회사에서 자바 말고, 다른 업무를 하다가 근래에 다시 자바 관련된 업무를 하게 되었다. 그렇기 때문에 자바 외 스프링부트 학습이 필요했다. 그런 찰나에 보게 된 책이다. 단순히 백엔드 개발에 대한 정보만 얻는 것이 아닌, '취업'을 위한 책이라는 것도 눈에 들어왔다. 이미 취업은 한 상태이지만 나중에 이직을 하게 될 수도 있으니, 그때를 대비하여 필요한 정보를 얻을 수 있을 것 같아 도움이 될 것 같았다.
책의 저자는 카카오에서 '스팸 어뷰징'이라는 특이한 도메인을 다루고 있는 자바 백엔드 개발자라고 한다. 주니어 개발자들에게 도움이 되고자 인프런, 프로그래머스, 클래스101 등에서 인프라, 객체지향 프로그래밍 온라인 강의를 런칭하고, F-Lab과 프로그래머스 데브코스에서 멘토로도 활동 중이시라고 한다.

저자는 사람마다 학습 수준의 차이는 있을지 모르지만, 백엔드 개발자가 되기 위해서는 여러 주요한 학습의 키워드를 유기적으로 연결할 줄 알아야 한다고 한다. 그래서 '자바 프로그래밍에 대한 기초 지식이 있는 사람이 빠르게 자바 웹 개발에 입문하고, 간단한 과제 테스트를 풀이할 수 있으려면 어떻게 학습해야 할까?'라는 물음에서 이 책이 시작되었다고 한다. 궁극적으로는 실무에서 웹 애플리케이션을 개발할 수 있는 백엔드 개발자로서의 역량을 갖출 수 있도록 돕기 위함이라고 할 수 있다. 위에도 나와있듯이 '자바 프로그래밍에 대한 기초 지식이 있는 사람'을 전제로 한다. 그렇기 때문에 아예 자바를 모르는 상태에서 보는 건, 조금 어려울 수도 있다. 물론 코딩은 따라 치면서 배우는 것도 있겠지만, 그래도 어느 정도의 이론은 알아야 조금 더 수월할게 읽고 실습을 할 수 있지 않을까? 자바 왕초보라면 <혼자 공부하는 자바>와 같은 책을 읽은 후에, 해당 책을 보는 것도 추천한다.

이 책은 웹 애플리케이션을 만드는 데 필요한 핵심 개념을 선별해 집중적으로 다룬다고 한다. 또한 취업을 위한 과제 테스트 수행의 밑거름이 되는 실전 문제도 수록되어 있다.
1. 백엔드 개발자 취업을 위한 준비
2. 백엔드 개발을 위한 필수 기본 지식
3. 과제 테스트를 위한 백엔드 애플리케이션 개발
4. 실전 과제 테스트 문제
학습로드맵이나 목차를 보며, 학습 분량을 정할 수도 있다. 책은 '찾아보기'를 포함하여 총 708 페이지로 결코 적지 않다. 꽤나 호흡이 길어서, 공부를 하다가 지칠 수도 있으니! 분량을 정하여 공부하는 것도 추천한다. 챕터로는 총 14 챕터이다. 기간을 정한 후에 하루 공부 분량이나 혹은 일주일에 어느 정도로 학습할 것인지를 스스로 정해보면 좋을 것 같다. 또한 유튜브에서 저자 직강 동영상도 제공한다고 하니, 책으로 학습을 하다가 모르는 부분은 참고해도 좋을 것 같다. 아니면 동영상을 보며, 책 진도를 같이 나가는 것도 좋은 방법이라고 생각한다.
책의 파트 01~02에서는 백엔드 개발자 채용 프로세스부터 실무에서 가장 많이 사용하는 자바 문법, 백엔드 개발을 위한 클라이언트의 구조 등 필수 기본 지식을 다루고, 파트 03~04에서는 과제 테스트를 위한 백엔드 애플리케이션 개발의 과정을 설명한다.
책 초반에는 취업과 관련된 내용과 백엔드 개발과 관련된 다양한 이론을 접할 수 있다. 앞쪽에 취업과 관련된 내용들이 있어서, 앞으로 참고할 부분들이 꽤나 있었다. 그리고 뒤로 갈수록 자바나 백엔드 개발 시 필요한 다른 언어 또는 약간의 네트워크 개념들에 대한 내용들도 나온다.

책은 백엔드 개발이 무엇인지에 대해서부터 시작을 한다. 백엔드 개발이 무엇인지에 대해 이해하려면, 프론트엔드에 대한 이해도 함께 필요하다. 먼 옛날의 개발자들은 프론트엔드나 백엔드의 구분 없이 개발을 했는데, 언제부터 이러한 구분이 생긴 것인지? 그래서 프론트엔드 개발자와 백엔드 개발자의 차이가 무엇이고, 하는 일은 무엇인지에 대해서도 알 수 있다. 이를 알아야 프론트엔드 개발자와 협업을 할 때도 커뮤니케이션이 원활할 테니, 잘 알아둘 필요가 있다.
그리고 백엔드 개발자의 길을 걷기로 했다면, 공부도 공부이지만 실질적으로는 가고 싶은 기업에서 어떤 인재를 채용하고 있는지에 대한 정보를 얻는 게 필요하다. 무작정 언어를 습득하고 채용 공고를 본다면, 아마 당황스러움을 느낄 수도 있다. 나는 이 '언어'만 아는데, 기업에서는 생각보다 더 다양한 자격조건들을 적어 놓고 있기 때문이다. 만약 나도 과거로 다시 돌아간다면, 가고 싶은 기업들의 채용 공고를 먼저 볼 것 같다. 당장에 갈 수 있는 건 아닐지 몰라도, 그걸 바탕으로 학습 방향 같은 것을 정할 수도 있을 테니 말이다. 그리고 자격조건이나 우대사항 같은 내용을 참고해, 내가 무엇을 더 채워야 할지도 체크할 것 같다. 그 외에 책에서 테스트나 면접에 관한 정보도 약간 얻을 수 있다. 필요에 따라서는 그림으로 설명을 해주는 부분들도 있어서, 글로만 적혀져 있는 것보다는 이해하기 조금 더 수월한 부분들이 있었다.
파트 2 이후로 챕터 3부터는 한 챕터가 끝날 때마다 [기술면접 TIP] 부분도 있다. 앞서 배웠던 이론을 바탕으로 실제 기술면접에서 나올 수도 있는 질문을 던지고, 그에 대한 답변을 보여준다. 그리고 그렇게 답변할 수 있는 이유에 대한 해설이 나와있다. 거기서 끝나는 게 아니라, 일부 질문들에 대해서는 '예상 꼬리 질문'도 함께 던져준다. 그 꼬리 질문들에 대한 답변은 상세하게 나와있는 편은 아니기 때문에, 그 질문들을 보며 스스로 답을 찾아보는 노력도 필요하다.
그리고 꽤나 캡처된 이미지들이 많아서, 보면서 참고하기 좋았다. 또한 단순히 자바 책만 봤더라면, 브라우저에서 개발자 도구를 어떻게 활용할 수 있는지 알기 어려울 수도 있는데? 이 책에서는 http를 설명해 주며 그런 부분들까지 설명을 해줘서 유용했다. 네트워크 탭에서 어떤 부분들을 확인할 수 있고, 어떤 부분들을 활용할 수 있는지에 대한 것들에 대해서 말이다.
챕터 8까지는 거의 이론 위주라고 보면 된다. 기존에 이미 알고 있었던 것들에 대해서는 한 번 더 복습하는 느낌을 가지며 볼 수 있었다. 애매하게 알고 있던 부분들에 대해서는 한 번 더 복기할 수 있었고, 새롭게 알게 된 것들은 조금 더 유심히 봤던 것 같다.

파트 3의 챕터 9부터는 본격적으로 과제 테스트를 위한 백엔드 애플리케이션 개발을 위한 실습이 진행되었다. 앞서 배웠던 자바와 웹 지식을 바탕으로 상품 관리 애플리케이션을 만들어보는 것이다. 주어진 요구사항을 분석하고, 그것을 바탕으로 핵심 기능을 하나씩 추가해 보며 웹 애플리케이션의 기초를 구현하는 것이다.
실제 과제 테스트 같은 게 주어질 때 간단한 구현은 몇 시간 정도를 주기도 하고, 난이도에 따라 일주일의 시간을 주기도 한다고 한다. 어떠한 과제가 주어졌을 때, 그 요구사항을 잘 분석해서 설계하고 개발하는 것은 무엇보다 중요할 것이다. 언젠가 겪게 될 과제 테스트를 위해 실전처럼 해보는 연습을 하는 것이 필요할 것 같은데, 그걸 필요로 하는 사람에게 유용할 것 같다. 요구사항을 보며, 어떻게 개발할 것인지 스스로 생각도 해보고! 실제 프로젝트를 생성한 후에 상품 클래스를 정의하며, 상품과 각각의 정보들의 이름은 어떻게 할 것인지에 대해서도 생각해 볼 수 있다. 그리고 추후에 DB 연동도 해보고, 다양한 기능들을 구현해 본 후에! 최종적으로 파트 4에서는 '단축 URL 서비스 개발'이랑 '주문 관리 API 서버 개발'을 통해 '과제 테스트'를 경험해 볼 수 있다. 당연히 이론도 중요하지만, 개발은 실제 코드를 쳐보는 게 더 도움이 되는 것 같다. 그냥 뭐든 그런 것 같다. 해봐야 알 수 있고, 습득이 되는 것 같다. 실제 과제 테스트를 어떻게 준비하면 좋을지, 백엔드 개발자로 취업을 하기 위해서는 어떤 것들을 알면 좋을지 궁금하다면 책을 읽고 실습을 해보는 것도 도움이 될 것 같다.
한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 제공 받아 작성된 서평입니다.