"손코딩뇌컴파일눈디버깅" 모임을 소개합니다.
백문이 불여일런, 트라이얼앤에러(Trial and Error) 식의 몹쓸 교육을 받아 온 개발자들이 코딩하기 전에 신중하고 꼼꼼하게 생각해보기란 쉽지 않습니다.
개발 시간 중 디버깅 시간이 절반 이상을 차지하고 있는 실정에 버그를 줄이기 위해 TDD니 유닛테스트니 많은 방법들이 개발되고 있지만 가장 일차적으로 중요한 것은 개발자들이 꼼꼼히 따져보는 것이 아니겠는지요?
미국의 선진 SW회사들은 이미 화이트보드에 PS문제를 푸는 것을 인터뷰 방식으로 채택하고 있습니다. 이는 이와 같은 풀이 방식이 개발자들의 기본 역량을 측정하기에 알맞은 지표라는 것이고, 개발자들이 기본적으로 갖춰야 할 역량이기도 하다는 것 입니다.
또한 자신의 생각을 명확하게 정리하고 다른 사람이 이해할 수 있도록 전달하는 Communication Skill 도 개발자가 갖춰야 할 역량 중 하나 입니다. 알고리즘을 어떻게 구현할 것인가를 팀원들과 소통하면서 자연스럽게 생각을 정리하고 전달하는 연습도 할 수 있습니다.
컴퓨터에 앉아 코딩하기 전 펜과 종이를 들고 눈과 머리와 손을 굴려 보시는 것은 어떠신지요??
"손코딩뇌컴파일눈디버깅" 모임을 소개합니다.
백문이 불여일런, 트라이얼앤에러(Trial and Error) 식의 몹쓸 교육을 받아 온 개발자들이 코딩하기 전에 신중하고 꼼꼼하게 생각해보기란 쉽지 않습니다.
개발 시간 중 디버깅 시간이 절반 이상을 차지하고 있는 실정에 버그를 줄이기 위해 TDD니 유닛테스트니 많은 방법들이 개발되고 있지만 가장 일차적으로 중요한 것은 개발자들이 꼼꼼히 따져보는 것이 아니겠는지요?
미국의 선진 SW회사들은 이미 화이트보드에 PS문제를 푸는 것을 인터뷰 방식으로 채택하고 있습니다. 이는 이와 같은 풀이 방식이 개발자들의 기본 역량을 측정하기에 알맞은 지표라는 것이고, 개발자들이 기본적으로 갖춰야 할 역량이기도 하다는 것 입니다.
또한 자신의 생각을 명확하게 정리하고 다른 사람이 이해할 수 있도록 전달하는 Communication Skill 도 개발자가 갖춰야 할 역량 중 하나 입니다. 알고리즘을 어떻게 구현할 것인가를 팀원들과 소통하면서 자연스럽게 생각을 정리하고 전달하는 연습도 할 수 있습니다.
컴퓨터에 앉아 코딩하기 전 펜과 종이를 들고 눈과 머리와 손을 굴려 보시는 것은 어떠신지요??
[FEConf 2018] Front-End 프로젝트의 Test code 작성경험기Ahreum Kim
2018. 11. 03 'FEConf 2018' 발표자료입니다.
---
처음으로 프론트엔드 프로젝트에 (유닛)테스트코드를 작성해보며 느낀 경험을 공유합니다. 어떤 관점으로 접근 했는지부터, 테스트코드 작성을 하며 만난 고민과 해결책은 어떤 방식으로 풀어 냈는지 코드와 함께 다뤄보려 합니다. 저는 테스트 숙련자가 아니지만, 저와 비슷한 위치에서 테스트에 입문하시려는 분들께 어떻게 테스트에 입문하고 코드를 작성했는지에 대해서 구체적인 경험을 공유하는 것도 의미있을 거라 생각했습니다. 제가 드릴 얘기들이 정답이 아닐 수 있지만, 더 좋은 방향을 고민하면서 같이 생각해볼 수 있다면 좋겠습니다.
[FEConf 2018] Front-End 프로젝트의 Test code 작성경험기Ahreum Kim
2018. 11. 03 'FEConf 2018' 발표자료입니다.
---
처음으로 프론트엔드 프로젝트에 (유닛)테스트코드를 작성해보며 느낀 경험을 공유합니다. 어떤 관점으로 접근 했는지부터, 테스트코드 작성을 하며 만난 고민과 해결책은 어떤 방식으로 풀어 냈는지 코드와 함께 다뤄보려 합니다. 저는 테스트 숙련자가 아니지만, 저와 비슷한 위치에서 테스트에 입문하시려는 분들께 어떻게 테스트에 입문하고 코드를 작성했는지에 대해서 구체적인 경험을 공유하는 것도 의미있을 거라 생각했습니다. 제가 드릴 얘기들이 정답이 아닐 수 있지만, 더 좋은 방향을 고민하면서 같이 생각해볼 수 있다면 좋겠습니다.
이 문서는 제가 HR업무를 수행하면서 느끼고 생각한 것을 제 블로그 (dailydream.tistory.com)에 포스팅했던 글들을 저희 팀에 합류한 신입사원에게 들려주기 위해 묶은 것입니다. 여기에 실린 글들은 구체적인 회사나 사례 정보는 없으며 개인적인 소견만 담겨져 있음을 알려드립니다.
NDC 2013 이은석 - 게임 디렉터가 뭐하는 건가요 (게임개발 상위직책의 이해)
Nexon Developer Conference 2013 에서 발표에 사용한 슬라이드입니다.
내용 :
게임 디렉터란 무엇인가?
권위주의와 라인조직의 함정
디렉터가 하는 일, 필요한 역량
개발조직을 이끄는 방법
질문과 답변
기대효과 :
청강자들은 게임개발의 상위직책들(프로듀서, 디렉터, 크리에이티브 디렉터 등)의
업무와 필요역량에 이해하게 되고, 자신의 업무 커리어 계획에 참고할 수 있게 될 것입니다. 이미 저 직책들에 현직으로 종사하고 있는 사람들은 현재 업무 향상에 대한 영감을 얻을 수 있을 것입니다.
Hello World 천안아산 발표자료 - 학생 개발자로 학생을 뛰어넘기JuHong Jeong
This presentation is made because why we study and how to improve our programming skill. I will really be glad if this presentation is really helpful to someone else.
3. topics
무슨 이야기를?
- 지난 3년 동안의 이런저런 경험들
- 근원적인 고민, 정말 도움되나? TDD
- 배운 점, 바뀐 점, 느낀 점
- Last 3 years of agile coaching and TDD
- Question about ‘TDD real world works?’
- What I have learned, changed in mind
4. - my aims of this session
얻어 갔으면 하는 것
- TDD를 어떻게 바라봐야 하나?
- (많은 비용을 치르고 얻은)
실패를 줄일수 있는 몇 가지 팁!
- 편하고 즐거운 20분
- 마음속에 작은 불씨 하나
- View of Real world TDD
- TDD tips
- small passions in your hearts
5. 20분동안 68장의 PPT가 롤러코스터 처럼 지나갑니다!
안내!
듣다가 이상하더라도 다 이해해 주세요.
힘들어서 그런가 보다 하고 말에요…
저 나쁜 사람은 아니네요..
10. It’s ok. I’m the same as you.
what a shame…
괜찮습니다.
저도 부끄러워서
어디 가서 뭐라 말 잘 못합니다.
이미지출처: http://elgah.egloos.com/tag/%EC%AA%84%EC%A3%BD%EC%9D%BC%EC%83%9D%EA%B0%81%EC%9D%B4%EB%83%90/page/1
11. 지난 수 년 동안 배운점…
뭘.. 배웠을까나…
What I have learned for last few years ...
12. 생각보다 잘 안되더군요
-확산이
-함께 하는 것이
-그리고 주변 사람들을
변화시키는 것이
It is hard to… spread tdd practice, do together,
and do change other people to do tdd
이미지출처: http://goo.gl/WFPfS
13. At first, many developers are using TDD to do TDD.
It make a man tired…
대상이 없으니 감동이 적다
- TDD로 뭘 해결 할 수 있나?
- 신기함은 잠깐
- 감동도 잠깐
TDD is just a way to development, not a purpose
주객전도
14. became not a funny
because of test coverage pressure
재미가 없다!
- 커버리지의 압박! (수치로 체크)
no재미
I cannot feel any joy of tdd
15. first impression of tdd is just a moment.
we forget the emotion very soon…
감동도 잠깐..
“님아.. 지금 제 현실이 녹록치 않아염..”
“I know the benefit of tdd,
but I’m living in the real world.
we can afford it..”
현실은 시궁…
16. Reason why?
왜 안될까?
- TDD를 꼭 써야 하나?
- TDD가 안되는 이유?
- 개발이 잘 안되는 이유?
- 프로젝트가 실패하는 이유?
- 나만 잘 안 되는 것 같은 이유? (으응??)
…
Why is it so hard?
17. 한 달 안에 20년 산 포도주와
동일한 맛의 포도주를
만드는 방법은?
Do you know the way to make a normal wine’s to
20 years old wine?
19. 원래 안 되는 것이
있습니다…?
Basically, it is impossible to do, except cheating
other people. It’s very natural. but we easily think
‘There must be a way to do that’. If it can be, it’s unfair!
We have to admit and accept it.
33. 공대생이 이별에 대처하는 방식... 같은..
박지성이 되는 방법/맨유를 만드는 방법
1. TFT를 구성해서 박지성 양성계획을 세운다
2. 히딩크를 불러 하루 8시간짜리 집중교육 코스를
3일간 받는다.
3. 교육 내용을 실천에 옮기고 전파 교육을 하라고
한다.
4. 박지성(=핵심인재) 양성 KPI를 수립한다.
34. 박지성이 안 되는 이유/맨유를 못 만드는 이유
1. 공을 좀 차 봤는데 골대에 잘 안 들어 간다. 잘 안되니까 왠지 차기 싫다.
2. 경기 없을 때나 시간 날 때 살짝 연습을 해 봤는데 맨유팀이나
박지성이니까 되는 거지 현실(우리팀)은 그렇지 않다 싶다.
3. 사장이 아무래도 컨설턴트에게 속은 것 같다. 원래 국내에선 안 되는 것
일거다.
4. KPI를 위해 우선 현재 우리가 잘하고 있음을 표현하기 위해 '득점
낌새율'이라는 새로운 항목을 만들어 표현한다.
5. 내년에는 득점율이 꽤 높아질 거라는 예상 보고서를 쓴다.
6. 감독이 바뀐다.
36. 연습을 안한다
연습 할 시간을 안준다
포기가 빠르다
현실 타협
자기 합리화
그런데 어쩌라고, 원래 나란 인간… 태생이 그리 생겨 먹은걸..
인간은 나약한 존재…
37. Why we fail?
그래도 열심히 고민해 보면 실패의 과정이란…
無智: 문제가 무엇인지 알지 못한다.
無試: 변화를 시도하지 않는다.
無持續: 시도를 지속하지 않는다.
無改善: 개선하지 않는다.
- don’t know what is the problem
- don’t try
- don’t keep going
- don’t make improvement
41. TDD가 도움이 되는게 맞나?
TDD is really work and do good?
잘 안 되는데,
It’s so hard!
걍 하지 말까… TDD is uncomfortable.
I prefer not to do tdd.
이런 것 안 해도 잘 만드는 경우가 많지 않나?
My comrade doesn’t use tdd,
but he is a good programmer!
42. TDD가 SW개발에 도움이 되나?
당연히 본인의 경험에서 얻은 결론은
그 외의 많은 인터뷰, 사례, 질문, 아티클
등을 놓고 봤을 때 도움이 되는 건
맞는 것 같다.
63. TDD !!
- 확실히 좋은 SW만드는데 도움이 된다!
- 결과적인 비용을 줄이는데도 도움이 된다!
- 개발 기법/테크닉은 TDD를 지속적으로
해 나가는데 있어 크게 중요한 요소는 아님
64. 잘 하려면 결국
- 습관만이 살길
- 느끼지 못하면 지속되지 않는다
기타..
- 선배의 사랑으로(=때려서) 가르치는 방법도 있…
65. - 큰 고민 안하고 주어진 일 성실히 하며 게 사는 것도
정신 건강한 직장인(=피고용인)의 한 자세일 수 있다!
(모두가 다 제갈공명, 유비, 관우가 되야 할 필요는 없다)
- 하지만 현재 자신의 일에서 성취와 성장을
하려면 그만큼의 노력이 필요하다.
- 사람마다 소재와 소질이 다르기 때문에
당연히 동일 수준에 다다르기 위한 연습량은
다르다는 걸 이해해야 한다.
66. 만일 당신이 때때로
실패하지 않는다면,
그건 안이하게 살고 있다는
확실한 증거이다.
- Woody Allen
If you're not failing every now and again, it's a sign
you're not doing anything very innovative.