정보/취업

코딩 0에서 시작해 첫 면접 합격까지의 기록 🚀

whistory 2025. 5. 17. 06:21
반응형

 

"코딩은 처음인데, 개발자가 될 수 있을까?"


이 질문을 스스로에게 수백 번 던졌던 순간들이 있었습니다.

 

문과 출신, IT와는 전혀 무관한 전공, 30대 중반의 나이까지.

모든 것이 불리한 조건처럼 보였지만,

6개월의 집중 학습 끝에 첫 면접에서 합격이라는 결과를 얻었습니다.

 

이 글은 제가 밟아온 여정의 모든 것을 기록한 실전 가이드이자 희망 메시지입니다.

 

 

 


1. 출발선: 코딩이라는 미지의 세계 🌐

1.1 첫 코드, 첫 좌절

print("Hello World")를 입력했을 때의 설렘은 순식간에 사라졌습니다.

변수 선언데이터 타입 개념을 이해하는 데만 일주일이 걸렸죠.

 

온라인 강의를 보며 따라했지만, 강사가 for loop를 설명할 때면 머릿속이 하얘졌습니다.

 

"이게 정말 나와 맞을까?"


매일 밤 자정까지 컴퓨터 앞에 앉아있었지만, 눈에 보이는 성과는 없었습니다.

가장 힘들었던 건 동기 부여의 부재였죠.

주변에 개발자가 없어서 물어볼 사람도, 비교할 대상도 없었습니다.

 

 

1.2 전환점을 만든 세 가지 원칙 ✨

  1. 매일 1커밋: GitHub 잔디 심기에 집중하며 습관 형성
  2. 20분 법칙: 문제 해결 시 20분 고민 후 구글링 허용
  3. 피드백 루프: 개인 블로그에 TIL(Today I Learned) 작성

이 원칙들을 실천한 지 3주 차,

JavaScript로 간단한 계산기를 만들었을 때 처음으로 코딩의 재미를 느꼈습니다.

 

버튼을 클릭하면 숫자가 바뀌는 작은 동작이 마치 마법처럼 느껴졌죠.

 

 

 


2. 체계적 학습: 무에서 유를 창조하는 법 📚

2.1 커리큘럼 설계의 비밀

"무작정 따라하기 vs 체계적 로드맵"
초반 1개월은 유튜브 무료 강의로 HTML/CSS 기초를 다졌습니다.

하지만 산발적인 학습의 한계를 느끼고, 3단계 학습 플랜을 수립했죠.

단계별 로드맵

  1. 기초 문법 (8주)
    • Python → JavaScript → SQL
    • Codecademy 인터랙티브 학습
    • 매주 10개 알고리즘 문제 풀이
  2. 프로젝트 (12주)
    • 날씨 알림봇 (Python)
    • 개인 포트폴리오 웹사이트 (React)
    • 커뮤니티 게시판 (Node.js + MongoDB)
  3. 취업 준비 (4주)
    • 이력서 피칭 연습
    • 기술 면접 대비 CS 지식 정리
    • 모의 면접 30회 진행


2.2 생존을 위한 필수 도구 🛠️

  • VS Code 확장 프로그램: Prettier, ESLint, GitLens
  • 디버깅의 신: console.log() 대신 Chrome DevTools Breakpoint 활용
  • 협업 시뮬레이션: GitHub에서 오픈소스 이슈 처리 경험

특히 Git 사용법은 면접에서 가장 많이 질문받은 부분이었습니다.

 

rebasemerge의 차이점, 충돌 해결 방법 등을

실제 프로젝트 사례를 들어 설명할 수 있도록 준비했습니다.




3. 프로젝트 전쟁: 포트폴리오가 말해주는 이야기 🎨

3.1 킬링 프로젝트의 조건

면접관들의 시선을 사로잡은 프로젝트는

기술적 도전비즈니스 임팩트를 동시에 보여준 것이었습니다.

// 금융 앱 이자 계산기 (React)
function calculateInterest(principal, rate, years) {
  return principal * Math.pow(1 + rate / 100, years);
}
// 사용자 입력 유효성 검사 추가
const validateInput = (value) => !isNaN(value) && value > 0;

 

이 프로젝트에서 입력값 검증 로직을 구현하며

정규표현식에러 핸들링을 심도 있게 공부할 수 있었습니다.

 

결과적으로 사용자 오류 감소 40%라는 가상의 KPI를 설정해 설명했죠.

 

 

3.2 실패한 프로젝트의 가치 💡

첫 번째로 시도한 쇼핑몰 사이트 클론은 완성하지 못했습니다.

하지만 면접에서 이 경험을 다음과 같이 어필했죠.


"DB 설계의 복잡성을 깨닫고, 이후 프로젝트에서 모듈화의 중요성을 배웠습니다"


실패 경험을 성장 과정으로 연결하는 것이 오히려 호평을 받았습니다.

 

 

 


4. 면접의 현장: 두근거리는 순간들 💼

4.1 기술 면접 핵심 질문 5

  1. "콜백 함수와 프로미스의 차이점은?"
    • 이벤트 루프 동작 원리 설명 후 실제 코드 예시 제시

  2. "REST API의 특징은?"
    • HTTP 메소드와 함께 Stateless 원칙 강조

  3. "최근 관심 있는 기술 트렌드는?"
    • WebAssembly와 서버리스 아키텍처 언급

  4. "본인 프로젝트에서 개선할 점은?"
    • 성능 최적화 방안 (Lazy Loading, Caching)

  5. "협업 시 갈등 해결 방법은?"
    • 코드 리뷰 문화 정착 사례 설명


4.2 예상치 못한 라이브 코딩 테스트

"Array.prototype.map을 직접 구현해보세요"
손이 떨리면서도 침착하게 접근한 과정을 설명했습니다.

function customMap(arr, callback) {
  let result = [];
  for (let i = 0; i  x*2)); // [2,4,6]


에지 케이스 처리
함수형 프로그래밍 개념을 언급하며

문제 해결 과정을 설명했더니 면접관님께서 고개를 끄덕이셨습니다.




5. 합격의 순간: 모든 노력이 결실로 🌟

5.1 최종 합격의 결정적 요인

  • 기술적 성실성: GitHub 120일 연속 커밋 기록
  • 학습 능력 증명: 블로그에 작성한 50여 개의 기술 문서
  • 소프트 스킬: 팀 프로젝트 경험 시뮬레이션 사례

5.2 신입 개발자에게 전하는 조언 ✉️

  1. "기술은 달리는 기차다. 잡으려 뛰지 말고 다음 역에서 기다려라"
    • 트렌드 쫓기보다 기본기에 집중할 것
  2. "면접은 시험장이 아닌 대화의 장"
    • 모르는 질문에는 "지금은 모르지만, 이렇게 학습할 계획"이라고 솔직하게
  3. "포트폴리오는 당신의 스토리북"
    • 기술 스택보다 문제 해결 과정을 강조할 것




마치며: 끝이 아닌 새로운 시작 🌈

첫 면접 합격은 결승선이 아닌 출발선에 서는 순간이었습니다.

 

지금은 매일 새로운 버그와 씨름하지만,

그때의 고민들이 주니어 개발자로 성장하는 밑거름이 되고 있죠.

 

"개발자는 평생 학습자"라는 말을 뼈저리게 느끼는 요즘입니다.

 

이 글을 읽고 계신 여러분도 언젠가 제 후기를 쓰는 그날을 꿈꾸며,

오늘도 한 줄의 코드를 작성하시길 응원합니다.

"세상에서 가장 강력한 코드는
결코 포기하지 않는 사람의 의지다."

 

반응형