비전공자로 1년만에 네카라 합격한 후기

작성:

비전공자로 1년만에 네카라 합격한 후기

naver_pass

line_pass


살짝 어그로 한번 끌어보고 싶었습니다.

저는 주변에 개발자가 전혀 없는 상태에서 개발자로의 길에 뛰어들었다 보니

처음에 무엇을 어떻게 해야 하는지 물어볼 수 있는 곳이 한 군데도 없었습니다.

개발자가 되고 싶은 비전공자에게 이 글이 참고될 수 있으면 좋겠습니다.

  • 저는 백엔드 개발자로 취직했습니다.
    • 머신러닝, 데이터 분석으로의 진로는 잘 모릅니다.
    • 프론트엔드 신입 개발자로 취직하는 길은 제가 준비한 과정과 비슷한 부분이 있다고 생각합니다.



1. 배경

저는 신소재공학을 전공했습니다.

저희 과에서는 컴퓨터 프로그래밍을 거의 다루지 않습니다.

많이들 하는 C 프로그래밍도 한번 해본 적이 없었지만,

졸업 직전 학기에 매트랩을 사용하는 과제를 하다가

개발 공부를 본격적으로 해보고 싶다는 생각이 들어서 도전을 결심했습니다.

2020년에 삼성 청년 소프트웨어 아카데미(SSAFY, 이하 싸피)에 입과 하면서

개발 공부를 본격적으로 시작했습니다.


그때 당시 저는

  • 알고리즘 (및 Problem Solving)은 입과 후 처음 들어본 상태
    • 자료구조는 당연히 몰랐음
  • Django(이하 장고)의 존재는 아는 상태
  • HTML이 화면을 구성하는 것, CSS는 화면을 예쁘게 하는 것, JavaScript는 화면을 움직이게 하는 것이라는 정도까지만 파악한 상태

였습니다.



2. 학습 과정

A. 싸피에서의 시간

1년 동안 싸피에서 공부했는데,

반년 정도는 알고리즘과 웹 프로그래밍을 학습하는 시간이었고

나머지 반년 정도는 실제 웹 서비스를 만들어보는 프로젝트를 진행했습니다.


저는 비전공자반이었기 때문에, 파이썬을 익히는 것부터 시작했습니다.

SW Expert Academy점프 투 파이썬을 보며 파이썬 문법을 익히고

백준 웹사이트에서 문제를 풀면서 알고리즘 문제 풀이 연습을 했습니다.

처음엔 삼성 SW 역량 테스트 A형을 취득하는 것을 목표로

구체적인 구현을 필요로 하는 문제를 많이 풀었는데,

이게 나중에 기업 코딩테스트를 볼 때 도움이 많이 되었다고 생각합니다.


웹 프로그래밍을 학습할 때는 주로 파이썬 기반의 장고를 사용했습니다.

처음에는 장고만 사용해서 웹 페이지를 만들다가

한 학기가 끝날 즈음엔 프론트엔드 프레임워크인 Vue.js 를 함께 사용했습니다.


두 번째 학기엔 직접 웹 서비스를 만드는 팀 프로젝트를 3개 정도 하게 되었는데,

제가 어느 직군을 가질지 선택하기 전에 모두 한번 경험해보자는 생각으로

프로젝트 하나는 프론트엔드, 하나는 백엔드,

나머지 하나는 하드웨어 관련 개발을 맡았습니다.

모두 해보면서 백엔드 개발을 하기로 마음을 먹고 준비하게 되었습니다.

프로젝트에 관한 내용은 제 깃허브에서 볼 수 있습니다.


B. 개발자의 길에 대한 기존의 생각

제가 개발자로 진로를 전향한 이유 중 하나는

개발자라는 직업이 다른 요인보다도

실력에 기댈 수 있는 몇 안 되는 직종 중 하나라고 생각했기 때문입니다.

그리고 컴퓨터를 전공하지 않았더라도 누구나 해볼 수 있는 진로라고 생각했습니다.

전공, 성별, 학력, 지역 출신 등과는 전혀 상관없이

누구나 원하면 개발자가 될 수 있다고 생각했고

개발 공부를 시작하면서도 그렇게 느꼈습니다.


C. 현실

전공 상관없이 개발자를 할 수 있다는 말은 전공자 못지않게 잘해야 한다는 말이고

성별, 학력, 지역 출신 등등 외부 요인과는 상관없이 실력에 기댈 수 있다는 말은

곧 좋은 실력을 갖춰야 한다는 압박으로 돌아옵니다.

공부 많이 해야 하고 계속해야 합니다.


싸피에 입과 하고 같이 개발 공부를 시작한 동기 중에 잘 해내는 친구도 물론 있었지만,

적성에 맞지 않아 힘들어하는 경우도 많이 봤습니다.

저는 운 좋게도 개발이 제 적성에 맞아서 온종일 재밌게 공부할 수 있었지만,

만약 그렇지 않았다면 저도 버티기 힘들었을 것 같습니다.


개발자라는 직업이 최근에 갑자기 조명받게 되었는데,

단순히 유망한 직업이라는 이유로 뛰어들기엔 쉽지 않을 것 같습니다.

만약 개발자가 되고 싶은 비전공자분이 있으시면 ‘무조건 개발자가 될 것이다’ 보다는

‘제대로 개발 공부 한번 해보고 나랑 맞다 싶으면 개발자가 되어야겠다’라는

생각을 하셨으면 좋겠습니다.



3. 취업 과정

A. 취업 결과

2020년 하반기

  • 네이버 1차 면접 탈락
  • 카카오 코딩테스트 탈락
  • 라인 2차 면접 탈락
  • 쿠팡 코딩테스트 탈락

프로젝트를 진행하면서 동시에 입사 지원을 하려니 쉽지 않았습니다.

그래서 네이버, 카카오, 라인, 쿠팡 네 군데만 지원하고 모두 탈락했습니다.

당시에 전 CS(Computer Science, 컴퓨터 전공 지식)를 거의 모르던 상황이었습니다.


2021년 상반기

  • 네이버, 라인, 가비아 최종 합격
  • 이외 여러 군데 지원한 곳들은 모두 면접 탈락

코딩테스트는 모두 통과했었지만, 면접에서 떨어진 곳이 많습니다.

기술 면접 질문은 비슷비슷한 것 같았지만,

가끔 받는 예상치 못한 질문에 버벅댈 때도 있었고

해당 회사랑 핏이 맞지 않아서 떨어진 경우가 있었습니다.


B. 중요하다고 생각하는 것

★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  1. CS 지식 (면접 대비)
  2. 알고리즘 (코딩테스트)

+ 프로젝트 (및 포트폴리오)

★☆★☆★☆★☆★☆★☆★☆★☆★☆★


본 게임은 면접이라고 생각합니다.

운영체제, 네트워크, 데이터베이스 등등

컴퓨터 전공 지식을 습득하는 것이 중요한 것 같습니다.

그리고 개인 프로젝트를 한다고 하면

어떤 도구를 왜 사용했는지 어떻게 동작하는지 정도는 알고 사용하는 것이 필요합니다.

그래야 면접에서 어떤 이유로 이 도구를 사용했다고 말할 수 있을 것이기 때문입니다.


알고리즘 문제를 푸는 건 예선입니다. 면접 준비를 더 빡빡하게 해야 합니다.

그래도 제가 생각했던 것을 적어본다면,

구체적인 구현 문제를 많이 풀어봤던 것과

코드를 짤 때 제가 봐도 잘 알아볼 수 있을 것 같이 짜는 게

도움이 많이 되었다고 생각합니다.


다른 스펙, 자격증 보다도

코딩테스트를 통과할 수 있는 만큼의 알고리즘 역량과

“CS지식”이 가장 중요한 것 같습니다.


C. 취준 당시 스펙 (참고)

사실 스펙은 별로 중요한 것 같지 않다고 느껴졌습니다.

자기소개서코딩테스트로 1차 필터링,

면접에서 본 게임을 하는 그 프로세스에 집중하는 게 중요한 것 같습니다.

물론 떨어진 기업들에 대해선 제가 할 말이 없습니다 ^^;;

그래도 궁금하실 분들을 위해서 참고용으로 남겨두겠습니다.


  • 서울시립대 신소재공학과 졸업
    • 컴퓨터공학과 과목 수강한 적 없고 부전공 복수 전공 아닙니다.
    • GPA: 4.2/4.5
  • OPIC IH
  • 정보처리기사 없음
  • 그 외 없음


D. 준비했던 방법

  1. CS공부
    • 운영체제: 반효경 교수님 KOCW 강의
      • 진리입니다. 말이 필요 없습니다.

    • 네트워크: 모두의 네트워크 & 인터넷 검색
    • 데이터베이스: 깃허브 기술 면접 Repository 참고 & 인터넷 검색
      • 기술 면접을 대비하기 위한 Repository가 다수 있습니다.
        데이터베이스에 관한 내용은 이 다이제스트들과
        인터넷 검색을 통해 공부했습니다.
        • https://github.com/JaeYeopHan/Interview_Question_for_Beginner
        • https://github.com/WooVictory/Ready-For-Tech-Interview
        • https://github.com/gyoogle/tech-interview-for-developer
        • https://github.com/WeareSoft/tech-interview

    • 그 외 궁금한 내용은 네트워크 공부할 때와 마찬가지로
      인터넷 검색을 통해 정리하고 공부했습니다.
      • 궁금한 내용은 공부할 때마다 새로 나오는 키워드나 내용을
        꼬리 물기 하듯 이어나갔습니다.
        • 예를 들어, 공부하다가 비동기 라는 키워드가 나오면
          “비동기란?” -> “동기와 비동기는 무슨 차이지?”로 이어지고,
          그 과정에서 블로킹논블로킹 이라는 키워드를 알게 되어
          “동기, 비동기, 블로킹, 논블로킹의 차이가 뭐지?”라는 질문으로 이어나가는 방식이었습니다.
  2. 알고리즘 공부

    • 알고리즘 문제 풀이 연습은 2020년 상반기에 주로 했습니다.
    • 자료구조는 직접 구현해보기도 하면서 학습했습니다.
    • SW Expert Academy백준 웹사이트를 많이 활용했습니다.
    • 2021년 상반기에는 백준 웹사이트에서 문제를 약간씩 풀어보며
      감을 유지하는 방식으로 했습니다.



맺음말

개발은 흥미로운 작업이고 개발자도 매력적인 직업이라고 생각합니다.

하지만 직업으로 하기엔 공부해야 하는 내용도 상당히 많고

기술이 빠르게 변하다 보니 그 변화에 맞춰 적응도 필요합니다.

개발자가 유망 직종이라는 생각만으로

원래 본인의 진로를 뒤로하고 뛰어들기엔 위험하다고 생각합니다.


개발직에 관심이 있다면

우선 어떤 프로그램 혹은 어플리케이션을 만들어보는 것부터 시작해보면 좋겠습니다.

간단한 웹사이트 혹은 어플리케이션을 만드는 방법을 알려주는

무료 강의가 많이 있습니다.

영어를 잘하시는 분이라면 더 쉽게 자료를 찾을 수 있을 겁니다.

직접 코딩을 해서 어떤 결과물을 만들어보고 이런 작업이 본인과 맞는다고 생각이 들면

그때 개발자로의 진로를 고려해보시기 바랍니다.

화이팅!

댓글남기기