수료 프로젝트를 출발점으로 삼아 코드의 동작 원리와 실무 판단을 함께 익힙니다. 전공 4년 과정의 핵심을 골라 연결하는 계획이며 대학 교육 전체나 학위를 대신하지는 않습니다. 병행 학습은 전체 21개월 안팎을 출발점으로 잡고, 이미 설명하고 검증할 수 있는 내용은 완료 기준을 확인한 뒤 다음 단계로 이동합니다.
학습 트랙
전업 학습(주 30시간 안팎)
학습에 집중할 수 있는 경우의 시간 배분 예시입니다. 단계별 기간의 합계는 35주 안팎이며, 지원 활동과 휴식에 쓰는 시간은 별도로 확보합니다.
직장과 병행(주 10시간 안팎)
평일의 짧은 복습과 주말 실습을 묶어 이어 가는 예시입니다. 단계별 기간의 합계는 21개월 안팎이며, 업무와 건강 상태에 따라 기간을 늘려 조정합니다.
단계별 학습 흐름
수료 프로젝트를 내 손으로 다시 실행합니다
전업: 3주 안팎병행: 2개월 안팎
목표
본인이 만든 기능과 아직 설명하기 어려운 부분을 구분하고 이후 학습에 쓸 기준 버전을 만듭니다.
학습 주제
실행 환경과 의존성
언어의 함수·자료형·예외
Git 변경 기록과 실행 문서
실습
수료 프로젝트를 별도 학습 브랜치에서 실행하고, 비밀값을 예시 설정과 분리합니다.
자신이 담당한 기능의 입력부터 저장·응답까지 코드 경로를 그립니다.
정상 입력과 실패 입력을 테스트하고 모르는 개념을 학습 목록에 적습니다.
산출물
재실행 가능한 프로젝트와 담당 기능의 흐름도·기초 테스트를 남깁니다.
완료 기준
다른 사람이 문서만 보고 학습용 데이터로 프로젝트를 실행할 수 있습니다.
자신의 코드와 팀원의 코드를 구분하고 실패가 발생하는 위치를 설명할 수 있습니다.
자료구조와 논리로 기능을 설명합니다
전업: 5주 안팎병행: 3개월 안팎
목표
앞 단계의 검색·집계 기능을 대상으로 데이터 구조와 처리 비용의 선택 근거를 만듭니다.
학습 주제
배열·해시·스택·큐·트리
탐색·정렬과 시간·공간 복잡도
집합·논리·그래프의 기초
실습
프로젝트의 중복 검사나 검색을 다른 자료구조로 구현하고 입력 크기를 바꿔 비교합니다.
작은 문제를 먼저 직접 풀고 풀이의 가정과 복잡도를 기록합니다.
권한 조건을 논리식으로 정리하고 빠진 조건을 테스트로 확인합니다.
산출물
자료구조 선택 비교표와 경계 입력 테스트를 기존 프로젝트에 더합니다.
완료 기준
입력 크기와 메모리 사용을 고려해 선택 이유를 설명할 수 있습니다.
외운 풀이 없이 작은 예시를 추적하고 조건이 달라졌을 때 코드를 수정할 수 있습니다.
코드가 실행되는 환경을 관찰합니다
전업: 5주 안팎병행: 3개월 안팎
목표
앞 단계의 코드를 실행하며 컴퓨터구조와 운영체제 개념을 로그·측정 결과와 연결합니다.
학습 주제
CPU·메모리·저장장치와 데이터 표현
프로세스·스레드·가상 메모리
파일·권한·셸과 동시 실행
실습
학습 환경에서 실행 중인 프로젝트의 프로세스와 메모리·CPU 사용을 관찰합니다.
프로젝트의 집계 로직을 작은 실험 코드로 옮겨 공유 상태 충돌을 재현하고 수정합니다.
파일 경로와 권한을 바꾸어 실패를 재현하고 원인·확인 명령을 적습니다.
산출물
실행 환경 관찰 기록과 동시 실행 오류의 재현·수정 테스트를 남깁니다.
완료 기준
메모리의 상태와 디스크에 저장한 데이터를 구분해 설명할 수 있습니다.
공유 데이터 충돌과 파일 접근 실패를 관찰 근거로 구분할 수 있습니다.
요청과 데이터의 흐름을 안정화합니다
전업: 6주 안팎병행: 3개월 안팎
목표
앞 단계에서 관찰한 실행 환경 위에 네트워크와 데이터베이스의 실패 조건을 더합니다.
학습 주제
IP·DNS·TCP·HTTP와 시간 제한
키·정규화·조인·트랜잭션
인덱스·실행계획과 동시 수정
실습
프로젝트의 요청 흐름을 그리고 연결 실패·응답 오류·느린 질의를 따로 재현합니다.
이전 단계의 중복 검사에 DB 제약조건을 더하고 동시 요청에서도 확인합니다.
검색 질의의 실행계획을 인덱스 적용 전후로 비교하고 입력 데이터 조건을 기록합니다.
산출물
요청 흐름도와 데이터 모델·동시 수정 테스트·질의 비교 기록을 남깁니다.
완료 기준
실패가 통신·애플리케이션·DB 중 어디에서 발생했는지 근거를 제시할 수 있습니다.
트랜잭션 범위와 제약조건을 정한 이유 및 인덱스의 비용을 설명할 수 있습니다.
변경을 검증하고 팀에 전달합니다
전업: 5주 안팎병행: 3개월 안팎
목표
앞 단계까지의 기능을 안전하게 바꿀 수 있도록 테스트·설계·보안·협업 기준을 세웁니다.
학습 주제
책임 분리와 리팩터링
단위·통합 테스트와 회귀 검증
인증·인가·입력 검증과 코드 리뷰
실습
프로젝트의 변경하기 어려운 기능을 테스트로 보호한 뒤 책임을 나누어 개선합니다.
타인의 데이터 접근과 잘못된 입력을 막는 테스트를 작성합니다.
변경 목적·영향 범위·검증 방법을 적어 리뷰를 요청하고 반영 근거를 남깁니다.
산출물
리팩터링 전후 비교와 권한·회귀 테스트, 리뷰용 변경 설명을 남깁니다.
완료 기준
동작을 유지한 변경과 요구사항을 바꾼 변경을 구분할 수 있습니다.
테스트가 무엇을 보장하고 무엇을 확인하지 못하는지 설명할 수 있습니다.
배포와 장애 대응까지 완성합니다
전업: 5주 안팎병행: 3개월 안팎
목표
앞 단계의 검증된 프로젝트를 학습용 환경에 배포하고 운영 중 문제를 추적하는 연습을 합니다.
학습 주제
배포 자동화와 설정 분리
로그·지표·경보와 장애 기록
백업·복구·되돌리기와 자원 비용
실습
테스트 후 배포하는 절차를 만들고 비밀값 없이 설정 예시를 공개합니다.
외부 의존성 실패를 학습 환경에서 재현하고 로그로 원인을 좁힙니다.
학습용 데이터로 백업 복구와 이전 버전 되돌리기를 연습하고 자원 정리 절차를 적습니다.
산출물
배포·복구 절차와 장애 재현 기록을 기존 실행 문서에 연결합니다.
완료 기준
새 환경에서 배포하고 실패 시 이전 상태로 돌아갈 수 있습니다.
개인정보 없이 필요한 로그를 남기고 장애의 원인과 재발 방지책을 설명할 수 있습니다.
희망 직무에 맞춰 깊이를 더합니다
전업: 6주 안팎병행: 4개월 안팎
목표
앞 단계의 결과물에서 희망 직무와 맞닿은 문제를 골라 심화하고 채용·업무 자료로 정리합니다.
학습 주제
직무별 전문 주제와 기술 선택
확률·통계 등 필요한 수학의 적용
설계 대안 비교와 기술 문서 작성
실습
희망 직무의 로드맵에서 주제를 고르고 기존 프로젝트에 적용할 질문을 정합니다.
예를 들어 화면 접근성, 서버 동시 요청, 데이터 품질 중 하나를 선택해 전후를 비교합니다.
AI 도구의 제안은 공식 문서와 테스트로 검증하고 본인이 수정한 판단을 기록합니다.
요구사항·담당 범위·실패한 접근·측정 결과를 묶어 설명하고 다음 보완 과제를 정합니다.
산출물
직무별 개선 사례와 근거를 담은 포트폴리오·후속 학습 계획을 남깁니다.
완료 기준
기술 이름 대신 문제·제약·선택 이유·검증 결과를 설명할 수 있습니다.
다른 사람이 검증을 재현할 수 있고 남은 한계를 구체적으로 말할 수 있습니다.
학습 계획을 쓰는 원칙
기간은 기존 경험과 학습 시간을 가정한 추정치이며 취업이나 숙련 시점을 보장하지 않습니다. 완료 기준을 충족하지 못하면 범위를 줄여 다시 실습합니다.
모든 단계를 끝낸 뒤에만 지원할 필요는 없습니다. 현재 결과물을 설명할 수 있는 공고부터 지원하고 면접에서 확인한 부족한 부분을 학습에 반영합니다.
기존 보완 계획은 가까운 면접과 프로젝트 정리에 활용하고, 이 계획은 그 결과물 위에 원리와 운영 경험을 쌓는 데 활용합니다.
책을 처음부터 끝까지 읽는 일과 산출물을 완성하는 일을 구분합니다. 이번 단계의 질문에 필요한 부분을 읽고 코드·테스트·문서로 확인합니다.
대학 과목의 범위는 커리큘럼 화면에서, 세부 지식의 점검 기준은 지식 화면에서 확인합니다. 관심 직무가 정해지면 공통 학습과 직무 학습의 비중을 조정합니다.
팀 프로젝트를 활용할 때는 공동 작업자의 기여와 공개 허용 범위를 확인합니다. 회사 코드와 실제 사용자 데이터 대신 별도 학습용 코드와 데이터를 사용합니다.
막히면 오류 메시지·재현 입력·시도한 방법을 적어 도움을 요청합니다. 수면과 휴식을 줄여 계획을 맞추기보다 지속할 수 있는 시간표로 바꿉니다.