항공소프트웨어학과를 전공으로 대학교를 다녔지만, 항공 관련 과목보다 소프트웨어 과목이 더 즐거웠다. 그래서 항공 소프트웨어 개발자가 아닌, 막연하게 소프트웨어 개발자로 진로를 결정했다. 하지만 개발자의 종류가 많아서 먼저 내가 개발하고 싶은 소프트웨어가 무엇인지 결정해야 했다.
초등학교 고학년 때 애플의 아이폰과 삼성의 갤럭시가 등장했고, 모두가 손짓 한번으로 작은 PC를 이용해 애플리케이션과 웹 사이트를 사용하기 시작했다. 물론 나도 그중 하나였다. 이렇게 어렸을 때부터 웹과 애플리케이션과 함께 생활했기 때문에 큰 고민 없이 나는 웹 개발자 혹은 응용 소프트웨어 개발자가 되기로 결정했다.
큰 분야를 결정하니 이번에는 사용자 UI를 담당하는 Front-End와 데이터, 서버를 담당하는 Back-End로 구분된다고 한다. 나는 별 고민 없이 Back-End를 선택했는데, 처음부터 내가 생각한 개발자의 모습은 Back-End였기 때문이다.
고민하던 와중, 학부에서 크고 작은 프로젝트를 진행하고, 강의를 수강하며 C, C++, Java, Python등의 여러 기술의 기초를 배웠다. 어떤 언어를 주력으로 사용할지 선택하는 과정에선 내가 되고자하는 Back-End에서 어떤 언어가 가장 많이 사용되고, 또 국내 기업은 어떤 언어를 선호하는지 가장 많이 고려했다.
당시 학교 선배 및 인프런 강의 등을 통해 국내 Back-End개발은 당연히 스프링 프레임워크를 사용해야 한다고 들었고, 작은 프로젝트를 통해 스프링 프레임워크를 잠깐 사용해 봤을 때, 그동안 알고리즘 문제 풀이를 위해 작성한 내 코드가 실제 웹에서 작동하는 것을 보고 자바와 스프링을 주력 언어로 사용하기로 마음먹었다.
하지만 중간에 AI 대학원 진학과 같은 크고 작은 사건이 발생하여 웹 개발 경험을 할 시간을 많이 놓치게 되었다. 그렇기 때문에 지금이라도 웹 개발 사이클을 경험하고 프로젝트를 진행하고자 한다.