그래도 꽤 열심히 살았을지도?
* 이번 글은 일기처럼 주저리 주저리 작성했습니다. *
2018, 2019
졸업 학점을 다 채우고 학교를 떠난지 벌써 세 달이 다 되어간다. 블로그도 굉장히 오랜만에 작성한다. 지난 4년간의 대학생활을 돌아보며 느낀 점을 공유해보려 한다. 막상 학교 생활이 끝나니 1학년 때부터 나의 모습을 돌아보게 되더라. 아무것도 모르고 입학했던 2018년, 그저 대학 생활이 즐거웠고 정말 열심히 놀았다. 학창시절부터 꾸준히 관심을 갖고 있던 프로그래밍을 배우니 재미있었다.
그러나 학교 수업만으로는 스스로 발전한다는 느낌을 받지 못했다. 그래서 2학년 1학기에 학과 알고리즘 멘토링에 들어갔다. 그땐 C언어와 C++ 수업을 들어서 문법만 조금 아는 수준이었는데, 혼자 공부하는 것이 생각보다 어려웠기 때문이다. 백준 온라인 저지를 처음 알게 되었고 단계별 문제를 차근차근 풀기 시작했다. 뭔가 퀘스트를 깨는 느낌이 들어 게임처럼 재밌게 했던 기억이 있다.
아무튼 1, 2학년 시절은 수업때 배운 Python, C, C++같은 언어와 친해지기 위해 노력했다. 솔직히 말하자면 C언어를 배우고 나서 프로그래밍에 대한 흥미가 더 커졌다. '포인터'라는 개념을 처음 공부하면서 데이터가 메모리에 어떻게 저장되고 관리되는지, 그 원리를 알고 나니 새롭게 느껴졌다. 하지만 이때부터 미래에 대한 고민을 하기 시작했다.
막연히 IT 계열의 전문가가 되겠다는 생각을 가지고 대학에 들어왔다. 수시 원서를 접수할 때 5개는 컴퓨터 공학과를, 나머지 한 개는 재학중인 데이터정보학과를 지원했다. 그때는 4차 산업 혁명이니 뭐니 해서 빅데이터 관련 학과가 유망하다길래 섣불리 선택한 감도 없지 않아 있다. 그래서 가끔은 컴퓨터 공학과에 갔다면 어땠을까 하는 상상도 해본다.
그렇게 알고리즘과 프로그래밍 언어만 공부하면서 학과 수업을 들었다. 그런데 뭔가 재미가 없더라. 대부분의 과목은 수학이나 통계 과목이었고, 컴퓨터 관련 수업은 기초적인 수준의 문법만 배웠다. 물론 데이터 분석 관련 수업도 있었지만, 파이썬과 R을 사용해서 그런지는 몰라도, 적성에 맞지 않을 수 있겠다는 생각이 들었다. 내가 생각한 코딩을 하는 것도 아니고 이론 위주의 수업이 대부분이었기 때문이다. 그렇게 여러 고민을 하던 중 입대를 했다.
2022, 1학기
전역 후 3학년 1학기로 복학했다. 그리고 이 시기는 인생의 방향을 결정하게 된 중요한 해였다. 나는 이 때 'Java'를 처음 접했다. 그런데 이게 웬걸 생각보다 너무 재밌었다. 그동안 C, C++같은 절차지향적 언어만 사용하다가 클래스라는 개념이 중요한, 객체지향 언어를 처음 느껴본 것이다. 사실 이전에 struct 같은 구조체가 클래스와 비슷한 개념이었지만, 왜 사용하는지, 무엇이 좋은지 등을 모르고 공부했다. 그래서 크게 와닿지 않았고 '아 그저 새로운 자료형을 만드는가보다' 하고 시험을 위한 공부정도만 했다.
그리고 슬슬 구체적인 진로에 대해 생각하기 시작했다. 전공을 살려 유망한 데이터 분석이나 머신 러닝쪽으로 나가야 할지, 쭉 흥미를 갖고 공부했던 개발로 나가야할지 확고하진 않았다. 아무런 정보도 없었기에 개발 분야에 대한 내용을 엄청 찾아봤다. 이 시기에 웹 개발을 알게 되었고, 프론트 엔드와 백 엔드로 나뉜다는 것을 찾았다.
예전부터 컴퓨터로 뭔가 만드는 것을 좋아했고 재밌어했다. 중학교땐 직접 인터넷에 들어가는 것이 번거로워 바탕화면에서 한 번에 접속할 수 있게 통합 프로그램을 만들었다. 또 언젠가 영상 편집 및 제작에 관심이 생겨 Vegas 프로그램을 통해 편집을 공부했다. 아마 고등학교 시절인데, 당시 SNL에서 GTA패러디를 하는 등 재밌는 영상이 많아 해당 컨셉으로 학교 홍보 영상을 만들었다. 이외에도 해킹 공부를 위해 칼리 리눅스로 이것 저것 해보는 등 꾸준히 뭔가 해왔다.
다시 본론으로 돌아가서 프론트, 백 중 어떤 분야가 적성에 맞고 재밌는지 몰라서 둘 다 시도해보기로 했다. 비교적 진입 장벽이 낮은 HTML과 CSS를 유튜브를 통해 공부했다. 뭐 깊게 한건 아니고 기본적인 태그와 속성만 쭉 훑어봤다. 내가 작성한 코드가 화면에 결과로 나타나는 것이 재밌었다. 그래서 우리 학교 LMS 홈페이지를 따라 만들어보겠다고 수업시간에 몰래 만들었던 기억이 난다.
이후 유튜버 '노마드 코더'의 강의를 들으며 클론 코딩을 했다. 인스타 그램이었나 아무튼 자바 스크립트 기초 강의였는데, 실제로 결과가 바로 눈에 보이고 실제로 사용할 수 있는 것을 만든다는 것이 매력적이었다. 그래서 1학기 때는 주로 HTML, CSS, JS를 깔짝깔짝 공부하면서 프론트 엔드를 살짝 맛봤다. 그런데 뭔가, 진짜 아주 작은 뭔가가 부족했다. 아직도 그게 뭔진 잘 모르겠는데 자바 스크립트가 어색하고 막 엄청 재밌지는 않았다. 이게 뭐라고 형용하기 힘든데 아무튼 완전 딱 내 스타일! 이런 느낌은 아니었다.
2022, 2학기
1학기에 배웠던 자바에 다시 관심이 갔다. 열심히 찾아보니 우리나라에서 자바 개발자의 수요는 꽤 많았다. 그리고 '스프링' 이라는 프레임워크를 사용한다는 것을 알게 되었다. 그래서 한번 맛보기 위해 IntelliJ를 설치하고 STS4였나 아무튼 이런 저런 환경 설정을 하느라 3~4일은 보낸 것 같다. 근데 처음에 뭘 해야할지 몰라서 막막했다. 그럴땐 뭐다? 갓튜브. 스프링에 대한 내용을 찾아보다가 배달의 민족 개발자였던 김영한님의 강의를 알게 되었다.
인프런에서 '스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술', 요 강의였다. 지금껏 배웠던 자바와는 다르게 느껴졌던 것이, 그동안 알고리즘 문제를 풀기 위해 아무렇게 작성했던 코드가 아니라 클래스를 분리하고 MVC와 같은 구조로 프로그래밍을 했다. 실제 서비스 로직을 구현하고 이를 화면까지 연결시키는 과정이 정말 흥미로웠다. 내가 현재 사용하고 있는 서비스들이 어쩌면 이렇게 동작하고 어떤 로직을 갖고 있겠구나? 하는 생각이 스쳐 지나갔다.
'와, 이거다.'. 생각보다 재밌었다. 아니 그냥 재밌었다. 그리고 이 때 느꼈다. 화면을 구성하는 요소를 만들고 눈에 보이는 것을 다루는 프론트 엔드 분야도 재밌겠지만, 이보다 더한 분야를 찾았다는 것을. 뭔가 내부에서 데이터가 어떻게 처리되고, 특정 로직을 통해 하나의 기능이 완성되는 것? 알고리즘 문제를 풀듯 코드의 효율을 생각하고 성능을 고민할 수 있는 백 엔드 분야는 정말 매력적이었다.
그래서 백 엔드 개발자에 대한 정보를 정말 많이 찾아봤다. 무엇을 학습해야하는지 몰라서 로드맵만 수십 개 본 것 같다. 매일 밤 컴퓨터 앞에 앉아 개발 분야를 알아가는 과정이 즐거웠다. 실제로 이 때 많은 내용을 알았고, 무지했던 내가 관련 내용에 대해 어느 정도 대화할 수 있을 정도로 발전했다. 아마 관심을 갖고 지속적으로 검색하고 무언가 시도했기 때문에 빠른 시간 내에 가능했지 않을까 싶다.
우리 학과엔 개발에 관심 있는 사람이 많이 없었다. 그래서 관련 이야기를 하고 싶어도 할 수 없었다. 뭔가 낙동강 오리알이 된 느낌? 그래서 같은 관심사를 가진 사람을 찾기 위해 알고리즘 스터디에 들어갔다. 그렇게 1년간 꾸준히 활동하면서 알고리즘 실력은 물론 개발자에 대한 꿈이 더 확고해진 느낌? 아무튼 그랬다. 관련 내용은 다른 글에서 자세히 다뤄보도록 하겠다.
이후 비교과 프로그램 홍보 영상 대회에 참가했고, 2등을 했다. 상금으로 40만원을 문화상품권으로 받았다. 고민하지 않고 바로 김영한님의 스프링 강의를 결제했다. 이전에 미리 '스프링 핵심 원리' 강의를 수강중이었고, 백 엔드 개발자가 되기로 결심한 뒤 스프링을 깊게 공부하고 싶었다. 실제로 직접 코딩하며 공부한 결과 내 적성에 맞다고 생각했고, 그 과정이 즐거워 시간 가는 줄도 몰랐다.
실제로 내가 시도했던 것, 공부한 것, 찾아본 것은 훨씬 더 많다. 근데 그 내용이 중요한게 아니라, 그냥 내가 지속적으로 관심을 갖고 무언가 시도하면서 적성에 맞는 분야를 찾았다는 것이 중요했다. 그 결과가 바로 백 엔드 분야였고, 학과 공부를 병행하며 관련 내용을 찾는 데에 정말 많은 시간을 투자했다. 비전공자로서 어디서부터 어떻게 시작해야 할지 몰랐고, 무엇을 공부해야 하는지도 몰랐다. 누군가 쉽게 길을 알려줬다면 물론 편하고 덜 힘들겠지만, 지금 생각해보면 다행이라고 생각한다. 기타 이후에 내가 이렇게까지 주도적으로 열정을 가져본 적이 있던가. 심지어 평생 내 밥줄이 될 수도 있는데? 하지만 난 옳은 선택을 했다고 생각하고, 지금도 의심할 여지가 전혀 없다.
2023, 현재
우리 학과를 졸업하기 위해 필요한 학점은 140학점이다. 그동안 학과 공부하랴 알바하랴 바쁘게 지내왔다. 그래서 온전히 개발 공부를 하기엔 어려웠다. 이제 진득하게 해봐야지! 하면 시험 기간이거나 뭐 아무튼 이런 저런 일이 많았다. 그래서 4학년 1학기에 남은 학점을 다 듣기 위해 16학점을 신청했다. 캡스톤 디자인까지 해야했지만, 2학기엔 프로그래밍 공부만 하고 싶었다. 결론적으로 캡스톤 디자인을 통해 얻은 것은 그동안 학습했던 것보다 많았다. 실제로 서비스를 기획하고 설계하고 개발하면서, 코딩뿐만 아니라 개발에 대한 전체적인 프로세스를 경험했다. 또한 REST API나 보안 등의 측면에서도 배운 지식이 많다. 그렇게 열심히 학점도 따고 프로젝트도 한 결과, 현재 시험 걱정 없이 이렇게 블로그를 작성하고 있다.
아 그리고 졸업 요건을 위해 정보처리기사를 공부하고 있었는데 (필기는 합격함), 관련 글도 조만간 올려보겠다. 현재 내가 이루고 싶은 가장 중요한 목표는 우아한테크코스에 합격하는 것이다. 전엔 이 시기에 국비 학원에 가려고 했지만, 우아한테크코스를 알게 된 후로는 목표가 바뀌었다.
이번 글은 그냥 생각나는 대로 수정하지 않고 주저리 주저리 써봤다. 그냥 대학 생활을 하면서 수고한 내 자신을 돌아보기도 하고, 나중에 내가 무엇을 느꼈고 어떤 생각을 했는지 보고싶어서 일기처럼 써봤다. 회고라고 하기도 뭐하지만 어쨌든 비슷한거 아니겠습니까??