1. 스스로 성장하면서 취업 준비하기
학습 규칙 만들기
- 일반적인 직장인과 비슷한 생활 흐름을 가지려 노력하기
- 7시 기상, 공부 시간과 점심시간 정해놓기
- 매일 할 일을 적어놓고 할당량을 채우지 못하면 야근(더 공부하기)
- 매 요일마다 해야 할 학습 내용에 대한 규칙을 세웠고 이를 수행하며, 고쳐나가기
- 매주 목표했던 계획과 수행이 어느 정도 달성했는가를 체크하여, 너무 많은 목표를 가져가려 해서 달성률이 낮다면 목표를 줄이고, 다 채운다면 조금 더 도전해 보는 식으로 포맷을 매주 고쳐나가기
- 규칙적으로 학습을 계획하고 진행 사항을 체크하는 것을 하다보면 인성 면접에서 좋은 소스가 될 수 있음
사이드 프로젝트
- 다른 사람과 프로젝트를 진행하는 것 자체가 좋은 경험
- 코드를 설계할 때 코드의 설계, 패키지 선정, 코드 구조등 모든 부분에 제 생각과 문제 해결 과정을 담는 것에 집중해보기
- 하루에 일정 시간을 사이드 프로젝트에 투자
- ‘하니까 되던데’라는 말을 하기 보다는, 어떻게 문제를 해결했는가에 대해서 기록하기
CS 학습 스터디
- 일주일 두번정도
- 첫 번째 만남
- 각자 4~5개정도의 면접 키워드에 대한 질문을 대비하기 위해 이를 설명해주는 강의 자료 만들기
- 만든 자료를 공유하면서 알려주기
- 4~5명만 있어도 일주이렝 20개 정도의 질문에 대비할 수 있는 자료를 가질 수 있음
- 공유받은 자료를 가지고 학습해오기
- 두 번째 만남
- 학습해온 면접 키워드를 기반으로 4~5개의 랜덤 면접 질문을 던지고 답하기
- 단순 암기보다는 CS의 원리 학습에 좀 더 집중하기
- 원리를 하나씩 쌓아가면 추후 면접에서 제가 모르는 CS 질문이 오더라도 기억하던 원리를 기반으로 조금 더 질문이나 힌트를 유도하면서 면접에 대한 답에 다가갈 수 있음
개인 기술 블로그 작성
- 일주일에 글 1편 쓰기를 목표로 개인 블로그 글을 작성했습니다.
- 기술 블로그를 작성할 때 가장 중요하게 생각한 것은 ‘문제 해결 역량’을 글을 작성하며 길러보는 것이었습니다.
- ‘내가 왜 이것을 문제라고 생각했는지(문제 파악 능력)’
- ‘나는 이 문제의 원인을 어떻게 분석 했는지(문제 분석 능력)’
- ‘문제 원인을 기반으로 어떤 해결방식을 생각해냈는지(문제 해결 능력)’
- ‘문제 해결 결과 어떤 것을 배우고 깨달았는지(문제 극복을 통한 성장 내역)’
- 위 4가지 요소를 중점적으로 생각하고 글에 담아내려 했습니다.
- 제가 사이드 프로젝트를 운영하며 마주한 문제, 혹은 CS 스터디를 하며 깊게 탐구한 부분 등 다양한 것들을 글의 주제로 삼고 글을 작성했습니다.
알고리즘 문제 풀기
- 이걸 왜 이렇게 풀어야 하는지에 대해서 생각하면서 풀기
- 반복 숙달을 통해 문제를 봤을 때 어떻게 풀어야 할 지 감을 잡기
- 카테고리화되는 문제들에 대해서 분석하고, 이러한 문제들이 어떤 데이터 구조를 가지고 데이터를 어떻게 도출해내는가에 대해서 생각하기
- 문제를 풀 때는 최대한 풀이를 보지 않고 풀기
- 분류는 절대 보지 않기! 답지를 보는 것과 차이 없음
2. 자기소개서 준비 방법
자기소개서를 작성하기 전, 나의 경험을 정리해봅니다.
- 내가 지금까지 해왔던 자기 개발 경험을 전부 나열해봅니다.
- 이렇게 정리한 항목들에서 ‘나의 어떤 역량’을 담고 있는지를 정리해봅니다.
- 이 소재들을 활용하여 나의 역량을 설명할 수 있는 한문단의 글로 작성해보세요
문제 해결 역량이란 무엇일까?
- ‘내가 왜 이것을 문제라고 생각했는지(문제 파악 능력)’
- ‘나는 이 문제의 원인을 어떻게 분석 했는지(문제 분석 능력)’
- ‘문제 원인을 기반으로 어떤 해결방식을 생각해냈는지(문제 해결 능력)’
- ‘문제 해결 결과 어떤 것을 배우고 깨달았는지(문제 극복을 통한 성장 내역)‘
왜 문제 해결 역량을 강조해야 하는 것일까?
- 직장에서 우리가 하는 일은 결국 ‘코드를 통해’ 혹은 ‘코드로 인해’ 주어진 ‘문제’를 해결하는 것!
- 그렇기 때문에 전달받은 일을 얼마나 잘 해결해 나가야 하는 것인지에 대해 고민해봐야 하는 것
단순히 ‘~를 해봤다’로 작성된 글은 문제 해결 역량이 아니다
- 흔히들 기술 블로그나 이력서를 보다보면, 단순히 기술을 사용하는 방법만 작성하는 글이 보입니다.
- 이것은 가진 문제 해결 역량을 담아내는 글이 아닙니다. 단순히 정보의 나열일 뿐입니다.
- 가능하면 글 안에서 ‘본인’의 생각을 담을 수 있도록 노력해보세요
- 나는 왜 이 기술을 사용했는가? / 나는 왜 이 문제를 해결해야 했는가?
- 나는 이 기술을 해결하기 위해 어떤 생각을 했는가?
- 어떤 실패를 거쳤는가?
- 등등등…
- 이렇게 만든 한 문단의 글을 ‘자시고새거 컴포넌트’처럼 사용하면서 필요한 곳에 적절히 조합하기
- 내 색깔을 담은 글이 보다 근거있고 좋은 평가를 받을 수 있음
3. 면접 준비 방법
면접에서 모르는 질문을 받았을 때에는?
- ‘모른다’고 답변하거나 억지로 답을 찾기 보다는, 내가 왜 모르는지를 한번 분석해보기
- 만일 모르는 이유가 특정 정보가 부족해서라면, 그 부분을 면접관께 여쭤보며 대화의 티키타카 시도해보기
- 특정 정보에 대한 힌트를 부탁해서 된다면 힌트를 받고 이를 기반으로 모르는 문제에 접근해보기
- 모르는 주제가 나왔을 때
다음에 ~해보겠습니다 보다는 처음 들어봤는데 ~를 알려주시면 다시 고려해본 후 말씀드리겠습니다라는 식으로 힌트 요청
- 다른 원리들도 많이 알아야 이를 끌어와 면접에 대한 답변을 하는 과정에서 끌어올 수 있음
면접에서 ‘나만의 개발 철학과 업무 철학을 가지자/보여주자’
- ‘개발이란 무엇일까?‘에 대한 모두의 답은 다 다를 것입니다.
- 면접에서 확고한 ‘나의 개발 철학’을 가지고 이에 따라 말할 수 있다면, 다른 지원자보다 더 두드러진 모습을 보여줄수 있습니다.
- 무엇보다, 이러한 개발 철학을 통해 나 자신이 보다 발전할 수 있음
- 내가 뭘 할까에 대한 지침서가 생기는 것과 같음
- 내가 공부하는 방향을 잡고 계획을 세우는 과정에서 큰 도움이 됨
- 이를 정리해서 인성면접에서 애매한 한줄소개 하는 것보다 나의 개발철학을 말하는 것이 훨씬 좋은 점수를 받을 수 있음
- ‘개발이란 무엇일까?’, ‘개발 공부는 왜 하는가?‘에 대해서 스스로 계속 생각해보고 자신만의 답을 찾아나가기
4. 기업 선택하기
스타트업도 스타트업 나름이다
- 스타트업도 규모가 작다고 하더라도 성장 가능성이 있기 때문에 아이템에 따라서 이 스타트업이 좋은 스타트업인지 알 수 있다
- 좋은 사업 아이디어를 가지고 온 스타트업은 규모 수가 작아도 200명 이상 지원하는 현실
- 결국 좋은 스타트업을 가기 위해서도 학습이 필요하다
- 생각보다 스타트업에서 시작하는 것도 실무를 경험하긴 하지만 이력으로 제대로 못 쓸 가능성이 있음
- 당장 기능 개발이 최우선적이기 때문에 코드 퀄리티 등을 제대로 신경 쓸 시간이 없어 어렵다
- 스타트업은 웬만하면 갈 수 있다고 오만하게 생각하지 말자