GN⁺: 메인프레임 COBOL 프로그래머인 어머니와의 인터뷰 (2016)
(ezali.substack.com)메인프레임 COBOL 프로그래머인 어머니 인터뷰
- 어머니는 태어나기 전부터 EU 내에서 가장 큰 은행 중 하나에서 근무하고 있음.
- 은행 프로그래밍 세계는 대부분의 사람들이 익숙한 것과는 완전히 다른 세계임.
- 어머니와 그녀의 팀이 일을 그만두면 은행은 몇 주 안에 망할 것임.
1991년
- 어머니는 Nordbanken(현재 Nordea)에서 내부 교육을 시작함.
- 다양한 테스트를 치르고 IQ 테스트, 심리 검사, 멀티태스킹 테스트를 통과함.
- IBM 메인프레임 COBOL 프로그래머로 시작하여 25년 후에도 같은 은행에서 같은 직무를 수행함.
COBOL
- COBOL은 함수형 Haskell이나 동시성 Golang과 같은 멋진 프로그래밍 언어는 아님.
- COBOL은 명령형, 절차적 언어이며 2002년부터 객체 지향적임.
- 메인프레임 프로그래밍 맥락에서 COBOL을 아는 사람이 거의 없음.
데이터베이스
- 주 데이터베이스는 IMS라고 불리며, IBM이 아폴로 프로그램을 위해 만든 계층적 데이터베이스임.
- DB2로의 마이그레이션 시도 중이지만, 이는 수년이 걸릴 작업임.
- DB2 데이터베이스는 현재 약 10TB의 데이터를 보유하고 있음.
배치
- 시스템의 약 80%는 배치 작업으로 구성됨.
- 배치 작업은 특정 시간이나 간격으로 실행되며, 데이터 처리나 다른 은행/기관에 데이터를 전송함.
은행이 직면한 문제들
- 메인프레임을 사용하는 은행들은 처리해야 할 많은 문제들이 있음.
- 프로그래머들이 늙어가고 있으며, 새로운 직원이 독립적으로 일하기까지 2-3년이 걸림.
- 수십 년 된 프로그램들이 있으며, 아무도 그것들이 무엇을 하는지 모름.
최종 단어
- Nordea와 다른 은행들이 앞으로 몇 년 동안 어떤 새로운 기술을 도입할지 매우 흥미로움.
Q & A
- IBM 메인프레임 COBOL 프로그래밍을 선택한 이유? 컴퓨터와 함께 일하고 싶었기 때문.
- 하루 중 가장 나쁜 일은? 동료가 중요한 시스템 모듈에 점을 빼먹어 은행이 16시간 동안 다운됨.
- 은행의 미래는 어떻게 될까? 메인프레임을 현대적인 것으로 교체해야 함을 인식하고 있음.
- 90년대에 여성 프로그래머로서 직면한 도전은? 문제 없었음.
- 20년 넘게 같은 코드베이스로 일하는 것이 지루해지나? 새로운 시스템을 만드는 것은 항상 재미있었음.
- 은행을 위한 코드를 작성하는 것이 무섭나? 매우 무섭지만, 테스트 환경이 견고해서 대부분 원활하게 진행됨.
- 은행을 위한 큰 실수를 한 적이 있나? 1997년에 은퇴 저축 계좌에서 불법적으로 돈을 인출할 수 있게 만드는 실수를 함.
- 작업 환경은 어떤가? 개인 책상에서 열린 공간으로 이동했으며, 이를 매우 싫어함.
GN⁺의 의견
- 메인프레임과 COBOL 언어는 여전히 금융 산업에서 중요한 역할을 하고 있으며, 이 기술에 대한 전문 지식은 매우 가치가 있음.
- 은행 시스템의 복잡성과 오래된 기술에 대한 의존도는 새로운 시스템으로의 전환을 어렵게 만들고, 이는 큰 도전 과제임.
- 이 인터뷰는 기술의 빠른 발전과 비교하여 일부 산업에서 여전히 오래된 기술을 사용하고 있음을 보여주며, 이는 흥미로운 대조를 이룸.
Hacker News 의견
-
은행 프로그래밍 세계는 대부분의 개발자들이 익숙한 것과는 매우 다름.
- 은행 프로그래밍에 대한 추가 정보를 원한다면 "An oral history of Bank Python"을 읽는 것이 좋음.
- 젊은 메인프레임 프로그래머가 높은 급여를 받을 것이라는 통념과 달리, 실제로는 평균적이거나 그 이하일 수 있음.
- COBOL을 아는 것보다, COBOL로 코딩된 비즈니스 로직에 대한 기관 지식이 더 가치 있음.
-
금융 서비스 분야의 시스템 통합 컨설턴트로 일하면서 핵심 은행 시스템과의 통합 경험 공유.
- 기존 통합 포인트를 재사용하는 것이 새로운 인터페이스를 협상하는 것보다 효율적임.
- 통합은 보통 저녁 시간 전에 구조화된 문서를 배치 처리하기 위해 전달함.
- 데이터 추출 시 '현대적인' API를 찾기 어려우며, 규제 및 컴플라이언스와의 협상이 필요함.
- 컴플라이언스 담당자들이 IT보다 더 실용적이고 해결책 중심적일 수 있음.
-
프로그래밍 역사에 대한 개인적인 가족 이야기 공유.
- 할머니는 펀치 카드로 프로그래밍했고, 아버지는 소련 메인프레임에서 FORTRAN과 COBOL을 사용함.
- 본인은 다양한 언어로 프로그래밍하며, 현재 자녀도 고등학교에서 자바와 파이썬을 배우고 있음.
-
COBOL 프로그래머들이 은행을 유지하는 데 중요한 역할을 하고 있으며, 이들이 갑자기 그만두면 은행과 경제에 큰 영향을 미칠 수 있음.
- 스웨덴의 Nordea 은행의 경우, 이러한 시나리오가 스웨덴 및 북유럽 경제에 영향을 줄 수 있음.
-
보험 회사 IT 부서에서 일한 경험을 공유.
- 프로그래밍보다는 도메인 지식의 원천으로서 중요한 역할을 함.
- 과거에는 모든 것이 물리적 문서로 저장되었으며, 이를 재정리하는 프로젝트가 있었음.
-
업무 환경에 대한 개인적인 의견 공유.
- 개인 책상에서 "사용 가능한 곳을 선택하는" 오픈 공간으로 이동했으며, 이에 대해 불만족함.
-
소련에서 위성 궤도 계산을 했던 할머니에 대한 이야기 공유.
- 할머니가 위성 궤도 계산에 관여했다는 것을 알게 되어 흥미로움.
-
여성 프로그래머들이 COBOL을 유지하는 데 중요한 역할을 했던 경험 공유.
- 과거에는 여성 프로그래머가 많았으나, 젊은 프로그래머들 사이에서는 남성이 더 많아진 경향이 있음.
-
COBOL이 "멋진" 언어는 아니지만, 메인프레임이 "레트로 쿨"이 될 만큼 오래되었으며, 대부분 리눅스를 옵션으로 실행할 수 있음.
- FORTRAN에 대한 관심을 가지고 있으며, COBOL에 대해서도 같은 관심을 가질 수 있을지 고민 중임.