창의와 열정, 소프트웨어 엔지니어

2,524 views
2,267 views

Published on

CS 학부 졸업준비생을 위한 특강 발표 자료 (2011.5.25 명지대 용인캠퍼스)

Published in: Technology, Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,524
On SlideShare
0
From Embeds
0
Number of Embeds
376
Actions
Shares
0
Downloads
20
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • 뇌 구조에 관한 TED Talk : http://www.ted.com/talks/lang/kor/jill_bolte_taylor_s_powerful_stroke_of_insight.html
  • 창의와 열정, 소프트웨어 엔지니어

    1. 1. 창의와 열정,Software 엔지니어<br />2011년 5월 25일<br />윤경구<br />
    2. 2. 차례<br />Software는 지식 노동<br />두뇌 구조와 지식 노동<br />좋은 엔지니어<br />당부<br />참고 :SW R&DSurvival Guide<br />2/18<br />
    3. 3. Software는 지식 노동<br />3<br />
    4. 4. Software 주도 Smart 혁명<br />4/18<br />
    5. 5. SW가 HW를 리드<br />Hardware<br />차별 한계 : 시장 경쟁 심화, 기술 차별성 약화<br />기술발전 방향의 변화가 많지 않음<br />Software<br />무궁무진한 창의가 발현되고 적용 가능<br />SW의 진화 방향이 매우 다양<br />5/18<br />
    6. 6. 지식 노동의 산물 SW<br />SW가 인간의 삶 요소에 침투하는 시점 (무한대의 경우의 수)<br />구글이 주도한 클라우드 기반의 Machine Learning이 응용 분야를 확대. 점점 가치있는 정보를 만들어. 클라우드가 인간의 뇌를 특정 영역에서는 훨씬 능가하는 거대한 인공지능화<br />터미네이터의 스카이넷<br />6/18<br />
    7. 7. 지식 노동의 요소<br />전문지식 (숙련)<br />기본 지식 외에 분석 능력, 통찰 능력의 결합 필요로 하는 지식 노동<br />창의<br />즉자적으로 추론되지 않는 아이디어를 동력으로 하는 지식 노동<br />한계를 두지 않는 생각이 중요 <br />7/18<br />
    8. 8. 두뇌 구조와 지식 노동<br />8<br />
    9. 9. 좌뇌와 우뇌의 비대칭<br />좌뇌<br />직렬처리 방식<br />논리성<br />자아 인지<br />몸의 오른쪽에 연결<br />우뇌<br />병렬처리 방식<br />몸의 왼쪽에 연결<br />9/18<br />
    10. 10. 지식 노동의 개선 방법<br />전문지식(숙련)의 향상<br />순차적 논리성, 귀납과 연역을 교차한 지적 추상화 능력을 끊임없이 발전시켜야<br />창의의 향상<br />생각을 막지 말고 끝없이 의문을 던져야<br />핵심은 집중, 생각의 몰입<br />10/18<br />
    11. 11. 좋은 SW 엔지니어<br />11<br />
    12. 12. 코딩 능력 향상법<br />탑다운 코딩<br />소설을 쓰듯 논리적으로탑다운코딩<br />코딩 완료하기 전에는 컴파일하지 말라<br />논리 장악력이 떨어진다<br />비논리적인 코딩은 우연에 의존하는 것. 발전이 없음<br />배치로 개인 업무 관리<br />지식 노동은 인터럽트를 최소화하고 생각의 연속성 필요<br />컨텍스트 스위칭이 되기 때문.<br />순차적으로 집중해서 코딩하고 완성되면 컴파일해서 에러 고치고, 디버깅하라.<br />모든 논리에 단위 테스트를 작성하는 습관을 들여라.<br />의심나는 논리는 손으로(작은 코드 작성하여) 검증.<br />12/18<br />
    13. 13. 아키텍처 능력 향상법<br />숙련이 필요<br />시스템 아키텍처를 잘 이해하는 사람들과 함께 해야 빠르고 제대로 배울 수 있다.<br />지적 추상화 능력<br />핵심 아키텍처 혹은 이슈를 논리적으로 추상화해낼 수 있는 훈련이 반복적으로 필요<br />13/18<br />
    14. 14. 당부<br />14<br />
    15. 15. 기업가 정신 Entrepreneurship<br />창업 바람이 있지만 좀더 많은 것을 제대로 배울 수 있는 환경을 택하라.<br />너무 일찍 창업하면 돈과 영업은 알지 몰라도 기술은 배울 기회가 없다.<br />학교에서 배운 것은 (특히 SW는) 기업에서는 출발점도 안되는 경우가 대부분이다.<br />판단을 기업가의 입장에서 하는 습관을 가지면 기업 환경의 결정들을 이해하는 데 도움이 된다.(내가 사장이라면?)<br />관리자로 성장하거나 창업하는 데 도움이 된다.<br />15/18<br />
    16. 16. 엔지니어의 자세<br />끊임없이 평생을 배워야 한다.(지식 노동의 특성)<br />끊임없이 “왜”라는 질문을 던지며 생각의 수준을 높여가야 한다.<br />자기 머리로 이해하고 생각하지 못하면 지식 노동에서 가장 단순한 반복 노동밖에 하지 못한다.<br />배우는 것을, 도전하는 것을 두려워하지 말라.<br />16/18<br />
    17. 17. 결어<br />SW 엔지니어는 자부심이 필요<br />전문지식의 숙련도와 통찰력을 높이고 창의적 지식 노동의 비중을 높이려면 엄청난 도전과 노력이 필요.<br />단순 노동자보단 지식 노동자를 선택하길<br />기업에는 항상 기술을 주도하고 발전시키는 부류와 불평, 불만에 급급해 자기 발전을 못하는 부류가 자석의 양극처럼 존재<br />어느 극쪽으로 자신의 존재를 위치시킬 것인가?<br />지금 당장의 기업을 볼 것이 아니라 자신의 발전을 중시하라.<br />더 나은 엔지니어가 되려면 자료구조, 알고리즘나아가 확률 통계 등 수학 기반을 잃지 않도록 노력하길<br />17/18<br />
    18. 18. 참고 : 연구원 Survival Guide(비공식)<br />
    19. 19. 추상화<br />명확한 개념<br />정확한 이해<br />아키텍처 능력<br />발표 능력 = 사고 능력 = Software 능력<br />= 추상화 능력 + 수학적 기반<br />
    20. 20. Metaphor (은유)<br />적절한 Metaphor (은유)<br />구체적인 상을 머리속에 그려야<br />좋은 비유는 연역을 쉽게 하며 창의의 중요한 동력이 된다<br />정확한 이해의 전제<br />엄밀한 개념 구분<br />각 개념들의 metaphor들이 잘 짜여져 살아있는 것처럼 느껴질 때 비로소 개인의 view에서 정확한 이해에 가까이 간 것<br />발표는 개인의 개념적 이미지들에 대한 집단적 공유 및 검증 과정<br />설명할 수 없다면 이해한 것이 아니다<br />
    21. 21. Terminology (용어)<br />Self-Explanatory Terms<br />소집단에서만 사용되는 독특한 은어나, 내부에서 편의적으로 사용하기 위해 원래 의미를 변형한 용어 사용 금지<br />보편적인 용어를 사용하여 표현할 수 있어야 (보통명사화)<br />충분한 감성적 이해를 수반하지 않을 경우 외래어/영어/전문어 등 “좋은 단어” 사용 금지<br />
    22. 22. 논리적 추상화<br />분석에 기반한 추상화<br />세부 내용에 의해 뒷받침되어야 (bottom-up)<br />개념 구체화 과정<br />선험적 직관에 의한 가설/개념 설정<br />세부 사실에 의한 가설/개념 검증<br />가설/개념의 재설정 및 검증 반복<br />논리 전개는 top-down<br />논리 전개 즉, 발표는 추상화 기반에서 top-down<br />내용이 많으면 적절히 분류 분할하여 명확하게 전달할 수 있는 단위로 축소하여 재구성<br />
    23. 23. 아키텍처 능력<br />Software의 각 논리적 역할에 기반한 구성<br />각 모듈, 라이브러리를 Role에 기반하여 개념 분류 및 추상화<br />Role 기반 분류는 Objected Orientation 원칙과도 부합<br />System View와 논리 역할 View는 구분해서 접근<br />

    ×