34
이민석 NHN NEXT 자신 있는 개발자에서 훌륭한 개발자로

Deview-2014-자신있는개발자에서 훌륭한개발자로

Embed Size (px)

DESCRIPTION

개발을 업으로 한다는 것. 즉 선수 개발자가 되려면 스스로 개발에 자신이 있어야 하고 동시에 남들에게도 인정받는 훌륭한 개발자여야 합니다. 자신있다는 것과 훌륭하다는 것은 어떤 차이가 있을까? 이 발표는 이제 개발에 입문하려는 사람들, 이제 뭐든 만들 수는 있을 것 같은 개발자들, 뭔가 개발 '꺼리'를 보면 솟아나는 열정에 가슴이 뛰는 개발자님들을 위하여 훌륭한 개발자가 되기 위한 마음가짐과 준비해야하는 것들에 대하여 이야기를 합니다.

Citation preview

Page 1: Deview-2014-자신있는개발자에서 훌륭한개발자로

이민석NHN NEXT

자신있는개발자에서훌륭한개발자로

Page 2: Deview-2014-자신있는개발자에서 훌륭한개발자로

1. 자신있는개발자 - DEVIEW 2013 (복습)

2. 훌륭한개발자?

3. 훌륭한개발자가될 수는있는가?

4. 요약

CONTENTS

Page 4: Deview-2014-자신있는개발자에서 훌륭한개발자로
Page 5: Deview-2014-자신있는개발자에서 훌륭한개발자로

열정

몰입

진정성

REVIEW

TEST

RELEASE

IMPROVE

복습 끝 !

소프트웨어 개발이라는 문화적 체험

내가 만든 문제를 해결하는 경험적 배움

Page 6: Deview-2014-자신있는개발자에서 훌륭한개발자로

훌륭한 개발자

Page 7: Deview-2014-자신있는개발자에서 훌륭한개발자로

Intellectual Curiosity

Logical Thinking

Math Background

Problem Solving

Communication

책에 나오는 훌륭한 개발자의 기본 자질

Page 8: Deview-2014-자신있는개발자에서 훌륭한개발자로

훌륭한 개발자 Self-Test, 나는

언제 시작했는지도 모르게 코딩하고 있는 나를 종종 발견한다.

최근에 새로운 프로그래밍 언어, 도구, 수학 개념을 배웠다.

관심 있게 보고 있는 오픈 소스 프로젝트가 3개 이상이다.

지난 6개월 동안, 커뮤니티에서 뭔가 발표를 해 본 적이 있다.

누군가의 멘토이며, 또 누군가의 멘티이다.

개인 프로젝트를 위한 소스 리파지터리를 유지하고 있다.

전에 작성한 내 코드가 너무 깔끔해서 감동한 적이 있다.

코딩에 쓰는 시간이 주당 몇 시간인지 정확히 알고 있다.

참여하고 있는 프로젝트의 전체 구조를 바로 설명할 수 있다.

내가 만든 소프트웨어의 사용자에 귀 기울이고 있다.

Page 9: Deview-2014-자신있는개발자에서 훌륭한개발자로

나는누구?여긴어디?

언저리개발자

세상은 늘 정규 분포

1 2 3 4 5 6 7 8 9 10

무수리개발자

훌륭한개발자

Page 10: Deview-2014-자신있는개발자에서 훌륭한개발자로

훌륭한

개발자잘하는

그래서

자신있는

배우는

멋진

통하는

쉽게 쓴, 훌륭한 개발자

Page 11: Deview-2014-자신있는개발자에서 훌륭한개발자로

생산성

잘하는 개발자

1

• A

• B

2

• C

• D

2

• E

• F

2

• G

• H

2

• I

• J

2

• K

• L

2

• M

• N

2

• O

• P

2

• Q

• R

2

• S

• T

2

• U

• V

2

• W

• X

2

• Y

• Z

2

• ㄱ

• ㄴ

2

• ㄷ

• ㄹ

2

• ㅁ

• ㅂ

2• ㅅ

• ㅇ

2

• ㅈ

• ㅊ

2

• ㅋ

• ㅌ

2

• ㅍ

• ㅎ

2

• A

• B

2

• C

• D

2

• E

• F

2

• G

• H

Page 12: Deview-2014-자신있는개발자에서 훌륭한개발자로

“프로그래머들은 프로그램에서 중요하지 않은 부분을

고심하느라 많은 시간을 낭비한다.

문제는 이런 효율성을 위한 노력이 디버깅이나

유지보수 과정에서 부정적인 영향을 초래한다는 것이다”

Donald Knuth

스탠포드 명예교수

The Art of Computer Programming 저자

중요한 것은

‘알고리즘‘ 이 아니라 ‘데이터’

Page 13: Deview-2014-자신있는개발자에서 훌륭한개발자로

1. Do you use source control?

2. Can you make a build in one step?

3. Do you make daily builds?

4. Do you have a bug database?

5. Do you fix bugs before writing new code?

6. Do you have an up-to-date schedule?

7. Do you have a spec?

8. Do programmers have quiet working conditions?

9. Do you use the best tools money can buy?

10. Do you have testers?

11. Do new candidates write code during their interview?

12. Do you do hallway usability testing?

Joel Spolsky

The Joel Test: 12 Steps to Better Codehttp://www.joelonsoftware.com/articles/fog0000000043.html

Page 14: Deview-2014-자신있는개발자에서 훌륭한개발자로

http://en.wikipedia.org/wiki/Confidence

자신 있는개발자

개발자라면 일단

자·신· 은·있·다·고우겨보는 겁니다.

세상은 늘 정규 분포

Page 15: Deview-2014-자신있는개발자에서 훌륭한개발자로

배우는 개발자

Page 16: Deview-2014-자신있는개발자에서 훌륭한개발자로

변화를 주도하는 마음가짐

변하는 가치에 대한 인간의 반응

기술과 그 기반이 되는 플랫폼의 변화

사회의 여러 가치가 어떻게 바뀌어 가는지

무엇을 배워야 하나?

= 자세

= 데이터

= 진짜 기술

= 인문 사회학

Page 17: Deview-2014-자신있는개발자에서 훌륭한개발자로

보고 · 듣고 · 맛보고 · 즐기고(공부도 조금 하고)

경험으로 익숙해지고

변화를 설명하고

변화를 이끌어가는 입장에 서서

변화.. 어떻게 배워야 하나?

Page 18: Deview-2014-자신있는개발자에서 훌륭한개발자로

멋진 개발자

누군가의 mentor

누군가의 role model

누군가의 먼~ role model

Page 19: Deview-2014-자신있는개발자에서 훌륭한개발자로

Mentoring 나도 가능할까?

You are GOOD Enough !

세상은 늘 정규 분포세상은 늘 정규 분포

Page 20: Deview-2014-자신있는개발자에서 훌륭한개발자로

커뮤니티로 가자!

놀랍게도

그들은

나를 기다리고 있다.

Page 21: Deview-2014-자신있는개발자에서 훌륭한개발자로

통하는 개발자

나만

잘 하면 되는가 ?

Page 22: Deview-2014-자신있는개발자에서 훌륭한개발자로

네가

회색 과 Gray 의차이를 아냐고?

금성, 목성순회공연을마치고방금 온디자이너

나?화성출신개발자

Page 23: Deview-2014-자신있는개발자에서 훌륭한개발자로

개발자

프로젝트 관리자

인사담당

주주

하청프리랜서

Page 24: Deview-2014-자신있는개발자에서 훌륭한개발자로

개발자

프로젝트 관리자

인사담당

주주

하청프리랜서

그리고

All-Kill No.2

옆에 앉은 안 되는 개발자

All-Kill No.1

GAP님

Page 25: Deview-2014-자신있는개발자에서 훌륭한개발자로

Intellectual Curiosity

Logical Thinking

Math Background

Problem Solving

Communication

지금부터라도 훌륭한 개발자의 자질을 계발할 수 있을까?

Page 26: Deview-2014-자신있는개발자에서 훌륭한개발자로

Intellectual Curiosity

Logical Thinking

Math Background

Problem Solving

Communication

지금부터라도 훌륭한 개발자의 자질을 계발할 수 있을까?

난, 항상 뭔가가 궁금했었지.

난, 짱 논리적이야 (여자 앞만 아니면 ).

난, 인생 자체가 문제 해결 경험이야.

난, 이미 3개 언어 가능자 (Korean, C, Java, …)

수학은 아~~, 아직 늦지 않았스으~리

Page 27: Deview-2014-자신있는개발자에서 훌륭한개발자로

“수학의 대중화는상대방의 존재 이유를 설명하면서다른 분야 사람들과상호 작용을 해 나가는 과정이다.”

세드릭 빌라니(프랑스 에콜 노말 리옹대 교수)

2010년 필즈상 수상자

Page 28: Deview-2014-자신있는개발자에서 훌륭한개발자로

이런 고마운 제목의 글이...

“Programming Is Not Math”

http://www.sarahmei.com/blog/2014/07/15/programming-is-not-math/

(한글) https://medium.com/@cookatrice/programming-is-not-math-5592178ff7cb

Page 29: Deview-2014-자신있는개발자에서 훌륭한개발자로

수학은 변화를 읽고, 설명하는 도구 !

Page 30: Deview-2014-자신있는개발자에서 훌륭한개발자로

수학은 변화를 읽고, 설명하는 도구 !

내가이렇게

심플한세상

세상은 늘 정규 분포

또이렇게

움직이면

복잡한세상

그리고 주기적인 변화

𝑦 = 𝑥

Page 31: Deview-2014-자신있는개발자에서 훌륭한개발자로

그녀

Page 32: Deview-2014-자신있는개발자에서 훌륭한개발자로

마무으리

열정

몰입

진정성

자기 성찰

관점의 변경

즐기는 자세

훌륭한개발자

REVIEW

TEST

RELEASE

IMPROVE

Page 33: Deview-2014-자신있는개발자에서 훌륭한개발자로

치맥 치맥호기심

호기심

데이터

알고리즘

알고리즘

데이터

레고레고

야동 야동

사용자

보스

페북

페북

맥북

맥북

휴가

철야

품질LOC

* LOC : lines of code

훌륭한 개발자 안 훌륭한 개발자

수학

꼼수

요약

㈜우아한형제들표어

Page 34: Deview-2014-자신있는개발자에서 훌륭한개발자로

Q&A

THANK YOU

이민석NHN NEXT

자신이있던없던훌륭하던그렇지않던

소프트웨어 개발자만 만세 !!