2019 코로나 팬데믹 기간에 IT 시장이 크게 성장하면서 개발자 구인난이 일어났고, 많은 사람이 개발자가 되겠다고 뛰어들었습니다. 그러나 코로나 팬데믹 기간이 끝나면서 개발자 채용 시장에는 한파가 닥쳤습니다. 2023 하반기 현재 IT 업계 취업 현황은 여전히 개발자를 구하는 추세지만 경력 위주의 검증된 개발자를 채용하는 분위기로 바뀌었습니다. 그러나 가트너가 발표한 자료에 따르면 IT 업계는 올해(2023) 4조 6000억 달러(약 6,072조 원)의 시장 규모를 형성할 것으로 예측했습니다. 경제 혼란에도 불구하고 소프트웨어(SW) 부문은 올해 두 자릿수 성장(13%)을 전망하였으므로 전망은 밝습니다. 더불어 실력이 검증된 개발자들은 경기 침체와 상관없이 개발 능력에 따라 연봉을 올려 대기업으로 이직하기도 하고 조기 취업하기도 합니다.
시니어 레벨의 개발자를 구하는 IT 시장의 흐름 속에서 신입 개발자들이 취업에 성공하려면 무엇이 필요할까? 많은 현업 개발자가 업무를 수행할 때 프로그램을 구현은 하지만 자신의 쓰는 코드가 왜 그렇게 돌아가는지 모르고 쓰는 경우도 많습니다. 신입 개발자라도 기본이 탄탄하고 프로그램을 구현할 수 있다는 능력을 어필할 수 있다면 충분히 승산이 있다고 생각합니다. 실제로 학원이나 부트캠프에서 프로그래밍을 배우는 입문자들은 코드 구현을 중점으로 연습하며 프로그래밍 언어, CS에 관한 부분은 비중이 작거나 시간이 부족해 이해하지 못하고 넘어가기도 합니다. 전공자들은 수업을 들었지만 설명할 수 없다고 말합니다. 왜냐하면 방대한 개념을 짧은 시간 안에 숙지하기란 쉽지 않은 일이며, 배운 내용을 깔끔하고 명확하게 설명하는 능력은 또 다른 문제이기 때문입니다. 그러므로 신입 개발자들이 촉박한 시간 안에 핵심 내용을 숙지하고 효율적으로 면접을 대비할 수 있으면 좋겠다고 생각하여 이 책을 집필하게 되었습니다.
기술 면접 대비를 위해 프론트엔드와 백엔드, CS와 깃허브 분야로 카테고리를 나누고 자주 등장 하는 면접 질문을 선정하여 답변을 정리하였습니다. 프론트엔드는 자바스크립트를 기반으로 하고, 백엔드는 파이썬을 기반으로 작성되었습니다. 키워드를 넣어 답안을 기억하고 떠올리기 쉽도록 하였습니다. 답안은 면접관이 집중하여 들을 수 있도록 30초 안에 답변할 수 있는 길이의 요약 답변과 구체적인 개념 설명이 담긴 답변으로 두 가지 버전을 제작하였습니다. 또한 추가적이 꼬리 질문에 대한 답변과 깊이 있는 이해를 위해 추가 설명 자료를 준비하여 한 권 만으로도 부족함이 없도록 신경 썼습니다.
기술 면접을 고른 후 출제 빈도 난이도를 고려하여 질문을 추렸습니다. 이후 각자 파트를 맡아 답변을 작성하였습니다. 정기적인 토론을 통해 다른 사람이 작성한 답안을 보고 피드백을 교환하여 자신이 맡은 주제 외에도 전체적으로 보면서 추가 답변이나 수정 사항을 반영하였습니다. 주 1회 이상 프론트엔드와 백엔드 개발자들이 함께 회의하면서 모르는 부분을 공부하고 부족한 부분을 보완하는 방식으로 협업하였습니다. 피그잼을 이용해 이미지 작업을 추가하여 면접 시 개념에 도움이 될 수 있도록 노력하였습니다.
비전공자인 개발자는 상세 답변과 함께 추가 자료를 참고하여 개념 공부를 함께 할 수 있고 전공자인 개발자는 짧은 시간 내에 정돈된 답변으로 면접관을 사로잡을 수 있는 연습을 할 수 있습니다. 개발에 입문하려는 사람이라면 방대한 정보 속에서 프로그래밍에 대한 큰 줄기를 파악하고 핵심 개념을 익힐 수 있는 좋은 책이 될 것입니다. 희망하는 회사에 지원하여 높은 경쟁률을 뚫고 기술 면접의 기회를 잡았다면 합격이 간절할 것입니다. 기술 면접까지 주어진 시간이 많지 않기에 소중한 시간을 헛되이 보내지 않도록 독자분들과 같은 마음으로 책을 집필하였습니다. 함께 취업 성공의 꿈을 이루어 봅시다. 여러분을 응원합니다!
- 기술 면접이란?
기술 면접이란 개발 역량과 협업 능력을 평가하는 과정입니다. 면접관은 지원자가 보유한 기술 스택, 프로젝트 경험, 컴퓨터 과학 기초 지식 등에 대해 질문하고, 지원자는 자신의 역량과 커뮤니케이션 능력을 보여줄 수 있어야 합니다. 기술 면접은 회사마다 다르게 진행되지만, 일반적으로 실무진이나 팀장급, CTO 등이 면접을 진행합니다.
프론트엔드 개발자는 웹사이트나 웹앱의 사용자 인터페이스를 구현하고, 사용자와의 상호작용을 담당하는 분야입니다. 프론트엔드 개발자가 되기 위해서는 HTML, CSS, JavaScript 등의 웹 표준 기술과 React, Vue, Angular 등의 라이브러리 및 프레임워크에 대한 이해가 필요합니다. 프론트엔드 개발자 기술 면접은 웹 서비스의 사용자 인터페이스를 구축하고 관리하는 데 필요한 역량과 협업 능력을 평가하는 과정입니다. 면접자는 JavaScript와 같은 필수 언어뿐만 아니라, 프레임워크, 웹 접근성 등 다양한 주제에 대해 질문을 받을 수 있습니다. 또한 프로젝트를 통해 문제 해결 능력과 코드 품질을 보여줘야 합니다.
백엔드 개발자는 서버, 데이터베이스, API 등 웹 애플리케이션의 핵심적인 부분을 구축하고 담당하는 분야입니다. 백엔드 개발자는 웹 애플리케이션의 핵심적인 부분을 담당하므로 이러한 부분들을 잘 이해하여 설계하고 구현하며, 보안, 성능, 확장성 등의 이슈를 고려할 수 있어야 합니다. 백엔드 개발의 기본 개념, 사용하는 프로그래밍 언어와 프레임워크, 데이터베이스와 API, 웹 서버와 네트워킹, 알고리즘과 자료구조 등에 대한 질문이 있을 수 있습니다. 또한, 자신의 프로젝트나 경험에 대한 질문도 받을 수 있으므로, 이력서나 포트폴리오에 적은 내용은 잘 설명할 수 있어야 합니다.