SlideShare a Scribd company logo
1 of 11
Download to read offline
일하면서 배운 것 (20분만에)
2021. 3. 15. R&D 워크샵
황인욱
주제
● 어떻게 일하는가
○ 잘하는 사람이 가르쳐 줌
● 일하면서 배운 것
○ 실수하면서 고생한 얘기
● 과거에 하고 돌아다닌 것들 + 느낀 것
○ 순서대로
○ 앞부분은 연도 생략..
이건
아니다.
2
서울대 석사, 최적화연구실
● 학부생 때 알고리즘, AI가 재미있어서 컨택.
○ 조합 최적화(combinatorial optimization)를 genetic algorithm으로
○ 신경망, HMM 같은 기계학습 모델을 더 잘 풀기
● 개인적 목표: 과제비로 국제학회 출장가기 (ACM GECCO)
○ 쉽게 논문 쓸수 있는 주제 정함: 그래프 분할(NP-Hard)을 GA로 global optimization - 2년 동안 3편 씀. 졸업논문도 이걸로..
○ 학회 두번 갔음: Seattle (1년차), London (2년차)
○ 겉핥기: 정말 중요하거나 풀고싶은 문제라고 생각했나? No. 그냥 논문 될 거 같은 걸로 썼음.
○ 그래서 machine learning 연구에 흥미 잃음.
● 프로젝트: 한국주가 데이터 분석
○ 기술적, 기본적 전략 backtest - 나중에 지도교수님 책 쓰시고(<메트릭 스튜디오>) 자산운용사 창업.
○ 데이터 분석은 데이터 다듬는 일이 절반 (수정주가, 데이터 누락, 심지어 오타)
○ 여러가지 bias, overfitting을 피하는 것은 매우 어려움: 나중에 전략대로 해봤는데 잘안됨 (PER/PBR, NCAV)
● 중요한 문제를 찾아서, 남들보다 더 잘푸는 것은 쉽지 않은 일
○ 실력, 끈기, 진지함이 있어야.
○ “Success is the ability to go from one failure to another with no loss of enthusiasm.” - Sir Winston Churchill
3
티맥스소프트 R&D center
● S 팀장님 만남
● 기업용 검색엔진을 만들어보자
○ 시스템 프로그래밍, 엔진 개발에 대해 많이 배움
■ 출근한 첫주에 Stevens의 <APUE> 주문했던 기억.
■ 설계하는 법, 발표하는 법.
○ 제품개발 - ProSearch
■ 문서 수집 - parsing - indexing - 실시간 검색 - UI까지.
■ 제품에 대한 애정 - 내 자식, 내 작품이라고 생각.
○ 일하면서 공부하면 필요성을 느끼면서 빨리 배움.
■ 메모리 관리, 동기화, multi-threading 이 왜 필요한가
■ Big-o notation의 유용함. Stack overflow가 정말 발생하네! (non recursive하게 작성해라).
○ 대우조선, 부산시청 등 몇개 고객확보.
● Web crawling도 해서 검색서비스를 하자.
○ Google 초창기 논문 읽고 자체 개발 - 분산 Crawler, 분산파일시스템(GFS 따라하기)
● S님 유학선언 & 월급 안나옴.
“철이 없었죠.
바닥부터 만든다는 게...”
4
삼성전자 생산기술연구소
● 반도체 사업부 가서 일하기
○ 메모리 사업부, LSI 사업부 - 제조업의 끝.
○ 잘되는 조직 - 반도체 사업부
■ 일에 대한 진지하고 치열한 자세
■ 직급이 높아질수록 더 고생하는 게 당연
■ junior가 도전적으로 일벌리다가 하는 실수는 조직이 책임진다
■ “일이 되게 한다” - 크고 오래된 회사지만, 좋은 사람보다 일이 되게 하는 사람을 더 인정하는 분위기.
○ MARS 프로젝트: 메모리/LSI 장비 (주로 photo scanner) 생산최적화
■ 장비의 데이터 수집/구조화
■ 병목 찾을 수 있도록 시각화. 데이터마이닝, 장애예측
○ DSL 정의 + 자동수집기(ssh, ftp, 각종 log 파일)
■ 대형사고: 목요일 밤에 걸려온 전화… 데이터 수집 가이드라인 생김.
■ 현업에 대한 존중
● 대기업의 장단점
● (건방지게) 만족못함. SW가 메인인 곳
○ 퇴사하고 좀 쉬자
○ 대학원때 써둔거 출판 (많이 못놀았음) - 아는 걸 남에게 설명하거나 글로 쓰면 더 잘 알게됨.
5
티베로 연구소
● 외국계 회사가려고 interview, offer 받음.
○ “엔진! Core! 해봐야하지 않겠나”
● Tibero Core team 합류
○ 이런거 개발함
■ Buffer cache management, transaction management
■ Crash recovery, active-active cluster, physical replication
○ 정작 query optimization을 안했기 때문에.. SQL 잘모름.
● UNIX계열 C 시스템 프로그래밍의 끝을 봄.
○ 정말 밑바닥부터 구현: 예를 들어 플랫폼 별로 구현한 동기화 메커니즘(lock) 구현.
○ 복잡성 다루기 - 추상화 계층을 수십단계 쌓아올림.
○ 십년 넘은 수십만줄의 코드를 수십명이 수정. 수백개 고객 요구사항.
■ 로그보고 디버깅해서 패치하기.
○ RDB는 CS 성과의 집약체 - 다른 걸 쓰려면 잘 생각해봐야함
● 레드오션 전략
○ 확실한 제품을 고른 다음, 더 싸게, 더 빠르게, 고객이 원하는 대로
○ Oracle 따라잡기
○ 장점과 단점
6
Atto Research (2014-2020)
● SDN 연구개발 시작하던 시점 합류
○ 몇년내로 네트워크는 모두 SDN으로 넘어갈거라고 예상.
● 1년쯤 주로 개발. 팀이 빠르게 커지면서 management 시작.
● 제품/기술 영역: network/cloud innovation
○ SDN controller OBelle: openflow SDN 컨트롤러
○ Hermes: SDN+3D 시각화
○ OBelle Fabric: OpenStack의 cloud network을 빠르게
○ Atto-Access SDLAN: LAN을 SDN으로
● 그리고 수많은 정부과제
○ 과제책임자 5-6번 정도. 실무는…
○ 정부과제 driven development
■ 언젠가부터 일주일중 2-3일은 정부과제에..
7
“이제 돈되는 일이면 다해라”,
<범죄도시>
Atto Research (2014-2020)
● SDN Controller OBelle: 컨트롤러 자체만으로 팔릴줄 알았으나..
● Hermes (2016): 보는 사람마다 우와 하고 사진찍어감. 그러나 매출은..
● Fabric (2017): cloud에서 SDN 기반 network virtualization
○ 첫고객: Koscom PaaS
○ 어마어마하게 많은 legacy network(underlay) + neutron overlay network의 기능을 하나씩 구현
■ 기술적인 벽에 부딪히고.. 넘고..를 반복, Openflow 지원 하드웨어 부족함
■ 지금 생각해보면 개발팀장(=나)의 기술적 고집, 미련한 결정으로 모두 고생.
○ 나중에 NBP가 win-back: 여기는 그냥 쉽게쉽게 감.
● Atto-Access: SDN으로 LAN 구현 (2018)
○ 고객이 원하는 것 - IP mobility?
○ LAN 구현은 훨씬 쉬웠음. 가끔 표준과 다르게 구현된 장치들 처리하기.
○ 시청, 교육청 등등 - 고객 늘어나는 중.
● 최신, 고급의 기술이 중요하지 않음
○ 시장에 보여주면 요구사항은 달라짐.
○ 오래 걸려 만들지 말고, 빠르게 프로토타입을 만들어야 함.
○ 비지니스적으로 풀수 있는 것은 그렇게 풀자.
● 정부과제의 장점이자 단점
○ 제품 초기단계에 금전적 지원 (도랑치고 가재잡고)
○ 마음이 편함: 뭔가 하고 있다는 느낌, 인건비 상당부분 커버 (취업준비생의 알바)
○ 팀장, 연구소장, 주요개발자가 소수가 대응하게 됨.
8
정리 & 못다한 얘기
● 커리어 관리
○ 자기의 한계(기술적 어려움, 일의 빡셈)에 적절하게 도전해야 능력향상
■ “Brain muscle”, “일근육”: 근육은 찢어졌다 회복하는 과정에서 커짐
■ 적절한 무게: 너무 어려우면 좌절하고 멘탈깨짐.
● 이런 구성원을 격려해서 키워낼 수 있는 조직이 좋은 조직
○ 장인정신 - 내 제품을 내 새끼, 내 작품이라고 생각하자.
○ 이직: 실력과 reputation이 가장 큰 재산.
● 공부
○ 매주 하루정도, 업무관련 공부만 하면 정말 잘 알게 됨: 그렇게 하는 사람은 드물다.
■ “좋은 프로그래밍 책을 두 달에 한 권, 즉 일주일에 대략 35페이지 정도만 읽어도 당신은 이내 이
분야에 대해서 확실한 감을 갖게 될 것이며 주변의 거의 모든 이들과 구별되는 수준으로 올라설
것이다.” - <Code Complete>, 스티브 맥코넬
○ 의도적 수련이 중요 - 나의 수영실력: 고민없이 연습하면 12년을 해도 실력이 늘지 않는다
9
정리 & 못다한 얘기
● 고객과 시장
○ 새로운 기술에 대한 예측은 잘 맞지 않는다. 특히 R&D.
○ 고객의 니즈를 미리, 정확히 파악하긴 어렵다 (사실 고객도 잘 모른다?)
○ 지저분하게 빠르게 만든 프로토타입을 (그렇지 않은 척하면서) 잠재고객에게 보여주고
다녀야 함.
■ 프로토타입과 최종제품의 괴리를 적절히 유지, 필요하면 빠르게 채울 수 있는 능력,
빠르게 방향을 바꿀수 있는 능력은 그 회사의 실력 - 이건 그냥 키워야되는 것 같음
■ 재능마켓 moonlight
○ 내가 가진 툴에 맞는 문제를 찾지 말고, 좋은 문제를 먼저 찾자 (moloco, toss의 사례)
○ 현업에 있는 사람과 규칙을 존중하자.
○ 고객, 시장, legacy는 바보가 아님.
○ 기술적으로 하찮은 일을 하찮게 취급하지 말자.
“It is faster to make a four-inch mirror then a six-inch mirror
than to make a six-inch mirror.” -Allyn Thompson 10
요약
1.
꾸준한 공부, 의식적인 훈련으로 실력을 쌓아 좋은 동료를 만나고 중요하고 좋은 문제를 같이 풀자.
2.
제품, 기술에 대한 애정과 자부심을 갖고 설계/개발하자.
빠르게 동료, 고객과 시장에 보여주면서 대응하자. 시장과 고객을 존중하면서도 리드할 수 있다는 생각을 갖자.
3.
벽에 부딪히면 충분히 고민하되 혼자서 끌어앉고 있지 말자.
좋은 동료들과 머리맞대고 의논하면, 힘을 모아서 해결하거나 , 다른 방법으로 풀수도 있다.
11
-끝

More Related Content

Similar to 20210315 일하면서 배운 것

두 번째 startlink.live: 김재홍 (xhark) - 알고리즘 문제 출제 전략
두 번째 startlink.live: 김재홍 (xhark) - 알고리즘 문제 출제 전략두 번째 startlink.live: 김재홍 (xhark) - 알고리즘 문제 출제 전략
두 번째 startlink.live: 김재홍 (xhark) - 알고리즘 문제 출제 전략Startlink
 
Pivotal Labs 고객사례 - Coinone
Pivotal Labs 고객사례 - CoinonePivotal Labs 고객사례 - Coinone
Pivotal Labs 고객사례 - CoinoneVMware Tanzu Korea
 
20150307 abcd발표_ux디자이너 실력으로 살아남기
20150307 abcd발표_ux디자이너 실력으로 살아남기20150307 abcd발표_ux디자이너 실력으로 살아남기
20150307 abcd발표_ux디자이너 실력으로 살아남기SANGBUM HA
 
예비 개발자를 위한 웹서비스 개발 방법론 특강 - 폴리텍대학교 강서캠퍼스
예비 개발자를 위한 웹서비스 개발 방법론 특강 - 폴리텍대학교 강서캠퍼스예비 개발자를 위한 웹서비스 개발 방법론 특강 - 폴리텍대학교 강서캠퍼스
예비 개발자를 위한 웹서비스 개발 방법론 특강 - 폴리텍대학교 강서캠퍼스시은 김
 
[TMS 2018] 자금확보 / Lablup 신정규 CEO, 님아 제발 그 강을 마오
[TMS 2018] 자금확보 / Lablup 신정규 CEO, 님아 제발 그 강을 마오[TMS 2018] 자금확보 / Lablup 신정규 CEO, 님아 제발 그 강을 마오
[TMS 2018] 자금확보 / Lablup 신정규 CEO, 님아 제발 그 강을 마오NAVER D2 STARTUP FACTORY
 
"행복한 백발의 개발자"라는 제목으로 2024-03-06 어느 IT 업체에서 직책자로 승진한 분들을 대상으로 한...
"행복한 백발의 개발자"라는 제목으로 2024-03-06 어느 IT 업체에서 직책자로 승진한 분들을 대상으로 한..."행복한 백발의 개발자"라는 제목으로 2024-03-06 어느 IT 업체에서 직책자로 승진한 분들을 대상으로 한...
"행복한 백발의 개발자"라는 제목으로 2024-03-06 어느 IT 업체에서 직책자로 승진한 분들을 대상으로 한...Myeongseok Baek
 
2011~2012 소프트웨어 관련도서 추천 리뷰 모음
2011~2012 소프트웨어 관련도서 추천 리뷰 모음2011~2012 소프트웨어 관련도서 추천 리뷰 모음
2011~2012 소프트웨어 관련도서 추천 리뷰 모음Choulhyouc Lee
 
아빠 개발자로 살아남기
아빠 개발자로 살아남기아빠 개발자로 살아남기
아빠 개발자로 살아남기changehee lee
 
20220919 데이터쟁이의 워크플로우 (부제_ 업무 및 자료 관리 방법) .pdf
20220919 데이터쟁이의 워크플로우 (부제_ 업무 및 자료 관리 방법) .pdf20220919 데이터쟁이의 워크플로우 (부제_ 업무 및 자료 관리 방법) .pdf
20220919 데이터쟁이의 워크플로우 (부제_ 업무 및 자료 관리 방법) .pdfChang Rok Yun
 
How to implement your dream 20150427
How to implement your dream 20150427How to implement your dream 20150427
How to implement your dream 20150427Will Kim
 
05. 아키텍트가 알아야할 12 97가지
05. 아키텍트가 알아야할 12 97가지05. 아키텍트가 알아야할 12 97가지
05. 아키텍트가 알아야할 12 97가지YoungSu Son
 
챗GPT 활용팁
챗GPT 활용팁챗GPT 활용팁
챗GPT 활용팁훈주 윤
 
애자일 머신러닝
애자일 머신러닝애자일 머신러닝
애자일 머신러닝Seungil You
 
UX 디자인 7가지 비밀: 비밀 4
UX 디자인 7가지 비밀: 비밀 4UX 디자인 7가지 비밀: 비밀 4
UX 디자인 7가지 비밀: 비밀 4Nammin Lee
 
131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원NAVER D2
 
MongoDB in use(김인범, mongodb korea)
MongoDB in use(김인범, mongodb korea)MongoDB in use(김인범, mongodb korea)
MongoDB in use(김인범, mongodb korea)InBum Kim
 
애자일 도입과 사례 공유
애자일 도입과 사례 공유애자일 도입과 사례 공유
애자일 도입과 사례 공유agilekorea
 
Django Girls 12월 Meetup 발표 자료
Django Girls 12월 Meetup 발표 자료Django Girls 12월 Meetup 발표 자료
Django Girls 12월 Meetup 발표 자료seungdols
 
클로져 소개 강의 (한국정보통신산업노동조합)
클로져 소개 강의 (한국정보통신산업노동조합)클로져 소개 강의 (한국정보통신산업노동조합)
클로져 소개 강의 (한국정보통신산업노동조합)Sang-Kyu Park
 

Similar to 20210315 일하면서 배운 것 (20)

두 번째 startlink.live: 김재홍 (xhark) - 알고리즘 문제 출제 전략
두 번째 startlink.live: 김재홍 (xhark) - 알고리즘 문제 출제 전략두 번째 startlink.live: 김재홍 (xhark) - 알고리즘 문제 출제 전략
두 번째 startlink.live: 김재홍 (xhark) - 알고리즘 문제 출제 전략
 
Pivotal Labs 고객사례 - Coinone
Pivotal Labs 고객사례 - CoinonePivotal Labs 고객사례 - Coinone
Pivotal Labs 고객사례 - Coinone
 
20150307 abcd발표_ux디자이너 실력으로 살아남기
20150307 abcd발표_ux디자이너 실력으로 살아남기20150307 abcd발표_ux디자이너 실력으로 살아남기
20150307 abcd발표_ux디자이너 실력으로 살아남기
 
예비 개발자를 위한 웹서비스 개발 방법론 특강 - 폴리텍대학교 강서캠퍼스
예비 개발자를 위한 웹서비스 개발 방법론 특강 - 폴리텍대학교 강서캠퍼스예비 개발자를 위한 웹서비스 개발 방법론 특강 - 폴리텍대학교 강서캠퍼스
예비 개발자를 위한 웹서비스 개발 방법론 특강 - 폴리텍대학교 강서캠퍼스
 
[TMS 2018] 자금확보 / Lablup 신정규 CEO, 님아 제발 그 강을 마오
[TMS 2018] 자금확보 / Lablup 신정규 CEO, 님아 제발 그 강을 마오[TMS 2018] 자금확보 / Lablup 신정규 CEO, 님아 제발 그 강을 마오
[TMS 2018] 자금확보 / Lablup 신정규 CEO, 님아 제발 그 강을 마오
 
"행복한 백발의 개발자"라는 제목으로 2024-03-06 어느 IT 업체에서 직책자로 승진한 분들을 대상으로 한...
"행복한 백발의 개발자"라는 제목으로 2024-03-06 어느 IT 업체에서 직책자로 승진한 분들을 대상으로 한..."행복한 백발의 개발자"라는 제목으로 2024-03-06 어느 IT 업체에서 직책자로 승진한 분들을 대상으로 한...
"행복한 백발의 개발자"라는 제목으로 2024-03-06 어느 IT 업체에서 직책자로 승진한 분들을 대상으로 한...
 
애자일의 모든것
애자일의 모든것애자일의 모든것
애자일의 모든것
 
2011~2012 소프트웨어 관련도서 추천 리뷰 모음
2011~2012 소프트웨어 관련도서 추천 리뷰 모음2011~2012 소프트웨어 관련도서 추천 리뷰 모음
2011~2012 소프트웨어 관련도서 추천 리뷰 모음
 
아빠 개발자로 살아남기
아빠 개발자로 살아남기아빠 개발자로 살아남기
아빠 개발자로 살아남기
 
20220919 데이터쟁이의 워크플로우 (부제_ 업무 및 자료 관리 방법) .pdf
20220919 데이터쟁이의 워크플로우 (부제_ 업무 및 자료 관리 방법) .pdf20220919 데이터쟁이의 워크플로우 (부제_ 업무 및 자료 관리 방법) .pdf
20220919 데이터쟁이의 워크플로우 (부제_ 업무 및 자료 관리 방법) .pdf
 
How to implement your dream 20150427
How to implement your dream 20150427How to implement your dream 20150427
How to implement your dream 20150427
 
05. 아키텍트가 알아야할 12 97가지
05. 아키텍트가 알아야할 12 97가지05. 아키텍트가 알아야할 12 97가지
05. 아키텍트가 알아야할 12 97가지
 
챗GPT 활용팁
챗GPT 활용팁챗GPT 활용팁
챗GPT 활용팁
 
애자일 머신러닝
애자일 머신러닝애자일 머신러닝
애자일 머신러닝
 
UX 디자인 7가지 비밀: 비밀 4
UX 디자인 7가지 비밀: 비밀 4UX 디자인 7가지 비밀: 비밀 4
UX 디자인 7가지 비밀: 비밀 4
 
131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원
 
MongoDB in use(김인범, mongodb korea)
MongoDB in use(김인범, mongodb korea)MongoDB in use(김인범, mongodb korea)
MongoDB in use(김인범, mongodb korea)
 
애자일 도입과 사례 공유
애자일 도입과 사례 공유애자일 도입과 사례 공유
애자일 도입과 사례 공유
 
Django Girls 12월 Meetup 발표 자료
Django Girls 12월 Meetup 발표 자료Django Girls 12월 Meetup 발표 자료
Django Girls 12월 Meetup 발표 자료
 
클로져 소개 강의 (한국정보통신산업노동조합)
클로져 소개 강의 (한국정보통신산업노동조합)클로져 소개 강의 (한국정보통신산업노동조합)
클로져 소개 강의 (한국정보통신산업노동조합)
 

20210315 일하면서 배운 것

  • 1. 일하면서 배운 것 (20분만에) 2021. 3. 15. R&D 워크샵 황인욱
  • 2. 주제 ● 어떻게 일하는가 ○ 잘하는 사람이 가르쳐 줌 ● 일하면서 배운 것 ○ 실수하면서 고생한 얘기 ● 과거에 하고 돌아다닌 것들 + 느낀 것 ○ 순서대로 ○ 앞부분은 연도 생략.. 이건 아니다. 2
  • 3. 서울대 석사, 최적화연구실 ● 학부생 때 알고리즘, AI가 재미있어서 컨택. ○ 조합 최적화(combinatorial optimization)를 genetic algorithm으로 ○ 신경망, HMM 같은 기계학습 모델을 더 잘 풀기 ● 개인적 목표: 과제비로 국제학회 출장가기 (ACM GECCO) ○ 쉽게 논문 쓸수 있는 주제 정함: 그래프 분할(NP-Hard)을 GA로 global optimization - 2년 동안 3편 씀. 졸업논문도 이걸로.. ○ 학회 두번 갔음: Seattle (1년차), London (2년차) ○ 겉핥기: 정말 중요하거나 풀고싶은 문제라고 생각했나? No. 그냥 논문 될 거 같은 걸로 썼음. ○ 그래서 machine learning 연구에 흥미 잃음. ● 프로젝트: 한국주가 데이터 분석 ○ 기술적, 기본적 전략 backtest - 나중에 지도교수님 책 쓰시고(<메트릭 스튜디오>) 자산운용사 창업. ○ 데이터 분석은 데이터 다듬는 일이 절반 (수정주가, 데이터 누락, 심지어 오타) ○ 여러가지 bias, overfitting을 피하는 것은 매우 어려움: 나중에 전략대로 해봤는데 잘안됨 (PER/PBR, NCAV) ● 중요한 문제를 찾아서, 남들보다 더 잘푸는 것은 쉽지 않은 일 ○ 실력, 끈기, 진지함이 있어야. ○ “Success is the ability to go from one failure to another with no loss of enthusiasm.” - Sir Winston Churchill 3
  • 4. 티맥스소프트 R&D center ● S 팀장님 만남 ● 기업용 검색엔진을 만들어보자 ○ 시스템 프로그래밍, 엔진 개발에 대해 많이 배움 ■ 출근한 첫주에 Stevens의 <APUE> 주문했던 기억. ■ 설계하는 법, 발표하는 법. ○ 제품개발 - ProSearch ■ 문서 수집 - parsing - indexing - 실시간 검색 - UI까지. ■ 제품에 대한 애정 - 내 자식, 내 작품이라고 생각. ○ 일하면서 공부하면 필요성을 느끼면서 빨리 배움. ■ 메모리 관리, 동기화, multi-threading 이 왜 필요한가 ■ Big-o notation의 유용함. Stack overflow가 정말 발생하네! (non recursive하게 작성해라). ○ 대우조선, 부산시청 등 몇개 고객확보. ● Web crawling도 해서 검색서비스를 하자. ○ Google 초창기 논문 읽고 자체 개발 - 분산 Crawler, 분산파일시스템(GFS 따라하기) ● S님 유학선언 & 월급 안나옴. “철이 없었죠. 바닥부터 만든다는 게...” 4
  • 5. 삼성전자 생산기술연구소 ● 반도체 사업부 가서 일하기 ○ 메모리 사업부, LSI 사업부 - 제조업의 끝. ○ 잘되는 조직 - 반도체 사업부 ■ 일에 대한 진지하고 치열한 자세 ■ 직급이 높아질수록 더 고생하는 게 당연 ■ junior가 도전적으로 일벌리다가 하는 실수는 조직이 책임진다 ■ “일이 되게 한다” - 크고 오래된 회사지만, 좋은 사람보다 일이 되게 하는 사람을 더 인정하는 분위기. ○ MARS 프로젝트: 메모리/LSI 장비 (주로 photo scanner) 생산최적화 ■ 장비의 데이터 수집/구조화 ■ 병목 찾을 수 있도록 시각화. 데이터마이닝, 장애예측 ○ DSL 정의 + 자동수집기(ssh, ftp, 각종 log 파일) ■ 대형사고: 목요일 밤에 걸려온 전화… 데이터 수집 가이드라인 생김. ■ 현업에 대한 존중 ● 대기업의 장단점 ● (건방지게) 만족못함. SW가 메인인 곳 ○ 퇴사하고 좀 쉬자 ○ 대학원때 써둔거 출판 (많이 못놀았음) - 아는 걸 남에게 설명하거나 글로 쓰면 더 잘 알게됨. 5
  • 6. 티베로 연구소 ● 외국계 회사가려고 interview, offer 받음. ○ “엔진! Core! 해봐야하지 않겠나” ● Tibero Core team 합류 ○ 이런거 개발함 ■ Buffer cache management, transaction management ■ Crash recovery, active-active cluster, physical replication ○ 정작 query optimization을 안했기 때문에.. SQL 잘모름. ● UNIX계열 C 시스템 프로그래밍의 끝을 봄. ○ 정말 밑바닥부터 구현: 예를 들어 플랫폼 별로 구현한 동기화 메커니즘(lock) 구현. ○ 복잡성 다루기 - 추상화 계층을 수십단계 쌓아올림. ○ 십년 넘은 수십만줄의 코드를 수십명이 수정. 수백개 고객 요구사항. ■ 로그보고 디버깅해서 패치하기. ○ RDB는 CS 성과의 집약체 - 다른 걸 쓰려면 잘 생각해봐야함 ● 레드오션 전략 ○ 확실한 제품을 고른 다음, 더 싸게, 더 빠르게, 고객이 원하는 대로 ○ Oracle 따라잡기 ○ 장점과 단점 6
  • 7. Atto Research (2014-2020) ● SDN 연구개발 시작하던 시점 합류 ○ 몇년내로 네트워크는 모두 SDN으로 넘어갈거라고 예상. ● 1년쯤 주로 개발. 팀이 빠르게 커지면서 management 시작. ● 제품/기술 영역: network/cloud innovation ○ SDN controller OBelle: openflow SDN 컨트롤러 ○ Hermes: SDN+3D 시각화 ○ OBelle Fabric: OpenStack의 cloud network을 빠르게 ○ Atto-Access SDLAN: LAN을 SDN으로 ● 그리고 수많은 정부과제 ○ 과제책임자 5-6번 정도. 실무는… ○ 정부과제 driven development ■ 언젠가부터 일주일중 2-3일은 정부과제에.. 7 “이제 돈되는 일이면 다해라”, <범죄도시>
  • 8. Atto Research (2014-2020) ● SDN Controller OBelle: 컨트롤러 자체만으로 팔릴줄 알았으나.. ● Hermes (2016): 보는 사람마다 우와 하고 사진찍어감. 그러나 매출은.. ● Fabric (2017): cloud에서 SDN 기반 network virtualization ○ 첫고객: Koscom PaaS ○ 어마어마하게 많은 legacy network(underlay) + neutron overlay network의 기능을 하나씩 구현 ■ 기술적인 벽에 부딪히고.. 넘고..를 반복, Openflow 지원 하드웨어 부족함 ■ 지금 생각해보면 개발팀장(=나)의 기술적 고집, 미련한 결정으로 모두 고생. ○ 나중에 NBP가 win-back: 여기는 그냥 쉽게쉽게 감. ● Atto-Access: SDN으로 LAN 구현 (2018) ○ 고객이 원하는 것 - IP mobility? ○ LAN 구현은 훨씬 쉬웠음. 가끔 표준과 다르게 구현된 장치들 처리하기. ○ 시청, 교육청 등등 - 고객 늘어나는 중. ● 최신, 고급의 기술이 중요하지 않음 ○ 시장에 보여주면 요구사항은 달라짐. ○ 오래 걸려 만들지 말고, 빠르게 프로토타입을 만들어야 함. ○ 비지니스적으로 풀수 있는 것은 그렇게 풀자. ● 정부과제의 장점이자 단점 ○ 제품 초기단계에 금전적 지원 (도랑치고 가재잡고) ○ 마음이 편함: 뭔가 하고 있다는 느낌, 인건비 상당부분 커버 (취업준비생의 알바) ○ 팀장, 연구소장, 주요개발자가 소수가 대응하게 됨. 8
  • 9. 정리 & 못다한 얘기 ● 커리어 관리 ○ 자기의 한계(기술적 어려움, 일의 빡셈)에 적절하게 도전해야 능력향상 ■ “Brain muscle”, “일근육”: 근육은 찢어졌다 회복하는 과정에서 커짐 ■ 적절한 무게: 너무 어려우면 좌절하고 멘탈깨짐. ● 이런 구성원을 격려해서 키워낼 수 있는 조직이 좋은 조직 ○ 장인정신 - 내 제품을 내 새끼, 내 작품이라고 생각하자. ○ 이직: 실력과 reputation이 가장 큰 재산. ● 공부 ○ 매주 하루정도, 업무관련 공부만 하면 정말 잘 알게 됨: 그렇게 하는 사람은 드물다. ■ “좋은 프로그래밍 책을 두 달에 한 권, 즉 일주일에 대략 35페이지 정도만 읽어도 당신은 이내 이 분야에 대해서 확실한 감을 갖게 될 것이며 주변의 거의 모든 이들과 구별되는 수준으로 올라설 것이다.” - <Code Complete>, 스티브 맥코넬 ○ 의도적 수련이 중요 - 나의 수영실력: 고민없이 연습하면 12년을 해도 실력이 늘지 않는다 9
  • 10. 정리 & 못다한 얘기 ● 고객과 시장 ○ 새로운 기술에 대한 예측은 잘 맞지 않는다. 특히 R&D. ○ 고객의 니즈를 미리, 정확히 파악하긴 어렵다 (사실 고객도 잘 모른다?) ○ 지저분하게 빠르게 만든 프로토타입을 (그렇지 않은 척하면서) 잠재고객에게 보여주고 다녀야 함. ■ 프로토타입과 최종제품의 괴리를 적절히 유지, 필요하면 빠르게 채울 수 있는 능력, 빠르게 방향을 바꿀수 있는 능력은 그 회사의 실력 - 이건 그냥 키워야되는 것 같음 ■ 재능마켓 moonlight ○ 내가 가진 툴에 맞는 문제를 찾지 말고, 좋은 문제를 먼저 찾자 (moloco, toss의 사례) ○ 현업에 있는 사람과 규칙을 존중하자. ○ 고객, 시장, legacy는 바보가 아님. ○ 기술적으로 하찮은 일을 하찮게 취급하지 말자. “It is faster to make a four-inch mirror then a six-inch mirror than to make a six-inch mirror.” -Allyn Thompson 10
  • 11. 요약 1. 꾸준한 공부, 의식적인 훈련으로 실력을 쌓아 좋은 동료를 만나고 중요하고 좋은 문제를 같이 풀자. 2. 제품, 기술에 대한 애정과 자부심을 갖고 설계/개발하자. 빠르게 동료, 고객과 시장에 보여주면서 대응하자. 시장과 고객을 존중하면서도 리드할 수 있다는 생각을 갖자. 3. 벽에 부딪히면 충분히 고민하되 혼자서 끌어앉고 있지 말자. 좋은 동료들과 머리맞대고 의논하면, 힘을 모아서 해결하거나 , 다른 방법으로 풀수도 있다. 11 -끝