취업, 이직을 준비하는 개발자 라면.
개발자라는 직업은 특히 이직률이 높고 포트폴리오를 꾸준히 업데이트해야 하는 직업이다.
신입이든 경력이든 기술면접이 면접의 결과를 좌우할 만큼 중요한 비중을 차지하는데, 기술면접의 필수로 대비해야 할 지식이 CS(Computer Science) 지식이다. 현업자의 입장에서 오히려 신입 때는 주요 CS지식에 대해서 한참 공부할 시기라 기억력을 가지고 있었지만 시간이 지나면 잊혀지게 마련이다. 그렇기 때문에 아무리 경력자라고 해도 이직을 목표하고 있다면 면접을 위한 CS지식을 시간을 내어 공부해야만 한다.
CS지식은 단순히 한 과목이 아니라 매우 방대한 양의 전문지식을 요하기 때문에 전체 분량을 모두 마스터하는 것은 거의 불가능에 가까운 일이다. 때문에 중요한 과목을 추리고, 핵심적인 내용을 깊이 이해하고 있는 것이 중요하다. 이 책에서 다루는 과목은 다음과 같다.
1장. 디자인패턴과 프로그래밍 패러다임
2장. 네트워크
3장. 운영체제
4장. 데이터베이스
5장. 자료구조
6장. 포트폴리오와 면접
책의 전반적인 내용은 기본적으로 알고 있어야 하는 CS지식을 꼽아 핵심을 알려준다. 특히 언어별 소스코드를 제공하고, 프로세스를 이미지화시켜 설명하는 점에서 이해에 많은 도움이 되었다.
하지만 현업자인 나에게도 아직까지 생소하거나 심지어 처음 들어보는 개념들도 꽤나 많이 나온다. 조금은 기가 죽기도 했지만 개발자라고 해서 모든 것을 아는 만능 로봇이 아니기 때문에 적어도 내가 기존에 알고 있거나 한 번이라도 써본 것들에 대해서 만큼은 제대로 짚고 가기로 했다.
나는 당장 면접을 준비하는 입장은 아니라 나만의 루틴을 정했다. 면접이라고 해도 모든 것을 100% 완벽하게 준비한다는 것은 불가능하기 때문에 전반적으로 얕게 아는 것보다는 모르는 부분이 있을지라도, 이 부분에서 만큼은 깊이 있게 이해하고 있음을 보여주는 게 좋다고 생각한다.
1. 책 전체를 훑어보면서 내가 알고 있는 개념들을 체크한다.
2. 체크한 부분 위주로 아는 부분은 복습하고 몰랐던 부분은 학습한다.
3. 책에서 가볍게 다룬 부분은 따로 구글링을 병행하면 이해도를 높일 수 있다.
4. 알고 있던 개념을 확실히 이해한 후에 체크되지 않은 부분을 학습한다.
5. 기술 블로그가 있다면 학습한 내용을 포스팅하며 기록한다.
6. 실제 면접 준비 전에 포스팅했던 내용을 복기하면서 준비한다.
다음과 같은 방법으로 책에 접근하면 부담감도 덜하고, ‘암기'가 아닌 ‘이해’가 되면서 기억에 오래 남았다. 어느 정도 여유롭게 시간을 두고 평소에 꾸준히 준비하는 것을 추천한다.
책의 후반부에는 면접/포트폴리오에 대해서 별도로 다루고 있다. 저자의 실제 포트폴리오를 참고할 수 있고, 실제 면접에서 나올법한 질문을 던지고 구어체로 답변을 하는 구성으로 면접의 분위기를 간접 경험해볼 수 있었다. 개인적으로 눈으로 읽기만 하기보다는 면접장에 있다고 생각하고 직접 목소리를 내어 설명하듯이 읽어보면 좋다. 처음에는 답변을 가리고 본인의 지식으로 대답해보고, 다음은 책의 정석적인 답변과 비교해보면서 연습하면 면접에 큰 도움이 될 것 같다.
좋았던 점
언어별로 소스코드를 제공하면서 설명을 해준다. 나는 자바 개발자이지만 같은 소스가 다른 언어에서는 어떻게 사용되는지 살펴볼 수 있다.
중간중간 어려울 수 있는 전문용어를 설명해준다.
단위별로 주제를 다루어서 한 단원씩 나누어서 읽기에 용이해서 부담이 덜했다.
필요할 때 펼쳐서 사전처럼 찾아볼 수 있었다.
면접 준비자가 아니더라도 개발자로서 개념 다지고 복습하기에 좋다.
이론뿐만 아니라 포트폴리오 작성법, 실제 면접 상황 시뮬레이션 등을 통해 면접 연습을 할 수 있다.
아쉬웠던 점
아무래도 면접용 CS지식이다 보니 깊이 있게 다루지는 않는다.
실무 또는 프로젝트 경험이 없는 비전공자라면 어렵게 느껴질 수 있는 난이도이다.
개발자 이직 또는 취업을 준비하는 이들에게 도움이 되길 바라며 리뷰를 마무리한다.
https://link.coupang.com/a/vpt5w
파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음