2024년 12월 26일
매년 12월에는 한 해가 무척 빠르게 지나갔다고 느낍니다. 그리고 한 해를 돌이켜봤을 때 무엇을 했는지 기억이 나지 않고 시간만 흐른 것 같아서 불안함을 느끼기도 합니다. 그래서 이러한 불안함을 없애기 위해 2024년에 배운 것들을 정리해 보고자 합니다. 크게 3가지를 깨닫고 성장하게 되었는데, 이는 "왜 나는 성장한다고 느끼지 못하고, 잘하는 것이 없다고 느낄까?"에 대한 생각으로부터 비롯된 것입니다.
개발자로서 올바른 방향으로 성장하기 위해서는 다른 개발자와 비교를 하지 말아야 한다는 것을 배웠습니다. 저는 2년 정도의 프론트엔드 개발 경력을 돌아봤을 때 내세울 만한 장점이 하나도 없는 것 같았습니다. 이것저것 한 것은 많은 것 같은데 자신있게 "저는 이것을 잘합니다."라고 할 것이 없었습니다.
무엇이 문제인지 오랫동안 생각한 끝에 실력이 좋아 보이는 다른 개발자와 저를 비교하는 것이 원인이었다는 것을 깨달았습니다. 다양한 기술 블로그를 참고할 때 그 글을 쓴 개발자와 비교를 하고, 유용하고 창의적인 라이브러리를 개발한 개발자들과 비교하면서 그들이 익힌 기술들을 공부하려고 했습니다.
예를 들어 다양한 라이브러리를 개발한 사람을 보며 "나도 이런 라이브러리를 개발하는 사람이 되어야겠다."라는 생각이 들고, 시간이 조금 흐른 후에 웹 성능 최적화에 대한 발표를 보면서 "웹 성능 최적화 전문가가 되어야겠다."라는 생각을 하고 관련된 기술들을 공부했습니다. 이로 인해 제대로 끝맺은 것이 없었고 성장이 더뎠습니다.
그래서 어떻게 하면 다른 개발자와 비교를 멈출 수 있을지 생각했고, 어떤 개발자가 될 것인지 확실한 목표와 가치관 등을 정한다면 비교를 멈출 수 있을 것 같다는 결론을 내렸습니다.
다른 개발자와 비교를 멈추기 위해 "나는 어떻게 개발할 것인가?", "개발할 때 가장 중요하게 생각하는 것은 무엇일까?" 등을 생각하면서 개발자로서의 가치관을 형성하고자 했습니다. 그 결과 "변경에 쉽고 빠르게 대응할 수 있는 소프트웨어를 개발한다."라는 목표를 설정할 수 있었습니다. 확실한 목표를 정한 이후에 다른 개발자와의 비교를 멈출 수 있었습니다.
위와 같은 목표가 생긴 이유를 간략하게 설명드리자면 현재 소속된 팀의 상황과 맞물려있습니다. 적은 인원으로 다양한 프로젝트를 관리해야 했고, 초기 서비스들이 많아 요구사항이 빈번하게 변경되었습니다. 따라서 최대한 변경에 빠르고 쉽게 대응할 수 있는 코드를 작성하여 생산성과 효율성을 높이고자 했습니다.
그런데 "변경에 쉽고 빠르게 대응하는 코드"를 어떻게 작성해야 할지 고민이 되었습니다. 다양한 방법이 존재하겠지만 저는 최대한 Low-Level의 기술을 활용하여 해결하고 싶었고 이에 부합하는 방법을 찾기 시작했습니다.
변경에 쉽고 빠르게 대응할 수 있는 소프트웨어를 개발하기 위해 "타입스크립트"를 올바르게 사용하고자 했습니다. 변경에 유연하게 대응하기 위해서는 시간이 꽤 흐른 후에 코드를 보더라도 이해할 수 있도록 가독성이 높아야 하고, 코드를 수정할 때 발생하는 Side Effect를 쉽게 알 수 있어야 하기 때문입니다. 또한, 지금은 프론트엔드를 중점적으로 다루고 있지만 추후에 백엔드를 다룰 때도 도움이 될 것으로 판단했습니다.
그렇게 타입스크립트 공부를 시작했고, 그 동안 타입스크립트가 주는 이점을 충분히 활용하지 못했다는 것을 깨달았습니다. 그리고 공부한 것들을 팀에서 관리하는 프로젝트에 도입하면서 팀원들에게도 공유하였습니다. 이러한 과정을 통해 아직은 부족하지만 "타입스크립트는 나름 자신 있습니다."라고 떳떳하게 말할 수 있다는 느낌을 받았고 예전보다 더 흥미를 느끼면서 기술을 익혀나갈 수 있었습니다.
2024년은 긴 터널을 빠져나온 듯한 느낌을 주는 해입니다. 개발자로서 확실한 목표가 생겼고, 앞으로 어떤 일들을 해야 할지 명확해졌기 때문입니다. 이러한 느낌을 받을 수 있도록 도움이 된 것은 "글쓰기"였던 것 같습니다. 그동안의 고민들을 글로 적었을 때 고민의 본질을 찾을 수 있었고 쉽게 해결할 수 있었습니다. 그래서 2025년에는 더 다양한 주제의 글을 블로그에 올릴 생각입니다.