카일 스쿨 1주차

Hits

  • #1. 우리는 왜 일하는가?
  • #2. 어떻게 해야 일을 더 잘할 수 있을까?
  • #3. 번아웃
  • #4. 맥북 스마트하게 사용하기
  • 기술을 알려주는 것이 당장은 유용할 순 있지만, 이런 기초 내용이 더 중요한 것 같아요-
    • 다음 시간부터 Pandas, Visualization 등 알려드림

#1. 우리는 왜 일하는가?

  • 보통 회사에서 잘 이야기하지 않는 내용
  • 여러분들은 "왜" 일하시나요?
  • "무엇을", "어떻게"에 대한 내용은 많이 알지만, "왜" 일을 하는가에 대해선 고민하는 사람들이 적은듯
  • 돈 벌기 위해서 일 합니다 (X)
    • 이건 "왜"가 아닌 일한 결과
  • "왜" : 일 하는 목적, 동기, 신념
  • 우리는 "왜" 아침에 침대에서 일어나 하루 종일 무언가에 집중할까?
  • "왜"가 "왜" 중요한가요?
    • 무엇을 부터 말하는 경우 vs 왜 부터 말하는 경우

"무엇을"부터 말하는 사례

  • (사장님) 얼굴 인식 딥러닝 모델 만듭시다!
  • (사장님) CNN 사용하면 어떨까요?
  • (사장님) 얼굴 인식해서 카메라에서 얼굴 인식 필터를 만들 수 있어요!

"왜" 부터 말하는 사례

  • (사장님) 뭔가 재미있는 것 없을까요? 사람의 얼굴을 인식해서 필터를 만들면 어떨까요?
  • (사장님) 얼굴 인식 딥러닝 모델 만듭시다!
  • (사장님) CNN 사용하면 어떨까요?
  • 왜가 앞에 있는지, 뒤에 있는지가 중요하고 How와 What은 상황에 따라 변할 수 있음
  • 당신의 왜는 무엇인가요?
    • 무엇을 얻고 싶은가?
    • 내가 좋아하는 것은?
    • 본인이 좋아하고, 흥미로워 하는 것이어야 금방 질리지 않고 오래 할 수 있음
  • 우리의 왜를 바꿔서 표현해보자
    • 데이터 분석가 / 데이터 사이언티스트 : 비즈니스 분석을 해서 "인사이트"를 얻는다 + 모델링 + ETC
  • 휴 너무 거창하고 어렵고 힘든 일 같다(인사이트란 무엇인가?..)
  • 좀 더 구체적으로 작성하면
    • 1) "논리적"으로 "의사결정"한다 (비즈니스 분석)
    • 2) 새로운 기술로 다른 사람들이 경험하지 못한 것들을 "해낸다" (딥러닝)
    • 3) 같은 조직의 개발적 이슈를 "돕는다" (데이터 엔지니어링)
  • 카일은 "왜" 일하시나요?
    • 저도 매번 생각하고 있습니다
  • 제 왜는 "돕는다"
    • 바로 제 근본 내적 동기
    • 데이터를 활용해 타인의 의사결정을 돕는다
    • 다른 사람의 개발 이슈를 빠르게 해결할 수 있도록 돕는다
    • 팀원을 성장할 수 있도록 돕는다
    • 돌이켜 보면 게임할 때 서포터를 주로 했음
    • 남을 돕기 위해 하다보니 "블로그"에 글 씀
    • 남만 돕는게 아니라 3개월 뒤 나를 위해 글 씀
  • 명성? 돈? 이런걸 원하는 것은 아니고 그냥 돕다보니-
  • 여러 분들의 왜를 생각해보기
    • 마케팅 관점에서 왜가 아닌, 나 자신에 대해서
    • 나의 라이프 스타일, 성향이 조금씩 보일 것
    • 난 어떤 사람인지?
  • 짧은 정리
    • 당신의 왜가 잘 되어있다면, How, What은 빠르게 결정할 수 있을 것
    • 길게 보려면 "왜"에 대한 생각 해보기
    • 이런 생각이 결국 일할 때도 영향을 줌

#2. 어떻게 해야 일을 잘할 수 있을까

  • 학생일 땐
    • 스펙, 학점, 대외 활동 등으로 그 사람을 평가하는 경향이 있음
  • 하지만 회사에선?
  • 일을 잘한다는 것의 정의는?
    • 포지션에 따라 다름
      • 인턴 / 일반 직원 / 팀장 / 임원
    • 자신이 가진 고유 특성(잘하는)이 있을거에요
      • 일반 직원으로 일을 잘한다고 해서 팀장이 되면, 그게 팀장 관점에서 일잘러는 아님
    • 따라서 본인이 잘하는 것을 잘 인지해두는 것이 좋음
  • 다시 돌아와서 일잘러란
    • 1) 회사에서 인정받고
    • 2) 생산성이 높고
    • 3) 커뮤니케이션이 잘되는
    • 4) 디테일까지 챙기는
  • 제가 생각하는 주요 Feature
    • 1) 기록하는 습관
    • 2) 계속 학습하고 Output 정리
    • 3) 일정 관리
    • 4) 자기 회고, 반성하는 태도
    • 5) 문제 정의 능력
    • 6) 원활한 커뮤니케이션
    • 7) 적절한 일의 분배
    • 8) 사람에 대한 이해
    • 9) 변화에 빠른 적응
    • 10) 디테일
    • 11) 자신에 대한 컨트롤

1) 기록하는 습관

  • 이건 너무 많이 말함
  • 회사에선 기록이 중요. 회의록도 있지만, 대화하며 아이디어 얻는 것. 다른 사람의 지식 등
  • 어차피 사람들은 1-2달 뒤엔 기억나지 않는다
  • 미래의 나를 위한 기록
  • 3달 전에 한거 뭐였죠? => 기억이 안난다 => 메모 안했네요;; 보단 => 아 메모에서 찾아보니 이거네요!

2) 계속 학습하고 Output 정리

  • IT 업계는 너무 빠르게 변함. 특히 데이터쪽은 더더더
  • 열심히 공부하는 Input도 중요하지만 Output을 통해 장기 기억으로 전환하는 것이 중요함
  • 블로그에 정리하거나, 사내 발표 등
  • 고민하며 얻는 내용은 빠르게 사라지지 않음

3) 일정 관리

  • 우리는 시간이란 제약 조건이 있는 현실에서 살고 있음
    • 사람들과의 약속, 우리의 업무는 모두 시간이 제한되어 있음
  • 업무에 있어서 진행 일정을 머리속에 두고 그 일정대로 하려고 노력하기
    • 처음에 일정 수립이 어려울 수 있음 => 자신이 생각하는 것에서 +3일 정도(보통 자신을 과신함)
    • 진행하다 이슈가 있다면 바로 보고해서 조정. 단, 합당한 근거로 진행되도록
  • 학습과 일정 관련해서 직장을 다니면 개인 공부할 시간이 크지 않음
    • 하루에 많이 해봤자 평일 2-3시간이 맥스 => 그렇다면 내가 한정된 시간을 가지고 어떻게 공부할까? 고민하면 좋음

4) 자기 회고, 반성하는 태도

  • 자신에 대해 주기적으로 반성하는 태도는 매우 좋음
  • 필요시 상급자에게 자신이 어떤 식으로 보이고 있는지 솔직하게 피드백 요청해서 듣는 것도 좋음
    • 피드백을 기반으로 더 개선. 단점이 있으면 보완하면 된다. 단점 없는 사람이 어디 있는가
  • 메타 인지(자신에 대한 인지) : 내가 뭘 알고, 뭘 모르는지를 알 수 있음
  • 부족한 점이 무엇인지 정확히 말해줄 수 있는 상급자가 필요할 수도 있지만, 아니라면 일하는 동료 혹은 자신이 직접 할 수도 있음

5) 문제 정의 능력

  • 추상적 문제를 어떻게 구체화할 것인가?
    • 문제를 받을 땐 구체적이지 않고 대충 오는 경우도 있음
  • 지금 무슨 일이 필요하고, 전체 맥락 속에 어떤 일이 필요한지?
    • 우선순위까지 고려하면 더욱 좋음
  • 개떡같이 말했는데 찰떡같이 문제 정의하는 사람 (이건 이해력과도 관련있는 부분)

6) 원활한 커뮤니케이션

  • 자신의 생각을 어떻게 전달할 것인가?
    • 우선 이해를 잘 해야하고, 상대방과 태도를 잘 고려해야 함
  • 열린 태도. 상대방의 의견을 듣고 바로 반박이 아닌 일단 들어본 후, 그렇다면 어떨까요?의 화법
    • "왜?" 부터 질문이 시작되야 함 => 왜 하는지 이해하기
  • 생각보다 사람들의 머리에 있는 내용이 다 다르다
    • 항상 지금 진행하는 일의 "목적"이 뭔지 물어보기
    • 자신의 목적과 다르다면 같은 방향으로 가도록 조정
  • 경력이 많다고 해서 무조건 올바르진 않음
    • ~~~~ 라는 이유로 전 A가 더 좋다고 생각하는데, 왜 B가 더 좋다고 생각하시나요? 이런 대화
  • 결국 상대방의 "맥락"을 듣고, 이해할 줄 알아야 함

7) 적절한 일의 분배

  • 모든 일을 혼자 하지 않는다
  • 필요하면 주변 사람이 같이 할 수 있도록 동기부여
  • 사람마다 흥미를 갖는 포인트가 있음. 그걸 기반으로 진행
  • 최고의 원맨은 없음. 팀 플레이. 팀 단위로 진행해 성과를 개선

8) 사람에 대한 이해

  • 눈치라고 볼 수도 있음
    • 이 사람은 어떤 성향이구나, 자존심이 강한 타입이구나. 이럴 경우엔 자존심을 치켜 세우며 대화하는 화법이 좋겠다
    • 이 사람은 평소엔 차분하고 이성적이지만 한번 분노하면 크게 분노할 것 같다. 그 선을 절대 넘지 말자
    • 이 사람은 감정의 기복이 심한 사람이구나. 단점에 대해 이야기할 땐 왜 이 이야기를 하는지, 그리고 이 이야기가 혼내는 것이 아닌 당신을 더 성장시켜주기 위함이라는 것을 이야기하고 단 것을 먹이자

9) 변화에 빠른 적응

  • 새로운 무언가가 나왔을 때 빠르게 적응할 수 있는 능력
  • 우리로 치면 수학, 영어, 코딩 등
    • 기초 운동이 잘 되어있지 않다면, 컴퓨터 사이언스 지식 또는 통계학 또는 수학을 다시 공부하는 것도 추천

10) 디테일

  • 결국 마지막은 디테일
  • 데이터 분석에서도 디테일, 작은 가정 하나 하나 체크
  • 필요시 코드로 자동화할 수도
  • 칸반 작성하는 것도 중요!
    • 아무것도 모르는 사람이 보고 잘 이해할 수 있는 흐름 + 근거
  • 디테일을 잘 챙기는 모습을 계속 보이면 사람에 대한 신뢰감이 생김
    • 디테일을 계속 놓치면 사람에 대한 신뢰감이 낮아질 수 있음

11) 자신에 대한 컨트롤

  • 결국 자신을 잘 컨트롤할 수 있어야 함
  • 자존감, 자아에 대해 잘 파악하고
  • 누구나 힘든 시기가 있고, 특히 일하기 싫은 날이 있다
    • 이런 날은 억지로 일하기보다 차라리 휴가내고 어딜 가서 쉬거나
    • 하고 싶은 것을 한다거나(저는 요새 게임함)
  • 난 언제 일이 잘 되는지? 파악해봄
    • 저는 콜라를 마시고 서서 이어폰 꽂으면 퍼포먼스가 높음을 파악함
    • 첫 회사에서 엑셀에 시간대별로 집중한 것을 사후적으로 분석함 => 어떻게 더 집중할 수 있는가?

저는 이렇게 합니다

  • 시간 관리
    • 캘린더에 일정을 적어둠 => 그걸 지키려고 노력함
    • 일정에 우선 순위가 반영됨

  • 업무 고민
    • 아침에 해야될 일을 고민하고 하루에 할 일을 너무 많이 설정하지 않음(최대 5개 정도)
  • 집중 시간
    • 사람마다 오전/오후 퍼포먼스가 높은 시간이 있음
    • 오전에 퍼포먼스가 낮음(천천히 올라오는 스타일) => 이 땐 메일이나 면접 서류 평가 등을 진행, 칸반 파악
  • 반복되는 업무는 최대한 템플릿화
    • 반복이 귀찮습니다
    • 노션 칸반 템플릿 활용
    • 코드도 클래스화
  • 공유하기
    • 자신만 알지 말고, 다른 사람들도 알기 쉽게 만들어서 공유
  • 오지랖 부리기
    • 다른 사람의 업무에 관심 가지기. 내가 도움줄 수 있는 부분이라면?
    • 주변에서 진행한 일이 이미 우리가 한 것일수도 있고, 다른 팀에서 진행했을 수도 있음
    • 회사 세미나, 회사 소개 등
    • 테크 블로그를 운영
    • 데이터 그룹 스터디 만들기, 카일 스쿨 만들기 등
  • 짧은 요약
    • 자신만의 방식으로 자신이 하는 일의 수준을 더 높이자 :)
    • 조금씩 작은 습관이 쌓여 크게 발현됩니다-!

#3. 번아웃

  • 번아웃 : 이미 경험해봤을 수도 있음
  • 학생일 때 번아웃은 그냥 자거나, 방학이 어느정도 해소시켜줌
  • 허나 회사, 사회에서 번아웃은 좀 다름
    • 번아웃에 걸리면 ~퇴사를 해야할까~ 고민하게 됨
    • 따라서 적당하게 번아웃을 조심하는게 매우 중요
  • 저는 번아웃을 여러번 경험함
    • 많이 경험하다보니 이제 제가 무리하면, 아 이쯤에서 더 하면 내가 힘들듯?이란 생각이 듬
    • 따라서 주간으로 내가 야근한 빈도 등을 체크해서 조절하면 좋음
  • 야근을 많이 하면 번아웃이 빨리 올까?
    • "왜"와 "어떤 것"을 하냐에 따라 달라짐
    • 우리가 집중하고 몰입하고 싶은 것으로 야근하면 매우 힘들지 않음
    • 예시) 아 코드 오늘 다 짜야지 슝!!!
    • 개인의 성장에 도움이 되는 야근이라면 그게 번아웃에 큰 영향은 아닐 것
    • 결국 번아웃은 자신이 생각과 조직의 방향성이 달라서 생길 확률이 높음
    • 주기적으로 팀 매니저에세 이야기해서 번아웃을 조절하는 것도 중요
  • "적당히" 합시다
  • 자신만의 스트레스 / 휴식 방법은?
    • 단순히 잔다, 쉰다 말고
    • 아 이거하면 개꿀잼ㅋ 몰입되네 <- 라는 것이 있는지?
      • 저는 공부인 줄 알았는데, 공부가 그냥 습관이 된거임. 스트레스 풀리진 않음
      • 그냥 자기도 했는데 그게 풀린다기 보다 그냥 자는거임. 체력이 차는?
      • (전 요새 그래서 포켓몬함)
      • 사람 만나는 것도 좋긴한데 너무 과하면 피곤
  • 여러 분들이 지금 회사에서 번아웃을 겪지 않길,

#4. 맥북에서 사용하면 좋은 것들

  • 여태까지 진지한 내용 ㅈㅅ
  • 오늘은 개발 환경과 맥북에서 사용하면 좋은 것들을 소개할 예정
  • 개발 프로젝트는 ~/workspace 디렉토리 아래에 관리함

Terminal

  • iTerm2 + Zsh + Oh my zsh을 사용합니다
  • 설치 방법은 이준범님의 블로그 참조 :)
  • Git Branch 명시적으로 보임
  • 창 분할 가능

  • 스펠링 확인 기능
$ setopt correct                         # 스펠링 확인 기능 셋팅
$ pthon                                  # 잘못된 명령어 입력시
zsh: correct 'pthon' to 'python' [nyae]? # 예상되는 추천 명령어 제시함
  • 자동 완성 기능

  • 클립보드 이력 보기

  • Tab을 누를시 자동으로 소문자 => 대문자 변경함

  • 과거에 입력한 명령어를 다시 선택하기
    • history | grep 단어 : 이건 3주차에서 쉘 스크립트쪽에서 자세히 설명
    • !번호 를 입력하고 스페이스 누르면 다시 입력됨

bash vs zsh

  • Mac에 bash가 깔려있는데 zsh은 뭘까요?
    • bash가 원조
    • zsh가 그 이후에 나온 친구 + 활발한 커뮤니티
    • (번외) fish shell도 있음
    • Mac OS 카탈리나부터 Zsh이 Default shell이 zsh로 변경됨
    • 쉘이 무엇일까?는 쉘 스크립트편에서 다룸

Macbook 터치바 커스텀하기

  • 시스템 환경설정 > 키보드 > Control Strip 사용자화 클릭

Spectacle

  • 창 분할하기

Pomodoro One

  • 뽀모도로
    • 1980년대에 제안된 시간 관리 방법으로, 토마토 모양의 요리용 타이머로 시간을 재서 사용하던 것에서 유래
    • 원칙은 매우 간단. 25분간 집중해서 일을 한 다음, 5분 간 휴식

PhotoScape X

  • 이미지를 간단히 편집할 때 좋은 도구

Karabiner-Elements

Tree

  • 터미널에서 폴더 및 파일을 트리 View로 보여줌
  • 설치

      brew install tree
  • 사용

      tree -L 1 # 숫자는 Tree의 Depth

Alfred

  • 맥에 기본적으로 Spotlight가 내장되어 있지만 기능이 부족
  • 저는 유료로 쓰고 있음
  • 주요 특징
    • 검색 기능
    • 창 크게 하기
    • 클립보드 보관
    • 키워드 치환(ex: DELETE => DELETE ~ FROM TABLE)

Mac 설치 스크립트

  • 위에서 소개한 도구들을 맥북 새로 받을 때(혹은 포맷할 때마다) 다시 하나씩 설치?
  • Bash 스크립트를 만들어두면 좋음
  • Github 참고

이번 주 숙제

  • 자신이 "왜" 일하는지 생각해보기
    • DM으로 주셔도 좋고, 안주셔도 좋고
  • Mac을 더 스마트하게 사용하기 위한 도구 설치
    • 제가 알려드린 것 말고도 많음
    • 맥 생산성 도구 이런 내용으로 검색해보고 설치

다음 주 내용

  • Pandas
    • NYC 택시 데이터를 활용해 간단한 전처리
  • Data Visualization
    • Pydeck을 활용한 지리 데이터 시각화

  • ipywidget을 사용한 Interactive 시각화

  • cufflink를 사용한 Interactive 시각화

  • Seaborn을 활용한 시각화

In [ ]: