Slide 1

Slide 1 text

Pluu Hyeonseok Noh KakaoBank I’m on the next level N.E.X.T LEVEL SCORE

Slide 2

Slide 2 text

Pluu Hyeonseok Noh Android Developer Google Developers Experts for Android KakaoBank 소개

Slide 3

Slide 3 text

LEVEL UP을 위해 미리 생각해볼 내용 ↘ ↘ ↘ ↘

Slide 4

Slide 4 text

01 나의 과거 취업 후의 목표 02 연차별 목표 03 INDEX 성장에 필요한 마인드 04

Slide 5

Slide 5 text

INDEX 나의 과거 LEVEL UP

Slide 6

Slide 6 text

경력 해외 취업 중소기업 현재

Slide 7

Slide 7 text

기다림 해외 취업 아웃서울 4년제 10년 x개월 9년 x개월

Slide 8

Slide 8 text

목표 : 더 나은 프로그램 방법론(?)을 배우자 • “프로젝트에서 배우면 될거야”라는 생각 • 파견회사에서 매번 다른 프로젝트에 투입 결론 : 하나의 기술을 쌓기에 한계가 존재

Slide 9

Slide 9 text

목표 : 부족한건 나 자신 슬럼프 시작 • 내세울 수 있는 기술은 무엇인가? • 학습량이 부족하다는 판단 결론 : ! 공부 공부 공부

Slide 10

Slide 10 text

잉여력 수집력 성실함 이해력 상태 체크 활용 가능 실력 부족

Slide 11

Slide 11 text

Fri. 25 MON 26 TUE 27 WED 28 THU 29 FRI 30 SAT 1/12 SUN November 29 2024 Android HTML Test & Coding 12W 3W

Slide 12

Slide 12 text

가능한 시간에 공부 출퇴근 이동 시 퇴근/주말 최소 2~4시간이상 Article Book Code

Slide 13

Slide 13 text

21일 22일 23일 24일 25일 26일 27일 28일 29일 10년 11년 12년 13년 14년 15년 16년 17년 18년 지속 가능한 수준

Slide 14

Slide 14 text

22일 23일 24일 25일 26일 27일 28일 29일 30일 1년 2년 3년 4년 5년 지속 가능한 수준 이직 대비 공부 용도

Slide 15

Slide 15 text

목표 : 배운 걸 응용해보기 • 개발자로 인정받던 시기 • “기술로 보답하고 싶다”의 생각 • 내 제품을 만든다라는 마음가짐 결론 : 지금까지 배운 것과 가진 것을 모두 쏟아부어 보기

Slide 16

Slide 16 text

목표 : 나도 배우고 싶다 • 안드로이드 기술 리드 역할 • 채워지지 않는 기술의 목마름 • 다음 Level Up을 위해서… 결론 : 더 배울 수 있는 회사로 이직

Slide 17

Slide 17 text

인생의 변곡점 IF NOW 선택에 따라서 큰 차이

Slide 18

Slide 18 text

주니어/미들 TRY (1~7th) •회사 프로젝트 •개인 공부 •개발 책 독서 •컨퍼런스 참여 새로운 시도를 했더라면? 더 어려운 작업을 했더라면? IF 경험 쌓기에만 시간을 보냄 결과 / 안전 추구

Slide 19

Slide 19 text

미들 TRY (8~10th) • 큰 프로젝트 설계 경험 • AND 테크 리더 • 불나방 팀 • 첫 내 제품 만들기 경험 개발 리딩 경험과 한층 더 일이 재미있던 시기

Slide 20

Slide 20 text

시니어 TRY (11~14th) • 대규모 설계 • 멀티모듈 도입 • IDE Plugin 개발 • 라이브러리 업데이트 이전 프로젝트 설계/테크 리딩 경험을 기반으로 한층 높은 수준을 올림

Slide 21

Slide 21 text

현재의 목표/TRY 개발자 • 개발 업무 • 신규 기술 공부 시니어 • 동료 성장 • 기술 조언 • 역할 위임 내가 잘 해야지 팀원에게도 새로운 기회가 간다.

Slide 22

Slide 22 text

INDEX 취업 이후의 목표 고민과 선택

Slide 23

Slide 23 text

나는 잘하는 게 없어. 저 사람보다 못해. 잘 맞는 것 찾아보기. 주제 하나를 Deep하게 파해쳐보기. 디버깅해보기. 쉬운 접근법 고민

Slide 24

Slide 24 text

https://pluu.github.io/blog/android/2020/03/15/savedstate-flow/ SavedState যڌѱ ੷੢غҊ ࠂਗؼө? 2020.03.15 DEEP했던 공부

Slide 25

Slide 25 text

https://pluu.github.io/blog/android/2020/03/15/savedstate-flow/ Google에서 제공하는 오픈소스로 내부 동작 파악

Slide 26

Slide 26 text

기본 개발 공부 기본 기본 지식 응용하는 방법 디버깅 동작 이해 • 내부 코드 분석 • 깊이 1단계 체크

Slide 27

Slide 27 text

동작 이해 fun main() { val list = (0..10) list.forEach { i -> print(i) } } @kotlin.internal.HidesMembers public inline fun Iterable.forEach(action: (T) -> Unit): Unit { for (element in this) action(element) } 코드 forEach 내부 코드

Slide 28

Slide 28 text

합류 후 새로운 시도의 적절한 시기 Photo : https://unsplash.com/photos/light-bulb-illustration-_kdTyfnUFAc NEW

Slide 29

Slide 29 text

새롭게 합류 여러분은 N명 팀에 합류 후 새로운 시도를 하려고 합니다.

Slide 30

Slide 30 text

뭔가 • 보여주고 싶다. • 바꾸고 싶다. • 의욕가득!! “이걸 해주면 좋아하겠지?” “이게 맞지!!”

Slide 31

Slide 31 text

+2,000 +2,000 -3,000 -3,000 NG WARNING WARNING WARNING WARNING WARNING ARNING WARNING WARNING WARNING WARNING WA

Slide 32

Slide 32 text

잘 동작하는 어려운 코드 메인테이너 1인 과연 좋은 것인가?!

Slide 33

Slide 33 text

기본적인 작업 로드맵 공유 큰 작업 작업 진행 N Y 할일 나누기 완료 작업 간단한 버전 PR / 리뷰

Slide 34

Slide 34 text

개선 작업 로드맵 공유 할일 나누기 PR / 리뷰 +10

Slide 35

Slide 35 text

신뢰감 형성 기술 이외 기술 영향력을 주는 입장이 되어야함

Slide 36

Slide 36 text

프로젝트 A 상 중 하 난이도 어려운 부분 단순+많은 분량 TASKS 단순 반복 개선 복잡도 개선

Slide 37

Slide 37 text

프로젝트 A 프로젝트의 한 부분 상 중 하 난이도

Slide 38

Slide 38 text

전체 프로젝트 프로젝트 내 개선할 부분 상 중 하 난이도

Slide 39

Slide 39 text

이해관계 Code Smell • 완벽한 코드 = 유니콘 • 바쁠때 작성한 결과물은 그에 걸맞는 퀄리티 • 리팩토링은 업무와 병행 • 현재 코드 = 여러 이해관계의 결과물

Slide 40

Slide 40 text

적절한 시기 Photo : https://unsplash.com/photos/people-sitting-on-chair-5U_28ojjgms 과정을 이해한 후 의미있는 작업과 Level Up은 입사 후 일정 시간이 필요

Slide 41

Slide 41 text

이직이란 새로운 NEXT JUMP

Slide 42

Slide 42 text

(본인 이름) 퇴사합니다. ↘ ↘ ↘ ↘ 흔한 이야기 = 우리 모두 해당됩니다.

Slide 43

Slide 43 text

권고사직 당했습니다. ↘ ↘ ↘ ↘ 이런 경험도?!

Slide 44

Slide 44 text

이직 사유 연봉 성장 사람 문제 경영 악화 기타 다양한 이유

Slide 45

Slide 45 text

킹갓머니 MONEY DRIVEN DEVELOPMENT

Slide 46

Slide 46 text

회사 선택 기준 연봉 대기업 ? 동료 기술 성장 (전문성, 타 기술) 다양한 경험 (메인 기술 이외)

Slide 47

Slide 47 text

? 연봉 다양한 경험 (메인 기술 이외) 대기업 동료 기술 성장 (전문성, 타 기술) 다음 목표를 위한 회사 선택시 우선순위 고려.

Slide 48

Slide 48 text

INDEX 연차별 목표 역할과 가치

Slide 49

Slide 49 text

연차별 기대 및 관심사 0 50 100 주니어 미들 시니어 기술 리더 기술 매니저 기술 커뮤니케이션

Slide 50

Slide 50 text

Junior Developer 연차별 목표 기본 습득 • 언어와 도구에 대한 숙련도 • 기본 알고리즘과 자료구조 이해 코드 품질 향상 • 코드 리뷰 참여 • 테스트 작성 팀워크 및 커뮤니케이션 • 효과적인 커뮤니케이션 • 애자일/스크럼

Slide 51

Slide 51 text

Mid-level Developer 연차별 목표 문제 해결 능력 향상 • 복잡한 문제 해결 • 디버깅 스킬 향상 • 전문성 강화 소프트웨어 설계 및 아키텍처 • 시스템 아키텍처 설계 • 대규모 서비스 경험 멘토링 및 리더십 • 주니어 멘토링 • 프로젝트 리딩

Slide 52

Slide 52 text

Senior Developer 연차별 목표 기술 리더십 • 아키텍처 설계 및 결정 • 기술 방향성 선정 조직의 기여 • 프로세스 개선 • 타 팀간의 협업 동료의 성장 • 지식 공유 • 스킬 조언 • 멘토링

Slide 53

Slide 53 text

준비의 필요성 • 주니어/미들/시니어 기간은 대략 5년 단위 (분야에따라 차이는 있음) • 준비 안된 상태로 역할을 받기도 함 • 동료/상사의 부재 및 이탈 • 이직 • 팀 변경 Photo : https://unsplash.com/photos/woman-in-black-long-sleeve-shirt-reading-book-gLNBpYGzQ-U

Slide 54

Slide 54 text

다음 LEVEL 준비 주니어 미들 시니어 준비 / 연습 / 기여로 반복 연습

Slide 55

Slide 55 text

목표 단계 지정 1 2 3 4 5 현재 업무 난이도 다음 업무 난이도 2 3

Slide 56

Slide 56 text

목표 단계 지정 업무 난이도를 "적당~약간 어려움"으로 업무를 선택 쉬운 것은 몸은 편하지만, 전문성 부족으로 점차 경쟁력이 떨어짐 현재 업무 난이도 다음 업무 난이도 2 3

Slide 57

Slide 57 text

큰 결과를 위한 노력 회사 개인 회사 ⍺ ⍺ ⍺ ⍺ 기본 기본 ⍺ ⍺ 기본

Slide 58

Slide 58 text

실패하면 어떻게 해요? 성공만 할 순 없으므로 최소한으로 실패하기. 동료 피드백 받기. 실패를 극복하는 연습.

Slide 59

Slide 59 text

INDEX 성장에 필요한 마인드 변화하는 나

Slide 60

Slide 60 text

오해와 진실 TRUTH

Slide 61

Slide 61 text

흔한 오해 회사에 들어가면 나도 저렇게 성장?! 회사는 이익을 위한 일을 할 뿐. 성장은 본인의 몫

Slide 62

Slide 62 text

win-win 회사 개인 성장 업무 ⇒ 개인의 성장 기회 업무 ⇒ 기업의 이익

Slide 63

Slide 63 text

I/O A B C D E 기술 A/B/C/… 커뮤니케이션 매니지먼트 ┋ A D 후보 1 후보 2

Slide 64

Slide 64 text

이상적인 흐름 Plan Issue Develop Review Refactoring

Slide 65

Slide 65 text

개선의 필요성 Plan Issue Develop Review Refactoring 한번에 완벽한 작업 및 대비는 어려우므로 유연한 자세가 중요

Slide 66

Slide 66 text

지식 재검토 Photo : https://unsplash.com/photos/man-wearing-white-top-using-macbook-1K9T5YiZ2WU

Slide 67

Slide 67 text

지식 알고 있던 믿고 있던 과 다르게 동작한다면?

Slide 68

Slide 68 text

정답 이 아니라고 생각한 것 이라고 생각한 것 문제 해결의

Slide 69

Slide 69 text

작성할 코드 선택 아니라고 믿은 것 믿은 것 코드량/복잡도 단순 ⎮ ⎮

Slide 70

Slide 70 text

재검토 처음부터 다시 체크 • 작은 샘플로 확인 • 스펙이 변경되었는가? • 언어/라이브러리 버그인가? • 사용한 코드 버그인가? 믿음의 진실은? • 맹목적인 믿음인가? • 검증된 믿음인가?

Slide 71

Slide 71 text

정답은 존재하지 않음. 결정은 이후에 판단. Q. 그래도 한 번 해볼까?

Slide 72

Slide 72 text

변화해야만 하는 것 TEAM Photo : https://unsplash.com/photos/penguins-standing-on-rock-formation-PzAmR_Nt7KM

Slide 73

Slide 73 text

자부심 비전공자 개발자도 많음 • 잘하는 사람이 잘할 뿐 제품 개발에 다양한 직군이 참여 • 개발자/비개발자 모두 같은 신분 자부심/자존심은 자신의 감정 • 우월주의 "#

Slide 74

Slide 74 text

Formula 1 모두 드라이버가 될 수 없음 • 자격 소유 • 더 적절한 다른 직무 • 원하는 분야가 다름 팀이 성공해야 기회가 생김 일부만 주목받더라도 상처입을 필요 없음

Slide 75

Slide 75 text

모르는데요? 모든 것을 다 알 순 없음. 다 가질 수 없음. 모를 땐 “모르는데요”라고 말하기. • 말 못하는 것은 자존심인가? 다른 이유인가? 같이 채워줄 문화/사람이 중요

Slide 76

Slide 76 text

슬럼프 / 번아웃 기간 목표로 향하는 이유 굳은 의지 Photo : https://unsplash.com/photos/empty-road-surrounded-with-trees-with-fog-5FHv5nS7yGg

Slide 77

Slide 77 text

과욕은 금물 무리한 노력은 금방 식음 • 체력 소진, 번아웃 • 장기간 유지할 수 있는 수준의 목표 슬럼프 • 실력 정체기 (제 기준 2년) • 무력감

Slide 78

Slide 78 text

슬럼프 극복 의지할 사람 (친구, 연인, 멘토, 가족 등) 단순히 업무를 즐기기 취미, 색다른 경험 ⎮

Slide 79

Slide 79 text

슬럼프도 어느샌가 끝나있었다. 슬럼프도 어느샌가 끝나있었다. 슬럼프도 어느샌가 끝나있었다. 이겨내기보다 편하게 지내기 이겨내기보다 편하게 지내기 이겨내기보다 편하게 지내기

Slide 80

Slide 80 text

요즘 힐링 및 휴식 수단

Slide 81

Slide 81 text

INDEX SUMMARY

Slide 82

Slide 82 text

SUMMARY • 목표 선정 = 배워야 할, 선택해야 할 항목 선정 가능 • 다양한 기회의 순간을 스스로 잡기 • 해볼 수 있는 만큼 해보기

Slide 83

Slide 83 text

각자의 사명이 있고, 여러분에게는 여러분의 사명이 있다.

Slide 84

Slide 84 text

선배 개발자들의 의지를 이어받아 여러분들의 이야기로 채워보세요.

Slide 85

Slide 85 text

이 자리의 참석자분들이 다음 세대의 씨앗입니다.

Slide 86

Slide 86 text

Thank you http://pluu.github.io pluulove [email protected]