[일기] 2022 연말정산

Sierra·2022년 12월 24일
0

끄적끄적

목록 보기
3/3
post-thumbnail

Intro

2022년도 어느덧 끝났다.
사실상 학부는 끝났지만 서류상 마지막 학부 생활을 보내었던 한 해였다.
올해를 한 문장으로 요약하면 '미숙함에서 성숙함으로.' 라고 할 수 있다. 물론 여전히 스스로는 미숙하다고 생각한다.

신분 상으로는 여전히 학부생이지만 짧게나마, 그리고 어떻게든 실무를 경험했고 경험하고 있는 한 해였다. 2021년에는 대학생활의 최 전성기였다면 2022년은 사회에서의 가장 미숙한 한 해를 겪였다고 생각한다.

올해는 어땠는지 크리스마스 이브를 맞이한 기념으로 한번 정리 해 보고싶어서 블로그를 켜 보았다.

많은 고민들이 해결 된 한 해

사실 처음부터 백엔드 개발자만 죽자고 밀었던 것은 아니다. 블로그에선 몇번 언급 했었고 정말 친한 사람이라면 알 수도 있지만...처음부터 웹 분야, 그것도 백엔드 개발과 인프라 분야에 진로를 확실히 잡았던 것은 아니다. 오히려 영상처리, 데이터 분석 분야에 관심이 깊었으나 백엔드로 다시 복귀 한 케이스고 덕분에 올해 내도록 고생을 했다.

대학교 2학년 시절에 백엔드 개발자를 하겠다고 마음을 먹었으나, 3학년 시절 실제로 개발을 해 보면서 스스로 '정말 내가 개발을 좋아하는게 맞나?' 라는 고민을 아주 많이 하였다. 그저 자료구조나 알고리즘과 같은 전공 지식을 아는 것으로는, 그리고 이 분야에 관심이 많다는 것 만으로는 좋은 개발자가 될 수는 없다는 걸 그 당시에도 깨달았으니까.

생각보다 대학시절 내도록 실천한 게 그리 많지 않았다. 학부생이 알아봐야 뭘 알고 실천을 하겠느냐 라는 생각을 할 수도 있겠지만, 현실은 냉정하지않은가? 결국 겉으로 보이는 것들에 의존하는 게 사람 심리라 생각하는 편이다. 대학시절 4년간 많은 고민들을 떨치지 못 했던 결정적인 이유는 바로 이것이라 생각한다. 나 또한 결국 겉으로 보이는 것들에 의존하였던 대학생활을 하였다. 백엔드 개발이든 데이터 분석이든 무엇이든 간에 그 분야로 진출하기 위해 알아야 할 것들에 대해 세세하게 혼자 조사했다 생각했지만, 세상은 넓고 뛰는놈 위엔 나는놈이 있는 법이다. 현실적으로 개발자가 되기 위해 쌓아야 할 경험들을 채 반도 쌓지 못한 채 학부생활이 흘러갔다고 생각한다.

그래서 올해는 그 역량들을 쌓기 위해 고민했던 한 해였고 덕분에 많은 고민들이 해결 되었다. 좋은 기회를 얻어 못 해보았 던 인턴십도 경험하였고 (학부 시절에 인턴을 못 했던 이유는 더이상 얘기하고 싶지 않다. 하지만 단 한번도 후회해 본 적은 없다. 덕분에 좋은 후배들과 함께 할 수 있었으니까. 가온누리 파이팅!), 실무에서의 소프트웨어 개발 프로세스를 경험하며 내가 그동안 얼마나 주먹구구식으로 개발을 진행했는 지 또한 알게 되었다. 또한 전공 지식들의 중요성을 몸소 체험하였다. 어떤 라이브러리나 프레임워크를 쓰든 배경지식이 없으면 원리를 이해할 수 없다. 원리를 이해하지 못 한다면 절대 좋은 개발자가 될 수 없으니까. 아직도 모든 걸 이해하고 잘 안다고 자부할 수는 없지만 혼자 프로젝트를 진행하며 여러가지를 고려할 수 있을 만큼의 경험은 쌓였다고 생각한다.

특히 DB에 대한 경험이 많이 쌓였다. 서버사이드 자체는 처음 해 본게 아니었지만, 발이나 담궈 본 수준으로는 절대 쿼리의 중요성을 깨닫지 못했었다. 테이블을 어떻게 설계할 지 감도 잘 못 잡던 올해 초에 비하면 지금은 필요한 View를 생성하여 써먹기도 하고 혼자 프로젝트의 모든 DB를 설계할 정도로 많은 게 변하였다. 정말 잘 한다는 건 아니지만 최소한 서비스 품질을 위해 코드 말고 다른 외적인 것 들을 신경쓰기 시작했다 정도로는 스스로 자부할 수 있을 만큼의 경험이 쌓였다.

하나 아쉬운 건 학부 시절에 AWS나 GCP와 같은 인프라 경험이 부족했다는 것. 학부 시절에 확실히 CS지식이나 알고리즘 공부는 많이 했어도 정작 그런 인프라 경험이 부족해서 올해 초에 정말 많은 애를 먹었다. 지금은 개인 개발 서버를 하나 두고 개인 프로젝트를 할 정도로 경험이 쌓였지만, 이걸 왜 지금에서야 깨달은 건가 하는 아쉬움이 남는 건 어쩔 수 없다. 뭐 사람 사는게 다 그런 것 아니겠는가...

성과

짧게 요약하자면 사회 경험을 쌓았다는 것, 그리고 웹 프로젝트 하나를 혼자 설계하고 릴리즈 할 역량이 생겼다는 것. 학부 시절에 웹 서비스라 해 봐야 어디서 API 긁어와서 써먹은 게 전부였던 기억이 난다. 릴리즈를 제대로 했던 것도 아니고 그런 경험을 가지곤 실무에서 일을 할 수는 없다.

성과들로는 우선 알고리즘 공부는 목표했던 Programmers LV3, BOJ Solved AC Platinum 을 달성하였다. 이게 큰 의미가 있는 건 아니긴 하지만...최소한 덕분에 개발 과정에서 자료구조에 대한 고려도가 높아졌다고 생각한다.

또한 여름 방학기간에 '스프링 부트 스터디'를 직접 진행하면서 오히려 내가 더 많이 배우고 알게 되었다. 과거에 짰던 쿼리가 왜 느렸는지에 대한 해답 또한 알 수 있었다. (페이징 처리 실수였다. Offset 기반 페이징은 어쨌거나 전체 데이터를 한번은 불러오니까 데이터가 몇 십만개가 된 이상 사용하지 않는 것이 좋다. 커서 기반 페이징으로 변경하거나 꼭 페이징 처리를 할 필요도 없이 검색 된 데이터만 출력하는 것도 다른 솔루션이지 않았을까 하는 생각이 든다.)

그리고 Redis, Kafka나 RabbitMQ와 같은 기술들도 직접 사용 해 보았고(써 봤다 수준이지만...) Docker를 다루는 데 상당히 많은 성과가 있었다. 옛날에는 Docker가 참 이해가 안되었는데 올해 들어선 그저 셋업하기 귀찮단 이유로 Docker를 정말 잘 활용하고 있다. 컴퓨터를 분기별로 포멧하는데 백지부터 다시 셋업하는 게 너무나 귀찮던 문제가 해결되었다.

그리고 Prometheus, Grafana를 통한 프로그램 모니터링에 대한 역량이 꽤 늘었다. 이제 서비스에 대한 모니터링 또한 할 수 있는 사람이 되었다는 게 올해 큰 성과 중 하나였다.

Kotlin 을 활용한 Spring 개발도 꽤 진척이 있었다. 개인 프로젝트긴 하지만 혼자 Kotlin 기반 API 서버를 개발하였다. 여태 Java 로 개발 해 보았으니까 API 서버는 Kotlin으로 작업하고 어드민을 Java로 처리해보잔 생각에 도전 해 보았다. 역시 직접 해 봐야 빨리 느는 법이다.

마지막으로 프론트엔드를 전혀 하지 못하던 올해 초완 다르게 타입스크립트기반의 React.js 애플리케이션 개발을 혼자 진행하고 있다는 것도 성과다. 백엔드 개발자도 프론트엔드를 잘 알아야 하니까 공부를 시작했던 것인데, 타입스크립트를 공부하던 초반에 정말 타입 처리 때매 돌아버리는 줄 알았다만 이제는 타입스크립트가 아니면 불안하다 생각을 할 정도까지 성과를 이루었다.

아직 못 해본 게 너무나 많지만, 혼자 프로젝트를 꾸준히 진행하며 모두 도입 해보고자 한다. 가능하면 직접 모두 구축해보잔 의미의 스터디를 혼자 진행중인데 내년 까지는 꾸준히 진행하고자 한다.

아쉬운 점

분수에 맞지 않게 앞서나가고자 했던 점이 아쉽다. 냉정하게 판단했어야 했다. 나름 냉정하다 생각했지만 그것으론 부족했다. 서두를 필요는 없다. 어차피 인생은 언제 죽을지도 모르지만 언제까지 살 지도 아무도 모른다. 성급하고 미숙한 주니어보단 조금 느리더라도 안정적인 주니어가 낫단 걸 올해 실무를 뛰면서 깨달았다. 만났던 많은 개발자들이 했던 조언들이지만 하나 기억에 남는 게 있다면 '어떤 사람이 회사에 필요한지 하나 확실히 깨달았다면 된 것이다.' 라는 조언이었다.

결국 개발자도 회사원이니까. 개발자로 살 것이냐 회사원으로 살 것이냐 라는 고민에 대한 답은 여전히 전자다. 하지만 혼자서는 개발자로 살 수 없으니까.

또한 ELK 스택에 대한 스터디가 많이 더디게 진행되었고 올해 내에 성과를 내긴 어려울 것 같다. 아쉽지만 내년에 많이 공부하고 써먹어봐야겠다.

Outro

내년의 목표는 도약이다. 올해 내도록 방황을 했다면 내년에는 좀 더 도약하고자 한다. 어디서 무슨 일을 하고있던 내년에 할 프로젝트 하나는 확실히 정해져있고 지금까지 배웠던, 혹은 알고만 있던 기술들을 직접 도입하며 하나의 서비스를 백지부터 운영까지 모두 혼자 진행하고 있다. 별 대단한 서비스는 아니지만 어딘가에서 비슷한 기능을 구현해야 할 일이 아주 많을 것이다 라는 생각에 진행중인 프로젝트고 확실히 프로젝트 중심으로 공부하는 게 많이 느니까.

내년의 시작부터 많은 게 계획 되어있다. 마지막 학부생활, 마지막 과 동아리 프로젝트로 '웹 기반 프로젝트 스터디' 스터디 장을 맡았고 개인 프로젝트 (SNS 클론, 별거 없지만 SNS에 필요한 모든 기능과 인프라를 혼자 구현 해 보는 공부 목적의 프로젝트다.) 업데이트도 예정 되어있다. Spring Webflux 기반 API 서버로 업데이트 하는 게 목표긴 한데 우선 그 전에 기존 MVC 로 개발하고자 했던 모든 기능들을 구현하는 게 먼저다.

인공지능, 빅데이터 분석 분야를 포기하고 백엔드를 다시 시작한 올해. 아쉬운 건 어쩔 수 없지만 후회는 하지 않는다. 올해 내도록 잠시 거쳐갔든, 계속 보든 마주쳤던 모든 인연들 하나하나가 좋은 기억으로 남았고 20대 후반(만으로 쳐도 어쨌든 후반이다...)을 시작함에 있어서 많은 자신감들을 가지고 시작하게 되었다는 사실에 감사한다.

profile
블로그 이전합니다 : https://swj-techblog.vercel.app/

0개의 댓글