쌍문동 척척박사
Spring / ReactJS / PS

입대 1년 만에 다시 쓰는 SW 개발병 후기

입대 1년 만에 다시 쓰는 SW 개발병 후기

작년 1월 입대 전 마지막으로 작성한 2018년 회고록 by 휴학생 이후 처음으로 써 보는 회고록이다. 군대에서 하는 코딩의 현실과 군 생활을 하며 느낀 점을 공유하려 한다.

자대 생활

자대에 전입왔을 때 가장 놀랐던 게 여기가 군대야 대학이야? 할 정도로 다양한 선임들의 병과였다. 부대 특성 상 생활하는 대대가 따로 있고, 우리는 본부 사무실에 출근해 근무 지원을 하는 형식으로 일과가 이루어져 있다 보니, SW 개발병 외에 디자인병, CERT, 회계분석병 등 수 많은 병과들이 존재하게 된다. 그에 따라 필요한 스펙들도 다양하다보니 변리사나 CPA 자격증 보유자도 많아서, 마음만 먹으면 사회에서는 좀처럼 쉽지 않은 인맥도 쌓을 수 있어 이 점은 좋은 것 같다.

반대로 단점이라하면 대대와 사무실이 분리되어 있다보니 서로 소통이 잘 이루어지지 않는다는 점이 있다. 사실 사무실 일정대로 근무하다보면 크게 야근할 일이 생기지 않는다. 하지만 요즘 들어 거의 2주에 2~3회 꼴로 대대에 작업이나 행사 등에 강제로 참여하게 되는 경우가 많은데, 그때마다 사무실에서는 일단 출근해라하지만 대대에서는 무조건 참석할 것을 요구하니, 둘 사이에서 애매한 상황이 된다. 어차피 결국 작업도 나가고 사무실 업무는 야근으로 대체하는 엔딩이 대부분이지만…

일과는 꽤 여유롭다. 평일 06:30에 기상해 일과는 09:00~11:30, 13:00~16:30 정도로, 약 6시간 정도만 근무하면 나머지는 자유시간이다. 일과 후에는 폰 쓸 사람은 쓰고 공부할 사람은 독서실이나 사지방, 운동할 사람은 운동하러 나가며, 22:00~24:00 에는 연등 신청한 사람에 한해 개인 공부를 할 시간이 주어지기 때문에 마음만 먹으면 최대 4~5시간 정도 공부를 할 수 있게 된다. 하지만 역시 군대는 군대다보니 2일에 1번 꼴로 현황 조사나 정비 등으로 시간을 뺏겨 현실적인 자유 시간은 3~4시간 정도이다. 그래도 타 부대 얘기를 들어보면 여기는 양호한 편인거 같다. 참고로 주말은 모두 자유시간이다.

사무실 근무

입대 전에는 나름 환상을 가졌던 것 같다. SW 개발병이면 막 대형 군수 장비 시스템이나 고급 보안 알고리즘이 적용된 프로젝트 같은 거 하는 거 아니야? 하고 기대했었는데, 전혀 그런거 없다. 군대에서 사용되는 보편적인 프로그램 제작이 대부분이다.

하지만 사회에서와 가장 큰 차이이자 단점은 보안 상 인터넷 개발보다 인트라넷 개발을 하게 되는 경우가 더 많다는 점이다. 아니 구글링 없는 개발이 상상이나 되나? 여기선 된다. 물론 검색용 PC가 2대 정도 있긴 한데, 사무실 인원 전부가 쓰기 때문에 오래 쓰기엔 눈치가 보이기도 한다. 심지어 내 자리에서 책상 3개 정도 거리에 있다 보니 잠깐 오류나면 그 자리까지 검색하러 가서 코드를 수첩에 메모해서 돌아오는 자신의 모습에 현타가 씨게 온다. 한 2개월 정도는 정신병이 오는 듯 했다. 컴퓨터 사양 또한 개발용 PC가 아니라 사무용 PC를 쓰기 때문에 노트북보다 느리다.

그렇다고 기술 수준이 높나? 그것도 아니다. 보안 상 자세히 말할 수는 없지만 현재 기준으로 상당히 노후화된 기술들을 그대로 쓰고 있다. 이전 선임들도 그랬고 우리들도 사무실에 여러 번 새로운 기술에 대한 요구를 했지만 표면적으로는 보안 문제 때문에, 현실은 새로운 기술에 대한 필요성을 아직까지 느끼지 못해 매번 무시된다. 물론 그 과정에서 발생하는 비용 문제도 있지 않느냐 할 수도 있겠지만, 사실 이 상태로 최소 몇 년만 지나도 유지보수가 힘든 기술들이 대부분이라 시간이 지날수록 그 비용은 더 커질 것으로 보인다.

그래서 대다수의 개발병들은 더 이상 의미없는 논쟁을 그만두고, 그래 까라면 까야지 하며 빨리 프로젝트를 마무리 짓고 남은 시간에 알고리즘이나 개인 공부를 하는 것으로 타협을 보게 된다. 그렇게 몇 년 간 동일한 과정을 거쳐 만들어지는 프로젝트의 퀄리티는.. 어쨌든 타 부대에 비해 개발에 대한 접근성이 더 높다는 장점이 있긴 하지만, 일과 시간에 하는 코딩에 너무 큰 기대는 안 했으면 좋겠다.

군 생활과 코딩

그래도 대대에서 자유시간에 하는 공부를 생각하면 군생활도 나름 희망적인 편이다. 전입 오고 나서 선임들의 모습을 보고 누구는 말년인데도 열심히 공부를 하고, 누구는 진짜 군인이 되버린 것을 비교해 보며, 아 진짜 흘러가는 대로 살다보면 진짜 저렇게 흘러가 버리겠구나, 난 진짜 저렇게는 안 살아야지하며 알고리즘부터 웹, 영어 등 나름의 학습 계획을 세우고, 일과 후에도 쉬지 않고 사지방으로 가서 공부를 했던 것 같다.

하지만 많은 군필자들이 공감하겠지만 군대라는 곳이 특별한 일 없이 매번 같은 일만 반복되는 곳이다 보니, 어느 순간 매너리즘에 빠지기 쉬운 환경이 되버린다. 나도 이 매너리즘으로부터 자유롭지 못 해서 한 6개월 쯤 지나자 일과 후엔 너무 지쳐서 맨날 잠만 잤던 것 같다. 그렇게 2개월 정도 살다보니 몸은 정말 편한데 마음은 죄책감에 항상 불편했다.

그러던 중 국방 오픈소스 아카데미 공지가 올라왔고, 일단 지원하면 뭐라도 하게 되지 않을까 해서 후임들과 팀으로 참여했는데, 역시나 사람이 마감이 다가오니 어쩔수 없이 결과물을 내려고 열심히 하게 되더라. 그렇게 한 2주 정도 정신없이 프로젝트를 하다보니 다시 멘탈을 잡고 공부를 시작할 수 있게 됐다. 개인적인 생각에, 단기 목표를 자주 세우지 않으면 정말로 Long Run하는 학습은 힘들 것 같다.

앞으로의 군생활, 나아갈 방향

그럼 앞으로 난 뭘 해야 할까? 또 공모전을 나가야 하나? 사실 돌이켜보면 공모전이란 게 기술력도 기술력이지만 아이디어가 더 중요한 역할을 할 때가 많았다. 그러다 보니 프로젝트에 새로운 기술을 배워 내 역량을 키운다기 보다는, 간단한 데모 프로젝트를 표현하는 데만 급급했던 적이 많았는데, 그런데도 생각보다 쉽게 수상하게 되자, ‘오잉? 이게 된다고? 왜?’ 라는 생각에 허탈감이 자주 들었다.

그래서 솔직히 요즘 인프런이나 생활코딩 같은데서 강의 몇 시간만 보면 다들 금방 데모 사이트는 금방 만들던데, 이렇게 진입장벽이 낮은 분야에서 내가 남들과 다른 경쟁력을 가질 수 있나? 라는 생각이 들 즈음에, 토비의 스프링을 접했다. 그리고 내 얕은 지식은 참교육을 당해 진입장벽이 낮음 != 깊이가 얕음을 깨닫고, 좀 까불지 말고 더 깊이를 파야겠다 결심했다.

2.png

전역 때까지 7개월 정도 남았으니 몇 가지 계획을 세워봤다.

Spring

기존에 Django로 개발을 시작했지만, 목표로 하는 회사들이 대부분 Spring을 원하는 것 같다. 그래도 웹에 대해선 나름 자신 있으니 단순한 사이트 제작을 넘어서 Spring 내부 로직부터 직접 뜯어가보며 Contribution도 해보고 싶다.

Vue.js

목표는 백엔드 파트이긴 하지만 웹을 파는 이상 언제까지고 프론트를 피하기는 힘들다. 매번 최신 트렌드를 민감하게 따라가진 못하더라도 현재 가장 핫한 라이브러리 중 하나인 Vue.js 정도는 다룰줄 알아야겠다.

Algorithm

알고리즘은 뭐 평소에도 꾸준히 문제를 풀긴 했지만 매번 특정 유형에서 막힐 때마다 귀찮아서 넘어갔더니 실력이 생각보다 잘 늘지 않았던 것 같다. 올해는 그런 유형들도 다 모아 정리하면서 체계적으로 공부해봐야 겠다. 모든 기업테스트 올솔을 목표로!

8월 전역할 때 쯤 결과가 어떻게 마무리 될지는 모르겠지만 지금보다는 확실히 더 성장한 실력으로 복학하기 위해 꾸준히 공부하겠다.

comments powered by Disqus