본문 바로가기
기타

2023년 회고

by JongSeok 2024. 1. 1.

포스팅을 작성하는 오늘은 2024년 1월 1일이다. 올해는 본격적으로 개발자가 되기 위해 취업을 목표하고 있어 작년을 되돌아보는 회고를 작성해보려 한다.

 

먼저 회고를 작성하고 있는 현재 개발블로그를 시작한지 정확히 1년이 되었다.

작년 이맘때쯤 본격적으로 개발을 공부하기 위한 동기부여 겸, 공부하는 내용을 틈틈이 정리하려는 목적으로 티스토리 개발블로그를 시작했다.

다른 개발자분들에게 잘못된 정보를 제공하는게 포스팅을 작성하지 않는 것만 못하다는 생각이 들어서 코드 한 줄을 작성하거나 단어를 선택할 때에도 많이 고민하면서 공부하는 내용을 다시 한 번 정리하는 시간을 가질 수 있었다.

 

우하향..? 연말이라 그렇다 해줘

부족한 글솜씨지만 감사하게도 많은 분들이 방문해주셔 1년 만에 1만 명이 넘는 방문자수를 기록했다.

 

올해 초 겨울방학 기간에는 Android를 공부하며 정리하는 포스팅을 주로 작성했지만 학기 중에는 코드를 작성하거나 코드를 보고 공부하는 시간이 더 많아져 올해 초에 비해 포스팅 수는 줄었던 것 같은데 내년부터 다시 꾸준히 포스팅해야겠다.

내가 작성하는 글이 다른 개발자분들에게 조금이나마 도움이 되었으면 하는 바램이다.


2023년 1, 2월

4학년이 되는 겨울방학이고, 이것저것 조금씩 얕게 하기보다는 '한 가지라도 제대로 할 줄 알자'라는 생각에 작년부터 공부하던 Android를 좀 더 깊게 공부했던 시간이었다. 

 

이전까지는 어떻게든 정상적으로 작동하는 것처럼 보이기 위해 UI 위주의 '구현'에 집중했다면 이때를 계기로 Android 개발에 일반적으로 권장되는 방법에는 어떤 것들이 있는지, 디자인 패턴, 설계 패턴에 대해서도 고민해 보게 되었다.

이 시기에 Android Jetpack 라이브러리, MVVM 패턴 같은 안드로이드 개발에 필수 요소들을 집중해서 공부했다.

이 과정에서 안드로이드에 벽(?)도 많이 느꼈던 것 같다. (MVVM..? 그게 뭔데.. 그거 어떻게 하는건데..)

특히 MVVM 패턴은 ViewModel, LiveData, Flow, Navigation 같은 Jetpack 라이브러리와 함께 자주 쓰이는데 어느 하나 제대로 사용할 줄 모르는 내게는 너무 어려웠다...

이전에 공부하면서 만들어 둔 정말 간단한 계산기 앱의 연산을 Activity/Fragment에서 처리하던 방식에서 ViewModel에서 처리할 수 있도록 리팩터링 하면서 디자인 패턴이 왜 필요하고 어떻게 쓰이는지 이해도가 확 올라갔던 기억이 난다. 

(인프런 유료 강의도 결제해 들으면서 공부했지만 역시 본인이 고민해 보면서 직접 해봐야 한다.)

 

같은 시기에 학교 사람들과 사이드 프로젝트도 진행했다.

'세종이의 집'이라는 교내에서 판매 중인 학교 굿즈와 학생들이 학잠같은 공동구매를 앱에서 확인하고, 진행할 수 있도록 하기 위해 제작한 앱이다. 

에브리타임에 작성한 홍보글도 학생들의 반응도 꽤나 좋았고, 교내에서 진행된 굿즈 공모전에서 입상해 실제 굿즈를 제작해 판매 중인 학생들과도 연락이 닿아 실제 판매까지 준비하던 중 총학생회 측에서 비용적인 문제로 학교 제품의 공동구매를 금지하는 공문이 올라와 무산되었다. 

그리고 무엇보다도 개발이 어느 정도 진행된 상태에서 확인해보니 학교에서 자체적으로 제작해 판매하는 제품이 없었고, 매 학기 굿즈 공모전을 개최하던 부서는 코로나 상황과 겹쳐 폐지되었다...

굿즈를 판매하는 앱을 제작했지만 앱에 등록할 굿즈가 없어 무산된 아쉬운 프로젝트이다... :(

세종이의 집..이었던 것..

개강 일정과 겹쳐 프로젝트가 흐지부지되던 중 프로젝트에 관심이 많았던 학우분께서 노트를 10개 구입해 판매자에게 실제로 계좌이체까지 하셨다는 걸 뒤늦게 알게 되어 배송해 드렸던 기억이 난다..ㅎㅎ


2023년 3~6월

3~6월은 졸업 프로젝트(캡스톤 디자인)에 집중하면서 교내 개발 동아리에 들어갔다.

 

캡스톤 디자인은 세종대학교 소프트웨어융합대학 학생들이 졸업하기 전 반드시 수강해야 하는 6학점 교과목이다.

지정된 주제로 각 팀에서 한 학기 동안 프로젝트를 수행하고, 매주 진행상황을 발표하는 수업이다.

 

우리 팀은 '시설 작물 병해 검출 및 분류 플랫폼 구축'을 주제로 프로젝트를 진행했고, 인공지능 개발 팀원 2명이 병해 검출 모델 개발을, 본인과 서버 개발 팀원 1명이 병해 검출 모델을 활용한 플랫폼 구축을 담당했다.

3개월이라는 짧지만은 않은 기간 동안 안드로이드 개발은 혼자 진행했었기에 그동안 공부했던 Android 기술, 다뤄보고 싶은 기술들을 모두 적용해 볼 수 있었다.

git 브랜치가 꼬여 이틀 동안 작업한 코드가 싹 다 날아가기도 하고..;, 어설프지만 MVVM 패턴을 따라 하려 노력했고, Multipart라는 네트워크 통신 포맷을 사용해 보고, 굳이 SharedPreferences 대신 DataStore을 사용하느라 헤매기도 하고 등등 이것저것 시도하면서 많은 것들을 배웠다.

캡스톤디자인: 창의설계경진대회 - 대상

학기말 캡스톤디자인을 수강하는 학생들이 참여하는 창의설계경진대회에서 대상을 받으면서 마무리까지 아주 좋았던 기억이 난다. 🎉🎉

졸업 프로젝트를 진행하면서 버그&이슈와 어려웠던 내용들이 많아 "잘하고 있는 건가..? 이게 맞나..?" 라는 생각이 종종 들었는데 잘하고 있다는 의미로 상을 주신 것 같아 이후로도 개발을 공부하는 데에 큰 동기부여가 된 것 같다.

 

그리고 학기 초 교내 앱 개발 동아리인 '아롬'에 들어갔다.

동아리에서 안드로이드와 iOS 파트를 나누어 모집 중이었고, 운영진께서 안드로이드 리드를 제안해주셔 안드로이드 파트 리드를 맡게 되었다.

아롬은 4-2학기까지 활동했지만 따로 프로젝트에는 참여하지 않고, 수시로 안드로이드 파트 질의응답을 받으면서 각 팀에서 해결되지 않는 문제를 도와주고, 조언해주는 역할을 했다.

예상치도 못한 내용들의 많은 질문을 바랐지만 생각보다 질문이 활발하지는 않아 살짝 아쉬웠다.

(질문을 좋아하시는 교수님들의 마음을 조금은 이해할 수 있었다ㅋㅋ..)

 

그동안 주변에 개발을 하는 지인이 거의 없었는데 Android, iOS, Flutter, 서버.. 여러 분야를 공부하는 학생들이 모여 있어 안드로이드뿐만 아니라 다른 파트를 공부하는 또래들과 개발 얘기를 하고, 어울릴 수 있어 좋았다.

똑같이 혼자서만 개발을 공부했다면 하지 않았을 고민거리들에 대해 생각해 볼 수 있었고, 개발을 주로 하는 사람들 사이에 놓이다 보니 자연스럽게 나도 개발에 좀 더 관심을 가지게 됐고 여러모로 긍정적인 영향을 많이 받았던 것 같다.

 

아롬 활동을 계기로 다른 개발자들은 어떻게 지내는지, 좋은 개발자가 되기 위해 어떤 준비를 하는지, 건너 건너 들리는 취업&회사 얘기 등등 조금씩 인사이트를 넓힐 수 있는 소중한 시간이었고 사람들이었다.

군복학 후 코로나를 핑계로 마지막 학년인 4학년에 동아리에 지원했고, 학교를 다니면서 동아리에 큰 애정을 가지고 활동했던 처음이자 마지막 동아리여서 더 좋은 기억으로 남아 있다.


2023년 7~8월

정확히는 6월 22일 ~ 8월 31일까지 학점연계 ICT하계인턴십에 참여했다.

학교와 연계된 기업 중 유일하게 안드로이드 개발 직무를 모집하는 회사였고, 서류와 면접을 보고 합격해 여름방학 기간 동안 근무하게 되었다.

 

결론부터 말하자면 인턴으로 근무한 기간 동안의 경험은 그리 좋지 않다... ;ㅅ;

 

규모는 회사라기 보다는 창업팀(?)에 가까웠고 사무실에는 대표님 한 분과 디자이너 한 분 총 두 분이 계셨다.

그리고 본인과 같은 하계인턴십 기간 동안 마케터로 근무하실 대학생 한 분 총 네 명이 사무실을 지켰다.

운영중인 서비스의 웹, 앱(Android / iOS), 서버를 개발하는 개발자 모두 본업을 따로 하시면서 100% 재택으로 파트타임 근무하시는 시니어 개발자분들이 계셨다.

개발자분들은 모두 재택으로 저녁시간, 주말에 잠시 작업하시는 정도였고, 나는 오전에 출근해 저녁 전에 퇴근해서 근무시간이 겹치지 않아 슬랙이나 노션으로 텍스트상으로만 궁금한 내용이나 어려운 부분을 설명드리려니 굉장히 어려웠다..

또한, 서비스가 몇 년 동안 여러 파트타임 개발자들의 손을 거치다 보니 레거시한 부분이 많았고 2~3년 전에 작성된 다듬어지지 않은 코드들이 그대로 남아있었다.

 

출근 첫날, 깃허브 Private Oranization과 Repository에 초대된 이후 바로 개발할 기능과 수정사항을 전달받아 작업했어야 했다.

팀에서 사용 중인 아키텍쳐, 라이브러리, API, 코드 컨벤션&룰 등 프로젝트에 관련된 내용을 아무것도 듣지 못하고 바로 개발에 투입되어 더 어려움이 많았던 것 같다.

근무를 시작하고 2주 동안은 저녁시간과 주말에 따로 시간을 내어 매주 할당된 티켓을 모두 해내고 싶은 마음에 정말 열심히 코드를 읽고 공부하면서 프로젝트를 이해하려고 했으나 쉽지 않았다.

그래서 근무 초기에 내가 아직 공부가 정말 많이 부족한 것 같고, 안드로이드 개발을 한다고는 하지만 아직 실무에 투입되기에는 무리인 것 같다는 생각이 자주 들어 겪고 있는 상황에 대해 안드로이드 동료분께 정중히 DM을 드렸더니

인턴으로 근무하기 2~3주 전 합류한 안드로이드 시니어 개발자분도 개발하기 정말정말 어렵고 난해하다고 강하게 말씀해 주셨다. 덕분에 심리적으로 많이 위로가 되었던 것 같다,,,

 

저분은 합류하시고 1~2주 동안은 뷰의 id를 직접 참조하는 kotlin-extensions 플러그인이 사용된 부분을 모두 제거하고 뷰바인딩(ViewBinding)을 새로 적용하셨다고 한다..

안드로이드에서 kotlin-extensions가 deprecated된지 꽤 오래되었는데 이때까지 기존 방식이 쓰인 것에 놀랐고, 이걸 새로운 개발자가 오신 후에야 직접 고치셨다는 것에 다시 한번 놀랐다...

 

Android / iOS 각각의 플랫폼에서 발생하는 오류가 많았는데 오류가 발생하는 원인을 찾기도, 해결하기도 어렵다는 분위기가 내가 근무할 당시 최고점을 찍어 결국 서비스 3년 만에 Android / iOS 네이티브 개발을 멈추고 React Native로 처음부터 다시 개발하는 방향으로 결정되었다.

 

그치만 좋았다면 추억이고 나빴다면 경험이다라는 말이 있듯이 취업에 정말 간절할 때가 아닌 대학생 인턴십 과정에서 이런 상황을 겪을 수 있어 좋은 경험이었다 생각하고, 더 규모와 체계가 있는 소위 말하는 좋은 회사에 가기 위해 역량을 키우는 좋은 동기부여가 되었던 시간이다. :)


2023년 9~12월

4-2학기는 6학점만 들으면 졸업학점 140학점을 모두 채우게 되어 막학기 학교를 비교적 여유롭게 다닐 수 있었다. (6학점이 전공 두 과목이었지만..)

학교 수업도 여유가 있고 졸업하기 전 대학생때 할 수 있는 대외활동과 동아리를 알아보던 중 '큐시즘'이라는 연합동아리를 알게 되어 큐시즘에 지원해 최종합격했다.

본인은 9월부터 12월까지 큐시즘 28기 안드로이드 개발팀에서 활동하면서 3달 정도의 기간 동안 기업 과제를 진행하는 기업프로젝트, 큐시즘 내 자체 해커톤, 9주 동안의 팀 프로젝트를 진행하는 밋업 등 단기간동안 정말 많은 세션이 이루어졌다.

여러 세션 중에서도 특히 해커톤과 밋업 프로젝트가 기억에 남는다.

집밥큐선생 - 찍먹: 우수상

전부터 해커톤에 참가해보고 싶다는 생각이 항상 있었다. 기회가 없어 생각만 하던 중 학회를 통해 해커톤을 경험해 볼 수 있었고, 운이 좋게도 수상까지 할 수 있었다.

해커톤 당일 오전부터 다음날 오전까지 약 24시간 동안 진행되었고 우리 팀은 본인의 식단을 사진을 찍어서 기록하는 '찍먹'이라는 앱을 개발했다.

안드로이드 개발자는 총 3명이었고 나는 사진을 찍는 카메라 기본 화면을 기획에 맞춰 커스텀하고 싶었지만 생각대로 작동하지 않아 꽤나 시간을 잡아먹었던 기억이 난다...

팀원들 모두 정말 좋았고 단기간에 하나의 프로덕트를 만들어본다는 경험 자체는 너무 좋았지만 해커톤은 한 번으로 충분한 것 같다...ㅎㅎ

매우 짧은 시간 동안 기획과 디자인, 개발을 동시에 진행하다보니 개발은 구조나 성능보다는 단순 UI 위주의 구현에 급해질 수 밖에 없었다. 고민을 오래 할 수 없기 때문에 잘 작동하지 않는 기능은 마치 작동하는 것처럼 보이도록 이미지로 대체하기도 했고, 시연플로우에 최적화해서 우리의 의도대로만 작동하는 부분도 많았다.

아쉬움이 많이 남는 세션이지만 좋은 팀원들과 해커톤이라는 프로세스를 경험해보는 것 자체만으로 아주아주 만족한다.

연G와 I들 - 대피로: 최우수상

MEETUP DAY(밋업데이)는 9주 동안 진행한 팀 프로젝트를 외부 심사위원 4분과 모든 학회원들에게 최종 발표하는 한 학기 동안의 큐시즘 활동을 마무리하는 의미있는 세션이다.

우리 팀은 재난 문자 기반의 안전 재난 알림 서비스를 제공하는 '대피로'라는 안드로이드 앱을 개발했다.

기획, 디자인, 개발 모든 팀원들이 두 달 동안 밤낮없이 프로젝트에 깊게 몰입하면서 꽤 완성도있는 결과물을 만들었고, 최종 발표에서 최우수상으로 마무리까지 할 수 있었다. 짝짝짝 :) 🔥

대피로 주요 화면

두 달 정도 되는 프로젝트 기간 동안 그동안 공부하던 안드로이드 관련 기술들을 최대한 적용하고 싶어 아키텍쳐와 프로젝트 구조에 대해 정말 많이 고민하면서 진행했고, 낯선 라이브러리와 API도 활용하려고 노력했다. (FCM 푸시알림, Flow, 인앱결제, 카카오톡 공유 API 등)

특히나 서버를 작업해줬던 백엔드 팀원들에게 고맙다.. 

"스웨거 안 들어가지는데요?", "서버 500 내려옵니다..ㅎ", "api에  ~필드, ~데이터 추가해 주실 수 있나요?", "이렇게 저렇게 해주실 수 있나요" 등등 프론트의 어떤 요구에도 안된다는 얘기 한 번 없이 정말 빠르게 대응해줬고, 사소한 부분에서도 프론트에서 작업하기 편하게 배려해줬다. 예를 들어, 날짜 포맷 2023.12.10T11:52:27을 UI에 바로 올릴 수 있게 "오전 11시 52분" 이런식으로 준다던지.

개발을 좋아하는 친구들이라 의사소통도 잘 돼서 같이 작업하기 너무 좋았다. 

 

당시에는 몸도 머리도 힘들었는데 회고를 작성하면서 돌이켜보니 즐겁고 재밌었던 기억으로 남아있다. (역시 과거는 미화되는 건가?)

게더에 모여 새벽 늦게까지 작업하던 날들, 새벽이 넘어 지하철 첫차 때까지 술먹은 날, 밋업데이 전 주 파티룸을 빌려 워크샵을 가장한 행복해커톤, 밋업데이 당일 생각지도 못한 최우수상, 상금은 노량진에서 방어회에 탕진, 엉엉 울었던 우리PM 등등등

우리 팀원들에게 정말 고마웠던 부분이 많은데 이 글을 빌어 다시 한번 고맙다는 얘기를 하고 싶다. 🙇‍♂️🙇‍♂️

 

큐시즘 활동을 하면서 다양한 전공의 사람들을 만날 수 있어 좋았고, 안드로이드 개발자뿐만 아니라 다른 분야의 개발자들을 만날 수 있어 좋았다. 정말 많은 사람들을 만나 대화를 나누고, 놀기도 하고, 작업도 같이 하면서 시야가 많이 트인 것 같다.

개발자들이 많은 집단에 놓이다보니 개발 분야는 달라도 이런저런 개발 얘기를 나누면서 자연스럽게 개발과 좀 더 친해질 수 있었고 내가 생각보다 개발을 좋아한다는 것도 느낄 수 있었다.

 

나는 이제 졸업이라 큐시즘 29기로 활동할 수 없지만 다른 사람들에게 큐시즘을 적극 추천한다. 큐시즘 재구매 의사 100%입니다 :)


누군가 2023년 1월로 돌아갈 수 있는 기회를 준대도 돌아가지 않을 것 같다.

2023년을 되돌아봤을 때 만족하는 일도, 아쉬운 일도 있었지만 전반적으로 나름 만족하는 한 해였던 것 같다.

 

내년 이맘때쯤에는 2024년을 신입 개발자로서의 한 해를 돌아보는 회고를 작성할 수 있기를 바란다.

 

728x90
반응형