본문 바로가기
회고/나

2024년, 만 4년차 개발자의 회고

by 나이아카 2024. 7. 2.

인트로

 제 옆에 누군가가 그랬습니다. 유튜브에서 봤는데, 자신이 한 단계 스텝업을 하려면 항상 외로워지게 된다고 합니다. 그 유튜브에서는 이유에 대해서 설명을 해 뒀는데, 자신이 한 단계 스텝업을 하게 되면 기존에 자신과 어울리던 사람들과 대화가 안되기 시작해서 이전의 자신과 동급이었던 사람들이 자연스레 멀어지고, 자신이 도달해야 하는 위치에 있는 사람들은 아직 자신을 받아줄 준비가 되지 않아 그 직전 단계에 이르렀을 때는 이도저도 아닌 느낌이라고 합니다. 당시에는 그 말이 막 와닿지는 않아서 그냥 그런가 하고 넘어갔었는데 그 친구는 그 일에 대해서 자신도 그러한 것 같다며 공감을 하던 게 기억이 납니다. 그래서 회고도 쓰게 된 김에 고민을 좀 해봤습니다.

 저는 어릴때부터 참 외롭다는 생각을 많이 했었는데요. 돌이켜보면 복에 겨운 이야깁니다. 힘들게 살긴 했는데, 저에게 주어진 하드한 난이도의 환경을 충분히 극복해나갈 만한 멘탈과 도와줄 지인(카페 알바를 위해 첫 이력이 필요했을 때 도와준 누나도, 군 훈련소때 살펴봐줬던 아버지 친구 아들도, 첫 취업을 위한 학교 동기도, 서울 생활을 잘 이끌어주고 있는 지금의 여자친구도)이 있었습니다. 참으로 어려운 인생이었다고 생각한 주제에 잘 생각해보면 극복하지 못할 난이도를 받았던 적은 없었던 거죠.

 제 첫 회고록에 적혀 있듯, 저는 첫 회사도 지인 추천으로 입사했습니다. 물론 2020년, 개발자가 부족하고 거품이 낀다는 뉴스가 나오고 한참 미래의 직업으로 개발자가 뽑히고 난리도 아닌 그 시절에 만약 추천없이 취직준비를 했다면 어떻게 되었을 지 궁금하긴 합니다만, 그 당시 제 실력을 알고 있는 저로서는 그보다 좋은 시작일 수 없었습니다. 사실 안드로이드 개발자로서 시도해본 게 자그마한 안드로이드 앱 하나에 코틀린도 할 줄 모르는 대학교 4학년 학생을, 그냥 지인의 추천이라는 이유만으로 1년 6개월이나 키워줄 수 있다는 게 참 신기할 따름입니다.

 뭐, 여튼 그렇게 뭣도 모르고 안드로이드 개발에 발을 들여 지금까지 일하고 있습니다.

 

적응

 이제서야 안드로이드 개발자로서 무언가를 하고 있다는 생각이 가끔 들기 시작했습니다. 정확히는 이제서야 개발에 입문한 느낌이 드는 거죠. 이때까지 진짜 아무것도 모르면서 아는체를 참으로 많이도 했구나 싶은 생각이 들 정도로 제 실력이 미천하다는 생각을 했습니다. 요즈음 신입들보다도 제 실력이 더 모자라다는 생각이 들더라구요(세상엔 잘하는 사람이 왜이리 많은지).

 그래도 회사에서도 적당히 정착했고, 시키는 일 정도는 어느 정도 할 수 있게 되었습니다. 누가 시키지 않아도 먼저 정리를 해보려고도 하기도 하구요. 이전까지 이해하지 못했던 아키텍처나 영어로 된 블로그등이 누군가에게 설명해 줄 수 있을 정도로 이해가 가기 시작했습니다. 물론 한참이나 모자란 실력이지만, 잘못된 정보를 배출하지는 않겠구나 하는 그런 막연한 자신감입니다.

그리고 회사의 업무 프로세스가 어느정도 눈에 들어옵니다. 역시 한 회사에 1년 정도는 있어야 그 회사가 파악이 되고 한 사람의 몫을 해낼 수 있는 것 같네요(각 회사별로 2년 넘게 있어본 적은 없지만 말입니다). 사실 전에 다니던 회사들이 프로세스가 매우 적고 빠른 개발을 우선시하다보니 프로세스에 대한 이해와 같은 부분들에 크게 리소스를 들일 일이 없었는데, 현 회사의 경우 꽤나 경직된 분위기다 보니 코드 한 줄 바꾸는 것도 다 절차가 있어 적응하는데 꽤 애를 먹었습니다.

 제가 서울에 온 지 벌써 3년이 다되어 갑니다. 그래서인지 이제는 서울이 조금 익숙해진 것도 같습니다. 제가 원래도 이사를 자주 다녀 한 군데 오래 정착한 곳이 거의 없는데 3년이면 꽤 오래 지낸 곳이네요(그래서 인지 자꾸 이사 욕구가 막 생깁니다만). 이제는 버스보다 지하철이 더 익숙하고 자주가는 왠만한 동네는 몇호선인지 정도는 이해하고 다니는 뭐 그런... 마음에 안정을 좀 찾은 느낌입니다. 사람이 불안하면 일도 제대로 안된다고 하는데, 이제는 좀 더 차분하게 공부할 수 있겠네요(다 핑계입니다. 그저 놀고 싶었을 뿐).

 

Besides Android

 사실 중간중간 안드로이드가 아닌 다른 분야를 시도하려고 애를 많이 썼습니다. 스프링부트를 통해 사이드 프로젝트를 잠깐 해보기도 했고 플러터나 iOS 공부도 진행했었네요. 사람이 한 가지만 꾸준하게 한다는 것은 정말 멋진 일입니다만, 제가 새로운 프로젝트(안드로이드가 아닌)를 시작하고자 할 때 무서움이나 거부감이 생긴다는 것을 깨닫게 되었는데 이는 개발자로서 굉장히 안좋은 부분이 아닌가 싶어 극복하려고 노력중입니다.

 개인적으로는 개발자라면 당연히 자신하는 언어나 프레임워크가 존재해야 하지만, 그 뿐 아니라 다른 언어와 프레임워크로 새로운 작업을 진행해야 할 때 무리 없이 도전할 수 있어야 한다고 생각합니다. 대학교 다니던 시절에 교수님이 했던 얘기가 있습니다. 교수님과 지인(정확하게는 동생이었는지...가물가물하네요)이 개발 과제(인지 프로젝트인지..)를 해결해야 하는 상황이었는데 그 지인이 개발 관련 지식이 별로 없었고 교수님이 사용하던 언어가 아니라서 혼자 엄청 노력을 들여 열심히 했는데 끝나고 나중에야 알게된 교수님이 너가 열심히 하는 것 보다는 내가 더 빠르게 잘해줄 수 있는데 왜 안물어봤냐며 한마디 했다는 이야기인데요.

 그 당시에는 당연하지 싶었던 문제이긴 합니다. 개발 지식이 없는 사람이 개발을 공부해서 새로운 걸 만들어내는 것 보다야 당연히 개발을 하던 사람이 새로운 언어나 프레임워크를 공부해서 개발하는게 더 빠르지 않나? 였는데, 요즘에서야 그렇게 자신있게 말하는 게 쉽지는 않겠다는 생각이 듭니다. 물론 당연히 제가 비전공자나 개발자가 아닌 사람보다 느릴 순 없겠지만, 그 사람은 자신의 일인데 반해 저는 지인의 일이니까 그 노력이나 시간 투자를 더 적게 하게 될 테니 쉽사리 말을 꺼내는 것이 어렵다고나 할까요(안도와줄거면 자신있게 말할 수 있을 거 같긴 합니다. 아니면 돈을 받았거나).

 그래서 차라리 개발적인 부분에서 다른 분야들을 미리 공부해두는 편이 좋겠다는 생각을 했습니다. 노력을 했다고 말하기에는 진행했던 스프링부트도 제대로 마무리짓지 못하고 종료되었지만요. 그래서 이번엔 iOS를 좀 더 제대로 공부하고 있습니다. 모르는 게 너무 많아 뭐부터 공부해야 할 지 모르겠는데, 처음 iOS를 시도할 때와는 다르게 이제는 제 주변에 저에게 iOS를 알려줄 사람들이 많아져서 시간을 투자할 수만 있다면 할 수 있지 않을까 생각중입니다. 거기다 발 뺄 수 없게 꽤 중요한 프로젝트를 맡기도 했구요. 괜히 민폐가 되지 않을까 생각이 들어 더 열심히 할 수 있을 것 같습니다.

 

개발자

이제 만 4년차가 되었다는 것은 곧 5년차 개발자 소리를 듣게 된다는 이야기입니다. 제가 대학생때 생각했던 5년차 개발자는 제 현재의 모습 같은 건 분명히 아니었는데요. 어쩌다보니 벌써 5년차, 이제는 농담으로라도 중고신입은 어려운 연차가 되었습니다. 

 마지막 회고를 쓰고 반년동안 참으로 많은 일이 있었습니다. 그렇게 찾으려고 발버둥칠 땐 보이지 않던 저보다 잘하는 분들이 어째 이제 스스로 조금씩 발전했다고 생각해서 안정적으로 꾸준히 공부하려는 마음을 먹으니 주변에 많이들 등장했는지... 알다가도 모를 일입니다만, 어쨌든 다시 제가 발전할 수 있는 동력이 생겼습니다. 물론 그에 대한 반동인지 주변에서 제 실력에 대해서 많은 비판도 있었습니다. 이해할 수 있는 수준이 말들도 있었고 상처가 되는 부분도 있었는데요. 덕분에 편안하게 공부하려던 마음이 조금씩 불타오르는 느낌입니다. 하지만 공부를 하면 할 수록 한계가 다가오고 있다는 느낌이 드네요.

 저는 아직 안드로이드로 코딩을 진행하면서 제대로 된 UnitTest를 작성해 본 적도, 하나의 프로젝트에 모든 아키텍처를 일괄적으로 적용해본 적도 없습니다. 그나마 MVP 코드를 MVVM으로 프로젝트 하나를 통째로 바꿔봤다는 것 정도...일까요. 더욱이 왠만한 기능들은 다 구현경험이 있어 구현 자체의 어려움은 없지만, 더 효율적인 코드를 작성하는데 있어 본질적인 부분을 깊게 파고 들어 해결했던 경험은 극히 드물더라구요. 실서버에서 운영중인 앱이 firebase의 crashlytics에 도달해야 부랴부랴 수정하기 위해 이렇게 저렇게 테스트해보고 안되면 라이브러리 클래스 코드를 파고들어 원론적인 해결을 했던 경험이 있는게 전부였습니다. 경험은 없는 건 아닌데, 스스로 코딩을 할 때 그런 부분들을 더 파고들어 고민해볼 수 있었다면 좋지 않았을까 하는 생각이 듭니다.

 시간적인 여유가 있는 곳에서 코딩을 할 때는 좀 더 원론적으로 코딩하는 방법을 몰라서, 그런 방법이 눈에 들어올 때 쯤엔 시간적인 한계로 피한 것들이 많았습니다. 실제로 Compose를 사내 프로젝트에 도입할 때도 1.3.0버전으로 작업했었는데, TextField에 한글 복사 및 중간으로 커서를 옮겨 한글을 작성할 때 테스트폰에서 비정상적인 작동을 감지했었습니다(이 블로그 글을 좀 더 빨리 찾았더라면...). 사실 이때 진짜 Compose를 그대로 써서 해결할 수 있는 방안이 있진 않았을지 고민해봤지만, 며칠 남지 않은 마감 기한으로 인해 그냥 코드를 다 지우고 다시 XML의 EditText로 작업을 진행했던 기억이 있습니다. 그때 여러가지 다각도로 테스트를 진행해서 데이터를 쌓아뒀다면 하는 생각이 있는데, 조금 아쉽긴 합니다(물론 추후에 관련 테스트를 다시 해볼 예정이긴 합니다).

 그러한 회피가 쌓여 결국 이런 애매한 개발자가 되었나? 하는 생각이 들어 개발자로서의 적응력에 대한 고찰을 깊게 하고 있습니다. 그럼에도 불구하고 프로그래밍을 하고, 앱을 개발하는 것이 재밌다는 생각에 열심히 해보려고 합니다. 보통 3, 5, 7년차에 번아웃이 온다는데 3년차에는 못느꼈던 것이 이제야 오나 봅니다.

 

마무리

 사람들은 왜 회고를 하는 걸까요. 고민을 많이 해 봤습니다. 이번 회고록의 분위기도 많이 어둡고 현재 제 개발자로서의 미래도 어두운 편이라 회고가 아니라 공허한 일기같은 느낌이 드니까요. 그런데 꼭 내년, 아니면 만 6년차에 도달했을 때 이 회고와 비교가 하고 싶더라구요(그때까지 개발자일지 모르겠으나). 아마 저와 비슷한 고민을 하는 개발자분들이 많겠죠. 그래서 열심히 적었습니다.

 이 회고록을 작성하기 위해 사용하는 시간들이 진짜 도움이 되는지는 아직 잘 모르겠습니다. 근데 효율을 따지게 되는 순간 많은 일들을 하지 않고 있는 제 모습을 보면서 깊게 생각하지 않고 1만 시간의 법칙을 믿으면서 그냥 하기로 했습니다. 모든 일은 하다보면 어느 순간 도움이 될 때가 있는 건 제 짧은 인생동안 많이 봐왔기 때문에, 긍정적으로 생각하려고 합니다.

'회고 > ' 카테고리의 다른 글

2023년을 돌아보는 회고  (2) 2024.01.03
2022년. 만 2년차 개발자가 된 후의 회고  (1) 2022.07.04

댓글