Easy Understanding

주니어 개발자의 2023년 1분기 회고 본문

Job

주니어 개발자의 2023년 1분기 회고

appleg1226 2023. 4. 1. 21:51

 

이번 1분기는 내가 입사하고 나서 가장 개발자로서 널널했던 분기가 아니었을까.

하지만 그럼에도 불구하고 남은 것이 있어서 그것들을 정리해보고자 한다.

 

나의 1년차는 정말 열정이 넘치는 해였다. 배울 것이 넘쳤고 성장 속도도 빨랐다.

물론 0에서부터 채우는 것이기에 그건 당연할지도 모른다.

 

하지만 2년차로서는 슬슬 작년과 다름을 깨닫고 있다.

작년까지는 무작정 배우겠다는 마음가짐으로 했었다. 

게다가 감사하게도 팀 분들도 기꺼이 많은 도움을 주셨다.

 

하지만 2년째가 되니 슬슬 그랬던 그림들도 바뀌어 가고 있다.

물론 다른 분들이 보기에는 아직 부족해보이고 실제로도 부족하겠지만,

예전보다 스스로 마무리 할 수 있는 일들이 늘어가고 있다.

기술적으로든, 내 업무 도메인에 대해서든...


Kotlin

이번 분기 최고의 재미는 진행 중인 프로젝트에 코틀린을 도입하게 되었다는 것이다.

팀에서는 이미 어느 정도 진행된 자바 코드가 있기는 하지만, 더 늦기 전에 코틀린으로 넘어가기로 결정하였다.

(물론 이 과정에서 굉장히 많은 의사결정 티키타카들이 있었다.)

 

취업 준비를 할 때는 내가 하고 싶은 기술을 바로 공부해서 도입할 수가 있었다.

그리고 새로운 기술을 도입하는 것이 무조건 좋은 것인 줄로만 알았던 시기도 있었다.

많은 IT 회사에서 원하는 인재상은 도전하는 인재상이라기에 그대로 그걸 기술 선정에 적용하여,

개발자로서 새로운 기술을 도입하는 것이 무조건 플러스일거라고 생각했다.

 

하지만 대한민국의 많은 회사들이 자바에서 벗어나지 못하는 것에는 이유가 있다는 것 또한 알게 되었다.

새로운 기술을 도입하는 데에는 굉장히 많은 Cost, 즉 돈이 들어간다는 사실을 말이다.

 

새로운 기술을 도입하기 위해서는 구성원 모두가 이해도가 어느 정도에 도달해야 하며,

적은 Reference의 현실을 극복할 수도 있어야 한다.(뭐라고 쳐도 구글에 나오지를 않는다)

이외에도 예상치 않은 버그가 언제든 발생할 수 있다는 점도 존재한다.

 

그렇기에 새로운 기술을 도입하는 것은 무엇이든 신중하게 진행할 수 밖에 없다.

그리고 서로를 설득하기 위한 리서치 과정도 필요하고 말이다. 

 

애초에 프로젝트를 시작할 때도 코틀린을 고려하기는 했었다.

하지만 일정상 촉박한데, 거기에 새로운 아키텍처 도입까지 하려고 하니 새로운 언어까지는 부담스러운 상황이었다.

그러나 프로젝트의 일정이 여유있어지면서 코틀린을 도입하게 된 케이스이다.

 

물론 새로운 기술을 도입하는 경험을 할 수가 있게 되어서 개인적으로는 꽤나 만족했다.

 

코틀린은 자바와의 완벽 호환이 가능한 언어이기에 기존 자바 라이브러리를 그대로 사용해도 문제가 없다.

하지만 나는 그럼에도 좀 더 바꾸고 싶은 의욕이 강했다.

개인적으로는 애매하게 가느니 어차피 새로 할거면 싹 다 뜯어 고치는 편이 통일성도 있지 않고 좋지 않을까라는 생각이다.

그래서 다소 이것저것 주장을 하면서 설득한 라이브러리들이 몇 개가 있다.

 

- kotlin-logging: https://github.com/oshai/kotlin-logging

- kotest: https://kotest.io/

 

kotlin logging 은 kotlin에서 lomkob도 없어졌겠다 @Slf4j 어노테이션을 대체하기 위해서 이것저것 알아보다가,

이왕 쓰느니 코틀린 스타일로 쓰자고 찾아본 라이브러리이다.

kotest는 junit 대신 kotlin 스타일로 테스트를 작성할 수 있는 라이브러리이고.

 

물론 그렇게 많은 시간을 쓴 것은 아니지만 팀 분들께 위의 라이브러리를 적용하자고 말씀드릴 때 몇가지 자료를 준비했다.

다른 팀은 어떻게 사용하고 있는지,

그리고 기존 기능에서 어떤 것이 달라지고 어떤 장단점이 있는지 등을.

 

다른 분들의 객관적 판단을 위해서 자료를 이것저것 리서치했는데,

내가 너무 열심히 자료를 갖다 바치니 부담스러우셨는지 다들 오케이를 해주셨다.

나중에 쓰다가 문제 생기면 내가 고개 숙이고 다시 이전 걸로 마이그레이션 하든 해결책을 어떻게든 찾아내야지 뭐..

 

역시나 도입하면서 레퍼런스가 적어서 고생을 좀 들이긴 했다.

이런 라이브러리들은 구글링을 하는 것보다도 그냥 라이브러리 소스코드를 까서 확인해 보거나,

디버깅을 찍어서 하는게 나을 때도 많다. 

덕분에 다른 코드를 보는 실력은 조금은 늘었을 수도 있을 것 같기는 하다.


CI/CD

개발자로서 다양한 경험을 위하여 팀에서 많은 배려를 해주시는데,

그 중에 하나가 ci/cd에 대해서 관리를 하도록 하신 것이다.

우리는 github actions와 jenkins를 사용하는데 우리 팀의 다양한 프로젝트가 잘 배포될 수 있도록 관리하는 일을 맡았다.

 

최근 새로운 프로젝트들도 많이 있고, 

개발 환경이 변하는 케이스가 은근히 많아서 대응할 일들이 조금씩 있었다.

게다가 k8s에다가 서비스 메시인 istio 까지 적용을 하게 되면서

배포에신경을 써야할 것들이 은근히 많았다. 

요새 개발자들이 이런 것들까지 해야한다고는 하지만 역시나 인프라는 너무 어렵다.

 

하지만 예전에 비해서 이젠 슬슬 모르는 단어들이 줄어들어 가고 있고,

개발 환경들이 그림으로 그려지는 모습을 보면서 뿌듯함을 느낀다.

 

하지만 슬슬 이걸 모르던 시절이 생각나지 않을 날도 얼마 남지 않았다는 생각이 든다.

일이 많아지고 일에 치이면서 질리는 포인트도 같이 와서 그러려나.


결론

사실 이번 1분기는 생각보다 일을 많이 하지는 않았다.

회사 분위기 때문인지 전반적으로 일이 붕 뜨는 느낌이 있기는 했다.

덕분에 1분기는 개인적으로는 리프레시를 하는 시기로 잘 누리기는 했다.

과거를 돌아보지는 않았지만 그냥 아무것도 안하는 것이 도움도 인생에 도움이 될 때가 있으니

 

하지만 요새는 신규 개발을 진행하는 게 너무 재미있다.

어제는 kotlin으로 개발을 하다가 한 군데에서 문제가 생겨서 그걸 해결한다고 야근하면서 4~5시간을 보냈다.

그 과정에서 kotlin을 java로 decompile 해서 확인도 해보고,

디버거도 수십번을 돌려보고, 라이브러리 소스코드도 열심히 분석해보았다.

그 결과는 허무하지만 코드가 딱 두 바뀌었다만,

그런 과정 자체가 너무 재미있었다.

눈이 퀭해지고 주변은 보이지도 않을 뿐더러, 문제가 생기면 머리를 쥐어 뜯기도 했지만,

모든 분석을 끝내고 제대로 반영된 결과를 보았을 때 그 기분이 정말 좋았다.

그리고 내가 이런 고생했다고 삽질 자랑에 더해 일한척도 할겸,

원인 분석까지 팀 채널에 공유하고 뿌듯한 마음으로 퇴근까지 했다.

 

요새 다시 개발하는 데 스퍼트가 붙었고, 너무 재밌어서 한 동안은 또 열심히 할 것 같다.

하지만 위를 보다시피 스터디를 거의 안 했다. 하하...

너무 스터디를 안하는 건 좀 그래서 2분기에는 책이라도 좀 보고 정리할까보다라는 생각이 든다.

'Job' 카테고리의 다른 글

주니어 개발자 2023 2분기 회고  (0) 2023.07.01
2022년 4분기 + 2022년 회고  (2) 2022.12.25
2022년 3분기 회고  (1) 2022.10.08
2022년 2분기 주니어 개발자의 회고  (2) 2022.07.03
2022년 1분기 주니어 개발자의 회고  (2) 2022.04.09