1. 배경
개발자들을 위한 채용공고 정리 서비스는 요즘 다양한 채용공고 플랫폼이 존재한다. 채용 플랫폼마다 공통적으로 있는 공고도 있고, 한 플랫폼에는 있지만 다른 플랫폼에는 없는 채용공고도 있다.
취준생의 입장에서 한 회사의 하나의 채용공고만 보고 고민하는 것이 아니라, 다양한 회사들의 공고를 보았을 때, 어떤 자격 조건이 다른지, 어떤 우대사항이 있는지 등을 비교할 필요가 있고, 기록해서 나중에 볼 때도 편하게 볼 수 있게 키워드 단위로 정리하고 싶다는 생각에서 시작했다.
이미 존재하는 서비스일지도 모르지만 내가 필요해서,사용하고 싶어서 만드는 사이드 프로젝트이기에 여러가지 삽질을 시작할 예정이다.
2. 기획
채용공고들의 정보를 받기 위해서는 두 가지 방법이 떠올랐다. 하나는 채용 플랫폼의 API를 직접 이용하는 방법과, 다른 하나는 채용 공고를 스크래핑하는 방법이다.
2.1 채용 플랫폼 API
요즘 내가 틈틈히 채용공고들을 볼 때, 많이 사용하고 있는 채용 플랫폼의 종류들을 정리하면 다음과 같다.
1. 원티드
내가 느끼기에 가장 UI가 깔끔하고 여러 정보가 잘 담겨있어서 가장 자주 보게 되는 플랫폼으로, 취업을 위한 다양한 정보와 지원을 해주는 이벤트가 존재한다.
2. 로켓펀치
로켓펀치는 자주 이용하지는 않지만, 다른 플랫폼에 없는 채용공고들이 있을 때가 있어 찾게 되는 플랫폼이다.
3. 점핏
개발자들을 타겟한 채용 플랫폼으로, 개발자 시장에 특화된 정보들과 공고들이 안내되어 있어, 신입 개발자를 준비하는 나에게 유용한 플랫폼이다.
4.프로그래머스
기업의 채용과정에서 코딩테스트를 지원하고, 연결해주는 서비스로 코딩테스트로 다양한 기업에 한번에 지원할 수 있는 독특한 서비스를 제공한다.
이외에도 사람인, 잡코리아, 잡플래닛 등 채용 플랫폼이 다양하게 존재하지만, 플랫폼들 중에서 Open API를 제공하는 플랫폼에는 Linkedin, 워크넷, 두가지 플랫폼이 있었다. open API가 있다면 채용공고들을 보다 쉽게 가져올 수 있겠지만, 대부분의 플랫폼들은 API를 제공하지 않기도 하고, 플랫폼마다의 공고들을 받아오는 것은 사실 확장성이 떨어질 수 있기 때문에, 다양한 채용공고 정보들을 받아올 수 있는 다른 방법을 생각해야 했다.
2.2 채용공고 스크래핑
open soure API를 대체할 방법으로 생각해낸 방법은 채용공고 페이지에서 필요한 부분들을 가져올 수 있는 웹크롤링 이다. 웹 크롤링은 브라우저를 통해 받아온 HTMl 페이지를 가져와, 파싱을 통해서 필요한 데이터를 추출하는 방식으로, 웹 크롤링을 이용한다면 api로 데이터를 받아올 수는 없지만, 공고 페이지 내부의 정보들을 받아올 수 있기 때문에 좋은 방향이 될 것이라 생각이 들었다.
크롤링을 이용한 전체적인 로직은 다음과 같이 정리할 수 있다.
- 채용 공고 페이지의 url을 입력하면 url의 내용 중 내가 원하는 정보들만 추려온다
- 받아온 데이터를 firebase 데이터베이스에 저장한다.
- firebase 데이터베이스의 데이터를 가져와 프론트 페이지에 보여준다.