[SkyStat] 개발의 이유: 나흘의 엑셀 노가다를 끝내보자

1. 프롤로그: 항공사 기상 담당자의 비애

저는 개발자가 되기 전, 항공사에서 기상 담당자로 일했습니다. 비행기는 안전에 매우 민감하기 때문에, 각 공항의 악기상(Bad Weather) 시즌을 파악하고 운항 여부를 결정하는 것은 매우 중요한 업무였습니다.

그래서 월별, 혹은 계절마다 반복되는 업무가 하나 있었습니다.
“전 세계 공항의 날씨 통계치 산출하기”

하지만 이 업무는 저에게, 그리고 제 팀원들에게 지루하고 고통스러운 시간이었습니다.

2. 해독 불가한 암호문, METAR

문제는 데이터의 형태였습니다. 전 세계 공항에서 30분, 혹은 1시간마다 쏟아져 나오는 기상 관측 전문(METAR)은 정제된 데이터가 아니라, 마치 암호문 같은 텍스트 덩어리였기 때문입니다.

인천공항의 실제 기상 관측 전문을 예로 들어보겠습니다.

RKSI 071330Z 32014KT 9999 FEW030 M10/M18 Q1027 NOSIG

이 한 줄을 해석하면 다음과 같습니다.

  • RKSI: 인천공항 관측
  • 071330Z: 7일 13시 30분 (세계표준시)
  • 32014KT: 320도 방향에서 불어오는 14노트의 바람
  • 9999: 시정 10km 이상
  • FEW030: 3,000ft 상공에 구름 조금

이런 전문이 공항 하나당 1년에 약 8,000개 이상 쌓입니다. 10개 공항의 5년치 데이터를 분석한다고 치면 400,000개에 달합니다. 우리가 분석해야 할 공항은 수십 개가 넘었고요.

skystat-origin-story-image

3. 엑셀의 한계

처음에는 엑셀(Excel)로 분석하고 보고서를 작성했습니다. ‘공백으로 자르기’, ‘텍스트 나누기’ 등 온갖 기능을 동원했었죠. 하지만 온전한 분석은 매우 어려웠습니다.

  1. 불규칙한 길이: 날씨가 좋으면 전문이 짧고, 나쁘면 온갖 특이사항이 붙어 엄청나게 길어집니다. 즉, 열(Column)이 일정하지 않습니다.
  2. 비표준의 향연: 국가마다, 공항마다, 심지어 관측관마다 미묘하게 전문을 작성하는 포맷이 달랐습니다.

결국 사람이 눈으로 보고 하나하나 분류해야 했고, 공항 하나의 통계를 내는 데 꼬박 4~5일이 걸리곤 했습니다. 어찌저찌 해낸다고는 해도 잘못 집계되거나 데이터가 누락되는 등 오류가 자주 발생했습니다. “지금이 21세기인데 내가 이걸 수작업으로 하고 있다니…”라는 자괴감이 들 수밖에 없었죠.

4. “없으면 내가 만든다”

업무를 할 때마다 생각했습니다.
“세상에 항공사가 이렇게 많은데, 이걸 자동으로 해주는 웹사이트가 하나도 없다고?”

수년간 구글링을 해봐도 제가 원하는 서비스는 존재하지 않았습니다. 너무나 틈새 시장이라 누구도 만들 생각을 안 했던 것이겠죠. 그러다 문득 2021년의 어느 날, 결심이 섰습니다.

“없으면 내가 만들자. 나랑 똑같이 고통받는 내 팀원, 그리고 이름 모를 업계 동료들을 위해 내가 만들어서 도와줘야겠다.”

비전공자가 감히 겁도 없이 덤벼든 순간이었습니다. 이것이 바로 항공 기상 통계 서비스, SkyStat이 태동하게 된 계기입니다.

이 프로젝트는 저를 개발자의 길로 이끈 가장 큰 스승이자, 앞으로 제가 증명해 보일 기술적 역량의 집약체입니다. 앞으로 이 카테고리를 통해 SkyStat을 만들며 겪은 기술적 난관과 해결 과정을 하나씩 풀어보려 합니다.

댓글 남기기