1.
2014. 04
Software Developer
Loadmap
Version 0.1
2.
1
소프트웨어 개발자 로드맵
Agenda
소프트웨어 기술 요소
학사 커리큘럼에서 익힐 수 있는 것들
전공 필수와 선택, 우선 순위는?
소프트웨어 개발자 직무의 다양성과 변화
소프트웨어 개발자 직무별 필수 기술 요소
직무 유형별 필수 기술 정리
3.
2
소프트웨어 개발자 로드맵
1. 소프트웨어 기술 요소 ( 2014년 기준)
Java
Java
Java 네트워크
Java 동시성
객체지향 Java
C / C++
C / C++
C / C++ 네트워크
C / C++ 동시성
객체지향 C++
C# / .Net
C#
C# 네트워크
C# 동시성
객체지향 C#
Javascript
Javascript
jQuery
Sencha
JS 패턴
서버스크립트
JSP/Servlet
Node.js
PHP, Ruby
Python/ASP.Net
객체모델링
UML/ 객체모델링
EA / Together
RSA
DDD
자료구조
Stack, Queue
문자셋
표현식
요구사항
요구사항명세서
UseCase
User story
요구사항워크샾
형상관리
SVN
Git
플랫폼 / 리눅스
Linux OS
시스템
프로그래밍
마크업 언어
HQML/XHTML
CSS
XML, XSLT
JSON
플랫폼 - POJO
Spring
플랫폼 - OSGi
OSGi
Equinox, Felix
Virgo, Aries
Karaf
플랫폼 / J2EE
Servlet /EJB
Tomcat
Jboss / Glassfish
J(2)EE Blueprint
플랫폼 / 클라우드
클라우드
IaaS / AWS
PaasS / GAE
HTML5
HQML JS API
WebSocket
Socket.io
WebGL, Canvas
웹 아키텍쳐
웹아키텍쳐
Apache/ Jetty
HTTP 이해
모바일 웹
Responsive
Design
PhoneGap
Titanium
웹프레임워크
Struts
Spring MVC
웹 기획
IA 기획
WireFrame
Storyboard
패턴
분석 패턴
디자인 패턴
아키텍쳐 패턴
리팩토링
서버 설계
채널 설계
컴포넌트 설계
플랫폼 설계
보안
Oauth / SSO
Spring Security
Identity / Access
데이터 보안
DataFramework
JPA/ myBatis
Hibernate
iBatis
Spring Data
REST
Jersey / Restlet
REST API 설계
Open API
iOS
Objective C
Mac OS / iOS
Cocoa touch
디버깅
안드로이드
Android OS
SW 아키텍쳐
아키텍팅
프로세스
아키텍쳐 문서화
IEEE 1471
아키텍쳐 설계
웹 프레임워크
연계 프레임워크
통신 프레임워크
변환 유틸리티
웹 서비스
SOAP
WSDL
UDDI
TDD
TDD
단위 테스트
jUnit / dbUnit
데이터모델링
데이터 모델
DB 최적화
SQL
빅데이터
빅데이터 개요
빅데이터
사례연구
RCP
Rich Client
GWT
SWT 플러그인
RAP
EAI
SOA
EAI/ESB/SCA
MOM
ActiveMQ
SW 테스트
SW 테스트
테스팅 프로세스
테스트 관리
RDBMS
오라클
MySQL
MS-SQL
NoSQL DB
Neo4J
Mongo DB
HBase
빅데이터 분석
Hadoop
MapReduce
R
비즈니스 기술
워크플로우
BPM
비즈니스 룰
CEP
기능 테스트
Fit / Selenium
JMeter
빌드 자동화
Maven
Nexus
Jenkins (CI)
코드 진단
코드 규약
취약점 분석
의존성 분석
스타일 체크
비즈니스
제안서 작성
제안 프로세스
영엽 프로세스
비즈니스 모델링
BPMN
BABOK
REA
프로젝트 관리
PMBOK
QA / Audit
CMMI
개발 프로세스
UP / RUP
Agile
SCRUM / XP
Kanba
조직
리더쉽
조직관리
조직 심리학
창의력과 혁신
논리
논리적인 사고
추론과 토론
논리적인 글쓰기
표현
프리젠테이션
기술문서 작성
아이디어 시각화
시나리오 구성
참조 : http://www.nextree.co.kr/wp-content/uploads/2014/01/tsong_20140207_roadmap_intro_01.png
4.
3
소프트웨어 개발자 로드맵
2. 학사 커리큘럼에서 익힐 수 있는 것들
Java
Java
Java 네트워크
Java 동시성
객체지향 Java
C / C++
C / C++
C / C++ 네트워크
C / C++ 동시성
객체지향 C++
객체모델링
UML/ 객체모델링
EA / Together
RSA
DDD
자료구조
Stack, Queue
문자셋
표현식
요구사항
요구사항명세서
UseCase
User story
요구사항워크샾
플랫폼 / 리눅스
Linux OS
시스템
프로그래밍
데이터모델링
데이터 모델
DB 최적화
SQL
RDBMS
오라클
MySQL
MS-SQL
프로젝트 관리
PMBOK
QA / Audit
CMMI
논리
논리적인 사고
추론과 토론
논리적인 글쓰기
표현
프리젠테이션
기술문서 작성
아이디어 시각화
시나리오 구성
대학에서 배울 수 있는 것은 의외로 적다.
IT 분야 기술 변화와 흐름이 빠르기 때문에 도저히 따라 잡을 수 없다.
하지만, 대학에서 배우는 것들이야 말로 기본이고 공통 요소에 해당한다.
더불어 10년 후, 기술 흐름(trend)이 바뀌더라도 유효한 지식이 된다.
기초 지식이 탄탄한 사람은 응용 분야를 쉽게 터득할 수 있다.
기초가 없는 사람은 아무리 노력해도 원리(principle)를 이해하지 못한다.
기술 사용자(tech user)가 될 것인가? 아니면, 개발자(developer)가 될 것인가?
5.
4
소프트웨어 개발자 로드맵
3. 전공 필수와 선택, 우선순위는?
프로그래밍 언어
C, C++
Java, C#
데이터 처리
자료구조론
데이터베이스
알고리즘과 컴파일러
알고리즘
컴파일러
운영체제
네트워크
[ 필수 과목은? ]
장래 희망과 상관없이 매우 열심히 학습할 것.
‘희망과 미래는 별개일 수 있다.’ 그렇다면, 만약을 대비해라.
컴퓨터 그래픽스
인공지능
소프트웨어 공학
정보 보안
멀티미디어
[ 필수 과목 ] [ 선택 과목 ] [ 개인 과제 ]
수치해석
오픈 소스
프레임워크
디자인 패턴
TDD, Agile
Refactoring
Build tools
[ 개인 과제는? ]
공부해두면 면접 볼 때 아주 유리해질 수 있다.
모르면 입사한 후에 ‘군대처럼 혼나면서...’ 배우게 된다.
객체지향 이론
UML
모바일 디바이스 프로그래밍
단위 테스트
형상 및 빌드 관리
서버 관리 기술
6.
5
소프트웨어 개발자 로드맵
4. 소프트웨어 개발자 직무의 다양성과 변화
SW 국가직무능력표준(한국산업인력공단)에서 분류한 것 이외에도 다양한 직종이 매년 나타나고 사라지고 있다.
5년 후 (졸업할 때?) 어떤 직무가 나타나고 사라질 지 모르기 때문에
틈틈히 다양한 스터디 정보, 컨퍼런스, 세미나, IT 뉴스, 뉴스레터를 통해 간접 경험을 획득해야 한다.
7.
6
소프트웨어 개발자 로드맵
5. 소프트웨어 개발자 직무 유형
4 ~ 5년 마다 새로운 직무가 생기고 또 사라진다. 없어지는 직무보다 새롭게 나타나는 직무가 더욱 많다.
소프트웨어 기술 직종에서 살아남기 위해서는 은퇴하기 직전까지 ‘늘 새롭게 공부해야’만 한다.
Software Architect
UI / UX specialist
QA / Tester
Data scientist
Domain modeler
Build engineer
Server Engineer
Web front engineer
Web publisher
Data modeler
Data Administrator
Mobile developer
RCP developer
Analysis specialist
SI (System Integration)
Game developer
Embedded Software
developer
Online service
developer
그외에 다양한 직무들
BigData specialist
8.
7
소프트웨어 개발자 로드맵
6. 직무 유형별 필수 기술 – Software Architect
Java
Java
Java 네트워크
Java 동시성
객체지향 Java
C / C++
C / C++
C / C++ 네트워크
C / C++ 동시성
객체지향 C++
C# / .Net
C#
C# 네트워크
C# 동시성
객체지향 C#
객체모델링
UML/ 객체모델링
EA / Together
RSA
DDD
자료구조
Stack, Queue
문자셋
표현식
요구사항
요구사항명세서
UseCase
User story
요구사항워크샾
형상관리
SVN
Git
플랫폼 / 리눅스
Linux OS
시스템
프로그래밍
플랫폼 - POJO
Spring
플랫폼 / J2EE
Servlet /EJB
Tomcat
Jboss / Glassfish
J(2)EE Blueprint
플랫폼 / 클라우드
클라우드
IaaS / AWS
PaasS / GAE
웹 아키텍쳐
웹아키텍쳐
Apache/ Jetty
HTTP 이해
웹프레임워크
Struts
Spring MVC
웹 기획
IA 기획
WireFrame
Storyboard
패턴
분석 패턴
디자인 패턴
아키텍쳐 패턴
리팩토링
서버 설계
채널 설계
컴포넌트 설계
플랫폼 설계
보안
Oauth / SSO
Spring Security
Identity / Access
데이터 보안
DataFramework
JPA/ myBatis
Hibernate
iBatis
Spring Data
REST
Jersey / Restlet
REST API 설계
Open API
SW 아키텍쳐
아키텍팅
프로세스
아키텍쳐 문서화
IEEE 1471
아키텍쳐 설계
웹 프레임워크
연계 프레임워크
통신 프레임워크
변환 유틸리티
웹 서비스
SOAP
WSDL
UDDI
TDD
TDD
단위 테스트
jUnit / dbUnit
데이터모델링
데이터 모델
DB 최적화
SQL
빅데이터
빅데이터 개요
빅데이터
사례연구
RCP
Rich Client
GWT
SWT 플러그인
RAP
EAI
SOA
EAI/ESB/SCA
MOM
ActiveMQ
SW 테스트
SW 테스트
테스팅 프로세스
테스트 관리
NoSQL DB
Neo4J
Mongo DB
HBase
비즈니스 기술
워크플로우
BPM
비즈니스 룰
CEP
기능 테스트
Fit / Selenium
JMeter
코드 진단
코드 규약
취약점 분석
의존성 분석
스타일 체크
비즈니스
제안서 작성
제안 프로세스
영엽 프로세스
비즈니스 모델링
BPMN
BABOK
REA
프로젝트 관리
PMBOK
QA / Audit
CMMI
개발 프로세스
UP / RUP
Agile
SCRUM / XP
Kanba
조직
리더쉽
조직관리
조직 심리학
창의력과 혁신
논리
논리적인 사고
추론과 토론
논리적인 글쓰기
표현
프리젠테이션
기술문서 작성
아이디어 시각화
시나리오 구성
9.
8
소프트웨어 개발자 로드맵
6. 직무 유형별 필수 기술 – Web front engineer
Java
Java
Java 네트워크
Java 동시성
객체지향 Java
C# / .Net
C#
C# 네트워크
C# 동시성
객체지향 C#
Javascript
Javascript
jQuery
Sencha
JS 패턴
서버스크립트
JSP/Servlet
Node.js
PHP, Ruby
Python/ASP.Net
자료구조
Stack, Queue
문자셋
표현식
플랫폼 / 리눅스
Linux OS
시스템
프로그래밍
마크업 언어
HQML/XHTML
CSS
XML, XSLT
JSON
HTML5
HQML JS API
WebSocket
Socket.io
WebGL, Canvas
웹 아키텍쳐
웹아키텍쳐
Apache/ Jetty
HTTP 이해
모바일 웹
Responsive
Design
PhoneGap
Titanium
패턴
분석 패턴
디자인 패턴
아키텍쳐 패턴
리팩토링
REST
Jersey / Restlet
REST API 설계
Open API
TDD
TDD
단위 테스트
jUnit / dbUnit
SW 테스트
SW 테스트
테스팅 프로세스
테스트 관리
빌드 자동화
Maven
Nexus
Jenkins (CI)
개발 프로세스
UP / RUP
Agile
SCRUM / XP
Kanba
10.
9
소프트웨어 개발자 로드맵
6. 직무 유형별 필수 기술 – Server Engineer
Java
Java
Java 네트워크
Java 동시성
객체지향 Java
C / C++
C / C++
C / C++ 네트워크
C / C++ 동시성
객체지향 C++
C# / .Net
C#
C# 네트워크
C# 동시성
객체지향 C#
서버스크립트
JSP/Servlet
Node.js
PHP, Ruby
Python/ASP.Net
자료구조
Stack, Queue
문자셋
표현식
형상관리
SVN
Git
플랫폼 / 리눅스
Linux OS
시스템
프로그래밍
플랫폼 - POJO
Spring
플랫폼 / J2EE
Servlet /EJB
Tomcat
Jboss / Glassfish
J(2)EE Blueprint
플랫폼 / 클라우드
클라우드
IaaS / AWS
PaasS / GAE
웹 아키텍쳐
웹아키텍쳐
Apache/ Jetty
HTTP 이해
웹프레임워크
Struts
Spring MVC
패턴
분석 패턴
디자인 패턴
아키텍쳐 패턴
리팩토링
서버 설계
채널 설계
컴포넌트 설계
플랫폼 설계
보안
Oauth / SSO
Spring Security
Identity / Access
데이터 보안
DataFramework
JPA/ myBatis
Hibernate
iBatis
Spring Data
REST
Jersey / Restlet
REST API 설계
Open API
아키텍쳐 설계
웹 프레임워크
연계 프레임워크
통신 프레임워크
변환 유틸리티
웹 서비스
SOAP
WSDL
UDDI
TDD
TDD
단위 테스트
jUnit / dbUnit
데이터모델링
데이터 모델
DB 최적화
SQL
EAI
SOA
EAI/ESB/SCA
MOM
ActiveMQ
SW 테스트
SW 테스트
테스팅 프로세스
테스트 관리
RDBMS
오라클
MySQL
MS-SQL
NoSQL DB
Neo4J
Mongo DB
HBase
비즈니스 기술
워크플로우
BPM
비즈니스 룰
CEP
기능 테스트
Fit / Selenium
JMeter
빌드 자동화
Maven
Nexus
Jenkins (CI)
코드 진단
코드 규약
취약점 분석
의존성 분석
스타일 체크
개발 프로세스
UP / RUP
Agile
SCRUM / XP
Kanba
11.
10
소프트웨어 개발자 로드맵
6. 직무 유형별 필수 기술 – Data modeler / Data Administrator
데이터모델링
데이터 모델
DB 최적화
SQL
RDBMS
오라클
MySQL
MS-SQL
요소 기술이 적어 보이지만, 매우 전문적인 분야이기 때문에 전문가가 되기 어렵다.
배울 수 있는 기회 자체도 적다.
12.
11
소프트웨어 개발자 로드맵
6. 직무 유형별 필수 기술 – Analysis specialist / Domain modeler
객체모델링
UML/ 객체모델링
EA / Together
RSA
DDD
요구사항
요구사항명세서
UseCase
User story
요구사항워크샾
웹 기획
IA 기획
WireFrame
Storyboard
패턴
분석 패턴
디자인 패턴
아키텍쳐 패턴
리팩토링
보안
Oauth / SSO
Spring Security
Identity / Access
데이터 보안
SW 아키텍쳐
아키텍팅
프로세스
아키텍쳐 문서화
IEEE 1471
아키텍쳐 설계
웹 프레임워크
연계 프레임워크
통신 프레임워크
변환 유틸리티
데이터모델링
데이터 모델
DB 최적화
SQL
SW 테스트
SW 테스트
테스팅 프로세스
테스트 관리
RDBMS
오라클
MySQL
MS-SQL
기능 테스트
Fit / Selenium
JMeter
비즈니스
제안서 작성
제안 프로세스
영엽 프로세스
비즈니스 모델링
BPMN
BABOK
REA
프로젝트 관리
PMBOK
QA / Audit
CMMI
개발 프로세스
UP / RUP
Agile
SCRUM / XP
Kanba
조직
리더쉽
조직관리
조직 심리학
창의력과 혁신
논리
논리적인 사고
추론과 토론
논리적인 글쓰기
표현
프리젠테이션
기술문서 작성
아이디어 시각화
시나리오 구성
13.
12
소프트웨어 개발자 로드맵
7. 직무 유형별 필수 기술 정리
한정된 분야의 특수한 고급 기술 만으로, 현장에서 활동하는 직무는 많지 않다. (데이터베이스 분야 등)
그외의 직무들은 다양한 요소 기술들을 변화와 필요에 따라 습득해야 한다.
특정 직무를 위한 ‘정확한 로드맵’은 없다. 해당 직무에서 필요한 기술이 미래에는 바뀔 수 있다.
최대한 다양한 경험을 쌓아보고, 흥미를 가질 수 있고 잘할 수 있는 기술들을 익혀야 한다.
변화무쌍한 것이 IT 분야의 본질이자, 장점이다.
BigData / Mobile 분야는 10년 전에는 아예 없던 직무군에 해당한다.
목표를 설정하기 힘들 때는 기초 이론을 공부하라.
유행을 따르다가 목표를 잃고 방황하게 될 때는 기본 기술 중에 모르는 것을 좀 더 공부하라.
기본을 잘하는 사람, 원리를 잘아는 사람이 응용도 잘할 수 있다.
기본 기술은 거의 변하지 않는다. (변하는 것이 없다는 진리만이 변하지 않는다.)
Il semblerait que vous ayez déjà ajouté cette diapositive à .
Créer un clipboard
Vous avez clippé votre première diapositive !
En clippant ainsi les diapos qui vous intéressent, vous pourrez les revoir plus tard. Personnalisez le nom d’un clipboard pour mettre de côté vos diapositives.
Créer un clipboard
Partager ce SlideShare
Vous avez les pubs en horreur?
Obtenez SlideShare sans publicité
Bénéficiez d'un accès à des millions de présentations, documents, e-books, de livres audio, de magazines et bien plus encore, sans la moindre publicité.
Offre spéciale pour les lecteurs de SlideShare
Juste pour vous: Essai GRATUIT de 60 jours dans la plus grande bibliothèque numérique du monde.
La famille SlideShare vient de s'agrandir. Profitez de l'accès à des millions de livres numériques, livres audio, magazines et bien plus encore sur Scribd.
Apparemment, vous utilisez un bloqueur de publicités qui est en cours d'exécution. En ajoutant SlideShare à la liste blanche de votre bloqueur de publicités, vous soutenez notre communauté de créateurs de contenu.
Vous détestez les publicités?
Nous avons mis à jour notre politique de confidentialité.
Nous avons mis à jour notre politique de confidentialité pour nous conformer à l'évolution des réglementations mondiales en matière de confidentialité et pour vous informer de la manière dont nous utilisons vos données de façon limitée.
Vous pouvez consulter les détails ci-dessous. En cliquant sur Accepter, vous acceptez la politique de confidentialité mise à jour.