프로그래머로 산다는 것유석문 이사 / 신규서비스개발실NHN Technology Services
CONTENTS1. 개발자 ???
2. 좋은 개발자 ???
3. 좋은 개발자 !!!
0. 프로그래머로 산다는 것
2013 년 문화체육관광부 우수학술도서
2012.09.26 로드북
황상철 하호진
이상민 김성박
0. 프로그래머로 산다는 것 FAQ
화장실에서도 일하란 말이냐 ??
필자 중 누구의 다리냐 ??
1. 개발자 ???
1.1 개발자 ??? or ??????
이미지 출처 : http://www.leda-tutorial.org/en/official/ch02s04.html
상황 : Java 3 ~ 5 년 경력 기술면접
Class Stack() {……}
응 ??
으응 ??
최근에는 개발보단 관리를 많이 하느라 …
읭 ???
개발 ( 놈 ) 者
1.2 개발 ( 놈 ) 者 Begins – 업무 할당
이미지 출처 : http://elderonamission.blogspot.kr/2011/06/our-call-to-du-ty.html
이 일을 언제까지 끝낼 수 있겠나 ?
참고로 시간이 없네 .
비극 또는 일상의 시작 ~!!
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
검색
복사 & 붙여넣기
되는 것 처럼 보일때 까지
~!!!
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
비협조적인 동료탐욕스러운 회사나쁜 고객과 상사
통제할 수 없는 외부요인
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
깔끔한코드
적절한논리력
• 사람이 이해하기 쉬운 코드
• 변경이 용이한 코드
• 유지보수 비용이 낮은 코드
• 원리 탐색 능력
• 제약조건을 고려한 해법
• 단순한 디자인
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
1.5 깔끔한 코드 작성법
이미지 출처 : http://asynchrony.blogspot.kr/2008/12/hendrickson-on-atdd.html
1.5 깔끔한 코드 작성법
이미지 출처 : http://diogoosorio.com/blog/entry/test-driven-development-tdd-using-phpunit
• 사용하는 코드만 만들기 (Caller Create)
• 리팩토링 (Refactoring)
• 코드 읽기 (Code Review)
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)
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)
• 매일 몸값 올리는 시간을 가져라
• 멀리 가고 싶다면 함께 가라
• 현재 필요한 만큼만
하라
• 간단하게 하라
2. 좋은 개발자 ???
2.1 좋은 OO 개발자 ???
이미지 출처 : http://uas.osu.edu/program/collaborative-art-making-intensivehttp://www.jdsmitproductions.co.nz
“ 좋은”
공유 협업
개발자OO서버 , 웹 , 클라이언트 , 임베디드 , 모바일 , 게임 , …………
• 분야가 다양• 시간
변동성
• 시간 변동성 없음
2.2 공유하는 이유 ??
이미지 출처 : http://themostbeautifulfraudintheworld.blogspot.kr/2012_05_01_archive.html
나는 관대하니까 ~ ????
2.2 공유하는 이유 ??
이미지 출처 : http://www.spreadshirt.com/i-m-the-best-t-shirts-C3376A10929818
내가 최고니까 ~ ????
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
주변이 똑똑해져야 내가 편함• 사고를 수습하는 일이 줄어듬
• 중요한 일을 할 여유를 가질수 있음
좋은 평판을 얻을 수 있음
주변의 덕을 볼 확률이
올라감
2.3 공유 대상
이미지 출처 : http://emergingtech.tbr.edu/new-technologieshttp://newstechnica.com/2008/11/28/portsmouth-gets-future-crime-predicting-cctv-cameras/cctv-epic-fail/http://www.careerminds.com/blog/are-you-a-team-player-or-a-group-player.htmlhttp://tippingback.com/fun-is-yours-to-decide/
무엇이든
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
기록
공유
조회
* 주의 : 재미있어야함 ! * 주의 : 쌈박질 조심 !
메일
교육세미나
코드리뷰
2.5 협업
이미지 출처 : http://www.alleywatch.com/2013/06/10-tools-that-simplify-startup-collaboration/
2.5 협업의 전제조건 : 상대를 이해하자
이미지 출처 : http://www.telegraph.co.uk/news/picturegalleries/picturesoftheday/7735918/Pictures-of-the-day-18-May-2010.html?image=6
고슴도치도 제 새끼는 함함하다 .
기획자• 산출물 : 기획문서
개발자• 산출물 : 코드
QA• 산출물 : 테스트케이스 , 버그레포트
• 자주듣는 말 : 이걸 왜 해야 하는데요 ?• 자주듣는 말 : 이거 이상해요 !
• 자주듣는 말 : 그럴리가 없는데 ?
제자리에선 잘되요 ~!
2.6 협업의 필수요소
이미지 출처 : http://www.psychologytoday.com/blog/death-love-sex-magic/201005/the-secrets-meaningful-life-part-iii-the-impor-tance-self-esteem
자아존중감 (自我尊重感 )
• 자신이 존중 받을 가치가 있다고 믿음
• 있는 그대로의 자신을 인정함
• 타인의 부정적 견해에 크게 영향 받지 않음
본성은 바꿀 수 없지만 외부의 자극에
반응하는 방식은 바꿀 수 있다 .
2.6 자아존중감을 높이는 방법
인문학 (Liberal Arts)
• 스토아 철학
• 세네카 , 에픽테토스
• 인지심리학 (Cognitive Psychology)
• 행복에 걸려 비틀거리다
• 뱀의 뇌에게 말을 걸지 마라
• 설득의 심리학
3. 좋은 개발자 !!!
3.1 좋은 개발자 !!!
논리력 좋은 코드 작성 능력
공유 , 협업
도메인 지식
피드백실천력
이미지출처 : http://ifather.tistory.com/category/ 재밌는세상 ?page=2
3.2 좋은 개발자 !!!
이미지 출처 : http://www.todayhumor.co.kr/board/view.php?no=100207&page=1&s_no=100207&table=bestofbest
연습이 완벽을 만든다 !(Practice makes perfect!)
Q&A
THANK YOU