1편에서 서론을 작성하였다.
2024.11.30 - [일상/기타] - [기타] IT기업 개발 VS 제조업 전산 [1편 서론]
1) 서론
1-1) 근무이력
1-2) 각 직장별 리뷰 및 이직배경
2) IT회사에서의 경험
2-1) 주요 업무와 역할
2-2) IT업계의 업무 환경과 문화
2-3) 개인적으로 얻은 것과 배운점
3) 제조업 전산에서의 경험
3-1) 전산 담당자로서의 주요 업무
3-2) 제조업 전산의 업무 환경과 문화
4) IT회사를 준비하는 사람들을 위한 조언
5-1) 직무 이해와 사전 준비
5) 제조업 전산을 준비하는 사람들을 위한 조언
6-1) 직무 이해와 사전 준비
IT회사에서의 경험을 포스트로 나타내어 IT회사 근무의 궁금증을 해소해보고자 한다.
2-1) 주요 업무와 역할
- 회사유형 : IT회사
- 회사규모 : 중소기업
- 사업유형 : SI/SM업체 (고객사의 IT시스템을 설계, 개발을 수행함)
- 업무 : DA (Data Architechure) (SI업무)
- 근무기간 : 2년 8개월
위 업체에서 주요 업무를 작성하자면 아래와 같다.
SI업체는 신규 사업을 따와서 분석 및 설계 -> 구현 -> 테스트 -> 오픈 이런식의 프로젝트 사이클을 가지고 있다. 그래서 DA는 신규 사업을 맡게되면, 각 단계별로 아래와 같은 업무를 하게된다.
* 분석 및 설계
- 업무 협의
- DB논리설계 (신규 시스템 구축 or 고도화) -> 논리 ERD, 표준명명규칙
- DB물리설계 -> 물리ERD, 표준단어정의서, 표준용어정의서, 표준도메인정의서, 테이블정의서, 컬럼정의서, 도메인정의서, 코드설계서 (설계하는 것도 힘든데 아주 많은 양의 문서를 뱉아내야함)
분석 설계 단계에서는 업무프로세스를 협의하고, 협의된 내용을 바탕으로 기능요구사항과 화면설계서를 보고 ERD를 설계한다. 물론 ERD설계할 때는 BCNF정규형 까지는 머릿속으로 의식하면서 설계에 임해야한다. 또한 어떤 객체를 엔터티로 만들지 , 어떤 데이터를 관리할지 , 어떤 데이터는 관리하지 않아도 되는지에 대해서 깊은 고민을 하고, 또 해야한다.
공통코드는 어떤 방식으로 표준을 잡을지, 다른 코드는 어떻게 명명할지, PK는 부모테이블에 상속을 받는 개발할 때 편할지?, 임의로 PK를 생성하여 관리를 하는게 편할지 등을 수 없이 고민하며 테이블과 Relation을 설계한다.
물론 시간이 많으면 설계를 깊이 고민하면서 해도 늦지않는데, SI노예 코드몽키와 같이 중소기업 SI업체에게는 그딴 시간이 없다. 대표가 직원들 건강을 생각하지 않고, 굴리는 회사라면 더더욱 DB설계에 대한 고민은 철근빠진 건물과 같다.
왜냐하면 한명이 한개의 DB를 심도있게 고민하여 설계를 해야 시스템이 좋을까 말까인데, 한명에게 여러개의 프로젝트가 동시다발적으로 담당해야한다. 심지어 분석/설계 기간에 화면 개발을 시작해야 일정을 맞출 수 있기 때문에 DB설계와 동시에 DB개발서버에 동시에 물리적으로 DB구축을 한다.
이러니 소프트웨어 품질이 좋아질 수가 있나?, 심지어 화면 개발을 먼저 시작하는 이유도 개발자들이 여러개의 프로젝트를 동시에 돌려서 최대한의 효율을 뽑아먹기위해서 이다.
* 구현
이 때 DA는 한숨을 돌릴 수 있다. 여러 Procedure, Function, Scheduler Job, Sequence를 생성하며 여러 DB Object를 생성해주며 개발 기간에 개발자와 의사소통을 한다. 또한 I/F (인터페이스)가 있을 경우 인터페이스 관련 Object 및 로직을 생성하여 인터페이스 개발과 테스트를 한다.
개발 과정에서는 개발자들의 Sample데이터를 생성해주거나, 초기 데이터를 개비하는 일이 아주 많다.
또한 기존 시스템이 있는 경우 기존 DB -> 신규 DB 마이그레이션을 최종 오픈할 때 진행해주어야 하니까 , 마이그레이션 스크립트를 작성하는데 대부분의 시간을 쏟게된다.
* 테스트
이딴 중소기업에 QA가 있을리가 없다. 따라서 개발자가 단위테스트와 통합테스트를 하게 되는데 그 과정에서 DB개비 지원을 도와주면 된다.
* 오픈
시스템 오픈은 헬게이트 오픈과 같은 뜻이다. 내가 DA할 때는 기존 DB의 스키마, 테이블스페이스 등을 신규 DB에 만들어 놓고, DB마이그레이션작업을 실시한 후 -> 신규 DB스키마 및 테이블 구조 생성 -> 기초데이터 생성
이런식의 업무를 진행했다. 오픈 하루전날 오후 7시부터 시작해서 다음날 새벽 3~4시 쯤에 끝나는 경우도 있었다.
이딴 식으로 사람을 갈아넣는다. 야근수당은 물론 휴일을 주지도 않았다. 겪어보진 않았지만 흑인 노예가 나보다 덜 일했을 꺼다. 흑인노예보다 더 일했을 꺼다라는건 진심이다.
2-2) 주요 업무와 역할
- 회사유형 : IT회사
- 회사규모 : 중소기업 (대기업 협력사/대기업 파견)
- 사업유형 : SI/SM업체 (대기업 고객사에 인력 파견)
- 업무 : Oracle DBA ( Infra SM업무)
- 근무기간 : 1년 2개월
위 업체에서 주요 업무를 작성하자면 아래와 같다.
대기업 SI/SM업체의 협력사로 실제 대기업의 제조공장의 IT Infra를 관리하는 업무이며 그 중에서 Oracle DBA역할을 하여 Oracle DB서버와 DBMS의 관리를 한다.
주요 업무는
* DBMS 장애관리
* DBMS 용량관리
* DBMS 성능관리
* DBMS 변경관리
* Trouble shooting
등 업무를 맡았으며, 실제 공장의 시스템 중 Oracle DB를 사용하는 대상을 관리했습니다.
업무의 장점은 Oracle을 사용하므로, 타 회사로 이직 시 좋은 커리어를 쌓을 수 있으며, 업무 강도도 낮은 편에 속했습니다. 업무 강도의 경우는 어차피 같은 회사라도, 부서별로 다르기 때문에 상대적인것이라고 볼 수 있다.
업무의 단점은 공장의 Infra 업무다 보니, 즉 공장이 쉴 때 infra PM작업을 하면 출근을 해야하는 점이다. 즉 남들이 명절에 쉴때 나와서 작업을 하는 경우가 많다.
또한 24시간 공장이 돌아가기 때문에 새벽에 서버나 DB에 문제가 발생할 경우 즉각 대응해줘야 하기 때문에 항시 대기해줘야 하는 단점이 있다.
가장 큰 단점은 대기업 IT회사와 우리회사가 같은 공간에서 같이 일을 하지만, 단지 소속이 다를 뿐이다. 마치 현대자동차에서 똑같이 차를 조립하지만 일부는 현대차직원이고, 일부는 다른 업체파견직 소속으로 급여와 대우가 다르듯이.
IT기업에서 경험을 토대로 2편을 작성해 보았다.
'일상 > 기타' 카테고리의 다른 글
[기타] IT기업 개발 VS 제조업 전산 [1편 서론] (3) | 2024.11.30 |
---|