개발자로서의 여정: 도전, 실패, 그리고 성장

Berkley·2024년 8월 22일
3

개발자로서의 길은 항상 예측할 수 없었다. 첫 발을 내딛었을 때, 저는 특정 기술에만 머물지 않고 다양한 기술 스택을 배우고자 했다. JavaSpring Boot는 저의 주력 도구였고, React도 서브로 활용해왔다. 이외에도 React Native, Android App, Node.js, Nest.js 등 여러 기술을 접해보았지만, 주로 활용하는 기술들은 아니었다. 저연차가 한 번에 프론트엔드와 백엔드를 모두 파는 것은 쉽지 않았다.

제가 개발자가 되기로 결심한 이유는 몇 가지 중요한 동기에서 비롯되었다. 우선, 당시 저는 전문성을 가지고 싶었다. 현재 제가 가질 수 있는 전문성은 개발자뿐이었다. 학창 시절 컴퓨터공학과를 전공했고, 국비 지원으로 배운 내용들이 너무 아까워서 다시 개발자로서의 길을 선택했다. 무엇보다도, 코딩하는 것이 재미를 느꼈기 때문에 이 길을 선택하는 것이 자연스럽다고 생각했다.

그러나 그 과정에서 여러 어려움도 겪었다. 프로젝트에 투입될 때마다 매번 안 좋은 일들을 경험했고, 무리한 도전으로 트라우마를 겪기도 했다. 그 트라우마로 인해, 나는 개발에만 몰두하며 살아갔고, 심지어 커리어가 망가질지도 모른다는 불안감에 시달리며, 인생을 계속 살아가는 것조차 버겁게 느껴졌던 적도 있었다. 한동안의 긴 공백기 후에 다시 개발자로 시작하는 것은 쉽지 않았으며, 양질의 일자리를 구하는 것 또한 어려운 일이었다. 그럼에도 불구하고 각 기술이 어떻게 상호작용하는지 조금씩 이해해 나가면서, 복잡한 프로젝트에서 유연하게 대응하는 능력을 키워가고자 했다. 이 여정은 결코 쉽지 않았지만, 매 순간이 성장의 기회였다.

실패를 통한 성장과 회복

개발자로서의 첫 1~2년은 많은 도전과 실패의 연속이었다. 삼성 바이오 로직스, 삼성전자, KT, 그리고 최근 MES 프로젝트에 이르기까지 여러 프로젝트에 투입되었지만, 예상치 못한 문제들과 마주하며 성공적으로 완수하지 못한 경험들이 있었다.

삼성 바이오 로직스 프로젝트에서는 경력에 대한 과도한 기대와 책임을 맡아야 했고, 그로 인해 스스로의 역량 부족을 뼈저리게 느꼈다. 삼성전자에서는 1년 차 개발자로 들어갔지만, 중급 개발자로 간주되어 그에 걸맞은 역량을 요구받았다. 이로 인해 중압감을 느끼며 충분히 대응하지 못한 기억이 있다. KT 프로젝트에서는 고객사의 내부 정치와 불합리한 요구로 인해 원활한 커뮤니케이션이 이루어지지 않았고, 결국 프로젝트 실패로 이어졌다. 고객사의 고집으로 인해 저의 능력이 낮게 평가된 적도 있었다.

최근에 진행 중인 MES 프로젝트 역시 실패로 돌아갈 가능성이 커졌다. 이 프로젝트에서는 1인 풀스택 개발자로서 프론트엔드와 백엔드를 모두 담당해야 했고, 살인적인 일정까지 맞물리면서 사실상 5년 차 이상의 역량이 요구되었다. 이러한 경험들은 저에게 큰 부담과 스트레스로 다가왔고, 결국 프로젝트를 성공적으로 완수하는 것이 어려워졌다.

이러한 실패의 경험들은 저에게 큰 좌절감을 안겨주었고, 때로는 자신감을 잃게 만들기도 했다. 하지만 이 실패의 연속은 저에게 회복 탄력성을 길러주었고, 문제 해결에 대해 더 깊이 이해해야 한다는 중요한 깨달음을 주었다. 비록 지금도 문제 해결 능력을 계속해서 발전시켜야 하는 과제가 남아 있지만, 이 시기의 실패들은 저를 더 강하고 끈기 있는 개발자로 성장시키는 데 큰 밑거름이 되었다. 각 실패에서 얻은 교훈들은 이후의 프로젝트에서 더 나은 결정을 내리는 데 소중한 자산이 되었고, 앞으로의 성장에도 중요한 역할을 할 것이다.

자립적인 학습과 역량 강화

개발자로서의 여정은 때로는 고독했다. 도움을 줄 개발자가 많지 않았고, 대부분의 시간을 스스로 문제를 해결하고 새로운 기술을 학습하는 데 보냈다. 하지만 이러한 환경 덕분에 저는 자립적인 개발자로 성장할 수 있었다. GitHub에서 사이드 프로젝트를 꾸준히 진행하며, JPA, QueryDSL, Spring 구조와 같은 내가 미처 몰랐던 기술 스택과 패턴들을 습득해 나갔다.

또한, 과외를 통해 로직 구성기본기 다지기에 집중하면서, 개발의 근본적인 이해를 더욱 깊이 다질 수 있었다. 이 과정에서 단순한 기술뿐만 아니라 스스로 학습하고 성장하는 능력을 배웠다. 저는 이렇게 습득한 지식과 경험을 통해 개발자로서의 역량을 꾸준히 강화해 나가고 있다.

블로그를 통해 학습한 내용을 정리하고 공유하면서, 무언가라도 꾸준히 시도하고, 성실하게 나아가는 모습을 보여주고자 했다. 단순히 기술적인 역량만이 아니라 책임감 있고 끈기 있는 사람으로 인정받고 싶었다. 물론, 성장하고자 하는 마음만으로는 모든 것이 쉽게 풀리지 않았다. 여러 번의 시행착오를 겪으면서, 계획했던 만큼의 속도로 성장하지 못한 때도 있었다. 그럴 때마다 좌절감이 들기도 했지만, 이 경험들 역시 중요한 배움의 과정으로 받아들이고 있다. 중요한 것은 완벽하게 해내는 것이 아니라, 끊임없이 시도하고 배우며 조금씩 나아가는 것이다.

이러한 노력들은 단지 개인적인 성장이 아니라, 회사의 일원으로서 더 큰 기여를 할 수 있는 사람으로 단계적으로 발전해 나가려는 목표와도 연결되어 있었다. 저는 지속적인 자기 개발을 통해, 팀과 조직에 긍정적인 영향을 미칠 수 있는 개발자로 성장하고자 했다.

성장의 도전과 현실

저는 항상 단계적인 성장을 추구해왔다. 신입 시절에는 개발의 기초를 다지기 위해 프로젝트에 투입되기 전에 충분히 학습하고 준비하고자 했다. 하지만 현실에서는 항상 그렇게 이상적으로 진행되지 않았다. 작은 것부터 시작해 점차 난이도를 높여가며 성장하고 싶었지만, 주어진 프로젝트들은 종종 제가 감당하기 어려운 수준의 난이도와 책임을 요구했다.

처음에는 주로 보조 역할을 수행하길 기대했지만, 상황은 그렇지 않았다. 프로젝트에 투입되자마자 예상보다 더 큰 책임과 역할을 맡아야 했고, 이를 통해 자연스럽게 기여도를 높여가고자 했던 계획이 어려워졌다. 실제로는 단계적으로 성장하기보다는, 한 번에 많은 것을 배우고 적용해야 하는 환경에 놓이게 되었다. 이로 인해 여러 차례 좌절도 경험했고, 내가 충분히 준비되지 않았다고 느낀 순간들도 많았다.

예를 들어, 특정 프로젝트에서는 단순한 코드 작성 이상의 역할이 요구되었고, 이를 감당하기 위해 매일 밤을 새우며 학습해야 했다. 이 과정에서 효율적으로 일을 처리하기보다는 급하게 문제를 해결하려다 보니, 오히려 더 많은 실수를 하게 되는 악순환에 빠지기도 했다. 그럼에도 불구하고, 이러한 경험들은 저를 단단하게 만들었고, 빠르게 성장할 수 있는 기회를 제공했다.

이 과정에서 소프트 스킬의 필요성을 절실히 깨달았다. 개발 실력뿐만 아니라 대화 스킬, 커뮤니케이션 능력, 문서화 스킬의 중요성을 느끼게 되었고, 이러한 부분에서 부족함을 느꼈다. 프로젝트가 잘 진행되기 위해서는 기술적인 역량뿐만 아니라, 팀원 간의 원활한 소통과 협업이 필수적이라는 것을 깨달았다. 이러한 스킬들을 단계적으로 향상시키고자 했지만, 그것 역시 생각처럼 쉽지 않았다. 팀 내에서 효과적으로 협업하고 더 큰 기여를 할 수 있는 능력을 키우는 데 많은 도전이 있었다.

하지만 이러한 어려움들이 저를 단단하게 만들었다. 비록 모든 것이 계획대로 진행되지 않았지만, 이러한 도전들이 저를 더 강하게 만들었고, 결국에는 더 나은 개발자가 되기 위한 중요한 경험으로 남았다. 지금도 저는 이러한 경험을 바탕으로, 현실적인 어려움 속에서도 끊임없이 성장해나가고자 노력하고 있다.

끈기와 인내의 여정

삼성전자, KT, 그리고 MES 프로젝트에서 연이어 실패를 겪으면서, 저는 많은 시행착오를 통해 나의 기술적 한계를 깨닫게 되었다. 하지만 이러한 경험들은 저를 좌절시키는 대신, 오히려 저를 더욱 단단하게 만들어주었다. 그 과정에서 저는 나의 기술 스택을 더욱 다듬고 강화해 나갔으며, 다양한 사람들과의 만남을 통해 나의 위치를 꾸준히 알아가고 있다.

이 경험들은 저에게 단순히 기술적인 문제를 해결하는 것 이상의 가치를 깨닫게 했다. 소프트 스킬의 중요성을 절실히 느끼며, 사람들과의 소통과 협업 능력을 향상시키기 위해 노력하고 있다. 아직도 제가 올라야 할 길은 멀지만, 꼼꼼하게 일을 처리하면서도 빠른 개발을 할 수 있는 경지로 도달하는 것을 목표로 삼고 있다.

이러한 실패와 시행착오의 과정은 저를 더욱 강하게 만들었고, 앞으로의 여정에서도 중요한 밑거름이 될 것이다. 기술적 역량뿐만 아니라, 사람들과의 관계에서 더 큰 성과를 이뤄내기 위해, 저는 계속해서 성장하고 있다. 이러한 끈기와 인내가 저를 더 나은 개발자로 만들어 줄 것임을 확신하며, 앞으로도 이 길을 묵묵히 걸어 나갈 것이다.

앞으로의 도전과 비전

지금 돌이켜보면, 이 모든 경험들이 저를 더 강하고 유능한 개발자로 성장시키는 밑거름이 되었다. 다양한 기술을 습득하며, 실패를 극복하고, 자립적으로 문제를 해결해나가는 과정에서 저는 끊임없이 발전해왔다. 또한, 단계적인 성장을 통해 주도적인 역할을 맡을 수 있는 역량을 키웠고, 어려운 환경에서도 포기하지 않는 끈기를 배웠다.

이제 저는 이러한 경험들을 바탕으로 새로운 도전에 맞설 준비가 되어 있다. 계속해서 배우고 성장하며, 더욱 큰 성과를 이룰 수 있는 개발자가 되기를 희망한다. 이 글을 통해, 저와 같은 어려움을 겪고 있는 이들에게도 작은 희망과 영감을 주고 싶다. 여러분도 포기하지 않고 도전한다면, 반드시 성장하고 발전할 수 있을 것이다.

여러분의 이야기와 도전을 듣고 싶습니다

이 글을 통해 제가 걸어온 개발자로서의 여정을 함께 나누게 되어 기쁩니다. 여러분도 저와 비슷한 경험을 했거나, 앞으로의 여정에서 겪게 될 어려움이 있을지도 모릅니다. 중요한 것은 이러한 도전 속에서도 포기하지 않고 꾸준히 성장해나가는 것입니다.

여러분은 개발자로서 어떤 도전을 겪었고, 이를 통해 어떻게 성장했나요? 혹은 지금 어떤 어려움에 직면해 있나요? 이 글을 읽고 느낀 점이나, 자신의 경험을 댓글로 공유해 주세요. 함께 이야기를 나누며 서로에게 영감을 줄 수 있으면 좋겠습니다.

profile
성장하는 개발자 Berkley 입니다.

0개의 댓글