Top Banner
프프프프프프 프프프 프 프프프 프프 / 프프프프프프프프 NHN Technology Services
31

Deview 2013 프로그래머로 산다는 것 유석문

Jan 13, 2015

Download

Education

Seokmoon Ryoo

2013년 문화관광부 선정 우수학술도서인 "프로그래머로 산다는 것"의 공동저자인 발표자의 경험을 공유합니다.
"좋은 프로그래머"가 되어야 한다는 충고는 흔하게 하지만 구체적인 방법을 제시하는 경우는 매우 드뭅니다. 단지 열심히 일하고 공부하라는 식의 피상적인 내용만 이야기하고 있습니다. 목표와 방법이 잘못된 경우라면 열심히 할 수록 빨리 실패하게 됩니다.
이에 "좋은 프로그래머"가 무엇인지 정의하고 이에 필요한 기술, 문화적 요소에 대한 발표자의 경험과 생각을 공유합니다.

본 발표는 다음의 내용을 다룹니다.
- 좋은 코드란 무엇인가?: "좋은 프로그래머"의 기초는 "좋은 코드"를 작성하는 전문가 입니다. 좋은 코드를 작성하기 위해 필요한 지식과 기술요소를 설명합니다.
- 공유: Silo를 개발자의 전형으로 오해하는 경우가 많습니다. 이와 반대로 공유를 통해 조직과 개인의 발전을 추구하는 방법을 발표자의 경험과 실 사례를 통해 공유합니다.
- 협업: 효과적으로 서비스를 개발하려면 서비스 개발에 참여하는 모든 참여자의 협업이 중요합니다. 하지만 많은 조직이 단방향의 일흐름을 유지하며 무수한 낭비와 실패를 경험합니다. 이러한 낭비와 실패를 예방하고 함께 성공할 수 있는 방법인 "효과적인 협업"에 필요한 기술요소와 방법을 설명합니다.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Deview 2013 프로그래머로 산다는 것 유석문

프로그래머로 산다는 것유석문 이사 / 신규서비스개발실NHN Technology Services

Page 2: Deview 2013 프로그래머로 산다는 것 유석문

CONTENTS1. 개발자 ???

2. 좋은 개발자 ???

3. 좋은 개발자 !!!

Page 3: Deview 2013 프로그래머로 산다는 것 유석문

0. 프로그래머로 산다는 것

2013 년 문화체육관광부 우수학술도서

2012.09.26 로드북

황상철 하호진

이상민 김성박

Page 4: Deview 2013 프로그래머로 산다는 것 유석문

0. 프로그래머로 산다는 것 FAQ

화장실에서도 일하란 말이냐 ??

필자 중 누구의 다리냐 ??

Page 5: Deview 2013 프로그래머로 산다는 것 유석문

1. 개발자 ???

Page 6: Deview 2013 프로그래머로 산다는 것 유석문

1.1 개발자 ??? or ??????

이미지 출처 : http://www.leda-tutorial.org/en/official/ch02s04.html

상황 : Java 3 ~ 5 년 경력 기술면접

Class Stack() {……}

응 ??

으응 ??

최근에는 개발보단 관리를 많이 하느라 …

읭 ???

개발 ( 놈 ) 者

Page 7: Deview 2013 프로그래머로 산다는 것 유석문

1.2 개발 ( 놈 ) 者 Begins – 업무 할당

이미지 출처 : http://elderonamission.blogspot.kr/2011/06/our-call-to-du-ty.html

이 일을 언제까지 끝낼 수 있겠나 ?

참고로 시간이 없네 .

비극 또는 일상의 시작 ~!!

Page 8: Deview 2013 프로그래머로 산다는 것 유석문

1.2 개발 ( 놈 ) 者 Begins – 업무 수행

이미지 출처 : https://fisher.osu.edu/blogs/ftmba-admissions/tag/deadline/http://www.3waylinks.comhttp://withalways.tistory.com/120http://backreaction.blogspot.kr/2012/02/updated-science-symbol.html

검색

복사 & 붙여넣기

되는 것 처럼 보일때 까지

~!!!

Page 9: Deview 2013 프로그래머로 산다는 것 유석문

1.3 개발 ( 놈 ) 者의 탄생 주역

이미지 출처 : http://www.fanpop.com/clubs/kuzco/images/30859484/title/kuzco-3-photohttp://4realleaders.com/2011/11/the-good-bad-and-ugly-part-3/http://www.seattlejusticeblog.com/2010/10/mike-withey-joins-public-justice-to-fight-health-insurance-greed/http://i-sight.com/investigation/managing-an-uncooperative-complainant-or-witness-in-a-workplace-investigation/http://thedevilsdoor.org

비협조적인 동료탐욕스러운 회사나쁜 고객과 상사

통제할 수 없는 외부요인

Page 10: Deview 2013 프로그래머로 산다는 것 유석문

1.4 개발자의 필수능력

이미지 출처 : http://www.redbubble.com/people/yossirb9/works/9288761-keep-calm-for-inner-peace?p=stickerhttp://blog.naver.com/ryo132?Redirect=Log&logNo=100195221848

깔끔한코드

적절한논리력

• 사람이 이해하기 쉬운 코드

• 변경이 용이한 코드

• 유지보수 비용이 낮은 코드

• 원리 탐색 능력

• 제약조건을 고려한 해법

• 단순한 디자인

Page 11: Deview 2013 프로그래머로 산다는 것 유석문

1.5 깔끔한 코드 작성법

이미지 출처 : http://www.solutionsiq.com/resources/agileiq-blog/bid/64395/What-is-the-Definition-of-Done-DoD-in-Agilehttp://www.iconarchive.com/show/people-icons-by-aha-soft/user-icon.htmlhttp://www.lunched.com.au/features

개발자

고객

ATDDAcceptance TestDriven Develop-

ment

TDDTest Driven Development

Page 12: Deview 2013 프로그래머로 산다는 것 유석문

1.5 깔끔한 코드 작성법

이미지 출처 : http://asynchrony.blogspot.kr/2008/12/hendrickson-on-atdd.html

Page 13: Deview 2013 프로그래머로 산다는 것 유석문

1.5 깔끔한 코드 작성법

이미지 출처 : http://diogoosorio.com/blog/entry/test-driven-development-tdd-using-phpunit

• 사용하는 코드만 만들기 (Caller Create)

• 리팩토링 (Refactoring)

• 코드 읽기 (Code Review)

Page 14: Deview 2013 프로그래머로 산다는 것 유석문

1.6 적절한 논리력

이미지 출처 : http://teamdicky.blogspot.kr/2012/09/the-whining-and-bitching-part.htmlhttp://tommythematerialgirl.blogspot.kr/2012/05/easy-street.html

• 알고리즘과 데이타 구조 (Don’t Reinvent The

Wheel)

• 단순한 디자인 (Simple Design)

• 진화적 디자인 (Evolutionary Design)

• 협업 (Cooperative Design, Design Review)

• 기술 벤치마킹 (Benchmarking)

Page 15: Deview 2013 프로그래머로 산다는 것 유석문

1.7 실천법

이미지 출처 : http://www.mymodernmet.com/profiles/blogs/cute-yoga-kittenshttp://24.media.tumblr.com/tumblr_lzfa17ANA01qzo3c9o1_1280.jpg, http://ahmad.baitalmal.com/?cat=1

• 꾸준한 연습 (Daily Practice)

• 매일 몸값 올리는 시간을 가져라

• 멀리 가고 싶다면 함께 가라

• 현재 필요한 만큼만

하라

• 간단하게 하라

Page 16: Deview 2013 프로그래머로 산다는 것 유석문

2. 좋은 개발자 ???

Page 17: Deview 2013 프로그래머로 산다는 것 유석문

2.1 좋은 OO 개발자 ???

이미지 출처 : http://uas.osu.edu/program/collaborative-art-making-intensivehttp://www.jdsmitproductions.co.nz

“ 좋은”

공유 협업

개발자OO서버 , 웹 , 클라이언트 , 임베디드 , 모바일 , 게임 , …………

• 분야가 다양• 시간

변동성

• 시간 변동성 없음

Page 18: Deview 2013 프로그래머로 산다는 것 유석문

2.2 공유하는 이유 ??

이미지 출처 : http://themostbeautifulfraudintheworld.blogspot.kr/2012_05_01_archive.html

나는 관대하니까 ~ ????

Page 19: Deview 2013 프로그래머로 산다는 것 유석문

2.2 공유하는 이유 ??

이미지 출처 : http://www.spreadshirt.com/i-m-the-best-t-shirts-C3376A10929818

내가 최고니까 ~ ????

Page 20: Deview 2013 프로그래머로 산다는 것 유석문

2.2 공유하는 매우 현실적인 이유

이미지 출처 : http://www.beeskneesdance.com/lindy-hop-pet-peeves/homer-simpson-doh/http://www.bubblews.com/news/294553-hall-of-famehttp://www.123rf.com/photo_20283635_man-receiving-award-trophy-medal-reward-prize-knighted-honour-honor-ceremony-event-stick-figure-pict.html

주변이 똑똑해져야 내가 편함• 사고를 수습하는 일이 줄어듬

• 중요한 일을 할 여유를 가질수 있음

좋은 평판을 얻을 수 있음

주변의 덕을 볼 확률이

올라감

Page 22: Deview 2013 프로그래머로 산다는 것 유석문

2.4 공유 방법

이미지 출처 : http://diginomica.com/2013/05/24/email-the-stepchild-digital-forgot/http://www.nuget.org/packages/Hellang.Repository/http://www.weblinkinternational.com/chambershttp://gallery.orchardproject.net/List/Search?searchTerm=author%3A%20Piotr%20Szmyd

기록

공유

조회

* 주의 : 재미있어야함 ! * 주의 : 쌈박질 조심 !

메일

교육세미나

코드리뷰

Page 23: Deview 2013 프로그래머로 산다는 것 유석문

2.5 협업

이미지 출처 : http://www.alleywatch.com/2013/06/10-tools-that-simplify-startup-collaboration/

Page 24: Deview 2013 프로그래머로 산다는 것 유석문

2.5 협업의 전제조건 : 상대를 이해하자

이미지 출처 : http://www.telegraph.co.uk/news/picturegalleries/picturesoftheday/7735918/Pictures-of-the-day-18-May-2010.html?image=6

고슴도치도 제 새끼는 함함하다 .

기획자• 산출물 : 기획문서

개발자• 산출물 : 코드

QA• 산출물 : 테스트케이스 , 버그레포트

• 자주듣는 말 : 이걸 왜 해야 하는데요 ?• 자주듣는 말 : 이거 이상해요 !

• 자주듣는 말 : 그럴리가 없는데 ?

제자리에선 잘되요 ~!

Page 25: Deview 2013 프로그래머로 산다는 것 유석문

2.6 협업의 필수요소

이미지 출처 : http://www.psychologytoday.com/blog/death-love-sex-magic/201005/the-secrets-meaningful-life-part-iii-the-impor-tance-self-esteem

자아존중감 (自我尊重感 )

• 자신이 존중 받을 가치가 있다고 믿음

• 있는 그대로의 자신을 인정함

• 타인의 부정적 견해에 크게 영향 받지 않음

본성은 바꿀 수 없지만 외부의 자극에

반응하는 방식은 바꿀 수 있다 .

Page 26: Deview 2013 프로그래머로 산다는 것 유석문

2.6 자아존중감을 높이는 방법

인문학 (Liberal Arts)

• 스토아 철학

• 세네카 , 에픽테토스

• 인지심리학 (Cognitive Psychology)

• 행복에 걸려 비틀거리다

• 뱀의 뇌에게 말을 걸지 마라

• 설득의 심리학

Page 27: Deview 2013 프로그래머로 산다는 것 유석문

3. 좋은 개발자 !!!

Page 28: Deview 2013 프로그래머로 산다는 것 유석문

3.1 좋은 개발자 !!!

논리력 좋은 코드 작성 능력

공유 , 협업

도메인 지식

피드백실천력

이미지출처 : http://ifather.tistory.com/category/ 재밌는세상 ?page=2

Page 29: Deview 2013 프로그래머로 산다는 것 유석문

3.2 좋은 개발자 !!!

이미지 출처 : http://www.todayhumor.co.kr/board/view.php?no=100207&page=1&s_no=100207&table=bestofbest

연습이 완벽을 만든다 !(Practice makes perfect!)

Page 30: Deview 2013 프로그래머로 산다는 것 유석문

Q&A

Page 31: Deview 2013 프로그래머로 산다는 것 유석문

THANK YOU