글을 시작하며
지난 3월 토스증권의 경력직 공채에 지원하여
약 한 달 동안 과제 전형, 직무 인터뷰, 그리고 마지막 면접인 문화적합성 인터뷰까지 경험해 볼 수 있었습니다.
아쉽게도 문화적합성 인터뷰를 이후로 토스 팀과 함께하지는 못했지만
프론트엔드 리드님과 뛰어난 실력의 토스 개발자분들께 코드 리뷰를 받으면서 함께 기술적 토론을 할 수 있었던 경험은
매우 값진 경험이었다고 생각합니다. 과제를 통해 토스의 업무 방식과 코드를 간접적으로 경험하면서
생각해보지 못했던 설계 방법들을 배울 수 있었고 시야를 넓히며 성장하는데 큰 도움이 되었습니다.
최종 탈락은 언제나 받아들이기 힘들고 아쉬움이 크게 남는 것 같습니다.
저의 성향이 토스 문화와 맞지 않는다는 평가를 받았을 수도 있겠지만
낙심하기보다는 지난 면접을 복기하며 충분하게 전달드리지 못한 답변들을 보완할 수 있는 방법에 대해
면접관님들의 입장에서 생각해보면서 앞으로의 기회들을 잡을 수 있도록 노력하겠습니다.
과제 탈락에서 과제 칭찬 피드백까지
부끄러운 고백이지만 작년 2023 토스 NEXT 공채에서는 요구사항의 반도 충족하지 못하고
과제를 제출했던 경험이 있습니다 😓
저의 강점은 부족한 점을 발견하면 개선하기 위해 집요하게 노력한다는 것입니다.
작년의 스스로 느꼈던 저의 부족했던 점
은 당장의 구현에만 집중한 코드를 작성한다는 점과 브라우저나 JavaScript의 동작 원리를 이해하지 않고 코드를 작성한다는 점이었습니다.
이러한 점을 보완하기 위해서 퇴사 이후에는 시니어 멘토님들께 코드 리뷰를 받을 수 있는
데브코스라는 부트 캠프에 참여하여 변화에 유연하게 대응할 수 있는 코드 설계 방법
을 학습하기도 하고
팀원들과는 정기적으로 딥다이브 스터디를 진행하며 프론트엔드에서 중요하게 다루는
이벤트 루프, Promise 등의 비동기 통신 지식
을 보충하기 위해 노력해왔습니다.
그리고 두 번의 팀 프로젝트를 진행하면서 우선순위를 고려하여 기능을 완성하며 협업하는 역량을 길러왔습니다.
그 결과 감사하게도 이번 직무 인터뷰에서는
우선순위를 잘 고려하여 모범 사례처럼 과제를 구현하였다는 피드백을 받을 수 있었습니다..ㅎㅎ
물론 직무 인터뷰에서 과제와 관련된 여러 질문들을 받으면서
아직 더 발전시킬 부분이 많다는 것을 느끼기도 하였고, 더 깊이 있는 답변을 드리지 못한 점에 아쉽기도 하였지만
작년과 비교했을 때 성장한 모습을 인정받을 수 있어서 기뻤습니다.
게다가 면접관님들께서는 현재 구조에서 발생할 수 있는 문제점들을 질문을 통해 깨달을 수 있도록 이끌어주시며
더 좋은 설계를 위한 방향을 제시해 주신 덕분에 인터뷰를 통해서 성장할 수 있었다고 느꼈습니다.
과제 및 면접 관련 소소한 팁
사실 저는 작년까지만 해도 과제 합격률이 높지 않았습니다.. 🥲
개발자로서 저의 장점은 빠르게 구현해내는 능력이라고 생각해왔었기 때문에
가장 자신 있었던 과제 전형에서 좋지 못한 결과를 받고 난 후엔 스스로를 돌아보며 큰 회의감을 느끼기도 하였습니다.
이를 극복하기 위해서 면접관님들과 주변 멘토님들께 피드백을 부탁드린 결과
출제자의 의도를 파악하여서 선택과 집중하는 것이 필요하다는 것을 배울 수 있었습니다.
물론 가장 중요한 것은 요구사항을 모두 구현하는 것이지만
요구사항을 만족한 것에서 더 나아가 기업에서 중요시하는 부분을 파악
하여 시간을 효율적으로 사용
하는 것이 차별화가 될 수 있습니다.
예를 들어, 테스트 코드를 중요시하는 기업의 경우 추가 구현보다는 테스트 코드 작성에 우선순위를 높게 두고
안정성을 중요시하는 기업의 경우 에러 핸들링이나 예외 처리에 우선순위를 두는 것입니다.
이러한 피드백을 적용한 후에는 우선순위를 고려하여 시간을 분배하는 능력을 키워 합격률을 크게 높일 수 있었습니다.
지금부터는 그동안 여러 회사들의 과제와 면접을 준비하면서 느꼈던 소소한 팁들을 공유해보겠습니다.
과제나 면접을 준비하고 계신 분들이 계시다면 도움이 되었으면 좋겠습니다.
💡 과제 전형 팁
과제 전형은 시작하기 전에 요구사항을 충분히 이해한 후, 우선순위를 고려하여 순서를 계획하는 것을 추천드리고 싶습니다.
짧은 시간 내에 구현하는 과제라면 더더욱 검토할 시간이 부족하기 때문에
첫 설계에서부터 중요한 부분과 덜 중요한 부분을 구분하여 시간을 분배하는 것이 중요하다고 느꼈습니다.
저의 경우 유저가 제품을 온전한 플로우에 따라 경험
하는 것이 가장 중요하다고 생각하였고
반복적으로 사용되는 기능들은 재사용성을 높이는 방향으로 우선순위를 두어 개발하였습니다.
현업에서도 우선순위를 고려하여 주어진 리소스들을 효율적으로 사용
하는 것이 팀의 목표를 달성
하는데 중요한 역할을 한다고 느껴왔기 때문에 이를 과제에도 적용해보았습니다.
💡 면접 전형 팁
과제를 기반으로 한 면접에서는 사용한 모든 기술에 대한 근거를 명확하게 준비하시는 것을 추천드립니다.
관련한 꼬리 질문이 나올 수 있기 때문에 비슷한 기술들과 비교했을 때 어떠한 이점이 있는지까지 알아두시는 것도 필요하다고 생각합니다.
그 외에도 질문의 의도를 파악하기 어려울 때는 역질문을 통해서 질문의 맥락을 좁혀보는 것도 도움이 될 수 있습니다.
이번 토스 면접을 통해 배웠던 점은 모르는 개념은 솔직하게 말씀드리는 것이 중요하다는 것이었습니다.
이전까지는 모르는 개념의 경우 알고 있는 연관 개념들을 연관 지어서 대답하려고 했습니다.
하지만 실무에서는 오히려 잘못된 지식을 전달하였을 때 더 큰 문제가 될 수 있기 때문에 모르는 것은 솔직하게 말씀드리고 후에 학습하는 것이 더 좋은 태도라는 것을 배울 수 있었습니다.
면접 복기를 통한 앞으로의 계획
문화적합성 인터뷰를 복기하면서 앞으로 개선할 점을 찾아보았습니다.
솔직한 생각 전달드리기
- 이전 당근 최종 면접에서는 지나치게 겸손한 답변을 드렸던 점이 큰 아쉬움으로 남았습니다. 나보다 더 뛰어난 동료를 채용하는 것이 당근의 채용 문화였기 때문에 적절하지 못한 답변이라고 생각하였습니다.
- 따라서 이번 면접에서는 이 점을 의식하여 더더욱 자신감 있는 태도로 답변을 드리려고 노력하였습니다. 하지만 저의 대답을 돌아보니 충분한 근거 없이 자신감을 강조하여 오히려 거만하게 느껴질 수 있는 답변을 드린 것 같습니다.
- 다음부터는 경험과 배웠던 점을 바탕으로 솔직한 저의 생각을 전달드리도록 노력해 보려고 합니다.
메타 인지 능력 기르기
- 성장은 스스로를 정확하게 인지하는 메타 인지에서 출발한다고 생각합니다.
- 따라서 주변 동료들에게 저의 장단점에 대한 피드백을 들으며 저를 객관적인 시선에서 바라보고, 생각을 글로 정리하며 스스로를 돌아보는 시간을 가지려고 합니다.
회사에 어떠한 가치를 전달할 수 있는지 고민하기
- 현재 저의 역량과 발전 가능성이 회사에 어떠한 시너지를 제공할 수 있는지에 대해 더 명료하게 전달드리는 것이 필요하다고 생각합니다.
- 이전까진 스스로의 성장 관점에서 말씀을 드렸지만 팀에 어떻게 도움이 될 수 있는지와 회사를 성장시키는데 어떠한 역할을 할 수 있는지에 대해 답변을 드려보고 싶습니다.
기준 없이 코드를 만들던 시절부터 토스의 SLASH 세션을 통해
클린 코드와 컴포넌트 설계 등의 노하우를 배우며 코드에 대한 기준을 세우는데 큰 도움을 받았었기 때문에
함께하지 못한 아쉬움이 남습니다.
하지만 지난 결과에 머물러있기보다는 앞으로의 기회를 놓치지 않기 위해 더욱 노력하고자 합니다.
채용문이 좁아진 상황인 만큼 더욱더 차별화된 역량을 갖추어서 소속된 팀과 회사에 시너지를 낼 수 있는 개발자가 되기 위해 앞으로 더 노력하겠습니다 💪
고찰 및 회고 😌