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