Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
N.E.X.T LEVEL
Search
pluulove (노현석)
November 29, 2024
Programming
2
270
N.E.X.T LEVEL
"GDGoC SeoulTech"에서 발표한 "N.E.X.T LEVEL" 발표 자료입니다
pluulove (노현석)
November 29, 2024
Tweet
Share
More Decks by pluulove (노현석)
See All by pluulove (노현석)
안드로이드 기술 이력서의 최소 조건
pluu
1
1.9k
I/O Extended Android in Korea 2024 ~ Whats new in Android development tools
pluu
0
530
Android Studio와 좀 더 친해지기
pluu
0
120
우리모두 삽질한다
pluu
0
1.3k
Re:Android Studio 설정 살펴보기 및 생산성 올리기
pluu
0
1.5k
What's new in Android development tools
pluu
1
840
What's new in Android development tools
pluu
1
410
개발자 Side Next Step ~ 커뮤니티 x Android
pluu
2
250
Modern Android Developer ~ 안내서
pluu
1
3k
Other Decks in Programming
See All in Programming
似たもの同士のPerlとPHP
uzulla
1
110
アニメーションを最深まで理解してパフォーマンスを向上させる
mine2424
0
120
TypeScript でバックもやるって実際どう? 実運用で困ったこと3選
yuichiro_serita
17
7.6k
なまけものオバケたち -PHP 8.4 に入った新機能の紹介-
tanakahisateru
1
100
Refactor your code - refactor yourself
xosofox
1
200
型のインスタンス化は非常に深く、無限である可能性があります。
kimitashoichi
0
160
The Efficiency Paradox and How to Save Yourself and the World
hollycummins
1
340
Jakarta EE meets AI
ivargrimstad
0
1.1k
RWC 2024 DICOM & ISO/IEC 2022
m_seki
0
150
事業成長を爆速で進めてきたプロダクトエンジニアたちの成功談・失敗談
nealle
3
1.3k
Keeping it Ruby: Why Your Product Needs a Ruby SDK - RubyWorld 2024
envek
0
130
これでLambdaが不要に?!Step FunctionsのJSONata対応について
iwatatomoya
2
2.4k
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
169
14k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7k
The Language of Interfaces
destraynor
154
24k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
247
1.3M
Making Projects Easy
brettharned
116
5.9k
How to Think Like a Performance Engineer
csswizardry
21
1.2k
Git: the NoSQL Database
bkeepers
PRO
427
64k
How GitHub (no longer) Works
holman
310
140k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Making the Leap to Tech Lead
cromwellryan
133
9k
Transcript
Pluu Hyeonseok Noh KakaoBank I’m on the next level N.E.X.T
LEVEL SCORE
Pluu Hyeonseok Noh Android Developer Google Developers Experts for Android
KakaoBank 소개
LEVEL UP을 위해 미리 생각해볼 내용 ↘ ↘ ↘ ↘
01 나의 과거 취업 후의 목표 02 연차별 목표 03
INDEX 성장에 필요한 마인드 04
INDEX 나의 과거 LEVEL UP
경력 해외 취업 중소기업 현재
기다림 해외 취업 아웃서울 4년제 10년 x개월 9년 x개월
목표 : 더 나은 프로그램 방법론(?)을 배우자 • “프로젝트에서 배우면
될거야”라는 생각 • 파견회사에서 매번 다른 프로젝트에 투입 결론 : 하나의 기술을 쌓기에 한계가 존재
목표 : 부족한건 나 자신 슬럼프 시작 • 내세울 수
있는 기술은 무엇인가? • 학습량이 부족하다는 판단 결론 : ! 공부 공부 공부
잉여력 수집력 성실함 이해력 상태 체크 활용 가능 실력 부족
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
가능한 시간에 공부 출퇴근 이동 시 퇴근/주말 최소 2~4시간이상 Article
Book Code
21일 22일 23일 24일 25일 26일 27일 28일 29일 10년
11년 12년 13년 14년 15년 16년 17년 18년 지속 가능한 수준
22일 23일 24일 25일 26일 27일 28일 29일 30일 1년
2년 3년 4년 5년 지속 가능한 수준 이직 대비 공부 용도
목표 : 배운 걸 응용해보기 • 개발자로 인정받던 시기 •
“기술로 보답하고 싶다”의 생각 • 내 제품을 만든다라는 마음가짐 결론 : 지금까지 배운 것과 가진 것을 모두 쏟아부어 보기
목표 : 나도 배우고 싶다 • 안드로이드 기술 리드 역할
• 채워지지 않는 기술의 목마름 • 다음 Level Up을 위해서… 결론 : 더 배울 수 있는 회사로 이직
인생의 변곡점 IF NOW 선택에 따라서 큰 차이
주니어/미들 TRY (1~7th) •회사 프로젝트 •개인 공부 •개발 책 독서
•컨퍼런스 참여 새로운 시도를 했더라면? 더 어려운 작업을 했더라면? IF 경험 쌓기에만 시간을 보냄 결과 / 안전 추구
미들 TRY (8~10th) • 큰 프로젝트 설계 경험 • AND
테크 리더 • 불나방 팀 • 첫 내 제품 만들기 경험 개발 리딩 경험과 한층 더 일이 재미있던 시기
시니어 TRY (11~14th) • 대규모 설계 • 멀티모듈 도입 •
IDE Plugin 개발 • 라이브러리 업데이트 이전 프로젝트 설계/테크 리딩 경험을 기반으로 한층 높은 수준을 올림
현재의 목표/TRY 개발자 • 개발 업무 • 신규 기술 공부
시니어 • 동료 성장 • 기술 조언 • 역할 위임 내가 잘 해야지 팀원에게도 새로운 기회가 간다.
INDEX 취업 이후의 목표 고민과 선택
나는 잘하는 게 없어. 저 사람보다 못해. 잘 맞는 것
찾아보기. 주제 하나를 Deep하게 파해쳐보기. 디버깅해보기. 쉬운 접근법 고민
https://pluu.github.io/blog/android/2020/03/15/savedstate-flow/ SavedState যڌѱ غҊ ࠂਗؼө? 2020.03.15 DEEP했던 공부
https://pluu.github.io/blog/android/2020/03/15/savedstate-flow/ Google에서 제공하는 오픈소스로 내부 동작 파악
기본 개발 공부 기본 기본 지식 응용하는 방법 디버깅 동작
이해 • 내부 코드 분석 • 깊이 1단계 체크
동작 이해 fun main() { val list = (0..10) list.forEach
{ i -> print(i) } } @kotlin.internal.HidesMembers public inline fun <T> Iterable<T>.forEach(action: (T) -> Unit): Unit { for (element in this) action(element) } 코드 forEach 내부 코드
합류 후 새로운 시도의 적절한 시기 Photo : https://unsplash.com/photos/light-bulb-illustration-_kdTyfnUFAc NEW
새롭게 합류 여러분은 N명 팀에 합류 후 새로운 시도를 하려고
합니다.
뭔가 • 보여주고 싶다. • 바꾸고 싶다. • 의욕가득!! “이걸
해주면 좋아하겠지?” “이게 맞지!!”
+2,000 +2,000 -3,000 -3,000 NG WARNING WARNING WARNING WARNING WARNING
ARNING WARNING WARNING WARNING WARNING WA
잘 동작하는 어려운 코드 메인테이너 1인 과연 좋은 것인가?!
기본적인 작업 로드맵 공유 큰 작업 작업 진행 N Y
할일 나누기 완료 작업 간단한 버전 PR / 리뷰
개선 작업 로드맵 공유 할일 나누기 PR / 리뷰 +10
신뢰감 형성 기술 이외 기술 영향력을 주는 입장이 되어야함
프로젝트 A 상 중 하 난이도 어려운 부분 단순+많은 분량
TASKS 단순 반복 개선 복잡도 개선
프로젝트 A 프로젝트의 한 부분 상 중 하 난이도
전체 프로젝트 프로젝트 내 개선할 부분 상 중 하 난이도
이해관계 Code Smell • 완벽한 코드 = 유니콘 • 바쁠때
작성한 결과물은 그에 걸맞는 퀄리티 • 리팩토링은 업무와 병행 • 현재 코드 = 여러 이해관계의 결과물
적절한 시기 Photo : https://unsplash.com/photos/people-sitting-on-chair-5U_28ojjgms 과정을 이해한 후 의미있는 작업과
Level Up은 입사 후 일정 시간이 필요
이직이란 새로운 NEXT JUMP
(본인 이름) 퇴사합니다. ↘ ↘ ↘ ↘ 흔한 이야기 =
우리 모두 해당됩니다.
권고사직 당했습니다. ↘ ↘ ↘ ↘ 이런 경험도?!
이직 사유 연봉 성장 사람 문제 경영 악화 기타 다양한
이유
킹갓머니 MONEY DRIVEN DEVELOPMENT
회사 선택 기준 연봉 대기업 ? 동료 기술 성장 (전문성,
타 기술) 다양한 경험 (메인 기술 이외)
? 연봉 다양한 경험 (메인 기술 이외) 대기업 동료 기술
성장 (전문성, 타 기술) 다음 목표를 위한 회사 선택시 우선순위 고려.
INDEX 연차별 목표 역할과 가치
연차별 기대 및 관심사 0 50 100 주니어 미들 시니어
기술 리더 기술 매니저 기술 커뮤니케이션
Junior Developer 연차별 목표 기본 습득 • 언어와 도구에 대한
숙련도 • 기본 알고리즘과 자료구조 이해 코드 품질 향상 • 코드 리뷰 참여 • 테스트 작성 팀워크 및 커뮤니케이션 • 효과적인 커뮤니케이션 • 애자일/스크럼
Mid-level Developer 연차별 목표 문제 해결 능력 향상 • 복잡한
문제 해결 • 디버깅 스킬 향상 • 전문성 강화 소프트웨어 설계 및 아키텍처 • 시스템 아키텍처 설계 • 대규모 서비스 경험 멘토링 및 리더십 • 주니어 멘토링 • 프로젝트 리딩
Senior Developer 연차별 목표 기술 리더십 • 아키텍처 설계 및
결정 • 기술 방향성 선정 조직의 기여 • 프로세스 개선 • 타 팀간의 협업 동료의 성장 • 지식 공유 • 스킬 조언 • 멘토링
준비의 필요성 • 주니어/미들/시니어 기간은 대략 5년 단위 (분야에따라 차이는
있음) • 준비 안된 상태로 역할을 받기도 함 • 동료/상사의 부재 및 이탈 • 이직 • 팀 변경 Photo : https://unsplash.com/photos/woman-in-black-long-sleeve-shirt-reading-book-gLNBpYGzQ-U
다음 LEVEL 준비 주니어 미들 시니어 준비 / 연습 /
기여로 반복 연습
목표 단계 지정 1 2 3 4 5 현재 업무
난이도 다음 업무 난이도 2 3
목표 단계 지정 업무 난이도를 "적당~약간 어려움"으로 업무를 선택 쉬운
것은 몸은 편하지만, 전문성 부족으로 점차 경쟁력이 떨어짐 현재 업무 난이도 다음 업무 난이도 2 3
큰 결과를 위한 노력 회사 개인 회사 ⍺ ⍺ ⍺
⍺ 기본 기본 ⍺ ⍺ 기본
실패하면 어떻게 해요? 성공만 할 순 없으므로 최소한으로 실패하기. 동료
피드백 받기. 실패를 극복하는 연습.
INDEX 성장에 필요한 마인드 변화하는 나
오해와 진실 TRUTH
흔한 오해 회사에 들어가면 나도 저렇게 성장?! 회사는 이익을 위한
일을 할 뿐. 성장은 본인의 몫
win-win 회사 개인 성장 업무 ⇒ 개인의 성장 기회 업무
⇒ 기업의 이익
I/O A B C D E 기술 A/B/C/… 커뮤니케이션 매니지먼트
┋ A D 후보 1 후보 2
이상적인 흐름 Plan Issue Develop Review Refactoring
개선의 필요성 Plan Issue Develop Review Refactoring 한번에 완벽한 작업
및 대비는 어려우므로 유연한 자세가 중요
지식 재검토 Photo : https://unsplash.com/photos/man-wearing-white-top-using-macbook-1K9T5YiZ2WU
지식 알고 있던 믿고 있던 과 다르게 동작한다면?
정답 이 아니라고 생각한 것 이라고 생각한 것 문제 해결의
작성할 코드 선택 아니라고 믿은 것 믿은 것 코드량/복잡도 단순
⎮ ⎮
재검토 처음부터 다시 체크 • 작은 샘플로 확인 • 스펙이
변경되었는가? • 언어/라이브러리 버그인가? • 사용한 코드 버그인가? 믿음의 진실은? • 맹목적인 믿음인가? • 검증된 믿음인가?
정답은 존재하지 않음. 결정은 이후에 판단. Q. 그래도 한 번
해볼까?
변화해야만 하는 것 TEAM Photo : https://unsplash.com/photos/penguins-standing-on-rock-formation-PzAmR_Nt7KM
자부심 비전공자 개발자도 많음 • 잘하는 사람이 잘할 뿐 제품
개발에 다양한 직군이 참여 • 개발자/비개발자 모두 같은 신분 자부심/자존심은 자신의 감정 • 우월주의 "#
Formula 1 모두 드라이버가 될 수 없음 • 자격 소유
• 더 적절한 다른 직무 • 원하는 분야가 다름 팀이 성공해야 기회가 생김 일부만 주목받더라도 상처입을 필요 없음
모르는데요? 모든 것을 다 알 순 없음. 다 가질 수
없음. 모를 땐 “모르는데요”라고 말하기. • 말 못하는 것은 자존심인가? 다른 이유인가? 같이 채워줄 문화/사람이 중요
슬럼프 / 번아웃 기간 목표로 향하는 이유 굳은 의지 Photo
: https://unsplash.com/photos/empty-road-surrounded-with-trees-with-fog-5FHv5nS7yGg
과욕은 금물 무리한 노력은 금방 식음 • 체력 소진, 번아웃
• 장기간 유지할 수 있는 수준의 목표 슬럼프 • 실력 정체기 (제 기준 2년) • 무력감
슬럼프 극복 의지할 사람 (친구, 연인, 멘토, 가족 등) 단순히
업무를 즐기기 취미, 색다른 경험 ⎮
슬럼프도 어느샌가 끝나있었다. 슬럼프도 어느샌가 끝나있었다. 슬럼프도 어느샌가 끝나있었다. 이겨내기보다
편하게 지내기 이겨내기보다 편하게 지내기 이겨내기보다 편하게 지내기
요즘 힐링 및 휴식 수단
INDEX SUMMARY
SUMMARY • 목표 선정 = 배워야 할, 선택해야 할 항목
선정 가능 • 다양한 기회의 순간을 스스로 잡기 • 해볼 수 있는 만큼 해보기
각자의 사명이 있고, 여러분에게는 여러분의 사명이 있다.
선배 개발자들의 의지를 이어받아 여러분들의 이야기로 채워보세요.
이 자리의 참석자분들이 다음 세대의 씨앗입니다.
Thank you http://pluu.github.io pluulove
[email protected]