SI
아무것도 없는 무(無)의 상태에서 고객의 요구사항을 기반으로 만들어내는 것이다.개발 앞 단계인 분석설계 단계부터 시작해서 전반적인 과정에 참여
업무
- 요구사항 분석 - 고객의 요구 사항 수집(PM)
- 분석/설계 - 요구 사항을 분석하고, 실제 개발이 가능한 형태로 설계(PM/PL)
- 개발 - 분석/설계를 통해서 나온 자료를 기반으로 실제 프로그램 구축
- 테스트 - 구축된 프로그램 테스트 및 안정화
- 검수 - 최종 결과물을 고객으로부터 이상 없이 구축되었음을 인증받는 작업
장점
다양한 환경에서 다양한 개발을 두루 경험할 수 있어 배움의 기회가 넓다
문제해결력,개발 응용력
단점
솔루션
미리 만들어놓은 제품을 요구사항에 맞게 수정하는 직군
본사에서 자사 솔루션을 개발하는 일을 하게 되거나, 또는 고객사의 니즈대로 본사에서 솔루션 커스텀 개발이 완료된 후, 완성된 제품을 고객사에 공급하는 방식으로 일을 한다.
업무
- 요구사항 분석 : 가지고 있는 프로그램과 고객이 바라는 요구사항간의 차이 분석
- 커스터마이징 : 요구사항(GAP) 분석으로 나온 차이를 설계하고 개발 변경
- 테스트 : 구축된 프로그램 테스트 및 안정화 (== SI)
- 검수 : 최종 결과물을 고객으로부터 이상 없이 구축되었음을 인증받는 작업 (== SI)
장점
솔루션의 이미 잘 짜여진 소스와 기술을 보고 익히면서 배울 수 있다
지나치게 구식의 기술을 쓰고 있는 솔루션은 피하자
개발의 깊이는 조금 덜할 수 있지만 하나의 SW가 돌아가는 전반적인 데이터 플로우를 배울 수 있다
단점
해당 솔루션 내에서만 바싹해진다는 것
하나의 솔루션을 매일같이 보고 물고 뜯고(?) 하기 때문에 분야가 좁아질 수 있다는 점
SM
개발 유지보수/관리운영하는 일
워라밸이 보장된다. 대신에 실력을 키우기는 힘들다.
에러 수정, 기능 개선 등의 개발
업무
- 오류 수정 - 시스템 오류나 작업 중 발생한 오류를 수정
- 기능 개선 - 기존 시스템에 부가 기능을 더하거나 불편 요소 개선
- 기능 추가 - 새로운 기능을 추가 개발
- 데이터 제공 - 사용자들이 요구하는 데이터를 DB에서 조회 제공
- 시스템 안정화 - 시스템이 다운되거나, 부하가 걸리지 않도록 안정화