취업과 이직을 위한 토토사이트 토대리스 코딩 테스트 문제 풀이 전략: 자바편 출간
면접 과정과 토토사이트 토대리밍 실무에서 중요한 효율적인 코드 작성 방법과 해설 수록
토토사이트 토대리를 꿈꾸는 이들에게 다양한 경험을 바탕으로 한 능력치 확장 조언
IT 기업의 취직을 원한다면 기업의 요구하는 코딩 테스트에 응시해야 한다. 김현이(컴퓨터공학부 소프트웨어전공 14) 씨는 IT 기업 프로그래머를 꿈꾸는 이들을 위한 코딩테스트와 기술 면접 저서를 출간했다. 구글 코리아 소프트웨어 엔지니어로 활동하며 자기 경험과 노하우를 바탕으로 많은 사람들에게 도움을 준 김 씨를 만나 이야기를 나눴다.
<취업과 이직을 위한 토토사이트 토대리스 코딩 테스트 문제 풀이 전략: 자바 편>
최근 코딩테스트와 기술 면접에 관한 책을 출간했습니다. 책에 관해 소개 부탁드립니다.
제가 출간한 책은 ‘취업과 이직을 위한 프로그래머스 코딩 테스트 문제 풀이 전략: 자바편’ 입니다. 코딩 테스트는 IT 기업에서 지원자의 기술적인 역량을 시험하기 위해 실시합니다. 프로그래머의 실력을 판별할 수 있고 국내 기업부터 세계적인 기업들까지 실시하는 가장 널리 쓰이는 평가 방법입니다.
이 책은 시간 복잡도, 배열, 문자열, 정렬, 이진 탐색, 완전 탐색, 해시, 동적 프로그래밍, 자주 나오는 자료 구조 등 코딩 테스트에 필요한 핵심 지식을 모두 담고 있습니다. IT 기업 입사 등 중요한 시험을 처음부터 혼자 공부하는 데에 있어 어려움을 느끼는 사람들이 많습니다. 그들에게 실질적으로 필요한 도움을 주고자 책을 쓰게 됐습니다.
자신의 경험과 노하우를 바탕으로 책을 집필해야겠다고 다짐하게 된 계기는 무엇인가요?
주변에 코딩 테스트에 어려움을 겪는 사람들을 많이 봤어요. 그 사람들이 제게 코딩 테스트에 관한 도움과 조언을 요청할 때 제가 비슷한 맥락에서 답하는 공통적인 답변들이 있더라고요. 이런 고민이 단순히 제 주변 지인들뿐만 아니라 여러 사람의 고민일 수 있겠다는 생각이 들었어요. 개발자를 꿈꾸는 분들의 공통적인 고민을 해결해 주고 그들의 능력치를 올리는 데 일조하고자 책을 집필하게 됐습니다.
저서명에 ‘취업과 이직을 위한’이라고 대상 독자를 명시해 뒀는데요. 책의 방향성을 취업과 이직을 준비하는 이들을 위한 것으로 설정하게 된 이유는 무엇인가요?
단순히 알고리즘과 프로그래밍의 실력을 높이기 위해서는 대회에 참가하는 등 여러 가지 방법이 있습니다. 그러나 코딩 테스트를 위해 필요한 능력은 대회에 출마할 정도의 높은 수준이 필요하진 않아요. 따라서 이 책에서는 취업과 이직을 위한 이들을 위한 적합한 수준을 다루고자 했습니다. 프로그래밍에 익숙지 않지만, 개발자에 도전하는 사람들을 위해 ‘이 정도만 알아도 충분히 좋은 결과를 낼 수 있다.’라는 메시지를 전달하고 싶었습니다.
취업과 이직을 목표로 하는 토토사이트 토대리들이 특별히 갖춰야 할 자세가 있다면요?
취업과 이직을 준비하는 프로그래머들은 자기 자신을 잘 증명하는 것이 무엇보다 중요하고, 그 증명 과정 중 하나가 코딩 테스트입니다. 코딩 테스트에서 알고리즘과 문제 풀이가 1순위이지만, 그 이후 면접 과정과 실무를 위해서는 코드를 얼마나 깔끔하게 쓸 수 있는지도 매우 중요합니다. 알고리즘에만 집중하다 보면 코드를 깔끔하고 명확하게 쓰는 것을 간과하기 쉽습니다. 이 책에서는 가독성을 높이고 구조적인 코드 작성 방법을 단계적으로 서술해 취업과 이직을 목표하는 프로그래머들에게 가장 필요한 능력을 길러주고자 했습니다.
토토사이트 토대리로서의 그의 이야기를 들어보다
기업에서의 실제 토토사이트 토대리밍은 어떻게 이뤄지는지 궁금합니다.
개인 프로젝트나 대회와 달리 기업에서는 협업이 역할 분담이 잘 되고 효율적이어서 함께 프로그래밍합니다. 같이 만들고 공유하는 프로젝트인 만큼 특히 코드의 가독성과 간결함이 중요합니다. 대부분의 IT 기업에서는 코드를 작성할 때 가독성을 고려하지 않으면 코드를 프로젝트에 반영할 수 없습니다.
실무에서 코드를 프로젝트에 넣기 위해서 '코드 리뷰'를 거쳐야 하는데요. ‘코드 리뷰’는 다른 사람들이 내 코드를 읽어보고 목적에 맞게 잘 썼는지를 평가하는 프로세스예요. 간결하고 효율적인 코드 작성을 하지 않으면 이 리뷰에 통과되지 않을 확률이 높아요. 코딩 테스트를 통과하는 것에 그치지 않고 입사 후에도 간결하고 정확한 코딩 작성을 하기 위해서는 미리 공부하는 것이 중요합니다.
지금까지 진행했던 프로젝트 중 가장 기억에 남는 프로젝트는 무엇인가요?
처음 개발을 시작한 고등학생 때 진행했던 첫 프로젝트가 가장 기억에 남아요. 개발과 프로그래밍에 대해 아무것도 몰랐을 때인데, 그 당시 안드로이드 애플리케이션을 만들고 싶은 것이 생겨 개발에 처음 도전했어요.
큐브 맞추는 것이 취미여서 큐브 맞추는 시간을 재는 큐브 타이머 애플리케이션을 만들었어요. 지금 보면 기능이 많지 않음에도 하나의 완성된 애플리케이션을 만드는 데까지 2년 정도 걸렸어요. 프로그래밍에 대해 아무것도 몰랐지만 독학하고 부딪혀 보며 만든 프로젝트라 제게 굉장히 의미가 있는 프로젝트예요. 무엇보다 이 프로젝트가 제 꿈의 계기가 됐어요. 제 적성을 찾았고 미래에 개발자가 되겠다는 직감을 느꼈죠.
다양한 경험을 쌓은 김현이 동문의 학부생 시절
동문의 학부 시절이 궁금합니다. 학부 시절 어떤 활동을 했는지 기억에 남는 일화에 관해 이야기 부탁드립니다.
저는 배드민턴 동아리인 ‘하이민턴’에서 활동한 게 기억에 많이 남아요. ‘하이민턴’ 동아리와 배드민턴에 대한 애정이 깊어 동아리 회장으로도 활동했습니다. 동아리 회장으로 활동한 경험이 제게 좋은 영향을 많이 줬습니다. 동아리의 회원에서 동아리를 바라보는 입장과 운영진의 입장에서 바라보는 입장은 매우 달라요. 동아리도 작은 사회라고 생각해서 활동하며 배우는 점이 많았어요. 동아리의 회장으로 활동하며 다양한 사람을 만나고 이끄는 경험이 할 수 있었어요.
그리고 게임 개발 수업에서의 한 일화가 기억에 남습니다. 과제로 게임 프로젝트를 만들어 가야 했어요. 저는 ‘유니티’라는 3D 게임 개발 도구를 이용하고 네트워크와 물리 엔진을 활용해 팽이 게임을 개발했습니다. 교수님은 게임성은 없으나 네트워크 기술을 이용한 점이 좋다는 피드백을 주셨습니다.
이 수업에서 느낀 점은 프로젝트를 할 때 주제의 중요도와 관계없이 기술적 측면 혹은 새로운 경험의 측면에서 스스로를 성장시킬 수 있다면 충분히 의미 있는 활동이라는 점이에요. 이 프로젝트에서 게임 개발에 필요한 새로운 기술들을 알게 돼 제게 큰 도움이 됐습니다. 이후 프로젝트를 대하는 제 시선이 많이 달라졌고 어떤 프로젝트든 거부감 없이 임할 수 있게 됐습니다.
동문이 생각하기에 학부 시절에 꼭 해야 하는 것이 있다면요?
소프트웨어 개발자를 꿈꾸는 학부생들에게 많은 프로젝트 도전을 추천해 드리고 싶어요. 프로젝트를 통해 현재 자신의 실력 판단이 가능하고 동시에 부족한 점을 채워갈 수 있습니다. 학교 수업안에서 진행되는 프로젝트도 있지만 수업 외적으로도 많이 참여해 보길 권하고 싶어요. 저는 학부 시절 혼자서 정말 다양한 프로젝트를 시도해 봤어요.
일례로 어느 날은 웹에 대해 알아보고 싶어서 웹의 기초적인 내용을 혼자 습득한 뒤 블로그 형태의 웹 개발을 해봤어요. 토토사이트 토대리밍의 다양한 분야에 접근해서 최대한 다양하게 배우고자 했습니다. 프로젝트를 통해 얻고 싶은 목표를 설정한 뒤 이에 도달하면 배운 점을 바탕으로 다른 것에 도전해 보는 것을 추천해요.
누구나 선망하는 대기업의 토토사이트 토대리로 활동 중입니다. 성공적인 취업 생활에 대해 조언하자면요?
사람마다 중요하게 생각하는 것이 다르고 방향성에 차이가 있겠지만, 다양한 분야를 탐색해 보며 능력치를 넓게 확장해 나가길 조언하고 싶어요. 기업에서 경력 이직이 아닌 신입으로 취업에 도전하는 사람들에게 높은 수준의 역량을 요구하진 않아요. 저는 한 분야에 깊게 전문적으로 탐색하진 않았지만, 여러 분야를 적정 수준까지 탐색해 본 것이 취업에 전략적으로 큰 도움이 됐습니다.
토토사이트 토대리밍의 분야가 다양하지만, 각 분야의 개별적인 기술보다 더욱 근본적인 면을 살펴보면 공통적인 요소들이 굉장히 많이 있어요. 깔끔한 코드 작성과 효율성 그리고 프로젝트 구조 설계는 분야를 뛰어넘어 공통으로 중요한 요소예요. 이런 공통적인 기초를 탄탄히 하며 다양한 분야에 접근하다 보면 서로 시너지를 내는 순간이 와요. 이런 점이 성공적인 취업 생활에 전략적으로 도움이 될 것입니다.
