프로젝트

캡스톤 프로젝트 _ IT career fit( IT 채용 정보 제공 웹 개발 프로젝트 )

yoon99 2024. 7. 23. 15:53

1) 프로젝트 소개

2) 프로젝트 설계 (문제상황 정의 /해결책 / 목표)

3) 내 역할

4) 기능 구현 확인 및 성과 지표.

5) 어려웠던 점 / 해결방법

6) 아쉬운 점 / 개선하고 싶은 점 

7) 프로젝트 사진

1. 프로젝트 소개

  • 서비스 이름 : IT career fit
    • IT 직무 구직자들을 위한 채용정보 제공 서비스.
  • 수행기간 : 2023.03 ~ 2023.06
  • 팀원(4명) : 프론트엔드, 백엔드, 데이터1(데이터 처리 및 분석), 데이터2(DB 설계 및 구축)
  • 설계 배경 및 필요성 : IT 시장이 커짐에 따라, IT 커리어를 시작하려는 사람들이 늘어나고 있습니다. ' IT career fit' 프로젝트는 IT 구직자들로 하여금 충분한 양과 보기 편리한 형식을 만족하는 채용정보를 제공하여 구직 만족도를 높이겠다는 아이디어에서 시작했습니다. 

2. 프로젝트 설계

기초 조사를 바탕으로, IT 직종에서의 구직 만족도를 높이기 위해서 기업 및 채용 정보를 수집하고 이를 분석하여 다양한 서비스 제공 기능을 구현하고자 했습니다. 한편, 기존 채용 사이트와의 차별성을 두기 위해 기존 채용공고 사이트를 분석했습니다. 

2-1. 현황 파악 및 문제정의

기존 채용공고 조사 및 분석

  1.  개발자 특화 채용 공고 검색 필요 대부분의 구인구직 서비스들이 특정 직무를 타겟으로 하고 있지 않기에 개발자들은 자신 이 사용할 수 있는 기술 스택과 관심있는 직무를 요구하는 채용공고를 일일이 찾아야 합니다. 따라서 개발 및 IT 구직자들이 필요로 하는 기술 스택과 직무 등의 조건을 추가한 채용 공고 필터링 서비스가 필요합니다.
  2. 개발자를 타겟으로 한 IT 구인구직 트렌드를 제공하지 않습니다. 직무마다, 기업마다 사용하는 IT 기술이 다르고 새로운 기술이 끊임없이 등장합니다. IT 시장 내 트렌드가 계속 변화하기 때문에 신입 IT 개발자들은 새로운 프로그래밍 언어를 배우기 위해 준비하는 과정에서 혼돈을 겪는 경우가 많습니다.

2-2. 목표 설정

  • 사용자 가치관 기반 기업 추천 정보 제공
  • 매월 직종별 IT 트렌드 분석하여 분석결과 제공
  • IT 구직자에게 특화된 채용 공고 필터링 검색 서비스 구현. (ex. 개발 직무, 기술 스택 필터링 기능)

3. 내 역할

  • 역할: '데이터1' _ 데이터 처리 및 분석 (repository : )
  • 개발환경 : Google colab
    •  Google colab을 선택한 이유: 대규모 데이터 처리 및 머신 러닝, 간편한 공유 및 협업
  • 사용언어 : python, Mysql
  • 데이터수집기간: 2023.02 ~ 2023.06(업데이트 주기: 한 달)

워크넷크롤링_최종2.ipynb
0.58MB

3-1. 채용공고를 위한 데이터 수집 및 처리

수집 데이터: 워크넷(https://www.work.go.kr) + 프로그래머스( programmers.co.kr→ '데이터2' 담당) 

데이터 선정 이유: 워크넷은 정부가 운영하는 공공 인력 정보 시스템으로, 공공기관 및 공기업 등 공공분야 채용 정보가 강점입니다. 프로그래머스는 'IT 직무 및 개발자'에게 특화된 채용 정보가 강점입니다. 이 두 사이트를 통해 데이터를 수집하면 구직자에게 다양한 채용 정보를 제공할 수 있다고 판단했습니다. 

 

    • 트렌드 분석은 ‘프로그래머스’와 ‘워크넷'의 채용공고를 기반으로 진행하였습니다.  워크넷 API 인증키를 발급받아 워크넷 채용공고 데이터를 수집했습니다.
    • 채용 공고 데이터에서 기술 스택, 직무 등 원하는 정보를 추출할 수 있도록 전처리를 진행합니다. 워크넷은 따로 '기술 스택' 정보를 제공하지 않았기 때문에 채용공고의 제목과 내용에서 기술 스택, 직무 정보를 추출했습니다.
    • Trend 분석 페이지에서 각 월별(3월, 4월, 5월) 프로그래밍 언어, 직무, 직무별 기술 스택 등 총 세가지 부문의 IT 트렌드 를 도넛 그래프, 꺾은 선 그래프, 막대 그래프의 형태로 한 눈에 파악할 수 있습니다.

3-2. 가치관 기반 기업 추천을 위한 데이터 수집 및 처리

가치관 데이터 최종.ipynb
0.20MB

 

수집 데이터 : 잡플래닛 'IT/웹/통신' 데이터 + DART 기업 재무 데이터+ 대한민국 30대 유니콘 기업

기업 재무점수 산출 과정

  • 기업 추천 측정 기준 : '안정성', '수익성', '성장가능성', '급여', '사내문화' 
  • 전자공시 시스템인 DART에 공시되어 있는 기업의 재무비율과 각 재무비율 간의 관계에 대해 알아 보고 기업의 안정성, 성장성, 수익성을 계산합니다. 
  • 잡플래닛 데이터에서 기업의 급여 및 리뷰 점수를 계산합니다. 
  • '기업명'(FK)을 기준으로 DART의 안정성, 성장성, 수익성 데이터와 잡플래닛 급여, 리뷰 점수 데이터를 결합합니다. 
  • 사용자의 가치관과 기업의 가치관의 차이를 계산하는 알고리즘을 개발합니다. 

구현 화면

  • Value 페이지에서 사용자가 수익성, 안정성, 급여, 규모 및 형태, 성장가능성과 관련된 구직 가치관을 설정할 수 있습니다.
  • 사용자가 설정한 가치관과 절대값 기준으로 가장 작은 기업 5곳이 추천됩니다. 수익성, 안 정성, 성장가능성, 급여, 규모/ 형태 중 사용의 가장 높은 수치를 기준으로 sort한 후 절대값을 비교하여 sort 하며 5곳만 추천을 진행합니다.
  • 각 항목은 상위 %를 선택하도록 하는데 사용자로 하여금 상위 % 개념에 와닿을 수 있도록 상위 4%, 11%, 23%, 40%, 60%에 해당하는 기업의 목록을 모달창으로 제공했습니다. 

4) 완성도 및 기능 평가 

4 - 1) 기능 구현 확인 

기존 채용공고 사이트와 비교 및 기능 구현 유무 확인

 

4 - 2) 재무비율 계산 및 안정성, 성장성, 수익성 점수 계산 알고리즘 평가.

Dart에 공시되어 있는 기업들의 재무제표를 바탕으로 재무비율 계산하고 이를 바탕으로 수익성, 안정성, 성장성을 평가했습니다. 위의 계산 결과와 취업콘텐츠 플랫폼(캐치, CATCHㅣ속 깊은 취업콘텐츠 플랫폼, 캐치 ) 에서 제공하는 기업분석 서비스(기업비교ㅣ 캐치 (catch.co.kr)) 에 표기되어 있는 수익성, 안정성, 성장성 점수를 비교했을 때 상당부분 일치하는 것을 확인했습니다.

5) 어려웠던 점 / 해결방법

5 - 1)

문제1 : 기술 스택 및 직무 정보가 포함된 채용 공고 데이터 부족

  • 워크넷 IT 직무를 타겟으로 한 채용공고 서비스 IT 관련 기술 스택이나 직무를 수집할 수 있는 카테고리(속성)가 제공되지 않았습니다. 따라서 IT 계열 기술 스택과 직무 트렌드 분석에서 사용할 데이터의 수가 적었습니다.

해결 방법: 직무 카테고리 확정 및 제목과 내용에서 기술 스택 추출

 

프로그래머스 데이터와 워크넷 데이터의 직무 내용을 통일하고자 워크넷의 직종코드와 직종 카테고리를 매핑했습니다 .

 

 

 

 

 

  • 워크넷 API에서 기술 스택 column이 출력되지 않으므로 제공되는 제목과 내용에서 기술 스택이 포함되면 해당 기술 스택을 요구한다고 판단하고 기술 스택 column에 추가했습니다. 이 과정을 위해 기술 스택 이름을 채용 공고마다 대소문자, 온점 추가 등 모두 다르게 표기하기에 이를 통일해주는 작업을 먼저 거쳤습니다.

5 - 2)

1. 문제 :  

프로젝트 진행 중 시간적 제약 및 기술적 문제로 인해 AI 서버를 사용할 수 없는 상황이 발생했습니다. 주요 문제점은 다음과 같았습니다:

  • 시간적 제약 : 프로젝트 일정이 급박하여 AI 서버를 도입하고 구축하는 데 필요한 시간이 부족했습니다.
  • 기술적 부재 : AI 서버 구축 및 관리에 필요한 전문 기술이 부족하여 자체적으로 서버를 운영하기 어려웠습니다. 

2. 결과 및 향후 계획 : 간소화된 시스템 구성

복잡한 AI 서버 구축 대신, 단순화된 데이터 처리 및 모델 배포 시스템을 구성하여 기술적 리소스 부족을 극복했습니다

 

3. 결과 및 향후 계획

위의 해결 과정을 통해 시간적 제약과 기술적 부재로 인한 문제를 해결하였고, 프로젝트를 성공적으로 완료할 수 있었습니다. 향후 프로젝트에서는 초기 계획 단계에서 AI 서버 도입 가능 여부를 사전에 검토하고, 필요 시 클라우드 기반 서비스를 적극 활용하여 비슷한 문제를 예방할 계획입니다.

 

6) 아쉬운 점/ 개선하고 싶은 점.

아쉬운 점 :

워크넷 데이터를 수집할 때, API키를 발급받아 데이터를 수집할 후 AWS DB에 저장했다. 이 과정은 데이터 수집을 매달 해야했기 때문에 다소 번거로웠고 정보의 정확성이 떨어질 우려가 있었다. 보다 효율적인 데이터 수집 방법은 없을까? 

개선 방법 :

API 연동을 통해 AWS DB에 바로 데이터를 수집한다. API 연동을 통해 데이터를 AWS DB에 수집한다면 데이터를 실시간으로 수집할 수 있다. 데이터 수집 주기를 한달에서 실시간으로 바꾼다면 사용자에게 매번 최신 정보를 제공할 수 있다. 

7) 프로젝트 사진( 시스템 아키텍처, use-case Diagram, 프로젝트 구현 사진)

  • 시스템 아키텍처

시스템 아키텍처

  • use-case Diagram

use-case Diagram