Slide 1

Slide 1 text

안성현 개발자 커리어 두려움이 이끄는 대로

Slide 2

Slide 2 text

안성현 Payhere CTO Backend Developer ash84.io sh84ahn

Slide 3

Slide 3 text

ழܻয ߸ച ૒ઙ ੹ജ ৉ೡ ߸ച пࢿҗ ҅थ

Slide 4

Slide 4 text

ழܻয ߸ച🧑🎨🧑💻👨🏭👷 ૒ઙ ੹ജ

Slide 5

Slide 5 text

반전공자로 시작 학교 • 의공학/의료정보학 전공 • 윈도우 프로그래밍 C + + , MFC 는 전공수업, 그러나 CS지식은 부족 • 알고리즘, 자료구조, 데이터베이스는 CS 전공수업을 수강

Slide 6

Slide 6 text

윈도우 클라이언트 개발자 신입 - 2년차 개발자 • 벤처기업 병특으로 커리어 시작 🪖 • MFC, C#으로 전자칠판 하드웨어와 연동되는 PC 프로그램 개발 • 3개월 만에 거의 모든 직원 30명 이상 퇴사 👋 • CTO - CEO - 🙋 남은 상황 😇

Slide 7

Slide 7 text

윈도우 클라이언트 개발자 신입 - 2년차 개발자 • 개발자가 없는 상황에서 임베디드 소프트웨어 유지보수 • 신입 몇 분을 더 채용, 용역 개발을 진행 • 돈을 버는데 부모님께 용돈을 받았던 상황 • 현실적인 월급과 개발자 이전에 직장인에 대해서 생각이 많았던 시기 • 첫 출발은 쉽지 않았다. 🙍

Slide 8

Slide 8 text

검색엔진 컴포넌트 개발자 2년 ~ 4년차 • 검색엔진 솔루션 패키지 회사 • 병특 이직 🪖

Slide 9

Slide 9 text

검색엔진 컴포넌트 개발자 2년 ~ 4년차 • 기술 스택의 급격한 변경 😇 • 윈도우 기반에서 리눅스 기반으로 변경 • MFC, .NET, C# => ANSI C/C + + • 클라이언트 => 서버 개발자 전환 • 다시 처음부터 시작하는 느낌

Slide 10

Slide 10 text

검색엔진 컴포넌트 개발자 2년 ~ 4년차 • 검색엔진 도메인, 알고리즘, 자료구조, 대용량 데이터 처리 • 회귀테스트 - QA - 패키징 프로세스 • JIRA를 통한 외부 업무지원/의사소통

Slide 11

Slide 11 text

검색엔진 컴포넌트 개발자 2년 ~ 4년차 • 개인적으로 성장의 폭이 가장 넓었던 시기. • 일에 대해서 닥치는 대로 한다고 생각 • 모르는 것을 모두 흡수 한다. 어깨너머로 훔치기 🥷 • 명령어, 단축키, 설정 등등

Slide 12

Slide 12 text

2년 ~ 4년차 • 나만의 개발관련 공부/학습 정립 ઱݈झఠ٣ - ଼, ੉ۿ ࢎ੉٘ ೐۽ં౟ - Fun, नӝࣿ ࠶۽Ӧ ઱઺ - ഥࢎ সޖ 검색엔진 컴포넌트 개발자

Slide 13

Slide 13 text

검색엔진 컴포넌트 개발자 2년 ~ 4년차 • 서브 언어에 대한 고민 • Python vs. Java • 친구는 Java/Spring 추천 • 개인적으로 좀 더 마음이 들었던 Python 선택 • 파이썬 세미나/밋업 참여, 파이콘 주기적 참여, 오픈소스 생태계 관심

Slide 14

Slide 14 text

검색엔진 컴포넌트 개발자 2년 ~ 4년차 • 서버를 하다보니 앱을 만들고 싶다는 생각 • 맥미니 덜컥 구입후 Objective C 공부 • 사이드 프로젝트로 앱 출시 • 앱과 서버를 같이 해볼 수 있었던 시기

Slide 15

Slide 15 text

iOS 개발자 4 - 5년차 • 스타트업 초기 멤버, 블루투스 태그 IoT 기기 관련 • 풀스택 개발자 • 서버와 iOS 앱 개발 진행, 대시보드, 백오피스 구현 • 블루투스 연동 관련 경험 • iOS생태계의 경험, Objective C => Swift 😱

Slide 16

Slide 16 text

iOS 개발자 4 - 5년차 • 자금 문제로 1년만에 끝 • 창업시 주의할 점들 간접 경험 : • 사람, 아이템, 자금 여력, 시장상황

Slide 17

Slide 17 text

PG사 서버 개발자 5 - 9년차 • 파이썬 서버 개발자 🐍 • 각종 결제창 서버를 Flask 로 개발/운영 • 처음으로 내가 좋아하는 Python으로 밥벌이가 가능해진 시기

Slide 18

Slide 18 text

PG사 서버 개발자 5 - 9년차 • 회사가 어떻게 돈을 버는지를 알게 된 시기 • 서비스가 잘된다. => 돈을 번다는 구조 ❌ • 내가 만든 소프트웨어가 어떻게 돈이 얼마나 버는지 보였던 • 반대로 장애가 났을때, 얼만큼의 돈이 날아갔는지 알 수 있었던 🤑

Slide 19

Slide 19 text

PG사 서버 개발자 5 - 9년차 • 안정감 있는 회사, 프로세스가 갖춰진 완성형 회사 • 반대로 최신기술이나 컨퍼런스/세미나의 기술 적용의 어려움

Slide 20

Slide 20 text

PG사 서버 개발자 5 - 9년차 • Best Practice 를 이겨야 하는 어려움 IDC 사내 프레임워크 SVN 클라우드 오픈소스 git docker 🆚

Slide 21

Slide 21 text

PG사 서버 개발자 5 - 9년차 • 커피/로봇커피 프로젝트 진행 ☕ • 결제 외 상품/주문/쿠폰/이벤트 등 이커머스 도메인 경험 • 개발만으로 서비스가 운영되지 않는다. • 백오피스, 오프라인 운영자분들, 교육을 위한 자료 • 서비스 운영을 위한 많은 업무/노력/관계를 경험 • 돈을 제대로 받기 위한 정산/대사, 각종 정책과 컨플라이언스 중요성

Slide 22

Slide 22 text

PG사 서버 개발자 5 - 9년차 • 성장 • 로그의 중요성, 동료와 협업/매너, 타 회사와의 협업 • 서비스 회사에서의 경험, 어떻게 배포를 할 것인가? • 어떻게 장애대응을 할건가? 장애시 보고 등 다양한 프로세스 경험

Slide 23

Slide 23 text

PG사 서버 개발자 5 - 9년차 • 심신이 안정되었던 시기 🤗 • 회사와 집 15분 • 제일 오래 다녔던 회사 4년

Slide 24

Slide 24 text

PG사 서버 개발자 5 - 9년차 • 이대로 괜찮나? 직장인 개발자로 좋은데 🤔 • 내가 원하는 것을 하고 있나? 후회하지 않을까? • 이직결심 💼

Slide 25

Slide 25 text

PG사 서버 개발자 5 - 9년차 • 대기업 - 스타트업 많은 회사에 지원 • 결국 마지막에 대기업과 스타트업 사이의 고민

Slide 26

Slide 26 text

PG사 서버 개발자 5 - 9년차 • 대기업 - 스타트업 많은 회사에 지원 • 결국 마지막에 대기업과 스타트업 사이의 고민 이직 결정표

Slide 27

Slide 27 text

PG사 서버 개발자 5 - 9년차

Slide 28

Slide 28 text

스타트업 서버 개발자 9 - 11년차 • 이전과 완전 다른 환경 • 연령대 : 30/40 => 20/30 • 사내 메신저, svn => slack, git/github • IDC => 클라우드 k8s • 분당 => 여의도

Slide 29

Slide 29 text

스타트업 서버 개발자 9 - 11년차 • 일을 할당 받던 방식 => 일을 찾고 기여를 해야하는 문화 • 마인드의 변화 : 같이 만들어 간다. • 3개월 수습기간, 다시 태어난 느낌

Slide 30

Slide 30 text

스타트업 서버 개발자 9 - 11년차

Slide 31

Slide 31 text

스타트업 서버 개발자 9 - 11년차 • 개인적으로 너무 좋았던 시기 😊 • 시리즈 B - 시리즈 D • 회사의 급속한 성장, 사람과 조직/문화가 어떻게 바뀌어 가는지 경험 • 보이지 않는 문화의 중요성 • 동료가 복지다.

Slide 32

Slide 32 text

스타트업 서버 개발자 9 - 11년차 • 성장 • 송금 파트 2년 담당 • 송금과 전자금융업 도메인 이해 • 결제 도메인의 확장 • 카드, 상품권 💳 => 뱅킹 🏦

Slide 33

Slide 33 text

스타트업 서버 개발자 9 - 11년차 • 성장 • 인프라, 플랫폼 영역까지 넓게 일을 해볼 수 있었던 시기 🔥 • MSA 에 대한 간접 경험 • Kotlin/Spring 등 다양한 언어 사용

Slide 34

Slide 34 text

스타트업 서버 개발자 9 - 11년차 • 테크리드 경험 👨🏭 • 1인 개발자 역할에서 더 큰 일을 할 수 있는 팀을 구성 • 그 안에서의 용기를 주는 역할 👏 • 역경을 팀원들과 함께 이겨냈을 때, 성취가 너무 좋았음. • 매니저가 되어가는 것에 대한 불안함? 매니저에 대한 인식의 변화

Slide 35

Slide 35 text

스타트업 서버 개발자 9 - 11년차 • 퇴사 결심 • 팀보다 더 큰 조직에서 기여할 수 역할 필요 • 다양한 회사에서의 조직/개발문화의 아쉬움🙍 • 완벽한 조직은 없지만, 타 회사/실리콘밸리를 언제까지 동경? • 이미 만들어진 회사보다는 만들어야하는 회사가 적합하다고 생각

Slide 36

Slide 36 text

৉ೡ ߸ച🧑💻👨🏭 пࢿҗ ҅थ

Slide 37

Slide 37 text

클라이언트 개발자 => 백엔드 개발자 시야의 확장 • 경험의 확장 => 시야의 확장 • API Design, 시스템구성 등등 • 나무보다는 숲을 보기 시작

Slide 38

Slide 38 text

클라이언트 개발자 => 백엔드 개발자 걱정과 불안 • 걱정과 불안 • 서버가 죽으면 어떻게 하지? • 사용자가 몰리면 어떻게 하지? • 하루도 편할 날이 없었다. 😂

Slide 39

Slide 39 text

클라이언트 개발자 => 백엔드 개발자 걱정과 불안 • 걱정과 불안 • 서버가 죽으면 어떻게 하지? • 사용자가 몰리면 어떻게 하지? • 하루도 편할 날이 없었다. 😂 🔥🧑💻🔥 • Log, Monitoring • DB • Observability • Test • Performance

Slide 40

Slide 40 text

백엔드 개발자 => 테크리드 역할의 확장 • 기술적 의사결정 + 매니저의 역할 • 기능 개발 => 일이 되게 하는 역할

Slide 41

Slide 41 text

백엔드 개발자 => 테크리드 다양한 고민 • 어떻게 우리가 일정내 일을 되게 할 수 있을까? ⏱ • 그러면서, 어떻게 의사소통 비용을 어떻게 줄일수 있을까? • 동시에 함께 성장할 수 있을까? 🤼

Slide 42

Slide 42 text

백엔드 개발자 => 테크리드 일이 되게 하는 역할 • 상상하기 전략 🧐 • 어떤 프로젝트를 완성하기 위한 과정 전체를 초반에 상상 • 테크스펙, 토론, 피드백을 통한 가시성 확보 • 그러나 회색 영역이 존재

Slide 43

Slide 43 text

백엔드 개발자 => 테크리드 일이 되게 하는 역할 • 회색 영역 😶🌫 • 기술 : 빠르게 프로토타이핑 검증 => 일정 수립 • ex 비동기 처리 어떻게 하지? 🧐 • 다양한 비동기 처리 기술 리스트업 • 간단히 구현, 테스트 진행

Slide 44

Slide 44 text

백엔드 개발자 => 테크리드 일이 되게 하는 역할 • 회색 영역 😶🌫 • 일정 : 꺼내먹기 • 빠르게 동료에게 공유 • 불편하더라도 반드시 공개적인 자리에서 애기하기. • 좋은게 좋은식 ❌ • 나중에 일정이 더 필요하다는 게 더 불편. 😔

Slide 45

Slide 45 text

백엔드 개발자 => 테크리드 일이 되게 하는 역할 • 다른일에 관심두기 전략 😎 • PO, 디자이너, 개발자들과 소통 • 성공적인 프로젝트가 되기 위해 계속 제안 • 서로가 챙겨야 하는 것을 챙겨준다.

Slide 46

Slide 46 text

백엔드 개발자 => 테크리드 일이 되게 하는 역할 • 다른일에 관심두기 전략 😎 • 내 것만 다했을 때 성공하기란, 쉽지 않다. • 나는 백엔드니까 API 만들었으니 끝! 은 아니다. • 오픈하지 못하는 프로젝트가 많다. • 오픈하지 못하면 연습일 뿐. • 운영경험/성장을 놓치게 됨.

Slide 47

Slide 47 text

백엔드 개발자 => 테크리드 의사소통 비용 줄이기 • 일이 되게 한다. => 일정과 연관 • 일정을 잡아 먹는 것들 = = 시간 비용

Slide 48

Slide 48 text

백엔드 개발자 => 테크리드 의사소통 비용 줄이기 • 시간 비용 • 보이는 시간 : 기획, 개발, 디자인 등 마일스톤에서 보이는 시간 • 보이지 않는 시간 : 소통, 피드백, 토론, 코드리뷰, 회의 😱

Slide 49

Slide 49 text

백엔드 개발자 => 테크리드 의사소통 비용 줄이기 • 보이지 않는 시간 줄이기 • 회의 시간 단축, 회의 문서 미리 준비 • 코드 리뷰 정책 정하기 • 코드내 그라운드 룰 • 소통을 위한 용어 사전 정의

Slide 50

Slide 50 text

백엔드 개발자 => 테크리드 함께 성장하기 • 성장하고 있다. • 어떻게 이걸 개개인 느낄 수 있게 할까?

Slide 51

Slide 51 text

백엔드 개발자 => 테크리드 함께 성장하기 • 각자 하고 싶은게 다르다. 🧑💻 API를 잘 만들고 싶다. 👨💻 성능개선!! 👩💻 모니터링, Observability에 관심이 많은데..

Slide 52

Slide 52 text

백엔드 개발자 => 테크리드 함께 성장하기 • 하고싶은걸 하게. • 그리고 나는 서포트의 역할 • 기술적 의사결정을 도와주는 역할 • 틀린 의사결정을 내릴 수 있다. • 함께 한다는 것. 더 나은것을 채택할 수 있는 환경 조성

Slide 53

Slide 53 text

테크리드 => CTO 첫번째 했던 일 • 우리가 왜 개발자로 일을 해야하는지? • 그것이 어떤 가치가 있는지? • 회사의 서비스/ 제품을 만드는 역할, 핵심이자 중추적인 역할 • 우리가 어떻게 일을 해야하는지 • 그래서 개발자인 여러분 중요 • CTO는 개발자를 위해 존재하는 사람

Slide 54

Slide 54 text

테크리드 => CTO 첫번째 했던 일

Slide 55

Slide 55 text

테크리드 => CTO 제일 비싼것은 시간 • 시간은 절대 돌아오지 않는다. • 제일 비싼것을 절약하자!

Slide 56

Slide 56 text

테크리드 => CTO 제일 비싼것은 시간 • 조직내 커뮤니케이션 방식 정립 • 코드리뷰 : 감정상하지않고, Blocker ❌ • 슬랙 사용방법 : 스레드, 컨텍스트 많이 전달하기 • 이슈 전달 방법 • Jira 사용방법

Slide 57

Slide 57 text

테크리드 => CTO 제일 비싼것은 시간 • 배포 프로세스 정립 • 회사는 고객에게 가치를 전달, 그리고 대가를 지불받는 것으로 성장 • 배포는 고객에게 가치를 전달하는 중요한 과정 • 그렇기 때문에 배포를 어떻게 언제 할 것인가가 중요

Slide 58

Slide 58 text

테크리드 => CTO 제일 비싼것은 시간 • 시간적 관점에서의 고민 • 내가 코딩을 하면 빠르다? 시간절약? • 조직/회사의 성장을 위해서 코딩을 하는 것이 맞는가? 🤯 • 시간 사용의 ROI 끊임없는 고민

Slide 59

Slide 59 text

테크리드 => CTO 사람 • 사람이 만사 • 한 사람, 한 사람이 절실, 특히 스타트업 • 시니어, 주니어 이런 기준보다 함께 성장할 누군가 있다는것 • 회사의 제품은 기술이 아니라 사람이 만든다. • 기술 선택, 사용하는 것도 결국 사람

Slide 60

Slide 60 text

테크리드 => CTO 지속가능성 • 단순히 일이 되게 하는것을 넘어서 • 어떻게 비지니스적인 가치를 창출 할 수 있을까? • 그런 조직이 어떻게 지속가능하게 할 수 있을까? 🤨

Slide 61

Slide 61 text

테크리드 => CTO 지속가능성 • 지속가능한 코딩 • 지속가능한 서비스 • 지속가능한 조직

Slide 62

Slide 62 text

테크리드 => CTO 지속가능성 • 지속가능한 코딩 • 포맷팅, 린트, 테스트코드, 그라운드 룰 • 지속가능한 서비스 • 지속가능한 조직

Slide 63

Slide 63 text

테크리드 => CTO 지속가능성 • 지속가능한 코딩 ✅ • 지속가능한 서비스 • 피처가 아닌 것들 챙기기, 관리포인트 줄이기, 자동화 • 지속가능한 조직

Slide 64

Slide 64 text

테크리드 => CTO 지속가능성 • 지속가능한 코딩 ✅ • 지속가능한 서비스 ✅ • 지속가능한 조직 • 사람, 개발 문화 🤼

Slide 65

Slide 65 text

테크리드 => CTO 함께 성장 • 내려놓기 • 하고싶은것 하게

Slide 66

Slide 66 text

테크리드 => CTO 함께 성장 • 내려놓기 • 모든것을 알 수는 없다. • 모르는것, 미숙한 것 직접 공개적인 자리에서 애기 • 도움을 청하자 🙏 • 프론트엔드도 잘 모르고, 데브옵스 경험도 없고, k8s는 겉핣기 • Golang 스타일 가이드 같이 만들어봐요! 🤝

Slide 67

Slide 67 text

테크리드 => CTO 함께 성장 • 하고 싶은것을 하게 • 회사는 모두를 만족 시킬 수는 없다. • 들어주기 그리고 지원해주기 • 굳이 그렇게 까지 해야해? 이건 일이잖아? • 사람에게 얼마나 진심인가?

Slide 68

Slide 68 text

테크리드 => CTO 함께 성장 • 하고 싶은것을 하게 • 희망고문은 사양 ✋ • 회사의 방향, 조직에서 할 수 없는것은 없다고 거절 • Rust를 백엔드에서 사용하고 싶다!!! • 현재 사용할 수 없는 이유 설명 • 납득이 안되더라도 설명하기

Slide 69

Slide 69 text

Ѿۿ ف۰਑੉ ੉Սח ؀۽

Slide 70

Slide 70 text

결론 커리어 패스 • 특별한 커리어 패스는 없었다. • 처음부터 CTO가 되겠다는 생각은 없었다. • 해보고 싶은 것을 찾아서 최대한 했던 커리어패스

Slide 71

Slide 71 text

결론 성장 • 자리/상황이 성장을 만든다. • 이건 역량의 문제가 아닌 취향의 문제 • 조금 더 무리해서 원하는 방향으로 스스로를 내몰자

Slide 72

Slide 72 text

결론 성장 • 하기 싫은것과 두려운 것을 구분하기 • 불편하긴 마찬가지 • 회피, 일을 시작하기가 싫음. • 내 상태를 들여다보기 🕵

Slide 73

Slide 73 text

결론 성장 • 하기 싫은 일 😖 • 마치 설거지와 비슷 • 빨리하고 치우자는 느낌으로 진행, 설거지하고 넷플렉스 보자는 느낌 • 스스로에게 보상을 걸고 진행 🎁 • 언제까지 이것을 하면 스스로에게 뭔가 주기

Slide 74

Slide 74 text

결론 성장 • 두려운 일 😱 • 대체적으로 안해보거나 어려운 일 • 가야하는 방향, 필연적으로 성장 할 수 밖에 없는 영역 • 두려움 감정을 배제하면 성장이 보인다. 🤩

Slide 75

Slide 75 text

결론 사람과 매니징 • 개발자 커리어 끝? 새로운 시작! • 매니징 직군 세분화 😎 • 실장, 팀장 -> CTO, VP of Eng., EM, TechLead, TPM 등 • 공통된 핵심 역할 : • 각 영역에서 어떻게 일이 되게 할 것인가? • Blocker 제거의 역할 🚧

Slide 76

Slide 76 text

결론 사람과 매니징 • 사람들은 모두 하고 싶은게 있음 • 절대 간과해서는 안되는 것 • 백엔드 => API만들고 싶다. • 프론트엔드 => 화면을 이쁘게 만들고 싶다. • 1on1 통해서 파악 • 원하는 것은 계속 변한다. 1ରਗ੸

Slide 77

Slide 77 text

결론 기타 • No Sliver Bullet, 로드맵은 로드맵일뿐, 각자의 길은 다르다. • 기술은 단기투자가 아닌 장기 투자, 투자적 관점으로 접근 • 모든것은 트레이드 오프, 만약 Java/Spring을 선택했다면? • 공부는 계속 💆 • 동료/복지/좋은 문화는 공기와 같은 것 • 맞는 사람과 함께 하기에도 부족한 시간

Slide 78

Slide 78 text

감사합니다 🙇