제조 도메인에 관심이 생긴 주니어 개발자가 먼저 공부하면 좋은 것들
제조 도메인을 처음 접하는 주니어 개발자를 위해 분야별 공통점, 차이점, 업무 흐름을 중심으로 공부 순서를 정리합니다.
이 글은 특정 회사의 업무나 내부 정보를 다루지 않고, 제조 도메인 소프트웨어를 처음 공부하는 주니어 개발자를 위해 작성한다.
주요 독자: 제조 도메인에 관심은 생겼지만, 무엇부터 공부해야 할지 막막한 주니어 소프트웨어 개발자.
요약
- 제조 도메인도 결국 요구사항, 상태, 데이터, 예외, 사용자 흐름을 다룬다는 점에서 소프트웨어 개발과 닮아 있다.
- 다만 제조 소프트웨어는 화면 안에서 끝나지 않고 자재, 설비, 작업자, 검사, 이력처럼 현실의 흐름과 연결된다는 점이 다르다.
- 제조 분야마다 차이는 있지만, 생산, 품질, 자재, 설비, 이력이라는 공통 축이 반복된다.
- 주니어 개발자는 용어 암기보다 “소프트웨어의 흐름이 실제 제조 flow와 어떻게 연결되는가”를 먼저 보는 것이 좋다.
들어가며
제조 도메인에 관심이 생긴 주니어 개발자는 보통 여기서 한 번 막힌다. “제조업을 공부해야겠다”는 생각은 들지만, 막상 어디서부터 봐야 할지 잘 모르겠다. MES, ERP, BOM, LOT, 공정, 작업지시, 설비, 품질, 재고 같은 단어가 한꺼번에 나오면 시작하기 전부터 부담스럽다.
제조업은 하나의 모습만 가지고 있지 않다. 자동차 부품을 만드는 회사와 식품을 만드는 회사는 다르고, 반도체 공정과 의류 생산은 다르다. 대량 생산을 하는 곳과 주문을 받아 소량으로 만드는 곳도 다르다. 그러면 자연스럽게 이런 질문이 생긴다.
“제조 도메인이라고 묶어도 되는 걸까?”
“분야마다 이렇게 다르면 무엇부터 공부해야 하지?”
“소프트웨어 개발자는 공장 전체를 다 알아야 하나?”
이 질문은 꽤 현실적이다. 제조업은 넓고, 현장마다 용어와 방식이 다르다. 하지만 처음부터 모든 차이를 다 이해하려고 하면 오히려 길을 잃기 쉽다. 주니어 개발자에게 더 좋은 접근은 소프트웨어 개발과 제조 도메인의 공통점을 먼저 잡고, 그다음 제조업 안에서 반복되는 공통 흐름과 분야별 차이를 얹어가는 것이다.
제조 도메인 공부의 첫 목표는 전문가처럼 모든 공정을 아는 것이 아니다. 소프트웨어 개발자답게 “업무가 어떤 순서로 흐르고, 그 과정에서 어떤 데이터가 생기며, 시스템은 무엇을 기록하고 도와야 하는가”를 보는 눈을 기르는 것이다.
소프트웨어 개발 관점으로 제조 도메인 보기
제조업을 완전히 새로운 세계로 보기보다, 먼저 내가 아는 소프트웨어 개발과 비교해보면 부담이 줄어든다. 소프트웨어 개발에서는 요구사항을 이해하고, 사용자를 정의하고, 데이터를 저장하고, 상태를 관리하고, 예외 상황을 처리한다. 제조 도메인 소프트웨어도 이 점에서는 크게 다르지 않다.
예를 들어 일반적인 웹 서비스에서 주문 상태를 관리한다고 해보자. 주문 생성, 결제 대기, 결제 완료, 배송 준비, 배송 중, 배송 완료처럼 상태가 바뀐다. 제조 앱에서도 비슷한 일이 일어난다. 작업지시가 생성되고, 자재가 준비되고, 작업이 시작되고, 검사를 거치고, 입고되거나 재작업으로 돌아간다. 결국 둘 다 “어떤 대상이 어떤 상태를 거쳐 이동하는가”를 다룬다.
하지만 차이도 분명하다. 일반적인 웹 서비스의 상태 변화는 대부분 화면과 데이터베이스 안에서 끝난다. 반면 제조 소프트웨어의 상태 변화는 실제 현장의 작업, 자재, 설비, 검사, 품질, 재고와 연결된다. 버튼 하나를 누르는 일이 단순한 UI 이벤트가 아니라, 실제 작업 완료, 검사 판정, 자재 사용, 이력 기록을 의미할 수 있다.
| 소프트웨어 개발에서 익숙한 관점 | 제조 도메인에서 대응되는 관점 | 이렇게 보면 이해하기 쉽다 |
|---|---|---|
| 요구사항 | 생산 계획, 작업 요청, 품질 기준 | 무엇을 만들어야 하고 어떤 조건을 만족해야 하는가 |
| 사용자 | 작업자, 생산 관리자, 품질 담당자, 설비 담당자 | 누가 어떤 상황에서 시스템을 쓰는가 |
| 데이터 모델 | 제품, 자재, BOM, 작업지시, 공정, LOT, 검사 결과 | 업무에서 남겨야 할 핵심 대상은 무엇인가 |
| 상태 전이 | 작업 대기, 작업 중, 검사 대기, 완료, 재작업 | 일이 어떤 순서로 움직이고 어디서 멈출 수 있는가 |
| 권한 | 작업 입력, 검사 승인, 불량 처리, 이력 수정 권한 | 누가 어떤 데이터를 만들고 바꿀 수 있는가 |
| 예외 처리 | 자재 부족, 설비 이상, 불량 발생, 재검사, 재작업 | 정상 흐름이 깨졌을 때 어떻게 처리해야 하는가 |
| 로그와 이력 | 생산 이력, 검사 이력, LOT 추적, 변경 이력 | 나중에 문제를 추적하려면 무엇을 남겨야 하는가 |
| 대시보드 | 생산 현황, 불량률, 설비 가동 상태, 재고 현황 | 지금 현장이 잘 흘러가고 있는지 어떻게 볼 것인가 |
이렇게 매칭해보면 제조 도메인이 완전히 낯선 세계처럼만 보이지 않는다. 익숙한 소프트웨어 개발 개념이 현실의 생산 흐름과 연결되면서 더 구체적인 제약을 갖게 되는 것이다.
1. 먼저 제조업의 공통 흐름을 잡기
제조 분야는 다양하지만, 많은 제조 현장에는 비슷하게 반복되는 큰 흐름이 있다.
주문 또는 계획
→ 자재 준비
→ 작업지시
→ 생산 또는 공정 진행
→ 검사
→ 입고 또는 출하
→ 이력 추적과 개선
이 흐름은 산업마다 모양이 달라질 수 있다. 하지만 소프트웨어 관점에서는 중요한 질문이 비슷하게 반복된다.
- 무엇을 만들기로 했는가?
- 만들기 위해 어떤 자재가 필요한가?
- 누가, 언제, 어떤 설비나 공정에서 작업하는가?
- 작업이 지금 어떤 상태인가?
- 검사 결과는 어떤가?
- 불량이 발생하면 어떻게 처리하는가?
- 나중에 문제가 생겼을 때 어디까지 추적할 수 있는가?
처음에는 이 질문들을 기준으로 제조 도메인을 보는 것이 좋다. 용어를 많이 외우는 것보다, 일이 흐르는 방향을 먼저 잡는 편이 훨씬 오래 간다.
2. 제조 도메인에서 자주 반복되는 공통 개념
제조 분야마다 세부 용어는 다르지만, 소프트웨어 개발자가 자주 만나는 개념은 어느 정도 공통적이다.
작업지시
작업지시는 “무엇을, 얼마나, 언제까지, 어떤 방식으로 만들 것인가”를 현장에 전달하는 단위다. 소프트웨어에서는 작업지시가 생산 흐름의 출발점이 되는 경우가 많다.
개발자는 작업지시를 단순한 게시글처럼 보면 안 된다. 작업지시에는 제품, 수량, 납기, 공정, 자재, 상태, 담당자, 우선순위 같은 정보가 연결될 수 있다.
공정
공정은 제품이 만들어지는 단계다. 어떤 제품은 조립, 검사, 포장처럼 비교적 이해하기 쉬운 단계를 거치고, 어떤 제품은 온도, 압력, 시간, 배합 같은 조건이 중요한 공정을 거친다.
공정을 이해하면 화면 설계와 데이터 모델링이 달라진다. 단순히 “완료” 버튼 하나로 끝나는 업무인지, 중간 상태와 조건을 계속 기록해야 하는 업무인지가 달라지기 때문이다.
자재와 BOM
제조는 무언가를 만들기 위해 자재를 사용한다. BOM은 제품을 만들기 위해 필요한 자재 목록과 구조를 의미한다.
소프트웨어 관점에서는 “이 제품을 만들려면 무엇이 필요한가”, “대체 자재가 가능한가”, “자재가 부족하면 작업을 시작할 수 있는가” 같은 질문으로 이어진다.
품질과 검사
제조에서 검사는 단순히 통과/실패만 기록하는 일이 아닐 수 있다. 검사 항목, 기준값, 측정값, 검사자, 검사 시간, 불량 유형, 재검사 여부가 필요할 수 있다.
주니어 개발자가 제조 앱을 공부할 때 품질 데이터를 보면 좋은 이유는, 이력과 예외 처리를 자연스럽게 배우기 좋기 때문이다.
LOT와 이력
LOT는 같은 조건이나 묶음으로 생산되거나 관리되는 단위다. 제조 도메인에서 LOT는 추적성과 연결된다.
어떤 자재가 어떤 작업지시에 쓰였고, 어떤 공정을 거쳤고, 어떤 검사 결과가 나왔는지 추적할 수 있어야 문제가 생겼을 때 원인을 좁힐 수 있다. 제조 소프트웨어에서 이력 관리가 중요한 이유가 여기에 있다.
3. 분야별로 달라지는 것 보기
공통 흐름을 잡은 뒤에는 분야별 차이를 보면 된다. 처음부터 모든 차이를 외울 필요는 없다. 대신 어떤 기준으로 달라지는지 보면 이해가 빨라진다.
조립 제조와 공정 제조
조립 제조는 여러 부품을 조립해서 제품을 만드는 방식에 가깝다. 전자제품, 기계 부품, 자동차 부품 같은 분야를 떠올리면 쉽다. 이 경우 부품 구성, 조립 순서, 작업자, 검사, Serial 추적이 중요해질 수 있다.
공정 제조는 재료를 배합하거나 가공해서 제품을 만드는 방식에 가깝다. 식품, 화학, 배터리 소재 같은 분야를 떠올릴 수 있다. 이 경우 배합비, 온도, 시간, 설비 조건, LOT 추적이 중요해질 수 있다.
둘 다 제조지만 소프트웨어가 기록해야 하는 데이터의 모양이 달라진다.
대량 생산과 주문 생산
대량 생산은 같은 제품을 반복적으로 많이 만드는 흐름에 가깝다. 이 경우 생산 계획, 설비 가동률, 불량률, 재고 정확도가 중요해질 수 있다.
주문 생산은 고객 주문에 맞춰 제품이나 사양이 달라지는 흐름에 가깝다. 이 경우 주문별 사양, 납기, 변경 이력, 작업 우선순위가 중요해질 수 있다.
개발자는 “제조업은 원래 이렇게 한다”라고 단정하기보다, 이 회사가 어떤 생산 방식을 가지고 있는지 먼저 봐야 한다.
사람 중심 흐름과 설비 중심 흐름
어떤 제조 현장은 작업자의 입력과 판단이 중요하고, 어떤 현장은 설비와 센서 데이터가 더 중요하다.
사람 중심 흐름에서는 입력 화면, 실수 방지, 권한, 작업 순서 안내가 중요해진다. 설비 중심 흐름에서는 상태 수집, 알람, 시계열 데이터, 모니터링이 중요해진다.
같은 “생산 관리 시스템”이라고 해도, 현장에서 누가 주로 쓰는지에 따라 UI와 데이터 구조가 달라질 수 있다.
4. Flow 차원에서 제조 앱 바라보기
제조 도메인을 공부할 때 가장 도움이 되는 습관은 기능 목록보다 흐름을 먼저 그리는 것이다.
예를 들어 “검사 결과 등록 기능”을 만든다고 해보자. 기능만 보면 입력 폼 하나처럼 보인다. 하지만 flow로 보면 질문이 늘어난다.
- 검사는 언제 발생하는가?
- 검사 대상은 작업지시인가, 제품인가, LOT인가, Serial인가?
- 검사 기준은 어디에서 오는가?
- 검사 결과가 불합격이면 다음 상태는 무엇인가?
- 재검사나 재작업이 가능한가?
- 누가 결과를 수정할 수 있는가?
- 변경 이력은 남아야 하는가?
이렇게 보면 제조 앱은 단순 CRUD가 아니라 상태와 흐름을 다루는 앱이라는 점이 보인다. 주니어 개발자가 제조 도메인을 공부할 때는 기능명보다 상태 변화를 먼저 보는 연습이 중요하다.
대기
→ 작업 중
→ 검사 대기
→ 검사 완료
→ 입고 또는 재작업
이런 간단한 상태 흐름만 그려도 어떤 테이블이 필요할지, 어떤 권한이 필요할지, 어떤 예외가 생길지 조금씩 보이기 시작한다.
5. 주니어 개발자가 처음 해볼 공부 순서
처음부터 MES, ERP, SCADA, QMS를 모두 공부하려고 하면 너무 넓다. 대신 작은 순서로 시작하는 편이 좋다.
- 제조업의 큰 흐름을 그린다.
- 작업지시, 공정, BOM, LOT, 검사, 불량, 설비, 재고 같은 기본 용어를 정리한다.
- 작은 업무 하나를 고른다. 예를 들어 검사 기록, 설비 점검, 작업지시 관리 중 하나만 고른다.
- 그 업무의 상태 흐름을 그린다.
- 필요한 데이터를 ERD로 그린다.
- 마지막으로 화면과 API를 생각한다.
이 순서가 중요한 이유는 제조 앱에서는 화면보다 업무 흐름과 데이터가 먼저인 경우가 많기 때문이다. 화면을 먼저 만들면 그럴듯해 보일 수는 있지만, 상태와 이력이 빠지면 실제 업무를 담기 어렵다.
6. 작은 포트폴리오 주제 예시
제조 도메인에 관심이 생긴 주니어 개발자라면 처음 포트폴리오는 작게 잡는 것이 좋다.
검사 기록 앱
검사 대상, 검사 항목, 기준값, 측정값, 판정, 불량 유형, 검사자를 기록한다. 품질과 이력의 기본을 배우기 좋다.
설비 점검 앱
설비, 점검 항목, 점검 주기, 담당자, 이상 보고, 조치 이력을 관리한다. 현장 업무형 UI와 상태 관리를 배우기 좋다.
작업지시 관리 앱
작업지시, 제품, 수량, 공정, 상태, 작업자, 완료 시간을 관리한다. 제조 flow의 기본 구조를 이해하기 좋다.
처음부터 모든 기능을 넣을 필요는 없다. 오히려 하나의 흐름을 제대로 설명하는 포트폴리오가 더 좋다. “무엇을 만들었는가”보다 “왜 이렇게 설계했는가”를 보여줄 수 있어야 한다.
마무리
제조 도메인은 처음 보면 넓고 복잡해 보인다. 실제로도 넓고 복잡하다. 하지만 주니어 개발자가 처음부터 모든 제조 분야를 알아야 하는 것은 아니다.
먼저 공통 흐름을 잡고, 그다음 분야별 차이를 보고, 마지막으로 flow와 데이터를 기준으로 작은 앱을 설계해보면 된다.
Vibe 코딩 시대에는 코드를 빠르게 만드는 능력만으로 차별화하기가 어려워질 수 있다. 그래서 더 중요한 것은 문제를 이해하고, 흐름을 그리고, 데이터를 남기고, 시스템의 상태를 설계하는 능력일 수 있다. 제조 도메인은 그 능력을 연습하기에 좋은 출발점이 될 수 있다.
Q&A
Q. 제조 도메인을 공부하려면 공학 지식이 꼭 필요한가요?
처음부터 깊은 공학 지식이 필요하지는 않다. 주니어 개발자는 먼저 업무 흐름, 데이터, 상태, 이력 관점에서 접근하는 것이 좋다.
Q. 제조 분야마다 너무 다른데 공통으로 공부할 수 있는 게 있나요?
있다. 작업지시, 공정, 자재, 검사, 불량, 설비, 재고, 이력은 많은 제조 분야에서 반복해서 등장한다. 먼저 이 공통 축을 잡고, 그다음 분야별 차이를 보면 된다.
Q. 처음 포트폴리오는 어떤 주제가 좋나요?
검사 기록 앱, 설비 점검 앱, 작업지시 관리 앱처럼 작은 업무 하나를 추천한다. 핵심은 기능을 많이 넣는 것이 아니라 업무 흐름과 데이터 설계 이유를 설명하는 것이다.
Q. 제조 도메인 공부에서 가장 먼저 익혀야 할 습관은 무엇인가요?
기능 목록보다 flow를 먼저 그리는 습관이다. 어떤 상태에서 시작해 어떤 상태로 끝나는지, 예외가 생기면 어디로 흐르는지 보는 연습이 중요하다.
Q. 이 공부가 Vibe 코딩 시대의 차별화와 어떻게 연결되나요?
AI가 코드를 생성해도 업무의 의미, 데이터의 관계, 상태 변화, 예외 처리는 사람이 이해해야 한다. 제조 도메인은 이런 판단을 훈련하기 좋은 분야다.
댓글
GitHub 계정으로 댓글을 남길 수 있습니다.