개요
개발을 시작한 지 거의 1년이 되어가는 시점에, 깃헙 블로그의 개시했던 글들과 TIL 로 정리했던 글들을 모아서 티스토리 블로그를 시작했다. 100개가 넘는 글들을 정리하면서 지난 1년 동안 내가 공부했던 내용들을 다시 한 번 리마인드할 수 있었고, 그 당시의 추억들도 떠올랐다. 그래서 나는 조금 늦었지만 2021년 회고록을 작성해 보려고 한다.
학교생활을 마무리 하며...
20살이 되어 성적에 맞춰서 과를 정한 것이 우연히 컴퓨터공학과였다. 대학교 생활을 하면서 많은 친구를 사귀고, 군 생활을 포함한 6년이 넘는 시간동안 개발자가 되고 싶다는 생각은 한 번도 해본 적이 없었다. 그렇기에 나는 2020년 12월 말, 대학교 생활을 마치고, 코딩테스트 공부와 영어공부를 했고, 대학교 생활을 하며 진행했던 미니프로젝트를 정리하기 바빴다. 그 당시 나의 목표는 적당한 스펙을 만들어 대기업에 합격하는 것이었다. 공부를하면서도 뚜렷하게 어떤 기업에 합격하고 싶다는 생각도 없었고, 내가 그 기업에서 어떤 일을 하고 싶고, 어떤 일을 잘할 수 있는지에 대해서는 관심이 없었다.
고마운 친구의 권유
대학에 입학하고, 가장 친하게 지낸 친구가 있다. 작년 초에, 그 친구가 개발 공부를 시작했다는 소문을 들었다. 하지만 나는 그 친구에게 연락하지 않았다. 솔직히 말하면 빨리 취업을 하기 위해서는 코딩테스트 실력과 어느 정도의 프로젝트 경험만 있으면 된다고 생각했기 때문이었다. 그렇게 몇 개월이 지난 후, 그 친구에게 연락이 와서 오랜만에 술자리를 갖게 되었다. 그때 그 친구는 작은 회사에 인턴으로 들어가 일을 하고 있었고, 나에게 같이 개발 공부를 해볼 생각이 없느냐고 권유했다. 그 친구의 한 마디는 나에게 있어서 앞으로의 진로를 결정짓는 소중한 한 마디였다. 이 글을 적으면서도, 또 한번 그 친구에게 고맙다. 아니, 정말 너무 고맙다.
개발공부의 시작
2021년 3월 말, 처음으로 intelij 라는 IDE 를 깔고, Spring 에 대한 아주 기초적인 강의를 듣는 것으로 개발공부를 시작했다. Controller, Service, Repository 에 대한 코드를 차근차근 따라치고, Postman 으로 api 를 요청하며, 나는 개발 공부에 대한 재미를 붙이기 시작했다. 공부를 하면 할수록 Spring 이라는 프레임워크에 관심이 생기기 시작했고, IoC, DI, AOP 의 개념들과 기본적인 HTTP 지식, Java 8 의 함수형 인터페이스 등을 공부하고 싶어졌다. 적어도 이전과는 다르게 내가 하고 싶은 공부를 하고 있다고 느꼈고, github blog 에 공부한 내용을 정리하기 시작했다.
취업
개발공부가 너무 재밌었다. 수많은 기술 블로그를 찾아보고, 인터넷 강의를 들으며, 계속해서 성장하고 있다는 느낌을 받았고, 실무를 경험 해보고 싶다는 생각이 들었다. 그렇게 기업 모집 공고를 찾아보던 중, Spring Boot 개발 경험과 JPA 기술 사용 경험, MSA 구조 이해를 우대 조건으로 하는 기업을 찾았고, 고민 없이 서류를 제출했다. 운 좋게 코딩테스트에 합격했고, 면접도 준비한 부분에서 많이 나와서 인턴에 합격할 수 있었다. 처음으로 경험해본 회사생활이었다. 생각보다 너무 좋은 분들이 많았고, 처음으로 회사생활을 배울 수 있었다. 나는 최선을 다해서 인턴 과제를 수행했다. 덕분에 정규직으로 전환될 수 있었고, 내가 원하는 팀에 남을 수 있었다. 또한, 이전에 백엔드 경험밖에 없었던 내가 처음으로 vue.js 로 프론트엔드 개발도 할 수 있었다. 하지만 나는 백엔드에 관심이 많았고, 업무에 있어서 더 좋은 퍼포먼스를 낼 자신이 있었다. 너무 고맙게도 팀장님은 내가 직접적으로 말하지 않았음에도 내가 벡엔드에 관심있는 것을 아셨고, 현재는 거의 백엔드 업무를 주로 맡아서 진행하고 있다. 다시한번 너무 감사하다.
달라진 마음 가짐
7월에 회사에 입사하고 부터, 새벽 6시에 일어나 출근하고, 집에 돌아오면 오후 8시가 넘었다. 회사에 출근하면 배울 것도 너무 많았고, 정말 바쁘게 하루하루를 보냈다. 그래도 하고 싶은 일을 한다는 것은 너무 큰 축복이라고 생각한다. 2시간이 넘는 출퇴근길.. 유튜브는 나에게 있어 없어서는 안 될 존재이다. 하지만 어느 순간인가 유튜브에는 개발 관련 동영상들이 알고리즘으로 채워졌고, 실제로 재밌다고 느낀다. 출근해서 업무를 하고, 업무를 하면서 알게 된 내용들, 그리고 좀더 자세하게 공부하고 싶은 개념을 휴대폰 메모장에 메모하고, 퇴근 후 집에서 해당 개념을 공부하고 정리한다. 평일 저녁 9시부터 12시까지, 나에게 주어진 자유시간이지만, 3시간 중 2시간 정도를 개발공부를 하는 데 사용한다. 힘들지 않다. 다만, 이렇게 편하게 공부할 수 있도록 도와주는 수많은 자료와 강의, 좋은 책을 제공해 주신 선배 개발자분들에게 너무 감사하다. 공부를 하면 할수록 내가 너무 많이 부족하다고 느끼고, 지난 1년 동안 많은 개념을 배웠지만, 아직도 배우고 싶은 게 너무 많다. 또한 개발에 임하는 마인드도 달라진 것을 느꼈다. 이전에는 주변 사람들과 이야기 할 때, 조금이라도 아는 내용이 있다면 더 많이 아는 척 하기 바빴다면, 요즘은 웬만큼 알아도 아는 척하기가 조심스럽다. 또한 이전에는 빨리 코드를 짜는 것에 초점을 맞췄다면, 요즘은 내가 짠 코드를 다른 동료가 어떻게 하면 더 잘 이해할 수 있을까에 고민하고, 실수하지 않기 위해 두세 번 반복해서 내가 짠 코드를 검토한다. 그렇기에 요즘은, 새로운 기술보단 디자인패턴과 리팩토링 기술, 객체지향적인 설계(SOLID) 에 대해서 좀 더 공부한다. 공부를 하면서도 계속해서 배워야 할 것들이 보이고 시간이 너무 부족하다고 느끼지만, 나는 천천히 꾸준히 노력하는 개발자가 되려고 노력할 것이다. 노력한다고 해서 내가 성공한 개발자가 될 수 있다고 장담하진 못하지만, 적어도 성공한 개발자 중 노력하지 않은 개발자는 없기 때문이다.