핑계 대지 않는 개발자

들어가며

요즘 개발자로서 나에게 있어 가장 무서운 것은 쌓여가는 연차(not 휴가)이다. 연차가 쌓여가는 것이 무섭고, 너무 빠르게 쌓여가는 것 같아 야속하게 느껴지기도 한다. 물론, 연차와 실력이 비례하는 것은 아니겠지만, 연차가 쌓여감에 따라 그 연차에 맞는 실력과 경험을 기대하는 것은 당연하다. 그렇기 때문에 나는 내 자신을 객관적으로 바라본다면 내가 과연 내 연차에 맞는 실력과 경험을 가졌는지 의문이 들곤 했다.

내 성장을 막는 것은 환경이 아닌 나였다

범인은 바로 너야

예전에는 환경 탓을 많이 했던 것 같다. 물론 개발자로 성장하는 데 있어서 환경은 매우 중요하다. 분명히 성장하기에 좋은 환경도 있고, 성장하기에 어려운 환경도 있다. 하지만 요즘 드는 생각은 어떠한 환경에서도 뛰어난 사람은 반드시 있고, 성장하는 사람은 반드시 있다는 것이다. 때론 만족스럽지 않은 환경이 성장의 원동력이 될 수도 있다. 나도 지금까지 내 환경에 대한 아쉬움을 느끼고, 그 환경을 바꾸기 위해 많은 노력을 해왔던 것 같다. 하지만 완벽한 환경은 어차피 존재하지 않는다. 결국은 환경은 심리적인 안전바의 역할을 할 뿐, 환경이 내 성장을 스스로 이끌어주지 않는다는 생각이 들었다.

이만하면 괜찮지의 함정

항상 스스로에게 너무 엄격하면 스트레스가 될 수 있지만, 또 너무 관대하면 그 또한 성장을 막는 큰 걸림돌이 될 수 있다. 스스로 많이 느끼는 것은 이만하면 괜찮지 않을까? 생각할 때가 많은 것 같다. 주어진 시간과, 해당 프로젝트의 요구사항만 고려하여 사실 더 많은 것을 시도하고 적용하고 완성도를 높여 볼 수 있음에도 불구하고 타협하는 경우가 많은 것 같다. 특히 테스트 코드나 리팩토링, 최적화의 경우는 이만하면 괜찮지의 함정 때문에 실현되지 않는 경우가 많은 것 같다. 최근 참여한 프로젝트들이 대부분 검증의 수준에서 출시하지 않았기 때문에, 또 그것이 반복될 것이라는 안일한 생각으로 빠르게 개발하고 검증하고 폐기할 수 있으니, 최적화를 고려하거나 테스트 코드를 일일이 작성하는 것은 리소스 낭비라는 생각을 하곤 했다. 하지만 중간중간 텀을 활용하면 충분히 많은 테스트 코드를 작성하여 향후 변경 가능한 더 완성도 있는 프로덕트를 만들 수 있었을 것 같다.

핑계 대지 않는 개발자

앞으로는 핑계 대지 않는 개발자가 되고 싶다. 이전엔 실무에서 개발에 몰두할 수 있는 환경이 아니라는 핑계를 댄 적도 있었고, 나를 잘 가르쳐주고 이끌어 줄 선배가 없다고 핑계를 댄 적도 있었다. 때로는 주어진 시간과 주어진 상황에 대해 핑계 대기도 했다. 그 외에도 수많은 핑계가 쌓여 내 성장을 막았던 것 같다. 앞으로는 어떠한 핑계를 대는 개발자가 아닌 어떠한 핑계가 될 수 있는 상황에서도 내가 할 수 있는 최선을 다하는 개발자가 되고 싶다.

열등감이 아닌 감사함으로

주변에 실력이 좋은 동료들의 코드를 보며, 어떻게 넓은 시각에서 확장성 있게 코드를 작성할 수 있을까?라는 생각을 하며, 나는 그렇게 못할 것 같은데… 하는 생각을 한 적도 있고, 코드의 디테일을 깊게 이해하고 파고드는 모습을 보며, 나는 이렇게 딥다이브 해보지 못했는데… 하는 생각이 들 때도 있었다. 그것이 성장에 대한 자극 정도로 작용하면 너무 좋겠지만, 때로는 열등감이 되기도 하고, 스스로를 주눅 들게 할 때도 있었다. 하지만 그것은 아무 도움이 되지 않는다. 오히려 나보다 더 나은 코드들을 보며 많이 배울 수 있다는 감사함을 느끼는 것이 조금 더 성장할 수 있는 마인드 셋이라고 생각한다.

핑계 없는 개발자가 되기 위한 다짐

비효율적인 반복을 발견한다면 개선하자

실무를 진행하면서 만나게 되는 반복과 비효율에 대해서는 항상 어떻게 개선할지 고민하고, 실제로 개선해 보자. 이 과정에서 효율적인 무언가를 새로 만들어볼 수도 있고, 같은 고민을 했던 누군가가 만들어놓은 툴을 찾아 적용할 수도 있다.

항상 테스트 코드를 작성하는 습관을 들이자

무언가 개선하고 변경하려고 할 때 심리적인 장벽이 되는 것은 사이드 이펙트이다. 테스트 코드가 잘 작성되어 있을수록 사이드 이펙트를 최소화할 수 있고, 그로 인해 좀 더 변경하고 개선하기 쉬워진다. 고로, 프로덕트의 완성도를 높이기 위해서는 테스트 코드를 작성하는 습관을 들이는 것이 좋다.

문서화하는 습관을 들이자

문서화는 함께 일하는 사람들을 위해서도, 앞으로 함께 일할 사람들을 위해서도 매우 중요하다. 문서화가 중요한 것은 모두 알지만, 그럼에도 후순위로 미뤄두다가 문서화를 하지 않는 경우도 많다. 문서화를 습관들여서 업무의 중요한 루틴으로 습관화하도록 하자.

모르는 것이 있으면 주저하지 말고 물어보자

물어보면 간단하게 알 수 있는 것을 나 스스로 알기 위해서 많은 시간과 노력을 들일 때가 있다. 모르는 것은 부끄러운 것이 아니다. 누구나 모르는 것들이 있을 수 있고, 문제는 부끄럽다고 그냥 넘어가는 것이다. 내가 반대의 입장에 있을 때도 모르는 데 어물쩡 넘어가는 것보다는 모르는 것은 모른다고 말할 줄 아는 것이 성장에 있어 더 나은 자세라고 느꼈다.

내 일만 잘하기보다는 함께 잘할 수 있음을 추구하자

일을 하다 보면 내가 맡은 일만 잘하자는 생각으로 일할 때가 종종 있다. 하지만 업무에서의 많은 영역에서 함께 잘할 수 있도록 도울 수 있는 부분들이 많이 존재한다. 그런 부분들을 지나쳐버리지 않는다면 함께 잘할 수 있는 환경과 문화를 만들 수도 있고, 더 나은 프로덕트를 만들 수 있다고 생각한다.

쉽고 편안함을 추구하기보다는 항상 문제에 나를 노출시키자

가끔 선택의 갈림길에서 리소스를 고려하여 더 쉽고 간단한 것을 선택할 때가 있다. 하지만 지금까지의 경험을 돌아봤을 때, 항상 어렵고 까다로운 문제에 나를 노출시키는 것이 훨씬 더 많은 것을 배우게 하고 나를 성장하게 한다. 물론 때로 시간이라는 한계에 부딪힌다면 더 쉬운 선택을 고려해야겠지만, 그게 아니라면 더 도전적인 문제에 도전하자.

해보지 않은 것은 시도해 보자

안 해봤다고 앞으로도 하지 않으면 영영 해보지 않은 것으로 끝나게 된다. 만약 해보지 않았다면 해보면 된다. 빠르게 시도해 보고 도움이 필요할 경우, 이미 경험이 있는 사람에게 도움을 요청하는 것도 방법이다. 이렇게 시도하다 보면 더 많은 것을 배우고 성장할 수 있을 것이다.

마치며

여러 가지 고민과 걱정, 후회의 생각들로 가득 찰 때가 있지만, 하나 분명한 것은 그래도 개발은 나에게 여전히 재밌고 흥미롭다. 무언가 문제를 해결했을 때 여전히 기쁘고, 몰랐던 것을 학습하고 배워갈 때 여전히 즐겁다. 그렇기 때문에 앞으로도 나는 계속 개발이 하고 싶다.

이번 글을 쓰면서 내 고민과 걱정에 대해서 앞으로 내가 어떻게 해야할 지에 대해 조금은 더 선명하게 알 수 있었다. 앞으로 지나간 과거를 후회하고, 다른 누군가와 비교하기보다는 스스로 핑계 대지 않는 개발자가 되고자 노력하며, 이 모든 과정을 가능한 즐기며 성장해 나가고 싶다.


[Ykss]
Written by@[Ykss]
고이게 두지 않고 흘려보내는 개발자가 되자.

GitHubInstagramLinkedIn