Slide 1

Slide 1 text

Netty 13년 이희승 (@trustin) Aug 30, 2015

Slide 2

Slide 2 text

Netty 는 … ▸자바 프레임워크 ▸클라이언트 · 서버 소켓 개발을 쉽고 빠르게 ▸빠르지만 유지보수 가능하게 ▸비동기 ▸이벤트 기반

Slide 3

Slide 3 text

Many organic. Very forks. Wow! ▸2014 vs. 2015 ▸160+ people in repo history ▸22nd most starred Java/Android project ▸17th most forked Java/Android project

Slide 4

Slide 4 text

사용 분야 ▸웹 서비스 ▸인스턴트 메시징 ▸멀티플레이어 게임 ▸스토리지 · 데이터베이스 ▸고빈도 거래 (HFT) ▸미디어 스트리밍

Slide 5

Slide 5 text

왜 만들기 시작했나? ▸이통 5사 연동 SMS 게이트웨어 개발을 하다 보니… ▸전문 형식은 다른데 전문 흐름은 공통 ▸전문 해석과 비즈니스 로직을 분리하고 싶다. ▸받은 전문에 반응하는 것이 대부분 ▸GUI 개발하듯 이벤트 기반으로 개발하고 싶다.

Slide 6

Slide 6 text

(사실) 라이브러리 개발이 좋아서… “짜라는 A 는 안 짜고 libA 를 먼저 만든다!”

Slide 7

Slide 7 text

왜 공개했는가? ▸오픈 소스에 대한 관심 ▸소통에의 욕구 ▸세계가 쓰는 소프트웨어를 만들고 싶다? ▸… 그냥 재미로? ▸… 관심받고 싶다? ▸여러분, 저도 13년전의 제 마음은 정확히 모릅니다;

Slide 8

Slide 8 text

그래도 지난 13년간 느낀 점이 있을텐데?

Slide 9

Slide 9 text

재미있다 ▸내 프로젝트에 '사용자'가 생겼다! ▸내 곁에 필요성을 이해하는 사람들이! ▸나는 여기선 ▸Chief Technology Officer ▸Chief Customer Officer ▸The God of the Project! ▸누구도 나의 속도를 막지 못해! ▸“버그가 있다구요? 오늘 고쳐서 릴리즈해드리죠!”

Slide 10

Slide 10 text

재미없다 ▸충분히 운이 좋아서 프로젝트가 성장한다면 … ▸재미없는 일이 생기기 시작합니다. ▸아니 발표자 양반, 이게 무슨 소리요? ▸numReportedIssues >>>>>>> numPullRequests ▸일을 많이 하면 일이 더 생기는 매직 ▸내가 싼 똥에 내가 자빠진다 ▸또라이 질량 보존의 법칙

Slide 11

Slide 11 text

그것은 위기이자 기회 ▸어떻게 갈등을 해결할 것인가 ▸기술적 · 인적 ▸한 발짝 물러서서 문제를 보자 (이쯤되면 거의 인생수업…)

Slide 12

Slide 12 text

내가 다 해결할 필요는 없다 ▸위임할 수 있는 일도 혼자서 짊어지고 있는 것은 아닌지? ▸“We ♥ pull requests!” ▸“Are you interested in joining the team?” ▸기계에게 위임할 수 있는 일도 많다.

Slide 13

Slide 13 text

어떤 문제는 시간이 필요하다 ▸“이 기능이 우리 <초 유명 회사> 에서 꼭 필요한데...” ▸서둘러 내놓은 기능은 종종 똥입니다. ▸오픈 소스의 강점인 'doing things right'을 명심! ▸아이디어의 숙성 ▸충분한 사용자 피드백 수렴 ▸다양한 선택지의 검토 ▸잊고 지내면 문제가 다르게 보이기도?

Slide 14

Slide 14 text

키보드 워리어가 되기 전에 ▸모든 것이 부정적으로 보일 때 ▸과잉반응하는 것은 아닐까? ▸내가 문제인가, 프로젝트가 문제인가 ▸청취의 기술 · 비폭력대화 ▸“Hey, could you help me understand your problem?” ▸Do not feed the troll!

Slide 15

Slide 15 text

그런데 어째서 이 모든 문제가 내게 …

Slide 16

Slide 16 text

당신이 그 프로젝트를 (잘) 했기 때문이에요!

Slide 17

Slide 17 text

영원히 겪을 문제들 ▸numIssues >>>>>> teamVelocity * lifeExpectancy ▸Work-Life-“OSS” balance · symbiosis ▸Competitors and Disruptors ▸분산된 멤버와의 커뮤니케이션 ▸하위 호환 · 마이그레이션 ▸생각지 않았던 용법 ▸문서화 ▸…

Slide 18

Slide 18 text

“내가 혹시 '프로젝트의 노예 13년'을 찍고 있나?”

Slide 19

Slide 19 text

그럼 그걸 왜 하고 있죠? ▸(힘들 때) ▸“사실 저도 잘 … 관성;?” ▸(좋을 때) ▸더 높은 목표를 향한 전진 ▸생면부지의 동료와 함께하는 기술적 · 인간적 성장 ▸(끝내줄 때) ▸세상을 더 나은 곳으로 만들어가는 과정 그 자체

Slide 20

Slide 20 text

여러분도 한 번? ▸시작도 전에 걱정은 금물! ▸과정 >>>>>> 결과 ▸Doing things right ▸Promoting your work ▸Working altogether alone ▸Embracing new ideas and challenges

Slide 21

Slide 21 text

감사합니다 이희승 (@trustin)