개발자로서 여러분도 이런 고민을 해보셨을 겁니다. 프론트엔드로 갈지, 백엔드로 갈지, 아니면 풀스택을 선택할지 말이죠. 저 역시 그랬습니다. 적성에 맞는 분야를 찾기 위해서 수많은 선택과 고민을 했습니다.
저는 비전공자였기에 더더욱 전문성에 대한 불안감이 컸습니다. 개발자로서의 방향성에 대해 혼란스러웠고, 제가 선택한 길이 맞는지 항상 의문이 들었죠. 하지만 하다 보니 결국 나만의 길이 보이기 시작했습니다.
이 글에서 제가 겪은 다양한 경험을 통해 여러분에게 작은 위로나 도움이 되었으면 좋겠습니다. 기획부터 개발, 오픈소스 운영에 이르기까지 제 여정을 솔직하게 나누겠습니다.
제 첫 직장은 의료서비스 연구원이라는 타이틀이었지만, 사실상 잡부나 다름없었습니다. 전공도 무관했고, 저는 기획서를 작성하고, 아동조음진단 서비스 같은 생소한 분야의 기획을 맡아야 했습니다. 엑셀로 프로토타입을 만들고 데이터를 정리하는 등, 기획과 개발 사이의 경계를 넘나들었죠.
이 일을 하면서도 전문성에 대한 갈망은 커졌고, 사촌이 회사에 합류하면서 그가 제 멘토가 되어 개발의 세계로 이끌어 주었습니다. 이때부터 기획과 개발을 모두 다루게 되었죠. 사촌의 조언 중 하나는 풀스택 개발을 시작하고 그다음에 전문성을 키우는 것이 좋다는 것이었고, 지금도 그 말이 맞다고 생각합니다.
개발을 시작하게 된 계기는 사촌의 멘토링 덕분이었습니다. 처음에는 리액트로 프론트엔드 개발을 시작했고, 이후 스프링을 배우면서 백엔드도 다뤘습니다. 하지만 처음 접한 개발의 세계는 쉽지 않았습니다. 특히 디버깅이 가장 힘들었죠. 에러가 나도 원인을 찾지 못해 좌절할 때가 많았습니다.
그럼에도 불구하고, 기획 경험 덕분에 요구 사항을 정확히 이해할 수 있었고, 프로젝트 진행에 있어서도 소통의 어려움은 없었습니다. 기획자도, 개발자도 저였으니까요. 이 과정을 통해 저는 풀스택 개발에 대한 이해를 넓혔고, 적성에 맞는 분야를 찾기 위한 여정을 이어갔습니다.
사촌이 제게 풀스택 개발의 중요성을 강조하며 했던 말이 있습니다. "뭐든 기본은 풀스택이다." 그 말이 제 개발 경로에 큰 영향을 미쳤습니다. 단순히 한 분야에만 집중하는 것보다, 시스템 전체를 이해하고 다양한 역할을 수행할 수 있는 능력을 갖추라는 의미였죠.
프론트엔드만 고집하다 보면 한계에 부딪힐 수 있습니다. 반면, 풀스택 지식을 갖추면 어드민 페이지 같은 간단한 웹 애플리케이션을 혼자서도 만들 수 있게 됩니다. 이는 프로젝트의 주도권을 쥐고, 빠르게 진행할 수 있는 경쟁력을 만들어 줍니다. 또한, 백엔드 지식을 함께 갖추면 프론트엔드에서도 더 깊이 있는 문제 해결 능력을 발휘할 수 있습니다.
다양한 경험은 개발자로서의 시야를 넓혀주고, 시스템 전반을 이해하는 데 큰 도움이 됩니다.
풀스택 개발은 두 가지 영역을 동시에 다루는 매력적인 일이었습니다. 백엔드는 일이 좀 더 적고 페이가 더 나을 거라는 생각도 했지만, 결국 저에게는 사용자와 직접 상호작용하는 프론트엔드가 더 재미있었습니다.
프론트엔드에 집중하면서 스벨트를 처음 접했는데, 이 프레임워크의 간결함과 직관성에 금세 빠져들었죠. 스벨트를 통해 더 나은 사용자 경험을 제공할 수 있다는 점이 저를 프론트엔드 쪽으로 확고히 이끌었습니다. 적성에 맞는 분야에 집중하는 것이 장기적으로 더 큰 성장을 가져다준다는 것을 깨달았죠.
개발자라면 코드를 작성할 줄 아는 것만큼, 남의 코드를 '읽는' 능력도 중요합니다. 저도 한때 '코딩문맹'이었죠. 첫 직장에서 프로젝트를 진행하며 라이브러리 코드의 방대함에 압도되었지만, 이를 해결하기 위해 코드를 읽기 시작하면서 새로운 세계가 열렸습니다.
처음엔 한 줄도 이해하지 못했지만, 며칠간 파고들며 파일 구조와 핵심 로직을 파악해 갔습니다. 그렇게 점차 코드를 분석하는 능력이 생겼고, 이를 통해 문제를 해결할 수 있었죠. 이 경험은 이후 오픈소스 기여와 더 복잡한 프로젝트를 두려워하지 않는 자신감으로 이어졌습니다.
코드를 읽는 능력은 단순한 기술 습득을 넘어서 개발자로서의 시야를 넓히고, 복잡한 프로젝트에서 경쟁력을 갖추는 데 큰 도움이 되었습니다.
프론트엔드 개발자로 경험을 쌓으면서 자연스럽게 오픈소스에 관심을 갖게 되었습니다. 처음엔 구글의 Flutter 프로젝트 코드를 읽고 분석하며 코드를 이해하는 데 집중했습니다. 그러다가 '나도 이런 걸 만들 수 있겠는데?'라는 생각이 들었고, 그렇게 제 첫 오픈소스 프로젝트를 시작하게 되었습니다.
오픈소스를 운영하는 것은 제품을 만드는 것과 다름없었습니다. 무료로 제공되는 소프트웨어지만, 사용자들을 설득하고, 피드백을 반영하며 꾸준히 개선해나가야 했습니다. 그렇게 성장한 제 오픈소스 프로젝트들은 깃헙에서 400개 이상의 스타를 받았고, 그중 하나는 200개가 넘는 스타를 받으며 큰 관심을 받았습니다.
또한, 오픈소스 프로젝트들은 단순한 개인 작업을 넘어 포트폴리오로 자리 잡게 되었습니다. 이 프로젝트 덕분에 채용 담당자들의 연락도 받게 되었고, 저의 능력을 증명하는 중요한 자료가 되었죠. 오픈소스는 제 개발 커리어에 큰 도약을 가져다준 계기가 되었습니다.
제 경력은 잡부로 시작해 개발자가 되고, 오픈소스 운영까지 이르게 되었습니다. 그동안 수많은 도전과 어려움을 겪었지만, 그 경험들이 저를 성장시켜 주었죠.
개발자라는 길은 끊임없는 학습과 도전을 요구합니다. 때로는 기획에도 관여하고, 다양한 역할을 맡게 될 수 있습니다. 중요한 것은 자신을 한정짓지 않고, 다양한 경험을 통해 성장의 기회를 찾는 것입니다. 새로운 기술을 배우고 문제를 해결하는 과정을 통해 자신만의 길을 찾아가게 됩니다.
이 글이 여러분에게 작은 위로와 도움이 되기를 바랍니다. 도전을 두려워하지 마세요. 중요한 것은 꾸준히 배우고, 나아가는 것입니다.
완전 동의합니다!! ㅠㅠㅠㅠ 풀스택 해보니까 보는 눈이 달라지더라구요