본문 바로가기

회고록

2023년 12월 회고

결국 2024년을 맞이하고 나서야 2023년 12월 회고 글을 쓴다🙃

2023년의 11월 중순부터 참여한 한화시스템 BEYOND SW 캠프 덕분에 2023년의 마지막 두 달인 11월과 12월은 정말 밀도 높게 시간을 보낼 수 있었다. 1년이란 전체 시간 중 가장 몰입했던 두 달이었고, 몰입했던 만큼 정말 순식간에 지나갔다. 

한번 빠르게 정리해 보자!

 


자바와 함께한 12월

 

12월 초 데이터베이스 미니 팀 프로젝트를 종료함과 동시에 바로 자바 수업에 들어갔다. 자바를 본격적으로 활용한 지는 대략 2년이 조금 안 된 것 같은데 항상 자바에 대한 확신이 없었다. 계속 사용은 하고 있지만 어딘가 비어있는 듯한 느낌을 많이 받았고, 그렇다고 해서 다시 처음부터 꼼꼼하게 복습하기에는 상당한 시간이 걸릴 것 같아 엄두가 나지 않았다.

그러던 중 작년 7월부터 도저히 이대로 가다가는 안 되겠다 싶어 1달을 잡고 자바를 복습했지만, 계획했던 1달보다 더 긴 시간인 2달이란 시간이 걸렸다. 심지어 긴 시간이 걸렸음에도 원하는 만큼 모든 내용을 리뷰하지 못했다.

그래서 12월 1달간 진행된 자바 수업을 통해 자바의 전체적인 내용을 복습할 수 있던 것이 매우 만족스러웠다. 난이도 또한 자바의 기초적인 내용만 다루지 않고, 난이도 있는 내용도 수업에서 함께 다루었기 때문에 긴 자바 수업을 지루하지 않고 즐겁게 참여할 수 있었던 것 같다. 특히, 자바 수업의 후반부에서 다루었던 추상 클래스, 인터페이스, 익명 클래스, 람다, 스트림API, Optional 등에 대한 내용은 평상시 자바를 사용하면서 가장 익숙하지 않게 느껴지던 부분이었다. 그런데 이 부분도 이해하기 쉽게 수업에서 다루어주셔서, 아직 완벽하게 "잘 안다"라고 대답하지는 못해도 다른 사람의 코드를 읽고 이해하는 데는 무리가 없어진 것 같다. 능숙하게 활용하기까지는 좀 더 의식적인 노력이 필요할 것 같다!😅

 


코테, 코테, 코테!!!

어리석게도 나는 코딩테스트에 대한 준비가 전혀 되어 있지 않았다. 도대체 과거의 나는 무슨 배짱이었는지 주변에서 "여러분, 코딩테스트 미리미리 준비해 두세요"라는 말을 수도 없이 들었던 것 같은데, 이에 대한 준비를 하나도 안 하고 있었다. 그리고 그렇게 준비가 안 된 상태에서 맞이한 코딩테스트 문제 풀이는 막막함 그 자체였다...

강사님께서는 자바 수업 중 코테의 중요성을 수시로 어필하시면서, 수강생들이 자바의 문법에 익숙해질 수 있도록 프로그래머스의 기초적인 문제 풀이를 함께 진행하셨다. 그런데 처음에는 기초적인 Level 0의 문제들도 제대로 풀지 못하고, 컬렉션 프레임워크의 다양한 구현체들을 활용하는데 버벅대는 모습을 보면서 상당한 경각심을 느꼈다.

그래서 12월은 알고리즘 풀이의 기반을 다지는 시간으로 보냈던 것 같다. 프로그래머스의 Level 0의 문제들을 모아놓은 '코딩테스트 입문' 카테고리의 문제를 모두 풀고 나니 코딩테스트 문제들에 대한 감은 찾을 수 있었다. Level 0의 문제들은 특정 알고리즘을 요구하는 문제는 없었고, 대부분 아이디어를 요구하는 문제들이 많았던 것 같다.

결과적으로 코딩테스트에 대한 '감'을 익히고, 문제풀이에서 자료구조를 활용하는 방법에 익숙해지는 데 큰 도움이 되었다고 생각한다.

 

알고리즘

사실 0단계의 문제들을 풀어서 감을 익힌 것은 좋았지만, 수업 후반부에 다룬 알고리즘은 정말 어려웠다.

작년 초 짧은 기간 동안 친구와 파이썬으로 알고리즘 문제 풀이를 진행했었다. 알고리즘에 대한 개념적 이해는 했어도 항상 문제 풀이에서 이 문제가 어떤 알고리즘에 해당하는 문제인지 파악하는 것이 어려웠다. 그리고 푼 문제가 계속 늘어남에도 특정 알고리즘을 문제 풀이에 어떻게 녹여내야 하는지 전혀 감을 잡지 못해서 점점 문제 풀이에 소홀해졌던 것 같다. 그렇게 4월을 마지막으로 약 8개월이 조금 안 되는 시간이 지난 뒤에 다시 풀어보는 알고리즘 문제는 당연히 아무것도 기억나지 않았다🤪

특히 수업 중 다루었던 DFS와 BFS는 빈출 유형이기 때문에 중요하게 다루었는데, 문제를 풀 때마다 막막함이 폭포수처럼 쏟아져 내렸다. 그래도 다행인 것은 DFS는 조금 이해를 한 것 같은데, BFS는 문제를 풀 때마다 긴가민가함이 남아 있다. 그리고  DP와 그리디는 아직 정말로 감이 잡히지 않는다...

DFS를 이해했다는 것이 그냥 기분일 수도 있지만, 확실한 것은 문제를 더 많이 접하고 못 푼 문제들을 계속해서 다시 풀어볼 수밖에 없는 것 같다. 머리가 썩 좋은 편이 아니기 때문에 하루에 많은 문제를 풀지 못하더라도, 하루도 빠짐없이 꾸준하게 풀다 보면 어느 순간 빠르게 성장하는 시점이 올 것이라고 믿는다!

 


AI 챗봇과의 힘의 차이가 느껴지십니까?

2022년 12월 말, 2023년이 얼마 남지 않은 시점에 공유 오피스에 혼자 남아 공부를 하다가 그 당시 스멀스멀 들리기 시작하던 ChatGPT가 어떤 서비스인지 궁금해 찾아보았었다. 그리고 실제로 서비스를 사용해 보고 난 뒤 "예전에 레이 커즈와일 아저씨가 말했던 '특이점'이라는 게 이런 건가?" 하는 생각이 들며 너무 놀라, 집에 도착해 아버지와 신나게 ChatGPT를 주제로 대화를 나누었던 기억이 난다.

그리고 딱 일주일이 지난 뒤 유튜브와 뉴스 등에서 ChatGPT에 대한 온갖 영상들이 올라오며, 많은 일자리가 사라질 것이라는 이야기와 LLM에 대한 설명을 담은 영상들이 정말 많이 나왔다. 그런데 그 뒤로 학습하면서 활용한 ChatGPT는 그다지 만족스러운 답변을 주지 못해서 점점 활용을 잘 안 하게 되었다.

그렇게 LLM을 적용한 서비스들에 대해서 잊고 지내던 무렵, 인텔리제이를 업데이트하면서 인텔리제이에도 'AI Assistant'라는 기능이 정식으로 추가되며 자연스럽게 체험판을 약 1주일간 사용해 볼 기회가 생겼다. 

그리고 'AI Assistant' 를 사용해 본 뒤 든 생각은...

"내가 스타트업 대표라면 굳이 신입을 뽑지 않을 것 같다."

아이러니하게도 나는 회사에 신입 개발자로 들어가기 위해 학원에 다니는 중인데도 이런 생각이 머릿속을 떠나지 않았다. 요구사항만 잘 입력하면 구현을 정말 잘하는데, 회사 입장에서는 확실히 사람을 더 뽑기보다는 개발팀의 규모를 줄이면서도 생산성을 높일 방법으로 이런 LLM 기반의 챗봇 서비스를 팀에 도입하는 선택을 할 것 같다.

인텔리제이 업데이트로 AI Assistant가 추가된 날, 코테 문제를 푸는데 갑자기 화면에 코드가 자동으로 생성되어서 자동 생성된 코드를 지웠다. 이후에도 계속 코드가 자동으로 생성되어 무슨 코드인지 확인을 해보니, 문제를 풀기 전 Solution 클래스 위에 적어놓은 주석을 기반으로 정답 코드를 생성한 것이었다. 문제 전체를 적어놓은 것도 아니고, 어떤 식으로 접근해서 풀 것인지만 간략하게 적어둔 것이었는데, 그것을 보고 정답 코드를 생성한 것이었다. 심지어 자동 생성된 코드는 정말 잘 짠 코드였다.

지금은 1년 이용권을 결제해서 사용 중인데, 학습하는 과정에서 모르는 것들을 찾아보거나 코드를 리팩토링하는 작업, 내가 푼 알고리즘 문제를 기반으로 더 나은 성능의 풀이로 개선하는 방법들을 너무나도 잘 알려주어서 시간을 효율적으로 쓰면서 학습하기에 매우 좋다고 생각된다. 그런데 한편으로는, 신입 개발자로서 AI 챗봇 서비스보다 얼마나 더 나은 가치를 회사에 제공할 수 있는지, 그리고 개발자를 얼마나 오래 할 수 있을지에 대한 현실적인 고민이 많이 들었다.

 


다음 달은?

이번 12월은 체력적으로 한계가 오고 있다는 것을 느낀 달이었다.

나는 좋아하는 음악을 들으면서 달리는 것을 정말 좋아한다. 그래서 작년에도 10월 초까지는 일주일에 못해도 꼭 3회 이상씩은 집에서 한강까지 편도 8km의 달리기를 해오고 있었다. 그런데 무릎 통증이 심해지면서 한동안 운동 전체를 중단했었고, 달리기를 중단한 이후로 지금까지 운동을 하지 않고 있다.

거의 3달가량 운동을 하지 않다 보니 12월에는 체력적, 정신적으로 좀 힘들다는 것을 느꼈다. 그래서 다음 주는 집 앞 헬스장을 결제해서 운동을 시작하려고 한다. 사실 달리기를 다시 하고 싶은데 내 무릎은 소중하니까...^^

12월 말에는 새롭게 전공지식 학습을 시작했다. 그동안 학교를 다니면서 배웠던 지식들이 머릿속 어딘가에 흩어져 있는 상황이다. 이 지식들을 다시 하나로 모아서 "말"로 잘 설명을 할 줄 알아야 하는데 그게 참 쉽지 않다. 전공지식을 학습하는 데는 정말 많은 시간이 소요되는데, 오히려 더 늦기 전에 잘 시작한 것 같다.

알고리즘 문제 풀이와 전공지식 학습을 꾸준히 하면서 개인적으로 만들고 싶던 서비스를 주말에 차근차근 구현하며 1월 한 달을 알차게 보내려고 한다. 1월 회고를 쓸 때는 더욱 발전한 모습이 되었으면 좋겠다.