경력 타임라인 규칙은 근무 구간을 어떤 순서로, 어느 정도 정밀도로, 어떤 표기로 남길지에 대한 약속입니다. 이력서 한 장에서 가장 먼저 눈에 들어오는 것이 이 시간선이고, 채용 담당자와 자동 심사, 화면 렌더링이 모두 같은 값을 다르게 해석하는 자리이기도 합니다. 아래에서는 구간을 읽는 방법과 자주 나타나는 이상 신호, 그리고 표기할 때 지키면 좋은 관례를 차례로 살펴봅니다.
근무 시간선은 어떤 순서로 적나요?
많은 지역에서 구직자는 최근 근무를 맨 위에 두고 과거로 내려가는 순서를 씁니다. 사람이 위에서 아래로 읽을 때 가장 궁금한 것이 현재 상황이기 때문입니다. 다만 이것은 오랜 관례이지 법으로 정해진 규칙이 아닙니다. 학술 이력이나 일부 공공 서식은 반대로 시간 순서를 요구하기도 합니다.
그래서 저장과 표시를 나눠 두는 편이 안전합니다. 저장은 시간 순서로 정규화하고, 화면에 보여 줄 때만 뒤집습니다. 정렬 기준을 데이터에 맡기면 목록 화면마다 다른 순서가 나오는 일을 막을 수 있습니다.
빈 구간은 꼭 해명해야 하나요?
두 근무 구간 사이에 아무 기록도 없는 시기가 있습니다. 채용 화면에서는 경고로 표시되지만, 경고가 곧 결격을 뜻하지는 않습니다. 학업을 이어 간 시기, 돌봄을 위해 쉰 시기, 건강을 회복한 시기, 다음 자리를 찾느라 보낸 시기가 모두 여기에 들어갑니다.
중요한 것은 구간을 억지로 메우지 않는 것입니다. 빈 시기를 채우려고 존재하지 않는 근무를 끼워 넣으면 그 뒤의 모든 계산이 어긋나고, 확인 과정에서 설명이 더 어려워집니다. 비어 있는 구간은 비어 있는 채로 두고, 필요할 때 짧게 설명하는 편이 낫습니다.
시간 순서를 거꾸로 적는 관행
최근 근무를 위에 두는 관행은 여러 나라에서 자연스럽게 굳어졌지만 보편 규칙은 아닙니다. 같은 사람의 이력서를 두 나라 서식에 넣으면 순서가 뒤집히는 일이 흔합니다.
자동 파싱과 목록 화면 입장에서는 순서가 뒤집히는 것 자체가 문제가 아닙니다. 문제는 순서를 해석하지 않고 첫 줄을 현재 근무로 단정하는 구현입니다. 서식마다 첫 항목의 의미가 다를 수 있다는 점을 전제로 두어야 합니다.
겹치는 기간은 어떻게 설명하나요?
한 시기에 두 개의 근무 구간이 겹치는 경우도 흔합니다.
- 본업과 병행한 시간제 근무
- 겸임이나 자문 역할
- 프리랜스 프로젝트
- 겸직이 허용되는 조직에서의 부수 업무
이런 구간은 겹침 자체가 모순이 아닙니다. 다만 겹치는 구간을 같은 비중의 전일 근무로 표시하면 연차 합산이 부풀려집니다. 겹침을 발견했을 때 몇 개월을 넘으면 이상으로 본다는 식의 기준을 두는 것은 위험합니다. 기준을 두는 순간 그 기준에 맞춘 조작이 생기고, 정상적인 병행 근무가 걸러집니다.
정밀도는 어디까지 맞춰야 하나요?
월 단위로 적는 관행이 널리 퍼져 있습니다. 날짜까지 적으면 입사일과 퇴사일의 미세한 차이가 드러나고, 그 차이가 근무 기간 계산과 연차 산정에 불필요한 잡음을 만듭니다. 반대로 연 단위만 적으면 한 해 안의 이직이 사라져 시간선이 흐려집니다.
현재 다니는 자리는 종료 시점을 비워 두고 진행 중임을 나타내는 표기를 씁니다. 여기서 흔한 구현 실수는 아직 끝나지 않은 구간을 아주 먼 미래 날짜로 채우는 것입니다. 그 값은 화면에서 미래 근무로 표시되고, 경력 계산이 망가지며, 정렬도 뒤집힙니다. 열린 구간은 열린 채로 두는 것이 정답입니다. 구간이 어긋난 합성 기록이 만드는 문제는 경력 프로필 테스트 데이터 만드는 법에서 다뤘습니다.
경계에 놓인 구간은 어떻게 시험하나요?
규칙은 경계에서 드러납니다. 아래는 시간선을 다룰 때 자주 어긋나는 자리와 기대 동작입니다.
| 상황 | 확인할 값 | 기대 동작 |
|---|---|---|
| 시작과 종료가 같은 달 | 표시 방식 | 한 달 구간으로 표시하고 오류로 보지 않습니다 |
| 종료가 시작보다 앞섬 | 검증 규칙 | 저장을 막고 어느 값이 문제인지 알려 줍니다 |
| 종료 시점이 비어 있음 | 열린 구간 처리 | 진행 중으로 표시하고 합산에서 빼지 않습니다 |
| 첫 근무가 졸업보다 앞섬 | 선후 관계 | 거부하지 않고 확인이 필요한 항목으로 표시합니다 |
| 같은 시기에 두 구간 | 겹침 처리 | 둘 다 남기되 합산에서는 한 번만 셉니다 |
| 연 단위로만 입력 | 정밀도 | 저장은 허용하되 표시에서 정밀도를 밝힙니다 |
표의 값은 화면 동작을 적은 것이고 실제 근무 이력을 적은 것이 아닙니다. 시험용 기록으로도 이 표의 여섯 줄을 모두 덮을 수 있습니다.
구간을 고칠 때의 순서도 정해 두는 편이 좋습니다. 뒤 구간의 시작을 앞당기면 앞 구간의 종료와 겹칠 수 있고, 그 상태로 저장하면 검증이 어느 쪽을 문제로 볼지 애매해집니다. 한 번에 한 구간만 바꾸고 저장 시점에 전체를 다시 검사하는 방식이 이런 혼란을 줄입니다.
개발자를 위한 메모: 구간 검증과 열린 종료
- 구간은 시작과 종료를 한 쌍으로 다룹니다. 둘 중 하나만 바꾸는 코드 경로를 만들지 않는 편이 좋습니다.
- 비교는 날짜가 아니라 정규화된 월 단위로 합니다. 표시 형식이 바뀌어도 검증 규칙은 흔들리지 않아야 합니다.
- 열린 구간과 값이 없는 구간을 구분합니다. 전자는 진행 중이고, 후자는 정보가 없다는 뜻입니다. 이 둘을 같은 빈 값으로 저장하면 화면에서 구분할 수 없습니다.
- 정렬은 저장 계층에서 한 번만 합니다. 화면마다 다시 정렬하면 목록과 상세가 다른 순서를 보여 줍니다.
- 겹침과 빈 구간은 오류가 아니라 표시 대상으로 둡니다. 검증에서 막아 버리면 정상적인 병행 근무를 입력할 수 없습니다.
- 학력과 첫 근무의 선후 관계도 같은 규칙으로 검사합니다. 교육 기록의 필드 구성은 학력과 학위 기록 정리에서 확인할 수 있습니다.
- 같은 달을 시작과 종료로 갖는 구간을 예외로 두지 않습니다. 예외를 만들면 계산이 갈래마다 달라집니다.
- 정밀도를 값과 함께 저장합니다. 월 단위로 적힌 구간과 연 단위로 적힌 구간을 같은 정밀도로 비교하면 없는 차이를 만들어 냅니다.
시험용 시간선이 필요하면 테스트용 경력 데이터 생성기에서 같은 식별자로 반복 생성해 보세요. 생성되는 구간이 겹치지 않고 이어지는지, 진행 중인 경력에 종료 시점이 비어 있는지 직접 확인하면 폼 검증 규칙을 점검하기 좋습니다.
다음 단계
지금 다루는 화면에서 현재 근무를 어떻게 표시하는지 먼저 확인하세요. 종료 칸을 아주 먼 미래 값으로 채우고 있다면 그것부터 열린 구간으로 바꾸는 것이 순서입니다. 그다음 테스트용 경력 데이터 생성기에서 짧은 경력과 긴 경력, 병행 근무가 있는 기록을 각각 만들어 목록과 상세 화면의 순서가 같은지 비교해 보세요. 저장소를 비우고 다시 채우는 절차는 스테이징 데이터베이스 채우기에서 이어서 볼 수 있습니다.
예시로 든 날짜와 구간은 시험과 시연을 위해 지어낸 값이며 어느 개인의 실제 근무 이력도 아닙니다. 이 내용을 근거로 실제 경력을 주장하거나 채용 심사를 통과하려 해서는 안 됩니다.