32
※ 이미지 출처 : 2013 DevOn

개발자의 현재와 미래

  • Upload
    -

  • View
    4.309

  • Download
    3

Embed Size (px)

Citation preview

※ 이미지 출처 : 2013 DevOn

강의하는 사람

2

1996 대기업 : 공공 SI (4GL, DBA, SA …)

2000 벤처 : 로드뷰 기반의 인터넷 가상여행 서비스

2003 중소기업 : KTF, LGT 서비스 인프라

(SOA, API BigData)

2010 포털업체 : Full GIS, 스마트 모바일 서비스

2013 중소기업 : BigData 연구소

2014 OKJSP : 소프트웨어 교육

모르는 사람이 있을까요?

3

그런데 이 분들은 아시나요?

4

국내 사례는?

5

우리가 상상하는 미래

6

아바타, 입체지형도• 촬영(투시) – GIS – 3D – 가상출력 – 공간조작

스타트랙, 엔터프라이즈호• 몇 개의 컴퓨터와 소프트웨어시스템이 들어갈까?

써로게이트• 통신 + 로보틱스 + 관제+ 뇌과학• 기형 안마 의자

현실은?

7

모든 시스템은 무한하게 복잡해진다.– Systemantics, Systems science, John Gall, 1975

항상 바쁜 일이 먼저다.

장애

멘붕의 반복

발토매틱 시스템

컴퓨팅 환경의 빠른 진화

8

ENIAC1943 ~ 1953

Cray1975~

CDC66001964~1969

HP-UX1983~

소프트웨어 시장의 변화

9

대충대충 분류해보면… 주요 예제기업체의 전통적자원 조달방법

기술환경의변화

새로운자원 조달방법

인터넷서비스(포털,커머스…)

내재화+용역

오픈 소스화= 기술환경의 재편

내재화 높아짐= 개발팀 역할이

커지고 일이많아짐

SAP, Siebel… 구매

Oracle,MySQL,NoSQL

구매

Windows, Linux 구매 리눅스 대세 -

… 구매+용역 기술의 범용화내재화 비중

높아짐

… 내재화+용역특수업체만 생존시장이 좁아짐

-

… 구매안드로이드,애플,윈도우,리눅스

-

… 구매 범용화 -

Service Application

Solution

Database, Middleware etc

Server OS

Package, Application

Embedded Software

Device OS

Hardware

서버

단말

, PC

통신의 발달 사업환경이 글로벌화됨 범용 HW, 다양한 SW(기능)

소프트웨어 역할의 변화

10

하드웨어

소프트웨어

하드웨어(범용)

소프트웨어

하드웨어(범용)

소프트웨어(인터넷 서비스)

첨단 제조업의 시대 소프트웨어 제품의 시대 인터넷 서비스의 시대

산업관점다양한 기능을 가진 하드웨어 제품이 등장함

패키지 소프트웨어의 등장,업무 전산화가 시작됨

통신과 소프트웨어를 이용한서비스업종이 등장함

하드웨어디지털 워드 프로세서의료장비, 디지털 라디오

PC, Mobile, MP3 Player 스마트폰, 아이패드, IoT

소프트웨어Embedded S/WHW 종속적 기술

아래한글, MS Office주민등록전상망 시스템

API, Full Stack가상화된 기술이 등장

SW 개발자 HW 엔지니어링 지식이 중요 소프트웨어 언어, OS환경이 중요 인터넷 기반 기술환경이 중요

SW 조직 별도 조직이 필요없음 대형 신규 SW 구축조직 (ITO포함) 지속적인 개발 운영 + 개선 역량

개발방법론 없음 폭포수 개발방법론, CBD, MDA 등 Agile, XP

호모 IT쿠스의 짧은 역사

11

• IT 기술사업을 위한 조직관리, 경영관리 노하우 부족

• 다양한 IT 자원 조달을 위한 사회적 시스템 부재

• Mega Complex 해지기 위한 기술혁신이 필요

세계 IT의 역사(66년)

- ENIAC 탄생 68년

- WIN95출시 20년

- 구글 탄생 17년

국내 은행의 역사(116년)

- 1897년, 한성은행

근대 보험의 역사(325년)

- 1688년, 영국

VS

현실과 미래의 차이

12

기술적인관점

소프트웨어개발자

소프트웨어개발팀

IT 회사

• Mega Complex해지기 힘든 기술구조- Java Spring, Node, MySQL …- Oracle, BPM, CRM …- MVC, N-Tier, Observer Pattern …

• 기술을 다루는 기술 부족- Code, Architecture, Pattern, Mode, Language …- Computer Engineering …- 의사소통, 일처리 기술

사회

• 일하는 방법의 느린 발전- 시스템 품질 유지를 위한 일처리 기술- 효과적 협업방안과 팀업무 처리 기술- 동기 부여와 성과 유지 기술

• IT 사업의 노하우 부족- 팀빌딩, 프로젝트 수행 기술- 기술인력 및 재원의 조달관리- 마케팅 및 세일즈, 고객 연구

• IT 사회를 위한 사회적 인프라 부재- 인지학, 심리학, AI 등의 학문 성과 부재- 소프트웨어 인프라의 고도화 (클라우드, API, SW Market등)- 법적 문제, 권리 문제에 대한 인식

프로젝트, 팀에 대한 이야기

13

※ Greg Duncan 블로그(2013.12), 실로콘밸리, MS Developer

이 사람이일의 99%를 함

언제나 생각이 없음

도와주겠다고 이야기하지만 절대 그러지 않음

시작할 때 사라져서절대 다시는 나타나지않는 사람

움직이는 복잡성

14

전체 부품 20,000 개엔진은 1,200개의 부품으로 구성됨신차개발주기 5년 30개월 20개월

제너시스 H사의 모앱

서버 장비 15대DB Table 200여개Internal API 150여개웹화면 100개단말화면 100개3개 인프라 사용(캐쉬, 쿠폰, 회원)개발기간 1년 + 운영기간 1년

모든 부품은 한 번에 만들어지지 않는다. 인프라 축적이 중요

한계효용 체감의 법칙

15

제품의 품질

자원의 투입량

완성도 100%

사업환경이계속 변한다.

• 품질은 절대 한번에 좋아지지 않는다.• 품질은 개발자가 투입한 시간과 노력만큼 좋아진다.• 자원 투입의 한계효용성은 점점 떨어진다.• 품질 완성도는 결코 100%에 이르지 않는다.

품질은 신기술로 해결되지 않는다. 점진적 개선을 위한 업무계획과 수행

오버 엔지니어링, 아키텍쳐링 …

16

기술은 완벽해질 때가 아니라 사용자를 웃게 만들 때 가장 가치가 있다.

문제에 대한 최초의 인식

17

Organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations- M. Conway (1968)

Melvin Conway

시스템을 만드는 조직은 그 조직의 소통구조와 똑같은 시스템을 만들게제약받는다. (모든) 시스템은 그 조직의 의사소통구조에 종속적이다.

애자일에 대한 이해

18

Agile Manifesto(2001.2)1. Process, Tools Individual, Interactions2. Document Working Software3. Contract Negotiation Customer Collaboration4. Following plan Responding to Change

소프트웨어 공학- 구축 후 변경이 없는- 복잡한 대규모 기능- 프로세스와 절차에 따라- 설계와 수행을 분리- 절차적 언어에서 비롯- 건설 관리 방법을 차용

현실적 괴리- 요구사항의 변경이 잦아- 작업량 예측이 힘듬- 비용과 시간의 한계- 객체 지향 기술과의 부조화

17인의 개발자 (2001.2)- 켄트백(40), 하이스미스(56), 스테판멜로(49)외 14인 = 미국 소프트웨어 엔지니어 원로모임

실리콘밸리- XP, Scrum, Feature-Driven, Extreme Modeling,Adaptive Software Development

소프트웨어 사업의 핵심자산은 절차와 도구가 아니라 훈련된 사람이다.

좋은 IT 회사의 자산

19

ReusableSource

TestableAPI

Documents

Re-Creation

B2DBusiness

B2CBusiness

DevOps Environment

Auto - Deploy Fail RecoveryMonitor&Control

기술자산 창의적, 능동적 문화 훈련된 개발팀

운영 지원 시스템

적정기술에 대한 이해

20

모든 기술은 어떤 필요성에 의해서 탄생되며 응용을 통해 진화한다.

우리가 생각하는 좋은 팀이란?

21

개발자에 대한 이야기

22

다양한 소프트웨어 산업분야

23

산업 분야별로 소프트웨어의 역할과 일하는 방법이 다르다.모든 경우를 만족시키는 기술이나 이론은 없다.

공통적인 개발자의 현실

24

20대 60대30대 40대 50대

인생1막- 조직 속의 나

인생2막- 조직을 떠난 후

인생3막- 경제능력 상실 후

우리나라 미국

나만 아는 코드

젖은 낙엽 정신

신기술 따라가기

치킨집

커뮤니티 참여

개인 프로젝트

스타트업 로또복권

고액연봉

In Progress

어떤 삶을 선택할 것인가?

25

Technique

Product

Reputation

무엇으로누구에게 어떤 존재

Buyer Result

Value

그동안의 교훈

26

250만 가입자(국내)

1,000만 다운로드(글로벌)

300만 다운로드(글로벌)

1,000만 다운로드(한국, 중국)

기술은 동기를 가질 때 위대해진다.

적정기술오버엔지니어링

고수하수

유지보수 하지 않으면 사라진다.

모두가 처음 가는 길이다.

1.

2.

3.

4.

좋은 개발자

27

1+1=2발전동기

빠른 학습곡선

집요함

전문적 기술지식

통찰력

자가 발전능력

친화능력

나쁜 개발자

28

1+1<= 0개발자의 적은 개발자

개인적으로 희망하는 개발자의 미래

29

• IT지식과 노하우를 가지고 사람들의 어려움을 해결해 주는 사람• 자신의 비전을 위해 기술을 현명하게 사용할 줄 아는 사람

요약 및 정리

30

Silicon Valley

Not, But

요약 및 정리

31

Private Project

나만의 동기

32

The End