가장 먼저 준비할 것은 코딩 테스트입니다
백준, 프로그래머스와 같은 플랫폼에서 코딩 테스트를 연습할 수 있으며, ChatGPT를 활용해 문제에 대한 해설을 참고하면서 공부할 수 있습니다
시간을 들여 꾸준히 연습하면 누구나 코딩 테스트를 준비할 수 있습니다
코딩 테스트 자체를 ChatGPT에 맡기려는 생각은 하지 않는 것이 좋습니다
요즘 많은 코딩 테스트는 라이브 코딩 방식으로 진행합니다
코딩 과정을 면접관이 원격으로 보기도 하고 코딩테스트 과정 자체를 녹화해서 보기도 합니다
문제 풀이 중에 요구 조건을 바꿔가며 해결 능력을 평가하는 경우도 많습니다
이 경우 chatgpt를 이용하여 코딩테스트를 통과하는게 불가능합니다
따라서 스스로 코딩 테스트 문제를 풀고 연습하는 것이 필수적입니다
백준에서 골드 레벨 정도의 실력을 갖추면 대부분의 기업에서 코딩 테스트를 통과할 수 있을 것입니다
두 번째로 중요한 것은 CS(Computer Science) 면접 준비입니다
구글에서 개발자 면접 질문을 검색하면 좋은 자료들을 찾을 수 있습니다
답변을 무조건 외우는 것이 아니라 질문에 대한 답을 제대로 이해하기 위해 꼼꼼히 공부하는 것이 중요합니다
예상 질문에 대한 답변을 검색해서 검색 첫페이지에 나오는걸 전부 눌러서 봅니다
그렇게 눌러서 본 페이지 안에 모르는 내용이 있으면 또다시 검색해서 찾아봅니다
페이지에서 하는 설명이 잘 이해가 안되면 페이지 내용 자체를 긁어다가 chatGPT에 붙여넣고 추가 설명을 해달라고 하면 이해하는데 도움이 될겁니다
이렇게 계속해서 더이상 필요한 검색 내용이 나오지 않을 때 까지 반복하여 꼬리에 꼬리를 무는 공부를 해야합니다
면접에서 면접관이 질문을 하고 이에 대한 답변을 하면 답변에 이어지는 질문을 계속 합니다
면접관은 이런식으로 질문해서 더이상 답변을 못할 때 까지 질문을 이어가게 됩니다
10개의 질문에 대해 전부 대답하더라도 한번도 이어지는 질문에 대답을 못하면 통과하기 어렵습니다
반대로 10개의 질문에 대부분 대답하지 못해도 두세가지 질문에 대해 이어지는 질문 답변을 이어갈 수 있다면 좋은 평가를 받을 수 있습니다
최고의 답변은 하나의 질문으로 면접시간을 전부 사용하는 겁니다
마지막으로, 개인 프로젝트를 준비하는 것도 중요합니다
내가 만들고자 하는 프로그램을 실제로 작성해보고, 그 프로그램이 서비스로 제공될 때 발생할 수 있는 문제를 가정해보는 것이 필요합니다
예를 들어, 만든 게임에 갑자기 많은 사용자가 접속했을 때 어떤 문제가 발생할지를 미리 생각해보고 테스트하는 과정을 거쳐야 합니다
이러한 문제를 스스로 진단하고 해결하는 능력을 기르는 것이 중요합니다
이러한 준비 과정은 지금까지 크게 변하지 않았으며, 앞으로도 마찬가지일 것입니다
다만 ChatGPT와 같은 도구를 활용하면 이 모든 준비 과정을 더 쉽게 해낼 수 있습니다
예를 들어 CS 면접을 준비할 때 이해가 되지 않는 부분을 ChatGPT에게 물어보며 도움을 받을 수 있습니다
또한 이전에는 혼자서 만들기 어려웠던 서비스를 ChatGPT의 도움을 받아 제작하고 문제를 해결할 수도 있습니다
한 가지 조언을 더하자면 프로젝트에서 나온 내용이 CS 면접 질문과 자연스럽게 연결되도록 준비하는 것이 좋습니다
내가 만든 프로젝트에서 어떤 부분에 집중했고 그 과정을 통해 어떤 기술을 익혔는지 설명할 수 있도록 준비한다면 면접에서 더 좋은 결과를 얻을 수 있을 것입니다
또한 면접에서 내가 준비한 내용을 제대로 설명할 수 있도록 프로젝트 포트폴리오를 잘 정리해두는 것이 필요합니다
신입 개발자에게 요구되는 사항들은 오랜 시간이 지나도 크게 변하지 않았습니다
10여년 동안 채용시장에서 있으면서 면접자도 되고 면접관도 되어봤습니다
그 동안 개발자에게 필요한 능력은 거의 비슷했습니다
다만 시장의 수요나 교육 환경에 따라 실력이 부족한 사람을 뽑기도 하고 반대로 뛰어난 실력자들만 선발하는 경우도 있습니다
하지만 근본적으로 신입 개발자가 준비해야 할 것들은 변하지 않았으며 앞으로도 크게 달라지지 않을 것이라고 생각합니다