코테에서 과테와 직무로, 개발자 포트폴리오 관리

개발자의 실력을 가장 객관적으로 보여줄 수 있는 방법은 컨트리뷰션일것이다. 실제 구글이나 페이스북과 같은 IT회사에서 컨트리뷰터는 그냥 채용한다고 유튜브 같은데서 들은바 있다.

컨트리뷰션이란?
컨트리뷰션이란 오픈 소스 프로젝트에 기여하는것을 말하고 기여한 사람을 컨트리뷰터라고 한다. GitHub와 같은 오픈소스 프로젝트라면 협업을 하기 위해 pull request 라는게 있다. 오픈 소스 프로젝트를 자기 프로젝트로 fork 한 다음 소스를 수정하고 커밋후 pull request 를 요청한다. 그러면, 프로젝트 담당자가 해당 내용을 검토하고 merge를 승인하게 되면 컨트리뷰터가 된다.

요즘, 이런 추세가 우리나라에도 점점 도입이 되고 있는거 같다. 신규 채용에서도 자소설(자기소개서 + 소설) 에서 직무위주로 채용한다는 뉴스가 많이 나오고, 이직시 코딩테스트를 보는데, 알고리즘 사이트와 강의 등 너무 일반화되어서 이제 능력을 판별하는 기준이 희석되다보니 코딩테스트에서 과제테스트와 직무 위주로 바뀌고 있는 추세이다.

과제 테스트란 화면 하나를 주고 REST api를 백엔드로 구현하고 API를 사용해서 화면을 구현하라는 식이다. 직무 위주란 본인이 지금까지 배우거나 경험한 프로젝트를 얘기하는데 주로 블로그나 git 같은 객관적인 자료가 있어야 한다. REST api를 만드는 방법은 상단 메뉴에 스프링과 Mybatis로 그리고 노드와 JPA와 같은 typeORM으로 만드는 방법이 있으니 참고하자. 그리고 화면을 만드는 방법은 순수 자바스크립트나 DOM 혹은 jquery를 사용하는것 보다 vue나 react를 사용해 페이지 방식으로 개발하는게 훨씬 쉽고 그리고 es6와 같은 문법도 어필할 수 있으므로 더 좋을거 같다. 혹시 react나 vue로 CLI 방식만 사용했다면 상단 react 메뉴 첫번째가 웹팩이 아닌 페이지 방식이니 참고하자. 또한 프런트엔드는 DOM 뿐만 아니라 BOM과 drag and drop, geolocation, validation, stroage 등 다양한 web api와 canvas 와 svg 애니메이션도 공부하여야 다양한 경우를 모두 대처할 수 있다.

채용의 변화 흐름

특정 기업을 언급한것은 절대 추천이 아니니 오해하지 말자.

2021년 4월 7일 기사에 sk텔레콤은 상하반기 1회씩 진행하던 대졸 신입 사원 공채를 없애고 연 3회 이상 수시채용으로 전환한다고 한다. 또한 채용 방식도 바꾼다고 한다. ‘서류 접수-필기 전형-면접 전형’의 획일적인 틀에서 벗어나, 취업 준비생은 직무에 관련된 경험을 담은 지원서를 제출하고, 코딩 테스트나 직무 PT(프레젠테이션), 그룹 과제 등이 포함된 직무별 평가 절차를 밟게 된다고 한다. 관련 기사

네이버 신입 채용시 입력란을 보면 다음과 같다. 아래 4번을 보면 본인의 개발활동을 잘 보여줄 수 있는 블로그나 git url을 넣어라고 되어있다.

아래는 네이버 경력시 입력란인데, 본인이 수행한 프로젝트와 기술스택을 넣어야 하고 그것을 증명할 수 있는 블로그나 git을 넣는 란이 추가로 나온다.

개발자 포트폴리오 관리

직무위주의 채용에 대비하기 위해서는 다음과 같이 개발자 포트폴리오를 관리하는 것을 추천한다. 사실 대비한다기 보다 앞으로 쭉 개발자의 인생을 살려면 습관적으로 해야 할 것들이라고 하는게 맞는 표현인거 같다. 실제로 나는 프리랜서이지만 개발을 위해서 항상 하고 있는 것들이기도 하다.

1. 개발 내용을 정리하는 개인 블로그 운영

  • 소스코드를 넣을수 있는 설치형 블로그인 워드프레스나 노션앱 추천
  • 프로그래밍 등 IT 서적 공부한거 정리도 좋고,
  • 백준사이트 등 알고리즘 공부한거 정리도 좋고,
  • 프로젝트 경험한 내용을 정리

2. git에 소스 형상 관리

  • 공동 프로젝트뿐만아니라 개인적으로 공부하는 프로젝트도 잘 정리하면 나중에 실제 개발시 레퍼런스가 된다.
  • 사용된 기술스택과 아키텍처를 그림 한장으로 그려서 README.md에 넣어주면 좋을거 같다.
  • 최종 목표는 컨트리뷰터가 되는것이다.

3. 서비스 배포

  • 개발이 끝났다면 실 서버에 배포를 하자. 도메인을 등록하고 실서버에 등록하자. git만 보고는 무슨 프로젝트인지 한 눈에 파악이 어려운데 배포된 서비스 url을 보면 한눈에 파악이 가능하므로 배포까지 하면 좋을거 같다.
  • 또한, 배포시 devops, docker, CI/CD, 쿠버네티스 를 사용했다면 블로그에 잘 정리해주면 좋을거 같다.