멘토지원
파트너스
현직자 클래스
멘토 찾기
Best 질문답변
SW 개발자 면접, 코딩 테스트부터 면접 준비까지! 할 수 있는 것을 하세요!
멘토
IT개발/데이터
약 5년 전
💬 멘티의 질문

안녕하세요! 컴퓨터공학을 전공한 멘티입니다. 주변에 전공을 살려 취업한 친구나 선배들이 없어 조언을 구하기 어려웠는데, 우연히 잇다를 발견하고 너무 반가운 마음에 멘토님께 질문을 드리게 되었어요.

저에 대한 이야기를 더 자세히 해드리자면, 사실 학교에 다니면서 전공에 대한 확신이 없어 오래 방황을 했습니다. 그러다 다시 프로그래밍에 재미를 느껴 다음 취업 시즌에 꼭 그 분야로 취업하겠다고 결심했어요. 늦게 시작한 만큼 고민이 많은데, 제가 궁금한 것은 다음과 같습니다.


ⓒDragon Images


1. 저는 현재 C 언어와 JAVA, 자료구조를 보면서 공부하고, 코딩도 해보고 있습니다. 입사 과정에서 SW 시험을 보는 곳이 많은데, 어떤 방향으로 준비하면 좋을지 멘토님의 회사는 어떤지 조언 부탁드립니다.


2. 전공 공부를 하면서 해본 것이 많지 않아 실무에 지장이 있지는 않을지 걱정됩니다. 입사 후 회사 교육에선 어떤 것을 주로 배울 수 있나요?


3. 멘토님께서는 어떤 계기로 SW 개발자가 되셨고, 어떤 매력을 느껴 현재 회사인 K사에 입사하셨는지 궁금합니다. 그리고 앞으로 회사에서 이루고 싶은 목표가 있으신가요?


너무 늦은 건 아닐까 불안한 마음에 걱정만 늘어갑니다. 새로운 IT 서비스를 개발하고 싶다는 목표가 있지만, 자소서의 입사 후 포부 문항을 보면 막막하기만 해요. 멘토이자 선배로서 부디 조언 주시면 감사하겠습니다!


💬 이준영 멘토의 답변


안녕하세요 멘티님. 얼마 전 잇다에 멘토로 가입하고 나서 질문이 들어오지 않아 시무룩했었는데, 멘티님이 처음으로 질문을 주셨습니다. 제 첫 번째 멘티가 되어주셔서 정말 감사합니다.

저 역시 대학교 2학년까지 정신 못 차리고 놀았던 경험이 있습니다. 그러다가 정신을 바로 잡고 전공 공부를 깊게 파기 시작했는데, 학교에서 배우는 이론이 원론적이라 실무를 향한 갈증이 컸어요. 그래서 ‘소프트웨어 마에스트로’ 과정에 지원해 많은 멘토의 도움을 받았고, 인연이 닿아 현재 취업까지 하게 됐습니다.

저 같은 경우도 많으니 멘티님도 너무 늦었다고 불안해하지 마시고, 지금부터라도 열심히 하신다면 분명 길이 보일 겁니다. 그럼 바로 답변 시작하겠습니다.

ⓒpaikong



코딩 테스트 핵심! 자료구조, 알고리즘, 실무 지식
먼저 입사 시험을 어떻게 준비해야 할지 고민이라고 하셨는데요. 제가 다니는 회사의 경우 SW 입사 시험을 따로 보지는 않습니다. 다만 실무자들이 면접관으로 참여해 기본적인 이론, 프로그래밍 능력과 프로젝트 경험 등을 깊게 질의하는 형식으로 진행합니다.

이와 달리 개발 시험을 치는 곳에선 멘티님이 지금 공부하시는 알고리즘 문제를 내서 테스트를 봅니다. 회사마다 난이도에 편차가 있습니다. 또한, 자료구조 위주로, 혹은 알고리즘 위주로 시험을 내는 등 방식에서도 회사에 따라 차이가 있을 수 있어요.

자료구조를 중점적으로 다루는 시험의 경우 기본적인 시간복잡도 계산에서 시작해 그래프 알고리즘 문제까지 포함합니다. 교재나 서적에서 다루는 자료구조 외에도 B+ 트리와 같은 것을 테스트하기도 해요.

알고리즘을 더 많이 보는 시험은 자료구조와 겹치는 부분이 많겠지만, 동적 프로그래밍이나 백트래킹 등을 다루는 알고리즘 문제 풀이를 테스트합니다. 알고리즘은 다양한 문제를 풀어보고, 여러 기법을 다뤄볼수록 유리합니다. 하지만 입사 준비를 위해선 코딩 테스트 외에도 준비할 것이 많으니 우선적으로는 자료구조를 먼저 공부하시기를 추천합니다.

보편적인 코딩 테스트에선 자료구조나 알고리즘을 주로 보지만, 직무에 따라 실무에서 다루게 될 개발 분야에 대해서도 코딩 테스트를 보기도 합니다. 예를 들어 안드로이드 개발 직무에 지원하셨다면 그 분야의 주요 개발이나 코드에 관해서 테스트할 수 있는 거죠. 멘티님께서 일하고 싶은 분야나 가고 싶은 회사가 정해진다면 자연스럽게 그 부분을 더 준비할 수 있을 겁니다.


ⓒBlueSkyImage

 


실무 면접도 코딩만큼 중요합니다
멘티님의 질문에 초점을 맞추다 보니 입사 준비 중에서도 코딩 테스트 위주로 답변을 드렸는데, 코딩 테스트만큼이나 실무 면접의 비중이 큽니다. 실무 면접은 전공 기본 지식, 프로젝트에서의 문제 해결이나 협업 경험, 개발 도구 등 넓은 범위의 개발 관련 질문과 면접자의 비전 등을 물어봅니다.

막연할 수 있지만, 기본적으로 멘티님이 복습하고 있는 전공서와 시중 프로그래밍 면접 관련 도서들을 보시면 도움이 될 것 같아요. 기본이 탄탄해야 면접에서도 환영받을 수 있거든요.

시중에 나온 책을 추천하자면 한빛미디어에서 출판한 「프로그래밍 면접 이렇게 준비한다」, 「JAVA 프로그래밍 면접 이렇게 준비한다」와 함께 인사이트의 「코딩 인터뷰 완전 분석」이 좋습니다. 물론 회사마다 기준은 다를 수 있지만 참고하기에는 적당한 책들입니다.

그리고 스펙업과 같은 취업 준비 커뮤니티를 통해 스터디를 만들거나 정보를 얻는 것도 권장합니다. 목표가 비슷한 사람들을 만나 함께 프로젝트나 공부를 해본다면 시야가 넓어질 수도 있어요.


ⓒunsplash 


후회는 금물, ‘지금’이 실천하기에 가장 이른 시간
아무래도 멘티님께선 실무 경험을 하신 적이 없다 보니 걱정이 되셨는지 입사 후 교육과정을 물어보셨는데, 사실 회사 규모나 방침에 따라 천차만별이에요.

대기업의 경우 실무에 필요한 개발 능력을 키우기 위해 별도의 교육 과정을 진행합니다. 반대로 중소기업이나 스타트업은 별도의 교육 과정을 운영하기 어려운 경우가 많아요. 회사 여건상 교육을 따로 진행하는게 무리일 수 있거든요.

가장 대표적인 회사인 삼성을 예로 들면, 실무에서 쓰게 될 JAVA, 스프링 프레임워크, 개발 도구들을 배우게 됩니다. 교육을 받는 신입 중에는 비전공자도 있기 때문에 속성으로 코딩하는 법을 익히는 거죠.

혹시 교육 과정이 따로 없는 회사라면 개발에 필요한 부분은 업무를 진행하면서 가르쳐주거나 공부할 서적과 사이트를 알려주기도 하고, 스터디를 진행하기도 합니다.


ⓒElle Aon 

실무 경험이 눈에 띄게 부족할까 봐 걱정하지 않으셔도 됩니다. 입사 전에 개발 동아리나 프로젝트를 진행해보지 않은 이상 대부분은 학교에서 배운 것, 실습해본 정도에 그치거든요. 수준 차이가 크게 나지 않아요. 그러다 보니 들어와서 배워야 하는 것도 비슷한거죠.

물론 같은 스펙이라면 프로젝트 경험이 많고 회사가 개발하는 분야에 적합한 사람을 뽑으려 합니다. 확실히 유리하다고 할 수 있어요. 그래서 취업할 나이가 다 되었는데, 불안하니까 지금부터라도 프로젝트 경험을 쌓아야 하나 멘티님처럼 고민하는 분들도 많이 있죠.

하지만 ‘나이’를 기준으로만 생각하니 조바심이 생길 수밖에 없습니다. 몇 살에는 꼭 취업해야 한다는, 나이에 대한 고정관념을 깰 수 있다면 자신감이 더 생기지 않을까요? 저 역시도 불안할 때가 있고, 타임머신을 타고 과거로 돌아가고 싶은 순간들이 있어요.

하지만 후회하느라 시간을 낭비하는 게 너무 싫어 현재에 집중하려고 노력합니다. 멘티님도 후회는 접어두고, 지금부터라도 본인에게 필요한 것을 판단해 시도하셨으면 좋겠어요.

나이 때문에 할 수 없는 것보다, 지금의 도전에 마주할 패기가 필요합니다.


ⓒIvelin Radkov


 

개발자로서 꿈꾸는 멘토의 비전
이제 멘티님이 궁금해하셨던 제 개인적인 이야기를 해보려고 합니다. 저는 어릴 적부터 손을 사용해 무언가를 만드는 것을 참 좋아했어요. 또한, 컴퓨터에도 관심이 많다 보니 자연스럽게 컴퓨터공학과에 진학해 개발자의 길을 걷고 있습니다.

제가 몸담고 있는 K 회사는 클라우드 기반의 서비스를 개발하고 있는데, 저는 입사전부터 클라우드에 관심이 많았고 대표님과도 인연이 닿아 현재 회사에서 일하게 됐습니다. 여기서 저는 연구개발과 서비스 유지보수를 담당하고 있어요. 그래서 회사에서 개인적인 목표가 있다면 담당 서비스가 문제없이 운영될 수 있게 잘 가꾸고, 서비스가 추구하는 방향을 올바르게 실현하는 것입니다. 그 과정에서 또 다른 배움을 얻는다면 금상첨화겠죠.

회사로 축소해서 보면 목표가 이렇지만, 더 근본적인 비전이 있습니다. 사실 프로그래밍을 통해 만들어 낼 수 있는 것이 무궁무진해서 초반에는 어떤 꿈을 추구할 지 생각이 많았습니다. 그러나 고민을 계속한 결과 지금은 사람들이 더 나은 삶을 누릴 수 있고, 사람과 사람을 이어주는 서비스를 만드는 개발자가 되겠다고 결심했어요. 이 꿈을 이루기 위해 지금도 프론트엔드(웹, 모바일)와 백엔드를 공부하고 있습니다.

끝으로 멘티님께서는 너무 늦었다는 생각하지 않으셨으면 좋겠습니다. 어차피 본인이 가야 할 길을 걷는다면, 주변에 앞서가는 누군가를 바라보지 말고 앞으로 걸어가고 있는 나에게만 집중해야 하지 않을까요? 걱정이 많겠지만, 힘내시고 꿈을 향해 계속 나아가시기를 바랍니다. 항상 응원합니다!


같은 직무를 다룬 글
IT개발/데이터
7달 전
인기 있는 글
연구/설계
약 6년 전