개발자의 현실적인 독학 방법과 제 경험 약간 (스타트업 취업용)
독학을 바라보는 시선
독학은 가장 불확실성이 높고 어려운 선택입니다.
생각해 보면 어떤 대학교 컴공 졸업, 부트캠프등은 자신의 능력을 유명한 대학이나 유명한 부트캠프의 브랜드 파워에 기대는 것이기 때문에 사회적 신뢰도가 높거든요. 이에 비해 독학으로 개발을 했습니다라고 하면 아무도 믿어줄 수 없는 거죠. 사회적 관점에서 본다면 전혀 신뢰할 수 없는 방법으로 취업하려는 겁니다.
독학을 선택하는 사람들
이런 선택을 하는 이유는 단순합니다. 도움을 받을 사회적 네트워크나 부트캠프에 다닐 비용 등이 없다는 의미죠. 어떻게 보면 가장 힘든 환경에 처해 있는 사람들이 독학을 선택하게 됩니다.
하지만 희망적으로 본다면 타인의 도움 없이 스스로 목표를 달성하겠다는 선택을 하신 겁니다. 이게 중요하죠.
독학의 목표
채용 담당자 입장에서 볼때 독학을 했다는 것은 신뢰하기 어렵지만 이미 개발되어 고객이 있는 서비스는 믿을 수 밖에 없습니다.
그래서 독학의 목표는 상용 서비스가 되어야 하고 취업의 시점에 반드시 서비스가 작동하고 있어야 합니다.
특히 처음에 힘든 이유
저번에 아이템 선정을 입사하고자 하는 스타트업의 도메인에 연관된 아이템으로 정하는 게 좋다고 했었습니다. 문제는 처음 아이템을 혼자서 개발하면 믿을 수 없을 정도로 자신이 초라하고 부족하게 느껴집니다. 기획, 디자인, 개발 모든 면에서 자신이 가진 진짜 실력이 드러나기 때문에 굉장히 고통스럽고 자존심이 상하게 되죠. 혼자 만들어 본 경험이 없고, 그동안 자신의 능력을 과대평가 해왔기 때문입니다. 그래서 이 시점에 많이 포기하게 됩니다.
시간의 힘
누구도 예외 없이 처음은 작고 보잘것없는 안목으로 부족한 실력으로 개발 독학을 시작한다고 보면 됩니다. 걱정하지 마세요. 시간이 지남에 따라 점점 더 좋아지고 1~2년을 넘어가면 높은 안목과 뛰어난 실력을 저절로 갖추게 됩니다. 믿기 힘드시겠지만 제가 직접 경험한 건데요 곰곰히 생각해 보니 다음과 같이 설명 됩니다.
사용자를 유치한다는 것은 엄청나게 어려운 일이죠. 게다가 팀 빌딩 없이 혼자서 사용자를 유치하는 유일한 방법은 제품주도성장뿐이거든요. 마케팅이나 영업 없이 무조건 제품력, 기술력만으로 사용자를 모으는 것은 자신의 모든 잠재의식, 시간, 노력 전부를 집어 넣어야 될까 말까한 일이기 때문입니다. 생각해 보면 스타트업이 하는 것과 똑같은 목표를 혼자서 달성하는 것 같죠? 맞습니다. ^^
시간 확보의 중요성
그래서 사전에 다음과 같은 준비를 하시면 좋습니다. 시간을 무제한 확보합니다. 이성적으로 언제까지 무엇을 하겠다고 생각하면 대부분 실패하는 것 같습니다. 약간 무리한 논리이지만 될 때까지 하겠다가 좋은 기준이 됩니다. 외부의 도움 없이 될 때까지 하려면 무제한적인 시간을 투입하는 것 말고는 없죠. 아무도 가르쳐주지 않기 때문에 엄청난 시행착오로만 배울 수 있거든요. 건강한 시행착오를 하려면 미리 많은 시간을 준비해야 합니다.
컨퍼런스, 팀 프로젝트, 세미나, 네트워킹 등 모두 하지 않습니다.
넷플릭스, 인스타그램, 게임을 하지 않습니다.
자고, 먹고, 회사 근무하거나 혹은 학교 수업시간 외에는 모두 개발만 합니다.
NO 열정, NO 감정
참, 열정적으로 하지 않는 것이 좋은데요, 빠르게 가지만 오래 갈 수는 없는 방식이라고 생각합니다. 1~2년 이상을 하려면 코딩에 대한 감정 자체를 없애는 것이 좋은데요, 가장 좋은 방법은 습관입니다. 저 같은 경우는 아무런 감정 없이 코딩을 하는데요 자고, 화장실 가는 것 빼고는 책상에만 붙어 있습니다. 별로 힘들지 않습니다. 그냥 이게 제 청춘이다 하고 드라이하게 생각하는거죠.
증명하는 방법이 더 중요
독학을 학습으로 접근하는 것보다 내가 필요로 하는 것, 원하는 것을 만드는 것으로 시작하는 것이 좋습니다. 학습은 아무것도 남지 않고 증명할 수 없지만, 만드는 것은 중간에도 보여 줄 수 있고 누가 봐도 명확하게 증명이 되기 때문입니다. 뭐든 만들면 자산이 됩니다. 저는 학습을 만드는 것으로 해 왔기 때문에 나이가 어리고 경력이 적어도 포트폴리오가 많은 편이거든요. 지난 5년간 개발 과정의 생각, 시도, 실패, 사용자 인터랙션, 피드백 등을 제 링크드인과 페이스북에 기록해 왔는데요 이건 누구도 불신하기 힘든 사회적 증거가 됩니다.
좁고 깊은 곳에 답이
넓은 범위의 서비스가 아니라 좁고 깊은 기능 구현에 집중합니다. 만들려고 하는 목표에 관해서 깊이 탐구하고 이해하지 못하면 넓은 서비스로 설계를 바꾸게 되는데요, 이게 좋지 않은 선택입니다. 굉장히 부실해져서 전혀 매력적이지 않거든요.
특정 아이템에 대해서 깊게 파고들면 들수록 보이는 것이 있거든요. 바로 그것을 기능으로 구현합니다. 예를 들면 에디터와 폼으로 화면을 분리해서 구성했다면 두 개를 결합해 보고 아예 나아가 프리뷰 화면 위에 마우스를 Hover 하면 에디터와 폼이 나타나게 하는 식으로 사고를 발전시킵니다. 여기에 ChatGPT를 붙여서 문장을 입력하면 자동으로 몇 개의 추천 문장을 보여 줍니다. 이 문장을 선택하면 중요한 키워드는 자동으로 Bold 처리 해서 가독성을 높여줍니다 등으로 계속 좁고 깊게 업그레이드를 계속 반복합니다. 이렇게 좁고 깊은 아이템을 구현하면 채용 담당자는 그것에 대해서 기술적인 궁금증과 기획의도와 사용자 피드백 모두에 관심이 생기게 되는 거죠.
스스로 더 나은 개발자가 됩니다.
외부의 도움이나 평가가 전혀 없이 오직 자기 자신의 힘으로 스스로 생각하고 개발하고 평가하는 것에 익숙해지게 됩니다. 또한, 프로젝트 전체를 바라보는 안목이 생기게 됩니다. 이슈가 발생 했을 때 누군가의 도움을 요청하지 않고 끝내 스스로 해결해 내는 능력이 생기게 됩니다. 외부의 평가나 의지를 기대하지 않고 주어진 목표 달성을 위한 태도를 가질 수 있게 됩니다.
커뮤니티나 게시판 댓글 그만 보시고 자신만의 아이템 개발을 시작할 때입니다. 화이팅!!!!!
그리고 시간이 되신다면 "개인적 경험을 통해 본 개발자 독학의 장점 (상용 서비스 방식)"도 도움이 되실거예요.
혹시 글로 전달하는 것에 오해가 생길 수 있을 것 같아 추가합니다.
여기에 모든 내용은 신입 개발자나 초보 개발자와 비교해서 좀 더 좋은 개발 실력을 갖출 수 있다는 점입니다. 오해를 드렸다면 전적으로 제 부족한 글솜씨 때문입니다. 이점 죄송합니다.
