Smart software engineer

25
Smart Software Engineer 2013514윤경구 소장 TmaxSoft R&D Center 1 1 13년 5월 14일 화

description

2013년 5월 14일 이화여대 4학년 특강 자료

Transcript of Smart software engineer

Page 1: Smart software engineer

Smart Software Engineer

2013년 5월 14일

윤경구 소장TmaxSoft R&D Center

1

113년 5월 14일 화

Page 2: Smart software engineer

/ 25

내용

(1) Smart 하게 Software 하기

(2) 좋은 Software Engineer 란?

2

213년 5월 14일 화

Page 3: Smart software engineer

/ 25

Software = Smart

3

313년 5월 14일 화

Page 4: Smart software engineer

/ 25

Software 주도 Smart 혁명

4

413년 5월 14일 화

Page 5: Smart software engineer

/ 25

SW와 HW, 핵심은 아이디어• Hardware

• 차별화 한계 : 시장 경쟁 심화, 기술 차별성 약화• 기술발전 방향의 변화가 많지 않음

• Software• 무궁무진한 창의가 발현되고 적용 가능• SW의 진화 방향이 매우 다양• 복잡한 영역일수록 아웃소싱 어렵고 기업의 핵심 경쟁력

• 핵심은 아이디어• Hardware냐, Software냐보다는 어떤 문제(what)를 어떻게(how) 푸느냐 아이디어가 중요

5

513년 5월 14일 화

Page 6: Smart software engineer

/ 25

전문 지식과 아이디어• 처음에 아이팟을 구입하고 온오프 스위치와 볼륨이 없어 놀랐습니다. 그냥 원반에 화면만 있더라고요.

• 옛날 디자이너들이 기계를 만드는 과정은 먼저 엔지니어가 온오프 스위치를 어디에 넣어야 하는지 회로 설계도를 만들어서 제약 조건을 달면 디자이너가 설계도를 받아 여러 가지 제약 조건을 만족시키면서 가장 예쁜 제품을 만드는 것이었죠.

• 애플 디자이너들은 디자인 전문지식뿐 아니라 전자공학 등 다른 분야도 아는 디자이너들이었어요. 그래서 설계도를 받은 후 "온오프 스위치 없앨 수 없나?" 하고 말할 수 있었던 거죠. 그래서 아이팟, 아이폰 같은 제품이 나올 수 있었던 거죠. - 안철수

6

613년 5월 14일 화

Page 7: Smart software engineer

/ 25

전문 지식과 창의• 전문지식 (숙련)

• 기본 지식 외에 분석 능력, 통찰 능력의 결합 필요로 하는 지식 노동

• 창의• 즉자적으로 추론되지 않는 아이디어를 동력으로 하는 지식 노동

• 한계를 두지 않는 생각이 중요

7

713년 5월 14일 화

Page 8: Smart software engineer

/ 25

전문 지식과 창의• 우선 자신의 분야에 1만 시간 정도를 투입해 전문성을 가지고 있어야 하고, 이와 함께 전혀 다른 분야 혹은 더 깊은 분야에 대한 관심과 공부가 결합됐을 때 창조의 힘이 생긴다

• Creativity is just connecting things

• 슛 2만번

안철수

Steve  Jobs

슬램덩크

8

813년 5월 14일 화

Page 9: Smart software engineer

/ 25

전문가의 특별한 재능• 완벽한 반복 훈련(최소 1만 시간이 필요)을 통해서 미엘린 층이 강화되어 비범한 능력을 가지게 된다

• 재능 = 반복 강화 훈련 + 점화 계기 + 코칭

축색  돌기

미엘린Schwann  세포

Ranvier  결절

수상  돌기축색  돌기  종단

체세포

신경핵

-  탤런트  코드

9

913년 5월 14일 화

Page 10: Smart software engineer

/ 25

창의와 천재성• 새로운 발견, 발명(창의)은 논리적으로 추론되는 것이 아니라 직관에 의해 느껴지는 것이다. 논리는 이 발견, 발명의 근거를 만들고 검증하는 과정에 사용되는 것이다

• 천재는 열정에 불을 붙이는 계기를 발견하는 것과 완벽에 이르도록 반복 훈련하여 미엘린 층을 강화하는 두 가지에 의해 만들어진다

-  Spark  of  Genius

10

1013년 5월 14일 화

Page 11: Smart software engineer

/ 25

두뇌가 생각하는 법• 좌뇌

• 직렬처리 방식 (동기식)• 논리성• 자아 인지, 구분• 몸의 오른쪽에 연결

• 우뇌• 병렬처리 방식 (비동기식)• 통합적 인지• 몸의 왼쪽에 연결

11

1113년 5월 14일 화

Page 12: Smart software engineer

/ 25

논리력과 창의력• 논리능력의 향상

• 순차적 논리성, 귀납과 연역을 교차한 지적 추상화 능력을 끊임없이 발전시켜야

• 분석과 총화, 추상화, 은유, 연역의 반복

• 창의의 향상• 생각을 막지 말고 끝없이 의문을 던져야.

• 비동기적 아이디어• 천재는 완벽한 반복 훈련 1만 시간(약 10년) + 열정에 불붙이는 계기

• 핵심은 집중, 끊임없는 생각

12

1213년 5월 14일 화

Page 13: Smart software engineer

/ 25

What

How

How, What은 Why가 추동• 어떤 문제 : what

• 어떻게 잘 : how

• 그런데 왜?

• goal? reason? belief?

• What < How < Why

Why

-  Simon  Sinek

13

1313년 5월 14일 화

Page 14: Smart software engineer

/ 25

Why가 사람의 행위를 결정

• 애플은 제품을 파는 게 아니라 자신들의 신념을 판다

• 애플의 제품을 사는 사람들은 애플의 신념을 공감하고 구매한다고 생각한다. -  Simon  Sinek

14

1413년 5월 14일 화

Page 15: Smart software engineer

/ 25

철학과 신념

• 애플 사의 DNA 속에 기술만 있다면 충분하지 않습니다. 인문학과 결혼한 기술, 인간애와 결혼한 기술, 그래서 우리 마음이 노래할 수 있는 결과를 만들 수 있는 기술이 애플의 DNA입니다. -  Steve  Jobs

15

1513년 5월 14일 화

Page 16: Smart software engineer

/ 25

좋은 Software Engineer

16

1613년 5월 14일 화

Page 17: Smart software engineer

/ 25

좋은 SW 엔지니어• 논리력• 소통 능력

• 학습 능력

• 코딩 능력

• 기업가 정신

17

1713년 5월 14일 화

Page 18: Smart software engineer

/ 25

논리력, 소통 능력• 지적 추상화 능력

• 메타포 (은유) 혹은 Mental Image를 통한 사고 능력

• 문제 해결 능력

• 문제 인지 능력 + 문제 해결 능력

• 소통 능력

• 추상 수준을 조절하여 다양한 관점의 사람들과 소통하는 능력 필요

• 개인의 능력이 아닌 소통을 통한 그룹의 문제 해결 능력

18

1813년 5월 14일 화

Page 19: Smart software engineer

/ 25

문제 해결 과정

19

1913년 5월 14일 화

Page 20: Smart software engineer

/ 25

학습 능력• 경험에만 의존하면 결코 성장할 수 없다.

• 아키텍처는 숙련이 필요

• 시스템 아키텍처를 잘 이해하는 사람들과 함께 해야 빠르고 제대로 배울 수 있다.

• 학습 능력이 중요

• 자존심이 너무 강하면 학습할 수 없다. 깊이에 한계가 생기고 소통 능력이 떨어지게 된다.

• SW는 기술의 변화가 매우 빠르므로 평생 배우는 자세가 필요.

20

2013년 5월 14일 화

Page 21: Smart software engineer

/ 25

코딩 능력• 논리적 Top-down Coding

• 소설을 쓰듯 논리적으로 탑다운 코딩

• 모든 논리에 검증 방법을 만들어 테스트를 작성

• 코드로 생각하는 습관 : 의심이 가는, 궁금한 논리는 코드로 검증하는 습관

21

2113년 5월 14일 화

Page 22: Smart software engineer

/ 25

기업가 정신 Entrepreneurship• 스스로 기업 소유주owner의 관점에서 사물을 판단하는 자세

• 창업 붐이 있지만 성공하긴 매우 어렵다.

• 배울 수 있을 때 배우고, 의미가 있는 기술이나 아이디어가 있을 때 창업하는 게 좋다.

• 기술 회사가 아니면 기술을 배울 기회가 없다.

• 학교에서 배운 것은 기업에서는 출발점.

22

2213년 5월 14일 화

Page 23: Smart software engineer

/ 25

소프트웨어 후배들에게 드리는 당부

23

2313년 5월 14일 화

Page 24: Smart software engineer

/ 25

소통/성장/도전• 끊임없이 “왜”라는 질문을 던지며 생각의 수준을 높여가야 한다.

• 자기 머리로 이해하고 생각하지 못하면 지식 노동에서 가장 단순한 반복 노동밖에 하지 못한다.

• 배우는 것을, 도전하는 것을 두려워하지 말라.

• 알고리즘, 자료구조 등 수학적 기반이 튼튼하면 SW 영역 선택 시 큰 도움이 된다. 나머지 부분은 어느 정도 숙련과 지적 추상 능력이 갖춰지면 쉽게 적응할 수 있다.

• 즐거워야 한다!

24

2413년 5월 14일 화

Page 25: Smart software engineer

Q&A25

2513년 5월 14일 화