이번엔 우리나라에서 가장 유명한 IT서비스기업,
카카오의 실무 개발자분을 초청해서
실무, 역량, 기술, 취업 등에 대한 이야기를 나눴습니다!
자세하게 알려주셨는데요.
국비지원 학원을 통해 자바 개발자가 돼서
가장 많이 취업하는 곳이 SI기업입니다!
특히 비전공자 분들이 경력을 쌓기 위한 기반으로써 좋은 기업인데요,
자바 취업에 대한 솔직하고 자세한 내용에 대해
K-개발자가 전해주신 내용을 간략하게 요약했습니다!
1. 현업IT의 종류 - SI/SM
SI(System Integration) / SM(System Management)
고객사가 원하는 시스템을 구축해주거나,
고객사에서 구축한 기존의 시스템에 개발자들이 투입되서 관리하는 기업입을 말합니다.
쉽게 말하면 아웃소싱이라고 할 수 있습니다!
우리가 흔히 알고 있는 SI중 대형 기업은 삼성SDS, LG CNS, SK CNC가 있죠.
중견기업으로는 농심SDS, 쌍용정보통신이 있습니다.
그외에 중소/중견 SI기업은 매우 많으며, 서로 협력사나 외주업체 같은 포지션으로 함께 많이 일을 하고 있다고 보면 됩니다.
2. SI기업의 사업구조
발주사(시스템 구축이 필요한 공공/금융기관)이
'나라장터'라는 국가종합전자조달시스템 사이트에 사업계획서를 올립니다.
▼
수행사들(SI)이 견적을 내서 입찰에 참여하고, 발주사는 업체를 선정합니다.
▼
수행사는 협력사 A, B와 함께
관리자, 개발자, DBA(데이터베이스 담당), 인프라 담당자 등을
발주사로 파견을 보내거나 원격으로 근무를 하게 합니다.
대체로 파견을 보냅니다.
▼
발주사가 개발명세서를 전달하고,
그것을 기준으로 개발이나 매니지먼트를 하게 되고
그에 대한 비용을 받게 됩니다.
발주사가 수행사에게 요구사항(RFP)를 보냅니다.
▼
설계자는 요구사항을 기준으로 설계하여 설계 문서를 보냅니다.
▼
실무자들이 화면 설계, 데이터베이스 설계 등의 설계산출물을 내서 개발자에게 보냅니다.
▼
개발자들은 설계산출물을 기준으로 데이터베이스, 프론트, 서버를 개발합니다.
▼
완료된 개발산출물을 발주사로 납품하게 되고, 발주사에서 승인하면 사업은 완료됩니다.
=>직전 단계의 업무가 종료되어야 다음 단계로 진행되는 이런 방식은
폭포수같이 생겼다고 하여 워터폴Waterfall 협업 방식이라고 합니다.
거의 모든 산업 분야에서 활용되는 방식입니다.
※ 여기서 생기는 고충
건축에서 따온 이 사업 모델은 한계점이 있는데요.
건축으로 치자면 건축사가 건물을 70%정도 만들었는데,
발주사가 이렇게 말하는 거죠.
"건물을 서울에 만드는 것이 아니라 대전에 만들었어야 했다.
근데 꼭 반영은 해야하고 마감일은 그대로 맞춰줘야한다."
건축에서는 물리적으로 불가능하지만,
개발은 가능합니다. 시간이 인력이 더 필요할 뿐이죠.
발주사가 이렇게 요청하는 이상 당연히 요구대로 해야합니다.
당연히 리소스를 늘리거나 기간이 늘어나는 것은 보장되지만,
같이 일하시는 분들이 고생을 조금 더 하게 되는 일이 발생하는 것이죠.
3. 시스템 구성 및 개발
그림과 같은 구성들이 '온프레미스'라는 환경에 올라가는데, 이는 고객사가 가지고 있는 서버장비를 통해 운영/배포 한다는 것을 의미합니다.
모니터링
서비스에 얼마나 트래픽이 들어왔는지, 유저가 얼마나 사용하는지를 확인하는 일입니다. 보통 협력사가 제공하는 솔루션을 활용합니다.
CI(Continuous Integration)/CD(Continuous Deployment) 매니저
지속적인 통합과 배포를 의미합니다. 어떤 툴을 사용하여 코드(code)는 실행 가능한 파일로 만들어서 실행시켜야 하는데, 여기서 프론트엔드 영역은 협력사의 솔루션을 활용합니다. 그러나 백엔드 영역은 특성상 솔루션이 존재할 수 없기 때문에, 자바와 스프링을 이용해서 개발자가 직접 다 만들어야 합니다.
WAS(Web Application Server)
그렇게 해서 만든 코드들을 CI/CD를 통해서 배포하게 되는데, 배포된 서버 WAS라고 부릅니다.
데이터베이스(DB)
엄청나게 복잡하고 큽니다. DB 전문가(DBA)가 모델링, 관리, 튜닝도 하기 때문에 개발자가 직접 DB를 만질 일은 없습니다.
4. 주요 사용 기술 및 역량
백엔드
자바7
옛날 기술인만큼 정확도와 안정성이 많이 검증이 되어있고, 많은 공공기관들의 시스템이 자바7기준으로 만들어져있습니다. 그만큼 오류가 적고 안정적이죠. 자바의 버전을 수행사가 마음대로 정할 수가 없고 발주사가 규정해서 내려오기 때문에 주로 자바7을 사용합니다. 자바 취업이 상대적으로 잘 되는 이유가 여기에 있습니다.
EgovFramework
전자정부프레임워크라고 하며, 스프링을 정부기관들의 요청이나 특성에 맞게 한번 랩핑을 한 프레임워크입니다. 스프링이랑 크게 다르지 않습니다.
MyBatis
DB에 접근하기 위해 사용합니다.
프론트엔드
제이쿼리(jQuery), 자바스크립트(JavaScript), 에이젝스(Ajax)를 사용하며, 간혹 리액트(React)를 사용합니다.
리액트를 사용하려면 앞에 것들을 필수역량으로 생각해야하기 때문에 필수 역량에 속합니다.
데이터베이스
오라클(Oracle)을 주로 사용. 간혹 MS-SQL을 사용하기도 합니다. 오라클과 MS-SQL은 가장 비싼 데이터베이스이기 때문에 거의 모든 연산을 시킵니다.
5. 장점 / 단점
모든 곳의 역량을 쌓을 수 있기 때문에 풀스택 개발자의 기회가 있습니다.
BUT 전문성을 쌓지 않으면 이도 저도 아닌 개발자가 되기 쉬워요.
데이터베이스 쿼리를 능숙하게 다룰 수 있게 되고 운이 좋다면 SQL튜닝까지 경험 가능합니다.
BUT 연산 자체를 데이터베이스에 맡기다 보니 상대적으로 서버 개발 역량이 감소할 수 있습니다.
사용되는 기술이 특정되어 있으므로 진입장벽이 상대적으로 낮아 그 분야에서 전문가가 되는 것이 간단할 수 있습니다.
BUT 다양한 기술을 사용할 수가 없습니다. 이직시 극복해야할 문제입니다.
주로 발주하는 곳이 공기업, 금융권 등 이므로 발주사의 시스템 매니저 전환기회가 종종 주어집니다.
BUT 회사에서 오래 있을수록 개발과 거리가 멀어지고 관리자가 되어버릴 수 있습니다.
김동현 개발자님께서
자바 취업 가능한 회사 중 SI/SM에 대해서 전해주셨는데요,
자바 취업에 관심 있는 비전공자 분들에게 도움이 되는 정보가 되길 바랍니다!
구디부트캠프
상담신청
COMMENT (0)개