나만의 업무 환경에 맞는 프로그램만들기 접근법
많은 사람들이 퇴근 시간을 앞당기기 위해 프로그램만들기를 고민한다. 매일 반복되는 엑셀 작업이나 데이터 정리 업무를 자동화하면 좋겠다는 생각에서 출발하는 경우가 많다. 하지만 무작정 코딩 공부를 시작하거나 고가의 솔루션을 도입하기 전에 자신의 업무 프로세스를 먼저 뜯어보는 과정이 필요하다. 단순히 자동화를 하겠다는 목표만으로는 중도 포기할 확률이 높기 때문이다.
프로그램만들기는 결과적으로 특정 도구로 문제를 해결하는 과정이다. 예를 들어 파이썬과 같은 언어를 배우는 것이 정답일 수도 있고, 노코드 툴을 활용해 시스템을 구축하는 것이 훨씬 빠른 길일 수도 있다. 개발이라는 거창한 단어에 매몰되지 말고 당장 1시간씩 소요되는 반복 업무를 10분으로 줄이는 데에만 집중해야 한다. 이 과정에서 필요한 데이터의 흐름과 예외 상황을 먼저 정의하는 것이 첫걸음이다.
왜 남들이 추천하는 솔루션은 내 업무와 맞지 않을까
시중에는 수많은 전산프로그램이 나와 있지만, 막상 도입해보면 내 사무실의 복잡한 절차와 맞지 않는 경우가 허다하다. 요양원프로그램이나 경리프로그램처럼 특정 분야에 최적화된 기성품은 법적 규제나 표준 양식을 따라야 해서 범용성이 떨어지기도 한다. 자신의 현장에 딱 맞는 시스템을 원한다면 차라리 기본적인 데이터베이스 구조를 직접 설계하는 편이 낫다.
가장 흔한 실패 사례는 모든 기능을 한 번에 구현하려는 욕심이다. 처음부터 완벽한 프로그램을 만들려고 하면 코드 한 줄 짜기도 전에 지치게 된다. 핵심 기능 한 가지, 예를 들면 매일 아침 특정 사이트에서 수치를 긁어와 리포트를 만드는 기능부터 시작하는 것이 좋다. 완성도보다 동작 가능한 최소한의 기능을 먼저 구현하는 것이 프로그램만들기의 본질이다.
단계별로 따라가는 업무 자동화 설계 과정
먼저 현재 사용하는 데이터 소스를 파악해야 한다. 엑셀 파일인지, 웹상에 노출된 정보인지, 혹은 외부 API인지 확인한다. 다음으로 이 데이터를 가공하는 로직을 손으로 그려본다. 입력 데이터가 A일 때 어떤 규칙을 거쳐 출력 B가 나와야 하는지 순서도를 작성하는 것이 좋다. 이 단계가 끝나야 비로소 어떤 도구를 쓸지 결정할 수 있다.
도구가 정해졌다면 프로토타입을 만들어야 한다. 1단계는 데이터 수집, 2단계는 데이터 처리, 3단계는 결과물 생성 순으로 진행한다. 이때 각 단계마다 15분 이상의 작업 시간이 절약되는지 확인하자. 만약 전체 자동화에 50시간 이상이 걸린다면, 굳이 직접 만드는 대신 오픈 소스나 저렴한 구독형 솔루션을 찾는 것이 경제적인 선택이다.
프로그램만들기 과정에서 겪게 되는 현실적인 문제들
실제로 자동화를 시도하면 뜻밖의 오류와 마주한다. 가장 큰 벽은 예외 처리다. 사이트의 레이아웃이 조금만 바뀌어도 기존에 만든 프로그램은 멈추기 일쑤다. 전문 개발자가 아닌 이상 이러한 유지보수 비용을 고려하지 않는 경우가 많은데, 사실 코드를 짜는 시간보다 고치는 시간이 더 길어질 때가 많다.
또한 호스팅업체와의 서버 환경 설정이나 데이터 보안 문제도 간과할 수 없다. 개인정보가 포함된 데이터를 다룰 때는 클라우드 환경보다는 사내 로컬 환경에서 실행하는 것이 안전하다. 이런 현실적인 제약을 고려하지 않고 웹상에 무턱대고 배포를 했다가는 큰 낭패를 볼 수 있다. 기술적인 만족감도 중요하지만, 회사 내부 인프라와 보안 정책을 준수하는 것이 무엇보다 중요하다.
누가 직접 개발하고 누가 구매를 선택해야 할까
직접 시스템을 만드는 것은 비즈니스의 로직이 자주 바뀌는 상황에서 큰 강점이 된다. 변화하는 환경에 맞춰 코드를 수정하면 그만이기 때문이다. 하지만 표준화된 업무를 처리한다면 차라리 검증된 프로그램을 구매하여 사용하는 것이 기회비용 측면에서 월등히 이득이다. 굳이 바퀴를 다시 발명할 필요는 없다는 점을 항상 기억해야 한다.
본인의 업무가 표준화된 프로세스인가 아니면 나만의 특수한 로직인가를 먼저 구분해보길 권한다. 만약 후자라면 지금 바로 파이썬이나 노코드 툴의 입문 강의를 검색해보는 것을 추천한다. 하지만 전자의 경우라면 관련 분야의 기성 프로그램을 비교하는 것이 시간 대비 생산성 측면에서 훨씬 합리적이다. 마지막으로 직접 제작을 고려하고 있다면 본인이 담당하는 업무의 예외 케이스를 몇 가지나 감당할 수 있는지 스스로 질문해보길 바란다.

데이터 소스 파악하는 것, 특히 API 연동 때문에 예상보다 훨씬 많은 시간 소요될 수 있다는 점에서 공감합니다. 예외 처리 부분은 정말 중요한 포인트인 것 같아요.
데이터 흐름과 예외 상황을 먼저 정의하는 게 정말 핵심인 것 같아요. 저도 이전에는 툴 자체에 집중하느라 이런 부분까지 생각하지 못했었는데, 지금은 그 점이 가장 중요하다고 생각합니다.
데이터 처리 단계에서 15분 절약하는 게 핵심인 것 같아요. 제가 생각해보니, 제가 만들 때도 비슷한 고민을 많이 했었죠.