profile image

L o a d i n g . . .

728x90

2022.05.07 - [Career] - 비전공자 조종사가 6개월 독학으로 네카라쿠배까지

 

비전공자 조종사가 6개월 독학으로 네카라쿠배까지

저는 조종사를 양성하는 항공운항학과의 졸업생입니다. 정확히 말해 학생 조종사였고 현재는 라인 플러스 백엔드 개발자입니다. 짧게 요약하자면 저는 4학년 2학기를 남기고 1년 휴학을 했었고,

code-run.tistory.com

위 포스팅에서 비전공자로서 라인플러스 개발자가 되기까지의 여정에 대해 소개해드렸는데요, 몇몇 분들께서 구체적으로 어떻게 준비했는지 궁금해하시는 것 같아 이번 포스팅에서는 제가 어떻게 준비했는지 소개드리겠습니다. 

 

자료구조, 알고리즘 

취업에 있어 가장 중요하다고 생각합니다. 취업을 위한 최소한의 관문이기에 이 관문을 통과하지 못하면 아무것도 할 수 없습니다. 비전공자가 자료구조와 알고리즘을 독학하는 게 생각보다 쉽지 않습니다. 저는 단기간에 실력을 향상시키기 위해 단기 학원의 힘을 빌렸습니다(알고리즘 잡스). 제 학습 방법은 다음과 같았습니다. 

  1. 유형 단위로 학습해서 유형별로 익숙해지기(학원) 
    • 코딩 테스트에 등장하는 자료구조와 알고리즘의 유형은 제한적이기 때문에 유형별로 익숙해지는 것이 중요합니다. 
    • 자료구조와 알고리즘 학습을 처음 시작할 때 문제를 봐도 어떻게 접근해야 하는지 감이 잘 오지 않습니다. 문제를 보고 어떤 유형인지 판단할 수 있어야합니다. 
  2. 랜덤 유형 풀어보기
    • 문제를 보고 유형을 파악할 수 있으면 랜덤 유형의 문제를 풀면서 실력을 향상하는 게 중요합니다. 
    • 코딩 테스트는 여러 유형이 조합된 문제가 출제되기 때문에 스스로 유형을 파악할 수 있는 실력이 필요합니다. 
  3. 각종 코딩 콘테스트 참여하기 
    • LeetCode, CodeForces, 프로그래머스 등 여러 사이트에서는 코딩 콘테스트를 주최합니다. 코딩 콘테스트에 참가해 내 실력이 어느 정도인지 확인할 수 있고 랭킹을 통해 스스로 동기부여할 수 있습니다. 
  4. 각종 IT 기업 코딩 테스트 참가 및 모의시험을 실전처럼 풀어보기 
    • 실전과 연습은 다릅니다. 따라서 실전 코딩 테스트에 익숙해지기 위해서는 최대한 실전과 유사한 환경에서 연습이 필요합니다. 
    • 각종 IT 기업의 코딩 테스트를 참가해보는 것을 권장드립니다. 
    • 각종 IT 기업의 과거 코딩 테스트도 풀어볼 것을 권장드립니다. 

제가 주로 활용한 사이트는 다음과 같습니다. 

LeetCode: 유형, 회사, 난이도별로 문제가 잘 분류돼서 자료구조와 알고리즘을 학습하는데 가장 많은 도움을 받았습니다. 코딩 콘테스트도 주기적으로 주최하기 때문에 위 사이트를 잘 활용하는 것을 추천드립니다. 
CodeForces: 문제의 난이도가 높습니다. CodeForces의 문제를 쉽게 해결할 수 있으면 IT 기업의 코딩 테스트는 쉽게 통과할 수 있습니다. 
프로그래머스: 각종 IT 기업의 코딩 테스트가 실제로 진행되는 플랫폼입니다. 과거 코딩 테스트도 경험해볼 수 있습니다. 

그 외 백준, hacker rank, google kick start 등이 있지만 저는 위 3개의 사이트를 활용했습니다. 

LeetCode contest ranking
Google kickstart

Computer Science 

컴퓨터 공학 지식은 모든 기술의 토대가 되는 지식입니다. 면접 질문으로도 자주 등장하기 때문에 꼭 학습이 필요합니다. 대표적으로 하드웨어, 운영체제, 네트워크와 데이터베이스 등이 있습니다. 모두 중요하지만 학습량이 매우 방대하기 때문에 전략적인 접근이 필요합니다. 이러한 공학적 지식을 학습함에 있어서는 단 한 번에 100% 이해하는 게 사실상 어렵습니다. 지식과 경험이 쌓여야 이해할 수 있는 내용이 존재하기 때문입니다. 따라서 저는 일정 주기를 두고 얕고 여러 번 학습하는 것을 추천드립니다. 

컴퓨터 공학 지식을 학습할 수 있는 플랫폼은 여럿 있는데요, 저는 다음 사이트를 주로 활용했습니다. 

유튜브: 드림코딩, 노마드 코더, 널널한 개발자 TV, Fireship
강의: Coursera, Udemy, Udacity, 인프런 

라이브러리 및 프레임워크 

현업에서 사용하는 툴에 대해서도 학습이 필요합니다. 대표적으로 frontend는 react, vue 등이 있고 backend의 경우 spring boot, nodejs 등이 있습니다. 물론 중요도가 위에서 말씀드린 것들에 비해 낮지만 현업에서 사용하게 되기 때문에 잘 알아서 나쁠 것은 없습니다. 

제가 생각하기에는 라이브러리와 프레임워크를 가장 빠르게 학습할 수 있는 방법은 해당 라이브러리 및 프레임워크를 사용해서 토이 프로젝트를 진행하는 것입니다. 토이 프로젝트를 할 때 주의할 점은 기술을 무작정 사용하는 게 아니라 "왜 이 기술을 사용해야 하는지"와 "이 기술은 어떻게 동작하는지"에 대해 끊임없이 의문을 던지면서 진행하는 것입니다. 

그 외 

그 외 중요한 것은 정보입니다. 결국 취업을 하기 위해서는 취업과 관련된 정보를 꾸준히 모니터링해야 합니다. 저는 이를 위해서 OKKY(개발자 커뮤니티)와 프로그래머스(공채, 인턴쉽 등 다양한 정보 제공)를 주기적으로 모니터링했습니다. 또한 관심 있는 회사가 있으면 그 회사의 채용 사이트를 주기적으로 모니터링하는 것도 도움이 됩니다. 

혼자 학습하는 건 쉽지 않습니다. 저는 어려운 주제가 있으면 종종 스터디를 통해 학습을 진행했는데요, 주로 OKKY의 스터디 페이지를 통해 스터디원을 모집했습니다. 스터디 장이 돼서 직접 스터디를 진행하면 책임감이 생겨 더 적극적으로 학습할 수 있다는 장점이 있었습니다. 또한 스터디원들로부터 다양한 정보를 얻을 수 있다는 장점이 있습니다. 

OKKY의 스터디 모집 페이지

마무리 

이번 포스팅을 통해 제가 어떻게 단기간에 비전공자의 신분으로 취업했는지 소개해드렸는데요, 혹시 더 궁금한 게 있으시면 댓글로 남겨주시면 더욱 자세히 말씀드리도록 하겠습니다. 

728x90
복사했습니다!