ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 인크루트 포지션 제안 자동화 프로그램 만들기
    자동화 프로그램 2026. 4. 2. 02:13

    나의 고객이신 한 분이 대기업에서 채용 담당자로 일을 하고 계신다. 채용 담당자가 하루에 해야 하는 일 중에 이런 게 있다. 인크루트에서 후보자를 검색하고, 한 명씩 프로필을 열어서, 포지션 제안 버튼을 누르고, 공고를 선택하고, 담당자를 지정하고, 보내기를 클릭하는 것. 이걸 한 명당 5~6번의 클릭으로 끝내야 하는데, 문제는 이게 한두 명이 아니라는 거다. 검색 결과가 수십 페이지, 페이지당 30명이면 한 번 돌릴 때 수백 명. 클릭 횟수로 따지면 하루에 1,000번이 넘어간다. 손목이 남아나지 않는 작업이었다.

     

    채용 실무의 반복 루틴

     

    인크루트 같은 채용 플랫폼에서 "포지션 제안"은 기업이 먼저 후보자에게 관심을 표현하는 기능이다. 좋은 후보자를 발견하면 제안을 보내서 지원을 유도하는 건데, 이게 한두 건이면 수작업으로 충분하다. 그런데 대량 채용을 하거나, 넓은 풀에 제안을 뿌려야 하는 상황이 되면 이야기가 달라진다. 검색 조건을 세팅해두고 결과 목록을 쭉 훑으면서, 한 명씩 제안을 보내는 과정을 수십 페이지에 걸쳐 반복해야 한다.

    이 작업의 구조를 뜯어보면 사실 매번 똑같은 패턴이다. 목록에서 "포지션 제안" 버튼을 누르면 새 창이 뜬다. 새 창에서 제안 버튼을 한 번 더 누르면 팝업이 나온다. 팝업에서 등록된 포지션을 선택하고, 담당자를 검색해서 지정하고, 보내기를 클릭한다. 그러면 확인 알림이 뜨고, 그걸 닫고 나서 원래 목록으로 돌아와서 다음 사람을 처리한다. 한 명당 이 과정이 통째로 반복된다. 내용은 같은데 클릭만 계속 하는 거다.

    고객이 원했던 건 명확했다. 검색 조건은 본인이 직접 세팅하고, 그 결과 목록에서 포지션 제안을 보내는 반복 작업만 프로그램이 대신해주는 것. 검색 조건 자체를 자동화하는 게 아니라, "이 사람들한테 제안 보내기"라는 단순 반복 클릭을 없애고 싶었던 거다.

     

     

    브라우저를 직접 조종하는 방식

     

    이 프로젝트에서 가장 중요한 설계 결정은, 이미 열려 있는 브라우저에 프로그램을 연결하는 방식을 택한 것이었다. 보통 자동화 프로그램은 새 브라우저를 열어서 처음부터 로그인하고 들어가는 구조로 만드는데, 인크루트 같은 채용 플랫폼은 그렇게 하기가 까다롭다. 로그인 과정에 보안 인증이 걸려 있을 수 있고, 기업 계정은 추가 인증을 요구하기도 한다. 그래서 사용자가 먼저 크롬을 특수 모드로 열고, 직접 로그인해서 검색까지 마친 상태에서 프로그램을 연결하는 방식으로 만들었다.

    작동 원리는 이렇다. 프로그램 화면에서 "Chrome Remote 실행" 버튼을 누르면 디버깅 포트가 열린 상태의 크롬이 뜬다. 사용자가 그 브라우저에서 인크루트에 로그인하고, 원하는 검색 조건을 설정한다. 여기까지는 사람이 한다. 그다음 프로그램에서 시작 페이지와 끝 페이지를 지정하고 "포지션 제안 시작" 버튼을 누르면, 프로그램이 해당 브라우저에 붙어서 나머지를 알아서 처리한다.

    이 방식의 장점은 로그인 상태와 검색 조건을 사용자가 완전히 통제할 수 있다는 점이다. 프로그램이 로그인 정보를 저장하거나 건드리지 않으니 보안 걱정이 없고, 검색 조건도 사이트에서 직접 세팅하니까 자유도가 높다. 프로그램은 순수하게 "클릭 반복"만 담당하는 셈이다.

     

    11단계 클릭을 자동으로

     

    한 명에게 포지션 제안을 보내는 과정이 실제로는 11단계나 된다. 목록에서 제안 버튼 클릭, 새 창 열림 확인, 새 창에서 제안 버튼 다시 클릭, 팝업에서 "등록된 포지션" 라디오 선택, 드롭다운 열기, 포지션 선택, 담당자명 입력, 검색 버튼 클릭, 담당자 선택, 보내기 클릭, 확인 알림 처리. 이 11단계를 한 명마다 빠짐없이 밟아야 한다.

    까다로운 부분은 이 과정 중간중간에 알림창이 불시에 튀어나온다는 점이었다. 이미 제안을 보낸 후보자거나, 이력서 열람이 불가한 경우에 브라우저 알림이 뜨는데, 이게 어느 단계에서 뜰지 예측이 안 된다. 목록에서 버튼을 클릭한 직후에 뜰 수도 있고, 새 창이 열린 다음에 뜰 수도 있고, 제안 버튼을 누른 후에 뜰 수도 있다. 그래서 주요 단계마다 알림창이 떴는지 확인하는 방어 로직을 넣었다. 알림이 뜨면 그 후보자는 건너뛰고, 새 창이 열려 있으면 닫고, 원래 목록 화면으로 정확히 돌아온 다음 다음 사람을 처리하도록 했다.

    새 창과 원래 창 사이를 오가는 것도 신경을 써야 했다. 포지션 제안 버튼을 누르면 새 브라우저 창이 열리는데, 거기서 작업을 끝내고 나면 그 창을 닫고 원래 목록 창으로 돌아와야 한다. 이 "창 전환"이 한 번이라도 꼬이면 프로그램이 엉뚱한 화면에서 버튼을 찾으려고 헤매다가 에러가 난다. 그래서 매 반복마다 현재 어느 창에 있는지를 추적하고, 에러가 나더라도 반드시 메인 목록 창으로 복귀하는 안전장치를 넣었다.

    페이지 이동도 자동이다. 현재 URL에서 페이지 파라미터를 분리해서, 사용자가 지정한 시작 페이지부터 끝 페이지까지 순서대로 넘기면서 각 페이지의 후보자 전원에게 제안을 보낸다. 기존 검색 조건 파라미터는 건드리지 않고 페이지 번호만 바꾸는 방식이라, 사용자가 세팅한 필터가 그대로 유지된다.

     

    사용 흐름과 결과

     

    실제 사용 과정은 간단하다. 프로그램을 켜면 안내 문구와 함께 "Chrome Remote 실행" 버튼이 보인다. 이걸 누르면 크롬이 뜨고, 인크루트 검색 페이지가 자동으로 열린다. 사용자가 로그인하고 검색 조건을 맞추면 준비 끝. 프로그램으로 돌아와서 시작 페이지와 끝 페이지를 지정하고 시작 버튼을 누르면, 로그 창에 진행 상황이 실시간으로 찍히면서 제안이 하나씩 나간다. "포지션 제안 3/30 처리 중…", "발송 성공", "발송 실패: 열람 불가" 같은 메시지가 올라오고, 프로그레스 바가 페이지 단위로 차오른다.

    수작업으로 한 명당 30초~1분 걸리던 게, 프로그램이 알아서 단계를 밟으면서 처리하니까 사람은 그 시간에 다른 일을 할 수 있게 됐다. 10페이지면 300명인데, 수작업이면 반나절짜리 작업이 프로그램 돌려놓고 커피 마시러 갔다 오면 끝나 있는 수준이다. 무엇보다 클릭 실수로 엉뚱한 사람에게 제안을 보내거나, 같은 사람에게 두 번 보내는 일이 사라졌다. 발송 실패한 건은 로그에 남으니까 나중에 확인도 쉽다.

     

     

    마무리하며

     

    채용 플랫폼에서의 반복 작업은 생각보다 자동화 여지가 많다. 검색 조건 세팅이나 후보자 판단처럼 사람의 판단이 필요한 부분은 사람이 하고, 판단이 끝난 후의 반복 클릭은 프로그램이 대신하는 구조가 가장 현실적이다. 전부 맡기는 게 아니라, 단순 반복 부분만 깔끔하게 떼어내는 것. 비슷한 클릭 노가다에 시달리는 상황이라면, 그 패턴이 자동화 가능한 구조인지 한번 살펴볼 만하다.

Designed by Tistory.