교육기관별 자바 개발자 양성 교육 과정 상세 비교
IT 직업 중 지금까지 개발자에 대해 알아보았다. 지금까지 알아본 개발자를 간단히 정리하면,
웹 퍼블리셔 - 기획자, 디자이너가 만든 화면의 기획안과 디자인 이미지로 HTML, CSS로 웹 화면을 개발
프런트 엔드 개발자 - 웹 화면이 동작하도록 자바스크립트로 서버 프로그램과 연동하는 프로그래밍 개발
앱 개발자 - 모바일 환경에서 네이티브 앱을 개발하는 개발자로 안드로이드와 iOS 앱 개발자로 구분됨
백엔드 개발자 - 서버 개발자로 프런트 엔드에서 요구하는 기능, 데이터를 처리하는 개발
과 같다.
임베디드 개발자와 같이 특정 영역의 개발자도 있지만, 일반적으로 개발자라고 한다면 위의 개발자 하나 일 가능성이 크다. 개발자가 되기 위해 전산 전공하든지 외부 전문 교육기관을 통해 개발자 교육을 받아야 한다. IT개발자가 되기 위해 국비가 지원되는 교육기관이 많다. 비전공자뿐만 아니라 전공자도 교육기관에서 교육을 수료한 후 취업의 문을 두드리는 경우가 많다.
전산을 전공한 학생도 졸업 후 이런 교육기관에서 교육을 받는 현실을 보면 대학이 학생들에게 개발 실력을 충분히 가르치지 않는 것 같다. 또 IT 현장을 그렇게 잘 따라가지도 않는 것 같다.
그러면 이런 외부 교육기관이 현장의 IT현실을 얼마나 반영하고 있을까? 하지만 IT 국비지원 과정에 대한 시선도 곱지 않다. 제사보다 잿밥에 관심 더 많은 교육기관들이 많다. 국비다 보니 교육 내용이 부실하고 현장의 요구와 맞지 않는 경우가 많다. 그 피해는 결국 취업을 준비하는 친구들에게 돌아간다. 길지 않은 교육과정을 잘 선택해야 시간과 노력을 헛되게 날리지 않는다.
우리는 앞서 웹 서비스라는 것도 이해를 했고, 개발자들이 어떤 기술이 필요하고 어떤 일을 하는지 살펴보았다. 그러면 각 교육기관의 교육과정을 보면 그 과정이 제대로 되어 있는지 어느 정도 파악을 할 수 있으리라 생각한다. 괜찮은 피드백을 받고 있는 IT 교육 기관 몇 곳에 대한 국비지원 과정을 같이 살펴보자.
각 기관에서 제공하는 홈페이지를 근거로 살펴보기 때문에 실 상황과 다를 수 있겠지만, 지원자가 상담이전 판단하는 자료이니 중요한 내용이라 생각한다.
B교육기관의 과정 중 일반 개발자에 해당하는 과정으로 'Java Full Stack개발자 양성과정'이 있다.
교육기간 : 4개월
주요 교육 목표 : 자바 웹 플랫폼 기반 웹 애플리케이션, 스마트기기의 애플리케이션 구현
상세 교육 내용은 다음과 같다.
B캠프 교육기관의 교육목적은 짧은 교육기간 4개월 동안 자바를 배우고 React와 Spring Boot 환경에서 간단한 모바일 웹 앱을 만드는 것에 주안을 두고 있다. 4개월의 과정을 충실히 이수한다면 React를 활용한 간단한 웹 앱정도를 개발할 수 있는 프런트 엔드 개발 정도는 가능할 것이다. React는 앞편에서 살펴본 것과 같이 페이스북(현재는 메타)에서 만든 프런트엔드 개발 프레임워크이다.
프로그래밍의 기본을 갖추지 않은 채 빠른 개발의 결과를 내기 위한 React와 같은 프레임워크 활용에만 치우친다면 프로그래밍 코드를 이해하지 못하고 카피하는 수준에 머무를 수 있다. 짧은 교육기간에 아무래도 기본기를 충분히 다지기에는 부족할 것이다. 그러나 최근 많이 사용되는 React+Spring Boot환경에서 해 본다는 것은 기술적인 트렌드를 따라가고 있는 것 같다. 교육기간을 좀 더 늘리면 좋지 않을까 생각한다.
K정보교육원의 풀스택개발자 과정으로 '(디지털 컨버전스) 공공데이터 융합 자바개발자 양성과정'이 있다.
교육기간 : 6개월
교육 목표 : 프런트 엔드에서 백엔드에 이르는 풀스택 개발자 양성
K정보교육원의 디지털 컨버전스 공공개발자 과정의 상세 커리큘럼은 다음과 같다.
자바 언어를 기본으로 하여 프런트 엔드 개발에서 백엔드 개발에 이르는 과정으로 구성했다. 프런트 개발은 React를 기본으로 하고 백엔드 개발은 Spring Framework 내용이 들어 있다. 공공개발자라는 말이 있는데 이는 공공 데이터를 이용하여 간단한 웹 애플리케이션을 구현하기 위한 것으로 파악된다.
특징적인 것은 백엔드 과정에서 Severlet/JSP 과정이 있다는 것이다. 자바 서버 개발을 위해 필요한 과정이지만 6개월이라는 짧은 기간을 생각한다면 약간 철 지난 기술을 꼭 넣어야 할까 라는 개인적인 생각이 든다.
S교육센터의 개발자 과정으로는 '(디지털컨버전스) AWS 클라우드와 Elasticsearch를 활용한 Java(자바) Full-Stack 개발자 양성'이 있다.
교육기간 : 6개월
교육 목표 : 응용 SW개발에 사용되는 자바를 적용하고 기본 라이브러리 및 프레임워크를 활용하여 자바 응용 SW를 개발가능하도록 함
세부적인 과정은 다음과 같다.
S교육센터는 특징은 개발 환경을 아마존 클라우드(AWS)를 활용한다는 것이다. 최근 클라우드 환경이 일반적으로 되면서 아마존(AWS), 네이버와 같은 클라우드를 사용하는 기업이 많아지고 있어 클라우드 환경을 알아 두는 것도 좋다. 그러나 기본적인 서버 환경을 잘 알지 못하는 상태에서 클라우드를 먼저 접한다면 IT인프라에 대해 알지 못할 수 있다는 노파심도 든다.
타 교육기관이 React중심의 프런트 개발을 하는데 반해 별도의 프런트 엔드 프레임워크 활용 부분은 보이지 않는다. 검색엔진 Elasticsearch를 활용한 검색 시스템을 개발하는다는 것이 특이하다.
아마존의 클라우드 환경과 Elasticsearch라는 검색엔진에 관심이 있는 수강생이라면 좋은 과정일 수 있지만 자바 개발자로 첫걸음을 하는 개발자에게는 이런 부분은 그다지 도움이 되는 부분이 아니다.
마지막으로 살펴볼 기관은 삼성 청년 SW아카데미이다. 삼성이 주관하고 고용 노동부에서 후원하는 과정이다.
(앞서 세 교육기관과 성격이 달라 삼성 청년 SW아카데미는 실명으로 합니다.)
교육기간 : 6개월+6개월
교육 목표 :문제 해결능력을 갖춘 경쟁력 있는 차세대 SW인력을 양성
과정은 6개월 단위로 2 학기로 구성되어 있다.
특징은 과정 내에 네 가지의 트랙으로 구분하고 있다. 각자 본인이 원하는 개발 과정이 있다.
Python Track : 개발 언어로 파이썬을 기본으로 하는 개발자를 위한 과정이다. 파이썬은 최근 자바와 새롭게 경쟁하고 있는 언어이다. 빅데이터 등과 같은 개발에 많이 사용된다.
Java Track : 국내 IT환경에서 가장 많이 활용되는 자바 개발자를 위한 트랙이다.
Embedded Track : 임베디드 개발자가 되려면 이 트랙에 지원하면 된다. 기본 OS인 리눅스와 임베디드 개발을 배울 수 있다.(임베디드 개발은 <18. 임베디드(Embedded) SW 개발자란?> 참조하세요.)
Mobile Track : 모바일 앱 개발자를 위한 과정이다. 안드로이드 앱 개발을 위한 Kotlin을 배울 수 있다. iOS앱 개발 과정은 없다.
다양한 개발자 양성을 위해 Track을 구분하고 있지만 공통의 기본 과정이 있다. 웹의 기본인 HTML/CSS, JavaScripti, Spring프레임워크와 Vue.js 프런트 프레임워크를 기본으로 하고 있다. 앞서 교육기관이 React에 주안을 두고 있다면 삼성청년 SW아카데미는 Vue.js를 기본으로 가르치고 있다.
2학기는 1학기에 배운 기술을 가지고 프로젝트를 함으로써 기술의 심화, 개발과정을 습득하는 기간이다.
이상 네 곳 교육기관의 개발자 과정을 간략하게 살펴보았다. 본인이 어떤 개발자가 되고 싶은지에 따라 기술의 내용이 정해 질 것이고, 거기에 맞는 교육기관을 고르면 된다. 그런데 쉽지 않다. 교육 기관들을 내용들을 정리해 보면,
교육기간이 6개월 정도로 짧다.(삼성은 1년까지 가능)
짧은 교육기간 중 웹 하나를 만들기 위해 자바, 프런트엔드에서 백엔드까지 풀 스택을 가르친다.
그러다 보니 교육의 내용이 부실해질 수 있다. 단순히 프레임워크 사용 하는 것에 치중할 수 있다.
교육기관 별로 부가적인 부분(공공 데이터 개발, 아마존 클라우드 활용) 강의가 있어 내게 필요한지 판단할 필요가 있다.
여러 가지 것을 슈퍼마켓 형태로 배우는 것이 좋을지, 몇 가지라도 제대로 배우는 것이 좋은지 판단하기 쉽지 않다. 전체에 대해 개론적으로 파악하고 그다음 집중적으로 하는 것이 좋기는 하다. 하지만 그만큼 시간이 많이 걸린다. 어쨌거나 6개월의 짧은 과정으로 프런트 엔드 개발자나 백엔드 개발자로 되기에는 역부족이다.
6개월 초급 과정 이후 과감하게 회사 문을 두드려 입사가 되어 회사에서 배우는 것이 가장 좋은 방법이다. 내가 실력이 모자란다고 계속 심화과정을 찾아다니는 것보다 신입으로 회사 문을 두드리는 것도 좋다. 어차피 회사는 신입사원에게 실력으로 크게 기대하지 않는다. 기본을 알고 개발자로서 자세를 더 중요하게 보는 것이 일반적이다. 그러니 실력이 모자란다고 계속 교육기관만 전전하지 말고 회사 문을 두드리는 용기를 가져보자.
이왕 교육을 받기로 했다면 위 기관 중에 삼성 청년 SW아카데미가 가장 좋은 기관이라고 개인적으로 말하고 싶다. 필자도 신입사원들을 채용 시 삼성 출신 지원자들이 좋은 평가를 받았다. 1년이라는 긴 시간 집중해서 교육을 받았고, 교육 내용도 현장의 상황을 잘 반영해서 기업 입장에서는 추가 교육 기간을 줄일 수 있다.
삼성청년 SW아카데미 과정이 좋은 것은 알겠는데, 과정에 들어가기도 쉽지가 않다 한다. 그러나 IT개발자로 진로를 정했다면 치밀하게 준비해서 도전해 보자. 준비과정 포함해서 교육기간이 길지만 지나고 보면 그렇게 긴 시간이 아니다. 다른 직업을 찾기 위해 전전하는 것보다 시간이 걸리더라도 IT교육을 받는다면 남는 것이 있고, 늦더라도 개발자가 될 수 있다. 시간이 한참 지난 후, 제대로 차근차근 가는 것이 가장 빠른 길이었다는 것을 느낄 때가 있을 것이다.
체계적이고 보완된 내용으로 브런치 글과 같은 이름으로 출간을 하게되었습니다. 아래의 링크를 통해 자세한 내용을 확인할 수 있습니다.
교보문고
나에게 맞는 IT 직업 찾기
예스24
나에게 맞는 IT 직업 찾기
알라딘
나에게 맞는 IT 직업 찾기
이것으로 IT 직업 중 가장 많은 개발자 직업에 대해 알아보았다. 다음 편부터 IT의 다른 직종에 대해 알아볼 것이다. 그 직종을 제대로 이해하기 위해 몇 가지 공부할 것이 있다. 시간이 걸리더라도 차근차근해 나가 보자.