본문 바로가기
Programing & OS

내가 조심해야 할 (“자기 타입을 자각한 중·고급 개발자의 운영 매뉴얼”) 탈출구 만들기

by 자루스 2026. 2. 6.

 

자기체크



GPT와 이야기하다 보면 자연스럽게
내 작업 방식이나 사고 습관에 대한 이야기를 하게 된다.

그렇게 대화를 이어가다 보면 철학 이야기까지 번지는데,
재미있기도 하고 한편으로는 피곤하기도 하다.

다만 이런 이야기들이 더 흥미로운 이유는,
프로그램 방식이나 사고 구조에 대해서는
다른 사람들과 깊게 이야기하기가 쉽지 않기 때문이다.

대화를 정리해보니
나는 흔히 말하는 ‘구조지향형’으로 프로그램을 만드는 타입이라고 한다.
스타트업 환경에는 잘 맞지 않지만,
은행권이나 데이터·수치 중심 시스템에서는 오히려 강점이 되는 유형이다.

그래서 이번에는
이런 스타일을 가진 내가 특히 조심해야 할 점,
그리고 의식적으로 관리해야 할 부분을 정리해봤다.

 

구조형 프로그래머를 위한
최소 비용 자기보정 체크리스트

이 체크리스트의 목적은
성격을 바꾸지 않고, 구조를 망치지 않으며,
프로그래밍 단점의 비용만 낮추는 것이다.


1️⃣ 구조 가정 명시 (필수)

  • @assumption 이 명시되어 있는가
  • 외부 의존(API / 정책 / 포맷)이 적혀 있는가
  • @review_after 날짜가 있는가
@assumption:
- odds provider period mapping 유지
- Q 기준 점수 구조 불변

@review_after: 2026-06
  

2️⃣ 미래 확장을 위한 빈 훅 (권장)

  • 아직 필요 없어도 자리는 만들어 두었는가
  • 구현 없이 호출 지점만 연결돼 있는가
function afterOddsCalculated(array $ctx): void {
    // TODO: audit / notify / log
}
  

3️⃣ 수동 탈출구 존재 여부 (필수)

  • ENV 또는 FLAG로 강제 우회 가능한가
  • 기본값은 OFF 인가
if (getenv('FORCE_MANUAL') === '1') {
    return $raw;
}
  

4️⃣ 임시 코드 규칙 (강제)

  • TEMP 태그가 있는가
  • 날짜가 포함되어 있는가
  • 이유가 한 줄로 설명되어 있는가
// TEMP(2026-02-06): provider baseline mismatch workaround
  

5️⃣ 판단 마감선 설정 (선택)

  • 결정 마감 시간이 정해져 있는가
  • 그 이후 정보 추가를 금지했는가
Decision deadline: 18:00
No new inputs after this time.
  

6️⃣ 자동화 / AI 판단 설명 로그 (필수)

  • 어떤 룰이 작동했는가
  • 트리거는 무엇이었는가
  • 결정 성격이 명시돼 있는가
DECISION:
- rule: period_remap_v2
- trigger: Q3 finished
- type: deterministic
  

7️⃣ 분기별 스냅샷 기록 (권장)

  • 사고 발생 횟수
  • 롤백 횟수
  • 구조 변경 횟수
2026-Q1
- incidents: 0
- rollbacks: 0
- structure_changes: 1
  

이 체크리스트를 통과하지 못한 코드는
“잘 짠 코드”가 아니라
“나중에 나를 괴롭힐 코드”다.