본문 바로가기
HOO's LIFE/HOOTips

[HOOTips] 신입 개발자가 경력 쌓는 방법: 개인 프로젝트

by Henry Cho 2023. 8. 3.
728x90

신입 개발자가 경력 쌓는 방법: 개인 프로젝트


 

# 중고 신입 개발자

개발자라고 한다면 실질적인 능력 위주의 평가가 이루어진다고 볼 수 있는 대표적인 직업 중 하나이다. 특히 최근에 한국 개발자 브로들과 이야기를 나누다 보면 학벌에 대한 허들이 많이 낮아졌다는 것을 느낄 수 있었다. 물론 학벌이 있다면 그 작은 허들마저도 없이 시작할 수 있겠지만 노력으로 충분히 학벌이라는 허들을 뛰어넘을 수 있게 되었다고 본다. 실제로 글쓴이의 개발자 지인들을 보면 학벌이 그다지 좋지 않거나 사실 컴퓨터 관련학과이지, 실제로 CS나 CE가 아니었음에도 이제는 어엿한 PM급으로 성장하여 설계자나 시니어 개발자로 일을 하고 있기도 했다.

다만 이러한 브로들의 공통적인 특징 중에 하나가 경력만 쌓은 것이 아니라 개발자로서 자신의 분야에 대한 전문성을 가지고 있어 왔다는 것이다. 해당 브로들의 경우에는 비전공자이거나 이미 졸업 후에 개발자로써 취업을 알아보고 있었기에 자신의 분야를 고민해 볼 수 있는 기회나 컴퓨터의 알고리즘과 같은 기초적인 이론을 배울 수 있는 기회가 없었다. 따라서 전문성을 찾는 기회가 이미 취업을 한 뒤였기에 어려움이 있었지만 그들 만의 분야를 찾아 해당 분야의 경험과 경력을 쌓아갔다. 마치 CS, CE 전공자들이 학부 때 자신의 분야를 고민하고 개인 프로젝트와 포트폴리오를 통해서 준비를 하는 과정과 같이 말이다. 그들의 경우에는 3년 차까지 실무에서 경력을 쌓으면서도 별개로 자신만의 특정 분야에 대한 실력을 쌓아, 장기적인 관점에서 자신에게 맞는 분야로의 이직을 준비했다. 결과적으로 이러한 개발자들은 취업 시장에서 중고 신입 개발자로서 실제 신입 개발자들의 취업을 위협하게 되는 셈이다.

이러한 점에서 제대로 준비를 하지 못한 신입 개발자는 중고 신입개발자에게 밀릴 수 밖에 없다. 이미 실무에서 경험을 쌓은 중고신입 개발자의 경우에는 자신이 어떻게 취업 준비와 실력 향상에 시간을 효율적으로 사용해야 하는지에 대해서 어느 정도 알고 있다. 하지만 신입 개발자의 경우에는 실무 경험이 없기 때문에 이러한 노하우를 알고 있는 경우가 많지 않고 어떻게 준비를 해야 하는지 조차 막막할 따름이다. 심지어 전공자들 조차 컴퓨터의 전반적인 이론과 탄탄한 기초 지식을 가지고 있지만 취업 시장에서의 준비를 어떻게 해야 할지 모르는 경우도 있었다. 따라서 글쓴이가 신입 개발자들에게 경력과 경험을 쌓을 수 있는 가장 좋은 방법 중 하나로 개인 프로젝트를 꾸준히 해야 한다는 것이다.


# 개인 프로젝트

그렇다면 개인 프로젝트는 무엇인가? 사실 학부생 입장에서보면 막막할 따름이다. 글쓴이도 그 마음을 알고 있기에 공감할 수 있는 부분이다. 여기서 막막하다는 것은 자신이 어떤 개발 분야로 가야 할지를 아직 못 정했다는 것을 보여준다. 우선 개인 프로젝트는 말 그대로 개인이 하는 프로젝트이며, 특정 주제 없이 자신의 능력을 보여주기 위한 하나의 포트폴리오 재료라고 생각하면 된다. 그래서 더더욱 중요한 것이 어떤 것을 개인 프로젝트로 정하여 개발하여 포트폴리오에 추가할 것인지이다.

글쓴이의 경우에는 인공지능 중에서도 컴퓨터 비젼 쪽으로 분야를 정했었고 해당 분야에 대한 개인 프로젝트를 시작하였다. 작은 이미지 디텍팅부터 시작해서 점차적으로 데이터셋의 크기를 키워나갔으며, 이후에는 실질적인 프로젝트에 참여하여 프로그램 개발을 할 수 있었다. 이처럼 개인 프로젝트는 신입 개발자에게 있어서 좋은 공부 방법이자, 연습할 수 있는 좋은 기회인 셈이다. 이러한 점을 기업 채용 담당자들도 알고 있다. 정말 크고 유명한 프로젝트가 아니라면 사실상 프로젝트명이 채용 담당자들에게 중요하게 생각되지 않는다. 그들이 중요하게 보는 것은 채용하는 개발자의 경험이다. 실무 경험을 얼마나 가지고 있는지를 해왔던 프로젝트를 통해서 살펴보는 것이다.

학부생, 또는 신입 개발자들에게 일반 프로젝트를 찾아서 참여하라는 건 쉽지 않다는 걸 안다. 그렇기에 개인 프로젝트부터 시작해 보는 것이 좋다. 개인 프로젝트를 통해서 개발뿐만 아니라 기획, 개발, 테스팅 등과 같은 모든 단계를 직접 경험해 보는 것이 가장 큰 경험이자 하나의 포트폴리오가 될 수 있다는 것이다. 중고신입 개발자들이 실무에서 경험하는 내용들이 사실 이러한 부분들이다.


# 가벼운 프로젝트, 팀 프로젝트에서 버스가 되어야 한다.

프로젝트라고 해서 거창하게 생각할 필요가 없다. 물론 거창한 프로젝트를 해야 하는게 맞지만 처음부터 할 수는 없기 때문에 간단한 것부터 시작해 보는 것이 좋다. 마치 라면도 안 끓여본 사람한테 파스타를 만들어 보라고 할 수는 없기 때문이다. 글쓴이가 앞서 이야기했듯이 글쓴이는 Machine learning 기반 예제 코드를 활용한 게임이나 간단한 프로그램을 만들어 본다거나, 데이터 셋을 가지고 시각화된 데이터를 출력해 주는 프로그램을 만들어 보았었다. 이처럼 너무 처음부터 부담을 갖지 말고 하나하나 차근차근해나간다고 생각하고 해 보면 도움이 된다. 추가로 개인 프로젝트를 해봤다면 이제는 가벼운 프로젝트를 찾아서 다른 사람들과 같이 해보는 것이 좋다. 개발자는 결국에는 혼자서 개발을 하지 않기 때문에 다른 개발자들과 협업을 해보는 것이 좋다. 사실 이러한 경험들을 전공자들은 수업 시간에 캡스톤 프로젝트에서 경험해 봤을 것이다. 그래서 글쓴이는 항상 잔소리하지만 수업 시간 프로젝트라도 적극적으로 본인이 리더가 돼서 많은 부분을 담당해서 하는 것이 경험과 포트폴리오 작성에 정말 큰 도움이 된다. 왜냐하면 일명 버스를 타거나 실질적인 참여를 하지 않은 학생들이 졸업 후에 실력이 없다 보니 취업을 제대로 못하는 케이스를 많이 봐왔고 글쓴이는 항상 버스가 되어 왔기에 그 순간에는 힘이 들었지만 그만큼 많은 경험을 토대로 실력 인정을 받을 수 있었다.


# 가벼운 프로젝트도 포트폴리오에 작성이 가능하다, 기술 경험을 중점적으로 작성한다.

멘토링을 해왔던 CS, CE 전공 학부생 브로들과 이력서랑 포트폴리오 이야기를 나누다보면 항상 하는 말이 "이것도 적나요?"였다. 간단한 프로젝트를 만든다고 해서 포트폴리오에 쓸 수 없는 것은 아니다. 가벼운 프로젝트라도 자신이 개발자로써 지원할 분야와 일치한다면 포트폴리오에 작성하는 것이 좋다. 물론 가벼운 프로젝트를 시작으로 보다 더 advanced, 심화된 개인 프로젝트를 하여 포트폴리오에 작성하는 것이 가장 좋다. 하지만 현실적으로 당장 포트폴리오에 작성할 내용이 많지 않다면 가벼운 프로젝트에 대한 부분도 포트폴리오에 작성하는 것이 좋다.

포트폴리오를 작성할 때 어떤 프로젝트를 했는지가 중점 내용이 아닌 해당 프로젝트를 통해 본인이 어떤 기술을 익히고 경험했는지에 대해서 보다 구체적으로 서술하는 것이 중요하다. 앞서 이야기했듯이 프로젝트 이름이 중요한 게 아니라 해당 프로젝트에서 어떤 기술을 익혔는지가 중요하다. 멘토링을 해왔던 브로들이 자주 하는 실수가 프로젝트 이름과 내용을 중점적으로 소개하는데, 사실 채용 담당자는 해당 내용들은 관심이 없다. 따라서 기술 경험을 키워드 방식으로 나타내주는 게 좋다.


# 포트폴리오에 가벼운 프로젝트 작성 시 유의할 점

또한 가벼운 프로젝트를 포트폴리오에 작성할 때 유의할 점이 있다. 바로 무작정 많은 간단한 프로젝트를 포트폴리오에 작성하는 것은 오히려 독이 된다. 첫번째로 자신의 분야와 상관없는 가벼운 프로젝트들을 포트폴리오에 써봤자 전문성이 없어 보일 뿐이다. 특히 최근에는 개발자의 분야가 워낙 세분화되고 전문화되다 보니, 관련성이 없는 프로젝트는 아무리 사이즈가 크더라도 빼는 것이 좋다. 정말 쓸 내용이 없다면 최대한 연관성을 찾아서 작성해 준다.

두 번째로 실제 면접에서 마이너스가 된다. 면접 때 내용이 많다면 결국 하나하나 물어볼 수밖에 없다. 이때 자기 객관화가 되지 않아 정확히 모르는 부분을 포트폴리오에 추가했다면, 이 역시도 채용 담당자들에게 있어서 좋지 않은 인상을 줄 수 있다. 결국 채용 담당자나 면접자나 모두 다 개발자이기에 우리 컴퓨터쟁이들을 다 느끼고 알 수 있다.


# 포트폴리오로 충분한 개인 프로젝트

신입 개발자가 할 수 있는 가벼운 프로젝트에 대해서 먼저 이야기를 했지만 사실 개인 프로젝트는 실무 경력만큼의 비중 있게 판단되는 요소이다. 그렇기에 중고신입개발자들 또한 개인 프로젝트나 사이드 프로젝트를 밤새워가며 하곤 한다. 멘토링했던 학부생들이 글쓴이에게 많이 했던 질문이 바로 개인 프로젝트가 과연 포트폴리오로써 도움이 되는지였다. 컴퓨터쟁이들은 개인 프로젝트라고 할지라도 능력 있는 개발자의 개인 프로젝트는 실무와 버금가는 프로젝트라는 걸 알고 있다. 예컨대, 개인 프로젝트로 새로운 라이브러리나 알고리즘에 대한 연구를 개발을 할 수도 있고 이를 기반으로 논문 작성도 할 수가 있다. 한마디로 개인 프로젝트를 보고 해당 개발자를 실무 투입에 가능한 지가 평가될 수 있는 요소라는 점이다. 두 번째로는 개인 프로젝트를 실무에서 활용할 수 있는 기회가 생기기 마련이다. 예를 들면, Kaggle에서 진행되는 다양한 Competition에서 미리 만들어놓은 개인 프로젝트를 참고하여 실무 프로젝트에서 활용할 수 있는 기회가 생길 수 있다. 또는 막상 해본 개인 프로젝트의 아이디어가 좋아서 스타트업 컴퍼니를 직접 만드는 계기가 될 수도 있다. 글쓴이의  경우도 이에 해당되었기에 개인 프로젝트를 추천하는 이유 중 하나인 셈이다.


# 결론

최근 코로나 이후로 개발자 취업 시장이 더 어려워진 건 사실이다. 하지만 반대로 특정 분야의 전문 능력을 가지고 있는 개발자에 대한 채용은 비슷하거나 더 늘어났다. 한마디로 로우 코딩 (Low-coding)과 같이 더 이상 일반 프로그래머는 인공지능 툴로 충분히 대체될 수 있거나 기존 인력 대비 많은 인력이 필요하지 않게 되었다. 이제는 그냥 코딩만 하는 프로그래머가 아니라 전반적인 설계와 코드 전체를 판단할 수 있는 개발자가 필요해졌기에 신입 개발자들도 이 부분을 유의해서 취업 준비를 해야 한다고 생각한다.


 

728x90

댓글