내 인생 문제 해결하기 (2/2)

내 인생 문제 해결하기 (2/2)


3개월 만에 업데이트를 하게 되다니… 그래도 나름 생산적으로 시간을 보냈으니까 괜찮다! 난 떳떳하다. 아무튼 그동안 많은 생각을 했으니 이어서 정리를 해봐야지.




Step 4: 문제 분석 및 워크 플랜

저번에 기억하기로는 문제 분석을 위해서 세 가지 Approach를 생각했었다:

다음 커리어 목표의 부재

  • 전략 업무를 가진 사람들은 어떤 길을 걸어왔고 어떤 직무를 거쳐왔으며 현재 어떻게 일을 하고 있는 지를 파악 (지원공고 같은 것을 뒤져보자)
  • 현재까지 내가 어떤 일을 해왔는지 포트폴리오 식으로 적어보자. 그리고 다른 전략 직무의 사람들은 이력서를 어떻게 썼는지 Linkedin을 통해서 확인해보자.
  • 데이터 분석 공부를 했지만, 현재 컨설팅, 전략팀에서 일을 하고 있는 분들 또한 있는지 찾아보자. (없으면 내가 개척해야지!!!!)


Step 5: 분석 수행

Linkedin을 통해서 Data Analyst 포지션을 맡은 사람들의 이력을 살펴봤다.


Step 6: 시사점 파악 및 인사이트 도출

Linkedin의 여러 사람들의 이력서를 살펴본 결과 전공과 전혀 무관한 길을 걷는 사람과 직무가 바뀐 사람이 굉장히 많았다. 또한 최근에 연락이 닿은 학회 지인은 어렵게 공채로 들어간 대기업을 퇴사하고 프론트엔드 공부를 하여 스타트업의 개발자로 취직을 했다는 소식을 전했다. 어떻게 보면 당연한 얘기겠지만, 하던 일이 맞지 않은 사람들은 공통적으로 퇴사를 빨리 결심했고 재취업을 위해 교육을 더 받거나 자격증을 취득하는 노력을 한 것으로 보였다.


Step 7: 해결책 및 제안 도출

애초에 해결책은 간단했다.

“이직”

굳이 전략 직무에 몸을 담을 필요 없이, 데이터 분석을 더 능동적으로 하고 관련 툴을 활용하는 환경으로 가면 되는 것이었다. 어쩌면 나는 달콤한 월급의 노예가 되어 도전을 두려워한 것 같다.

맥킨지의 7단계 문제 해결 프로세스는 여기서 끝난다. 해결책을 어떻게 수행할 것인가에 대한 고민은 프로세스 내에 없다.


Step 8: 해결책 실행!

이직을 위해 간단하게 Data Analyst 채용 공고부터 훑어보기로 했다. 오랜만에 코드 짜려니까 뚝딱뚝딱 거리긴 했는데, 그래도 아직 실력 안죽었네! 요즘 핫한 원티드에서 Data Analyst 채용 공고를 크롤링 해왔다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
from selenium import webdriver
import time
import pandas as pd

def wanted_job_descrip_parser(link):
    driver.get(link)
    time.sleep(3)
    job_info = driver.find_elements_by_tag_name("h6")[1:-1]
    info_list = []
    for info in job_info:
        info_list.append(info.find_element_by_xpath("./following-sibling::p").text.strip())
    return info_list

url = "https://www.wanted.co.kr/wdlist/507/656?country=kr&job_sort=job.latest_order&years=-1&locations=all"
driver = webdriver.Chrome("/Users/nowgeun/Desktop/chromedriver")
driver.get(url)

# Scroll to the bottom
SCROLL_PAUSE_TIME = 2.5

# Get scroll height
last_height = driver.execute_script("return document.body.scrollHeight")

while True:
    # Scroll down to bottom
    driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")

    # Wait to load page
    time.sleep(SCROLL_PAUSE_TIME)

    # Calculate new scroll height and compare with last scroll height
    new_height = driver.execute_script("return document.body.scrollHeight")
    if new_height == last_height:
        break
    last_height = new_height

# Create empty dic & list to save data
current_jobs = {}
title = []
company = []
link = []

print("데이터 추출 시간: {}".format(time.ctime()))

# Locate job element cards 

joblist_element = driver.find_element_by_css_selector("#__next > div > div._1yHloYOs_bDD0E-s121Oaa > div._2y4sIVmvSrf6Iy63okz9Qh > div > ul")
job_description_elements = joblist_element.find_elements_by_tag_name("li")

for job_description in job_description_elements:
    title.append(job_description.find_element_by_tag_name("a").get_attribute("data-position-name"))
    company.append(job_description.find_element_by_tag_name("a").get_attribute("data-company-name"))
    link.append(job_description.find_element_by_tag_name("a").get_attribute("href"))

current_jobs["title"] = title
current_jobs["company"] = company
current_jobs["link"] = link

df = pd.DataFrame(current_jobs)

task = []
qualification = []
preferred = []

for job_link in link:
    details = wanted_job_descrip_parser(job_link)
    task.append(details[0])
    qualification.append(details[1])
    preferred.append(details[2])

df["task"] = task
df["qualification"] = qualification
df["preferred"] = preferred

# export to csv
df.to_csv("data_analyst_wanted_job_description.csv")


대충 데이터 테이블은 이렇게 생겼다:

대강 EDA를 해봤는데 Data Analyst의 수요는 정말 많은 것으로 보인다.

평균적으로 회사당 2~3개의 포지션을 채용하고 있으며, 총 131개의 회사가 Wanted에 공고를 등록했다. 그리고 쿠팡이 16개 정도로 현재 가장 많은 데이터 분석 채용 공고를 올렸다.

자세한 건 PDF 참고.


앞으로는 이직을 위한 준비를 해야겠다는 마음을 먹었다. 손을 놨던 Python, R 코드도 다시 짜보고, SQL 예제도 코딩테스트 사이트에서 간간히 풀어봐야겠다.


Think next iteration:

다음 인생 문제: “어디로 이직을 하면 좋을까?”

comments powered by Disqus