군대에서 개발자 공부를 시작한다면 가장 먼저 해야 할 것
"일단 아무 언어나 하나 시작하면 되겠지." 처음 개발자를 준비하기로 마음먹었을 때 저도 이렇게 생각했습니다. 유튜브에서 추천하는 언어로 강의를 결제하고 곧바로 문법 진도부터 나갔습니다. 그런데 몇 달 지나고 보니 정작 남은 건 "그래서 나는 뭘 하는 사람이 되고 싶은가"라는 질문이었습니다. 언어를 먼저 고르는 게 아니라, 그 질문에 먼저 답해야 한다는 걸 뒤늦게 알았습니다.
목차
- "일단 아무거나 배우자"가 가장 위험한 이유
- 방향부터 정하고, 현실적인 시간을 확보하기
- 방향에 맞는 언어 하나를 정하고 끝까지 붙잡기
- 문법보다 먼저 익혀야 할 사고방식
- 환경별로 쓸 수 있는 학습 수단 비교
- CS 기초는 실습 없이도 쌓을 수 있다
- Git과 GitHub로 기록 습관 만들기
- 큰 프로젝트보다 작은 토이 프로젝트부터
- 첫 한 달 계획과 슬럼프 대처법
- 자주 묻는 질문(FAQ)
1. "일단 아무거나 배우자"가 가장 위험한 이유
개발자가 되기로 마음먹으면 가장 먼저 하는 일이 보통 "무슨 언어부터 배우지"를 검색하는 것입니다. 답이 검색 결과마다 제각각이다 보니, 결국 눈에 띄는 강의를 아무거나 시작하게 됩니다.
문제는 언어 선택 자체가 아닙니다. 방향 없이 시작하면 한 달쯤 뒤에 "이 언어가 내 길이 맞나"라는 의심이 들고, 다시 다른 강의를 찾아보는 일이 반복됩니다. 여기에 더해 "가장 인기 있는 프레임워크"나 "화려한 프로젝트"부터 시작해야 남들과 차별화될 거라는 조급함도 종종 끼어듭니다. 실제로는 이런 조급함이 의욕만 앞선 계획으로 이어져, 환경적 제약과 체력적 한계에 부딪혀 한 달도 못 가 포기하는 경우로 이어지곤 합니다.
군대처럼 시간과 자원이 한정된 환경에서는 이렇게 왔다 갔다 하는 시간 자체가 가장 큰 손실입니다. 그래서 코딩을 시작하기 전에 먼저 확인해야 할 것은 "무엇을 배울까"가 아니라 "왜 배우는가, 어떤 개발자가 되고 싶은가"입니다.
2. 방향부터 정하고, 현실적인 시간을 확보하기
개발자라는 직군은 생각보다 범위가 넓습니다. 웹 서비스를 만드는 프론트엔드·백엔드 개발자, 앱을 만드는 모바일 개발자, 데이터를 다루는 데이터 엔지니어까지 성격이 전혀 다릅니다. 지금 이 모든 분야를 다 알 필요는 없지만, 대략적인 방향은 잡아두는 게 좋습니다.
- 눈에 보이는 화면을 직접 만들고 싶다면 → 프론트엔드
- 데이터와 로직을 처리하는 서버 쪽에 관심이 간다면 → 백엔드
- 숫자와 데이터를 다루는 게 재밌다면 → 데이터 분야
방향과 함께 반드시 짚어야 할 것이 하나 더 있습니다. 바로 자신의 일과와 부대 환경을 객관적으로 본 뒤 공부 시간을 현실적으로 잡는 것입니다. 훈련이나 근무로 체력이 소진된 날까지 포함해 "주중 매일 4~5시간"처럼 무리한 목표를 세우면 실패할 확률이 높습니다. 주중에는 1시간~1시간 반, 주말에는 2~3시간 정도로 보수적으로 잡는 쪽이 오래갑니다.
3. 방향에 맞는 언어 하나를 정하고 끝까지 붙잡기
방향과 가용 시간을 대략 정했다면, 그다음은 언어 선택입니다. 초보자에게는 다음 세 가지 기준을 추천합니다.
- 결과가 바로 눈에 보이는가: 코드를 짜고 바로 실행 결과를 확인할 수 있어야 동기부여가 유지됩니다.
- 자료와 커뮤니티가 많은가: 막히는 부분이 생겼을 때 검색만으로 해결할 수 있어야 혼자 공부하기 수월합니다.
- 설치 없이 브라우저에서도 실행 가능한가: 싸지방처럼 프로그램 설치가 제한된 환경에서는 이 조건이 특히 중요합니다.
이 기준으로 보면 Python이나 JavaScript, 채용 수요가 꾸준한 Java가 초보자에게 흔히 추천되는 이유를 알 수 있습니다. 다만 어떤 언어든 완벽한 정답은 없습니다. 초보자들이 가장 많이 하는 실수 중 하나가 여러 언어를 번갈아 찍어먹듯 공부하는 것입니다. 조금 어렵다고 느껴질 때마다 다른 언어로 갈아타면 전역 시점까지 어떤 언어도 제대로 남지 않습니다. 방향에 맞는 언어를 하나 정했다면, 계속 비교하지 말고 일단 끝까지 붙잡는 것이 중요합니다.
4. 문법보다 먼저 익혀야 할 사고방식
언어를 정했다고 바로 문법 암기에 들어가는 건 추천하지 않습니다. 그보다 먼저 익혀야 할 게 있습니다. 바로 개발자가 문제를 쪼개서 생각하는 방식입니다.
- 하나의 큰 문제를 작은 단계로 나누는 연습
- "이 코드가 왜 이렇게 동작하는지" 스스로 설명해보는 연습
- 에러 메시지를 먼저 읽고 원인을 스스로 추측해보는 연습
문법은 검색하면 언제든 다시 찾을 수 있지만, 문제를 쪼개서 생각하는 습관은 시간을 들여야 몸에 붙습니다. 에러가 나자마자 바로 검색부터 하는 습관은 당장은 편하지만, 스스로 원인을 추론하는 힘이 늦게 길러진다는 점에서 장기적으로는 손해입니다.
5. 환경별로 쓸 수 있는 학습 수단 비교
군대에서 이용 가능한 학습 수단은 각각 장단점이 뚜렷합니다. 그날그날 상황에 맞는 수단을 조합해서 쓰는 게 현실적입니다.
| 싸지방 PC / 웹 IDE | 설치 없이 브라우저로 바로 실습 가능 | 보안 정책상 특정 사이트 차단 가능성 | 온라인 IDE, 프로그래머스로 실습 |
| 종이책 / 전공 서적 | PC 사용이 안 되는 대기 시간에도 활용 가능 | 직접 실행해볼 수 없음 | CS 이론, 언어 개념 학습 |
| 패드·태블릿(허가 부대) | 오프라인 강의 수강 가능 | 인터넷 미연결 시 자료 갱신 불가 | 다운로드한 강의 영상 복습 |
| 노트 필기 / 손코딩 | 장소 제약 없이 언제든 가능 | 오타 검증·실행이 불가능 | 알고리즘 로직 구상, 개념 요약 |
무거운 로컬 개발 환경이나 최신 프레임워크 설치는 지금 당장 필요하지 않습니다. 방향과 기초가 어느 정도 잡힌 뒤, 전역 후 개인 PC 환경에서 시작해도 늦지 않습니다.
6. CS 기초는 실습 없이도 쌓을 수 있다
실습 환경이 제한적인 군대야말로 CS 기초 이론을 다지기에 좋은 시기입니다. 많은 초보 개발자가 코딩 테크닉에만 집중하다가 정작 기초 지식이 부족해 이후 학습에서 한계에 부딪히곤 합니다.
- 자료구조: 배열, 리스트, 스택, 큐 같은 기본 개념을 익히고 쉬운 문제부터 풀어봅니다.
- 운영체제·네트워크: 웹의 동작 원리(HTTP/HTTPS), IP, DNS, 프로세스와 스레드 같은 개념을 책으로 학습합니다.
이런 지식은 컴퓨터 없이 책만으로도 충분히 깊이 있게 공부할 수 있는 영역입니다. PC를 쓸 수 없는 시간에 CS 개념 정리를 배치해두면, 제한된 PC 시간은 실습에 온전히 쓸 수 있습니다.
CS 공부하러 가기
7. Git과 GitHub로 기록 습관 만들기
코딩 공부를 시작함과 동시에 Git의 기본 명령어를 익히고, GitHub에 매일 배운 내용을 TIL(Today I Learned) 형태로 기록하는 습관을 들이는 걸 추천합니다.
군대에서의 공부는 연속성이 깨지기 쉽습니다. 훈련이나 일과로 며칠씩 공부를 못 하는 날도 생깁니다. 이럴 때 GitHub에 남겨진 커밋 기록은 자신이 어디까지 공부했는지 되짚어볼 수 있는 이정표가 됩니다. 거창한 기술 블로그를 매일 쓸 필요는 없습니다. 오늘 배운 것, 틀린 것, 내일 볼 것을 세 줄로 남기는 정도로 충분하며, 이 기록 자체가 전역 후 성실성을 보여주는 좋은 자료가 됩니다.
GitHup 시작하는 법 바로가기
8. 큰 프로젝트보다 작은 토이 프로젝트부터
초보 단계에서 흔히 저지르는 실수 중 하나가 기초 문법도 익히기 전에 "포트폴리오용 프로젝트"부터 시작하는 것입니다. 완성된 서비스를 만들고 싶은 마음은 당연하지만, 기초가 없는 상태에서 프로젝트를 시작하면 대부분 강의나 예제를 그대로 따라 치는 수준에 머무릅니다.
추천하는 순서는 다음과 같습니다.
- 기본 문법 - 변수, 조건문, 반복문, 함수
- 간단한 문제 풀이 - 입력받아 조건에 따라 출력하는 수준
- 작은 토이 프로젝트 - 계산기, 할 일 목록, 간단한 메모장처럼 1~2주 내에 끝낼 수 있는 것
- 이후 관심 분야에 맞는 본격적인 프로젝트
군대라는 환경 특성상 긴 호흡의 프로젝트는 완성하지 못하고 중단될 확률이 높습니다. 작은 프로젝트를 여러 번 완성해보는 경험이 성취감과 실력을 동시에 키워줍니다.
9. 첫 한 달 계획과 슬럼프 대처법
방향과 언어를 정했다면, 첫 한 달은 다음과 같은 흐름을 추천합니다.
- 1주 차: 기본 문법(변수, 조건문, 반복문)을 익히며 짧은 코드를 직접 작성해봅니다.
- 2주 차: 함수와 배열·리스트 개념을 익히고, 쉬운 문제를 매일 1~2개씩 풀어봅니다.
- 3주 차: 배운 문법을 활용해 작은 토이 프로젝트를 시도합니다.
- 4주 차: 한 달간 배운 내용을 복습하며, 스스로 설명하지 못하는 개념이 있는지 점검합니다.
이 흐름을 지키는 중에도 "사회에 있는 동기들은 저만치 앞서가는데 나만 제자리걸음인 것 같다"는 불안감이 찾아올 수 있습니다. 이럴 때는 남들과 비교하기보다 입대 전의 자신과 비교하는 편이 낫습니다. 훈련이나 당직으로 공부를 못 한 날에는 자책하지 말고, 그다음 날 다시 이어가면 됩니다. 매일 같은 시간을 채우는 것보다 한 주 단위로 총량을 채운다는 감각으로 접근하면 훨씬 오래 지속할 수 있습니다.
10. 자주 묻는 질문(FAQ)
Q. 비전공자인데 군대에서 코딩을 독학으로 시작해도 괜찮을까요? A. 충분히 가능합니다. 오히려 군대는 다른 잡다한 일정에 방해받지 않고 기초를 단단히 다지기에 좋은 환경입니다. 처음부터 난이도 높은 강의보다는 진입장벽이 낮고 결과를 바로 확인할 수 있는 언어와 입문 자료부터 시작하는 걸 권합니다.
Q. 사지방 보안 정책 때문에 프로그램 설치가 안 되는데 어떻게 실습하나요? A. 설치형 프로그램 대신 웹 브라우저에서 바로 코드를 실행할 수 있는 온라인 IDE와 프로그래머스 같은 플랫폼을 활용하면 됩니다. 로컬 환경과 비슷한 수준으로 코딩과 간단한 실습을 이어갈 수 있습니다.
Q. 훈련이나 야간 근무 때문에 매일 규칙적으로 공부하기 어려운데 괜찮을까요? A. 자연스러운 일입니다. "매일 예외 없이 2시간씩"보다 "일주일 총 7시간"처럼 주 단위 목표를 세우는 편이 훨씬 유리합니다. 공부를 못 한 날이 생기더라도 스트레스 받지 말고, 여유 있는 날에 채워나가는 방식으로 유연하게 관리하면 됩니다.
무엇부터 시작해야 할지 막막할 때는 언어나 도구를 먼저 고르기보다, 방향을 먼저 정하는 것이 순서입니다. 방향이 정해지면 언어 선택도, 학습 수단의 조합도, 첫 한 달의 계획도 자연스럽게 뒤따라옵니다. 처음부터 완벽한 로드맵을 짤 필요는 없습니다. 오늘 소개한 순서대로 하나씩 밟아가며, 자신에게 맞는 속도로 시작해보는 걸 추천합니다.
이 글은 실제 경험과 정보를 바탕으로 작성한 개인적인 정리 글이며, 특정 서비스로부터 협찬을 받지 않았습니다.