오늘은 2023년 !! 12월 31일이다.
간단히 개발 회고록을 쓰면서 이번 년도 반성도 해보고 마음도 다잡고자,, 이렇게 회고록을 쓰게 되었다.
2023 3학년 1학기
당차게 시작한 내 3학년 1학기 시작은 그리 행복하지 않았다 ㅎㅏㅎㅏ 대학생들이 다 그렇겠지만, 각자 다들 갈 길을 찾아 떠나기 때문에 동기들과 진득하게 같이 지내기가 쉽지 않다. 같이 지내던 사람들도 다 졸업하고, 부트캠프로 떠나고.. 이런 저런 개인적인 일들과 함께 열심히 준비했던 소프트웨어 마에스트로에 떨어지게 되었다..
사실 면접조차 붙지 못한 채 평소 자신있던 코딩테스트에서 떨어지게 되었다... 이 때 계속 부정하고 외면하고 있었지만 외부적인 요소에 내가 엄청난 스트레스를 받고 있었다.. (아마 아무도 눈치채지 못했을거다)
이후,, 다른사람에 대한 배려는 조금 내려놓고 내 맘대로 하기 시작하며 치유되었다. 당신이 MZ라면 너무 참지는 말자 .
CS 공부
3학년 1학기에는 열심히 학교 생활에 참여했다. 네트워크, OS 등 CS 공부를 본격적으로 하기 시작한 학년이다. CS 과목들을 열심히 공부하고 정리했고, 산학 프로젝트 같은 프로젝트형 과목도 수강했다.
개인적으로 네트워크보다는 OS 가 재밌었다. 파일 시스템이나 쓰레드 개념, 데드락 개념이 재밌었다. 공부한 내용들을 블로그에 정리해보면서 데드락 회피 알고리즘 같은 걸 파이썬으로 짜보기도 했었는데, 나중에 면접에서 설명할 때, 내 문장으로 정리해두었던 것이 도움이 많이 됐던 것 같다.
산학 앱런칭 프로젝트
3학년 1학기에는 지금껏 해보고 싶던 앱런칭을 시도해보았다. 이쯤 chatGPT가 유행이었고, OPEN AI 에서 API가 풀리기 시작하여 Whisper과 ChatGpt 를 사용한 프로젝트들이 막 생기기 시작했다. 우리도 이 아이디어에 착안하여 이 두 ai를 사용하여 직접 강의해볼 수 있는 앱을 런칭해보았다.
사용 언어는 kotlin spring이었는데, kotlin은 java랑 비슷하면서도 많이 달랐다. 내가 생각하는 kotlin의 가장 강력한 점은 null check 를 컴파일 시점에서 잡아준다는 것이다. 엘비스 연산자 등으로 null 가능성을 배제하는 것이 설계과정에서도 편했고 설계에도 안전했다.
이 프로젝트에는 모니터링 툴인 Sentry도 추가했다. Sentry는 적용하는데에 코드 10줄도 안되는데, 실시간으로 오류 사항들을 모두 잡아주고 해당 api 접근 횟수나 머무르는 시간 등을 모두 추적해준다. 이 모니터링 툴로 jwt 오류나 request parameter 관련 오류를 잡아내고 수정하는 경험을 해볼 수 있었다.
하지만 해당 프로젝트는 서비스 측면에서는 성공작이라고 할 수 없었다. 😥 open ai api에 대한 강한 의존도와 기획적인 측면에서 유저의 리텐션을 확보할 수 없었던 점이 그 이유다. 그래도 전반적인 개발 사이클을 경험해보았던 점에서 엄청난 수확이었다 !
Android IOS <- 여기에서 해당 앱 서비스를 경험해볼 수 있다.
코알라 알고리즘 동아리
항공대 Koala 알고리즘 동아리에 1학년 겨울방학 때부터 활동하여 2학년, 3학년 내내 임원진으로 활동하였다. 정말 내가 아끼는, 내 대학생활의 절반이라고 해도 과언이 아닌 동아리이다. 다들 모르지만, KOALA는 KOrea aerospace ALgorithm Association의 약자이다.. 이 어원을 말하면 놀라는 동아리원들이 많다. 대면 만남을 많이 못가진게 항상 아쉬운 점으로 남았지만, 그래도 내가 가진 최대한의 역량으로 다른 사람들과 시너지를 내려 노력했다. 내년에는 모각코?같은 걸 해보면 어떨까 싶기도 하다.
올해 7월에는 2달동안 열심히 준비해 제 3회 KAUPC를 출제하게 되었다. 문제를 출제하다 보면 아.. 백준 문제를 이렇게 만들었겠구나 하는 문제 출제(?) 시야가 분명히 넓어진다. 검수 과정에서 글 표현에도 신경쓰고, 정해가 아닌 다른 풀이들을 발견하는 과정들을 겪다보면 문제 만드는 것도 쉬운 게 아니라는 게 느껴진다.. 이전에 문제를 풀다보면 이런 문제도 만들면 좋겠다~ 하는 생각들이 들 때가 많았는데 그런 순간들마다 조금 적어두고 생각해 둘 걸 싶었다. 막상 만들어봐! 하면 벙찌게 될 수 있으니,,,
그래도 뜻하지 않게 내 문제를 많이 못 맞춘 사람들이 속출해서(?) 재미있었다.
실버3인데 고등학교 감성을 잊은, 또는 극도로 긴장한 사람들이라면 이 문제가 안 풀릴 수 있다. ㅎㅎ
그리고 바로 저번주!! 코알라 임원진 자리를 모두 인수인계하였다. 열심히 공부하는 후배들이 적극적으로 KOALA 일을 맡아주겠다고 말해줘서 정말 얼마나 행복했는지 ... 🤩
내가 운영하던 때에는 출석부를 작성하기 위해 카톡창을 하나하나 살펴봐야 했어서 너무 번거로움이 심했는데, 다음 기수 친구들의 귀찮음을 너무 덜어주고 싶어서 이번 12월 한 달 동안 열심히 인수인계를 위한 자동화 출석부를 만들었다. 운영진들의 불편함을 꼭 덜어줄 수 있으면 좋겠다 🙏 자동화 출석부 구현 내용은 또 따로 정리해볼 생각이다.
이제 다음 학기 친구들이 그들의 색깔로 잘 이끌어주면 좋겠다.
실력 있는 친구들이 계속해서 나오는 걸 보니 코알라는 오래동안 살아있지 않을까 싶다. !! 🐨 화이팅 @@
오픈소스 컨트리뷰션
7~10월 동안 진행했던 활동이다. 회사랑 같이 병행해야 했어서 조금 허덕댔었다.. FOSSLight Hub는 Open Source와 License, 보안취약점을 관리하고, OSC (Open Source Compliance) Process를 순차적으로 처리할 수 있는 Spring Boot 기반의 프로젝트이다. FOSSLIGHT의 새로운 기능 요구사항과 버그를 해결함으로써 오픈소스 생태계에 대해 경험하고, 기여할 수 있었다. 지금까지는 내가 처음부터 프로젝트를 만들어왔다면, 이미 만들어진 코드를 이해하고 내 코드를 녹여내는 과정에서 배울 점이 많았다.
아래 github를 통해 구현 설명 및 코드를 볼 수 있다.
- [새로운 기능 추가] NvdData 동기화가 일어난 다음날 스케줄링으로 확인 메일 발송 PR #1000
- [새로운 기능 추가] 검색 상자에 watcher box 추가 및 mybatis query 수정 PR #934
- [버그 수정] 타 이슈에서 발생한 버그 수정 ISSUE #992 → PR #999
추가로, 프로젝트 수행을 원활히 하기 위해서 토비의 스프링을 함께 읽고, 격주로 각자 정해진 주제에 대해 발표하는 시간을 가졌다. Spring 관련 스터디를 진행하며 개인적으로 블로그 글로 정리해보기도 했다. 시간을 정해두고 그 때까지 정해진 주제에 대해 발표해야 했기 때문에 다들 열심히 준비해왔고 시너지 효과는 확실했던 것 같다. Spring에 대한 이해도가 확실히 올라갈 수 있었다. 역시 스터디는 옳아 👍
열심히 수료하여 예쁜 스티커들도 받았다 !
장기현장실습
2학기에는 또 다시 학교에 가서 정해진 수업들을 듣는 것이 싫어 ICT나 장기현장실습 등 실무 경험을 쌓아보자고 생각했다. 사실 ICT나 장기현장실습 모두 3학년에게 기회가 크게 오지 않는다.. 오지 않는다기보다도 연계형이 많아 4학년에게 비교적 더 많이 기회가 가기 때문에 가벼운 마음으로 지원하였다.
그렇게 여러 탈락의 고배를 마신 후 장기현장실습 기업 하나에 합격할 수 있었다. INFRA/DB 관련 업무였는데 백엔드 직무라면 배워두는 것도 나쁘지 않을 것 같았고, 6개월동안 어딘가에 소속되어 성장할 수 있다면 좋을 것 같아 지원하게 되었다.
면접은 다대다 형식이었어서 조금 당황스러웠으나, 다른 사람이 대답하고 있을 동안 내가 할 대답을 생각할 수 있어 나쁘지 않았다. 열심히 대답해서 회사에서 일할 수 있게 되었다.!
장기현장 실습은 학기 4개월간 15학점, 방학(계절학기) 2개월간 3학점, 이렇게 총 18학점을 인정해준다.
현재는 계절학기 현장실습 과정 중에 있다.
2학기 4개월 동안에는 동료 인턴과 함께 상담센터에서 나오는 하루 만 건 가량의 녹취록을 이용한 프로젝트에 참여하였다. 이 때 처음으로 인덱싱도 적용해보기도 하고, 리소스 사용량 추적을 위해 ELK 시스템을 구축해보기도 했다. 또 docker container 와 같은 컨테이너 환경에 대한 이해도도 높일 수 있었다. 이 외에도 여러 실무적인 개발/운영 을 경험해볼 수 있었다.
이 프로젝트와 관련한 피치인도 진행하였다.
다른 사람들의 발표 영상을 보면서도 정말 얻을 점들이 많았고, 내 구현에 대한 피드백도 들어볼 수 있어서 좋았다.
1,2월 2달간 더 일할 예정이다. 앞으로 내 아키텍처에서 부족하다고 생각했던 점들을 개선해보고 싶다 ! 회사에서는 의도치 않게 오히려 인프라나 DB, Data 를 다루는 일들을 많이 했었는데, 이런 쪽도 잘 맞는 것 같아 이쪽 진로도 조금 열어두게 된 계기가 되었다.
인턴쉽 지원
이번 겨울방학에 처음으로 내 졸업요건을 충족시키는 카카오 겨울인턴 지원 이 열려 지원하게 되었다 ! "유저와 개발자 모두를 만족시키는 안전하고 효율적인 아키텍처 설계" 라는 타이틀로 여러 프로젝트를 구현하는 과정에서 내가 어떤 부분을 고민하여 설계해왔는지, 어떤 것을 중요하게 여겨왔는지에 대해 설명하였다.
열심히 코딩테스트를 보고 3솔하였고, 서류결과는 합격이었다. !
면접 기회를 얻게 된 게 정말 너무 감사했다.. 1시간동안 일대다로 나랑 얘기해준다고..??>,< 합불을 떠나 정말 좋은 기회라고 생각했고 열심히 면접준비를 시작했다.
왼쪽은 프로젝트, 오른쪽은 CS 관련 준비 내용이다. 열심히 한 것처럼 보이지만,, 사실 굉장히 급하게 준비했다. 여러분 급하게 준비하지 말아요.. 줄글로 키워드를 뽑고 ,, 열심히 내가 했던 활동들에서 말하고 싶은 내용을 정리했다. CS 는 학교에서 열심히 공부했기 때문에 수월하게 잘 정리해볼 수 있었다.
하지만 최종 인터뷰에 불합격하고 말았다..
일단, 위에서 내가 준비한 내용에 대한 것은 10% 가량 밖에 나오지 않았다... Java Spring 개념은 이번 카카오 백엔드 직무의 가장 기본적인 충족요건이었다. 이에 대한 준비성이 조금 떨어져 있었다. 예를 들면, 디자인 패턴이라던가, Transaction, Async/Sync, Blocking/NonBlocking 개념들에 대해 이론적인 설명은 충분히 할 수 있었으나, '그럼 그걸 적용해본 경험은요?' 또는 '그럼 그거에 대해 최대한으로 자세히 설명해보세요' 라는 질문에 잘 대답하지 못했다.
후회가 되었다기보다는, 면접을 통해 어떤 식으로 공부해야 할지, 그리고 자소서나 면접에서 어떻게 나를 어필해야 하는지 길이 보이는 느낌이라 정말 정말 좋은 경험이었다. 물론 기대를 안했다면 거짓말이지만 ! 🫣
내가 항상 생각하는 마인드 중에 진인사대천명이라는 말이 있다. 나는 내가 할 수 있는 일을 다 하고, 결과는 운명에 따르고 받아들이면 된다. 과정은 나의 몫이지만 결과는 내 몫이 아니니까 ! 이 마음가짐으로 생각하면 좀 덜 떨리고, 좀 덜 실망하게 되는 것 같다. 그러니 좌절하지 말자! 결국 멘탈 싸움이다. (나한테 하는 소리임)
내년의 다짐 !
- JAVA 랑 SPRING 공부를 좀 더 깊게 해야 겠다 !
- 지금까지는 발표는 계속 굳이 나서지 않았는데, 앞으로는 좀 더 적극적으로 임하자 🎤
- 실무에 좀 더 가까워지도록 여러 활동들에 많이 참여해야겠다.
- CS 공부 더 깊게 하자 !! github 레포 말고 내 언어로 내가 설명할 수 있는지를 점검하자 .
- 내가 했던 프로젝트에 대해서 한달에 한 번이라도 좋으니 제발 정리하자. 급하게 하지 말고 !!
- 이제 4학년이니 쉴 틈이 없다.. 2024년의 밀도는.. density.. 매우 짙어야 한다. 그래도 무리하지 말자 !!!
이제 앞으로는 이런 .. F적인 글을 자제하좌ㅏ..
'회고' 카테고리의 다른 글
[책 회고] 가상 면접 사례로 배우는 대규모 시스템 설계 기초 (0) | 2024.06.11 |
---|---|
[후기] SOMA 15기 합격 후기 (14) | 2024.03.22 |
[후기] 2023 KAUPC 문제 출제 후기 (3) | 2023.08.02 |
[해커톤] 2023 KAU Sohot 해커톤 후기 (3) | 2023.06.29 |
[PROJECT] 프로젝트 매니징 후기 (2) | 2023.01.02 |