Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

소프트웨어 개발자 로드맵

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Chargement dans…3
×

Consultez-les par la suite

1 sur 13 Publicité

Plus De Contenu Connexe

Diaporamas pour vous (20)

Publicité

Similaire à 소프트웨어 개발자 로드맵 (20)

Plus par 중선 곽 (20)

Publicité

Plus récents (20)

소프트웨어 개발자 로드맵

  1. 1. 2014. 04 Software Developer Loadmap Version 0.1
  2. 2. 1 소프트웨어 개발자 로드맵 Agenda  소프트웨어 기술 요소  학사 커리큘럼에서 익힐 수 있는 것들  전공 필수와 선택, 우선 순위는?  소프트웨어 개발자 직무의 다양성과 변화  소프트웨어 개발자 직무별 필수 기술 요소  직무 유형별 필수 기술 정리
  3. 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. 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. 5. 4 소프트웨어 개발자 로드맵 3. 전공 필수와 선택, 우선순위는? 프로그래밍 언어 C, C++ Java, C# 데이터 처리 자료구조론 데이터베이스 알고리즘과 컴파일러 알고리즘 컴파일러 운영체제 네트워크 [ 필수 과목은? ] 장래 희망과 상관없이 매우 열심히 학습할 것. ‘희망과 미래는 별개일 수 있다.’ 그렇다면, 만약을 대비해라. 컴퓨터 그래픽스 인공지능 소프트웨어 공학 정보 보안 멀티미디어 [ 필수 과목 ] [ 선택 과목 ] [ 개인 과제 ] 수치해석 오픈 소스 프레임워크 디자인 패턴 TDD, Agile Refactoring Build tools [ 개인 과제는? ] 공부해두면 면접 볼 때 아주 유리해질 수 있다. 모르면 입사한 후에 ‘군대처럼 혼나면서...’ 배우게 된다. 객체지향 이론 UML 모바일 디바이스 프로그래밍 단위 테스트 형상 및 빌드 관리 서버 관리 기술
  6. 6. 5 소프트웨어 개발자 로드맵 4. 소프트웨어 개발자 직무의 다양성과 변화 SW 국가직무능력표준(한국산업인력공단)에서 분류한 것 이외에도 다양한 직종이 매년 나타나고 사라지고 있다. 5년 후 (졸업할 때?) 어떤 직무가 나타나고 사라질 지 모르기 때문에 틈틈히 다양한 스터디 정보, 컨퍼런스, 세미나, IT 뉴스, 뉴스레터를 통해 간접 경험을 획득해야 한다.
  7. 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. 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. 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. 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. 11. 10 소프트웨어 개발자 로드맵 6. 직무 유형별 필수 기술 – Data modeler / Data Administrator 데이터모델링 데이터 모델 DB 최적화 SQL RDBMS 오라클 MySQL MS-SQL 요소 기술이 적어 보이지만, 매우 전문적인 분야이기 때문에 전문가가 되기 어렵다. 배울 수 있는 기회 자체도 적다.
  12. 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. 13. 12 소프트웨어 개발자 로드맵 7. 직무 유형별 필수 기술 정리 한정된 분야의 특수한 고급 기술 만으로, 현장에서 활동하는 직무는 많지 않다. (데이터베이스 분야 등) 그외의 직무들은 다양한 요소 기술들을 변화와 필요에 따라 습득해야 한다. 특정 직무를 위한 ‘정확한 로드맵’은 없다. 해당 직무에서 필요한 기술이 미래에는 바뀔 수 있다. 최대한 다양한 경험을 쌓아보고, 흥미를 가질 수 있고 잘할 수 있는 기술들을 익혀야 한다. 변화무쌍한 것이 IT 분야의 본질이자, 장점이다. BigData / Mobile 분야는 10년 전에는 아예 없던 직무군에 해당한다. 목표를 설정하기 힘들 때는 기초 이론을 공부하라. 유행을 따르다가 목표를 잃고 방황하게 될 때는 기본 기술 중에 모르는 것을 좀 더 공부하라. 기본을 잘하는 사람, 원리를 잘아는 사람이 응용도 잘할 수 있다. 기본 기술은 거의 변하지 않는다. (변하는 것이 없다는 진리만이 변하지 않는다.)

×