brunch

You can make anything
by writing

C.S.Lewis

by YJ May 25. 2020

API로 애자일 하게


 개발자 밋업에 참여하면서 퍼블릭 클라우드마다 만들어둔 프로젝트가 여럿 있습니다. 신용카드는 등록했지만 무료 서비스 내에서 사용할 뿐이었고 회사에서 상용으로 쓰는 법인카드는 따로 있기에 잊어버리고 있었지요. 그런데 3월부터 모 사에서 "결제가 실패했다."는 이메일이 자꾸 오는 겁니다. 서브로 사용하던 신용카드에 2월에 유효기간 만료가 되어 걱정을 안 하고 있었는데 비용을 결제하라니요. 작년에도 워낙 서버 에러가 많아서 알림 메시지를 무시하고 지냈지만 몇 달 전부터 자꾸 액수가 늘어나면서 독촉하는 메시지가 오길래 상담을 요청했습니다. 내막을 보니 작년 밋업에서 만들어둔 프로젝트가 3월부터 유료화되면서 미국 달라스에 열려있던 노드에서 비용이 연속으로 발생하고 있었던 겁니다. 한국지사에 자초지종을 설명하니 반년을 로그인을 하지 않았어도 밀린 비용을 내야 취소가 가능하다고 합니다. 하지만 사용하지 않았는데 가만히 앉아서 돈을 낼 수는 없고, 개발자 모임은 코로나로 열린 적 없어 올해는 한 번도 로그인하지 않았으니 결제를 할 수 없겠다고 정중히 말씀드렸습니다. 결국 미국 본사 직원을 연결해 주시더군요. 팽팽하게 의논한 끝에 잘 마무리되었습니다. 휴면 계정을 삭제하고 주인 모르게 발생한 비용은 시스템 에러로 처리해 주셨습니다.     

 바야흐로 기술 없이 살 수 없는 세상이 되었습니다. 서비스에 로그인하려면 아이디와 비밀번호를 외우는 것도 일이지요. 로그인 정보를 잊어버리면 다양한 본인인증을 할 수 있습니다. 하지만 sns를 통한 회원가입 및 로그인이 일상화되면서 그마저도 외울 필요가 없어졌습니다. 핀테크에서는 지문이나 OTP 카드나 생성기를 활용하거나 통신사나 신용카드 인증을 사용하기도 합니다. 이메일 인증은 유령 계정을 무한 생성할 수 있어 안전하지 않습니다. 오프라인에서는 주민등록증, 운전면허증만 있으면 나를 증명하는 것이 간단했는데 디지털 세상에서 내가 나라는 것을 증명하는 것이 쉽지 않습니다. 코로나 장기화로 매일 확진자를 검색하는 것이 피곤했습니다. 그래서 질병관리본부 웹페이지를 스크래핑해 코로나 알림 봇을 만들어 메신저로 알려주게 했습니다. 오픈소스와 API를 사용해서 코딩은 몇 줄 하지도 않았어요. 이 모든 통합과 자동화가 API (Application Programming Interface)와 webhook을 통해서 구현 가능합니다. 다큐멘테이션으로 백서와 같은 사용자를 위한 가이드를 넣을 수도 있습니다. json 표준으로 소통하기에 어떤 정보를 주고받을지 지정할 수 있습니다. iOS나 Android 같은 플랫폼에서 앱을 개발할 때 쓰이는 sdk 도구 모음과 비슷해 보입니다. api가 요청할 때 정보를 보내준다면 webhook은 url에 조건이 맞으면 http post로 알려주는 기능입니다. 역방향 api라고 생각하면 좋겠습니다.


 Requests, Beautiful Soup 4 등 유용한 파이썬 라이브러리가 있습니다. Requests는 데이터 사이언스를 한다면 필수입니다. HTML로 되어있는 정보의 바다에 있는 콘텐츠를 통째로 건져 올릴 수 있지요. 다만 가공되지 않아 정보를 씹고 소화시키기에 여전히 불편합니다. 그래서 나온 것이 Beautiful Soup 4입니다. 바다에서 건져 올린 원재료로 수프를 끓일 수 있습니다. HTML은 트리 구조인데 내가 필요한 정보만 태그별로 뽑아냅니다. 속도가 중요하다면 날것으로 데이터를 뽑아 볼 수도 있는데 이때 쓰이는 lxml 라이브러리는 CSS 셀렉터를 사용할 수 있어 직관적입니다. API는 무료로 오픈된 것도 있지만 호출 수에 따라 과금됩니다. 코드 몇 줄로 엄청난 데이터와 기능을 쉽게 사용할 수 있고, 불법으로 사용할 수 없도록 사용자의 일정 정보를 요구합니다. 내가 만들 서비스에 지도, 날씨, 결제가 필요하다거나 휴대전화로 확인 문자를 보내는 것을 일일이 해야 한다면 번거로움을 상상할 수 없겠지요. 에자일 코딩은 개발자들을 위한 풍성한 에코시스템을 만들어줍니다.


 애자일은 오래전부터 기업에서 운영하는 방법론입니다. 기계의 부품처럼 정해진 일만 하면서 상명하복의 방식으로 일을 하는 것이 산업혁명의 시대라면 지금은 다르지요. 프로젝트로 팀이 만들어지고 결과를 책임질 리더를 뽑습니다. 팀장은 고정된 직급이 아니라 프로젝트에 따라 달라지는 책임자입니다. AI와 사람의 궁극적인 차이가 여기에 있습니다. 기계는 기능이나 역할에 국한되지만 인간은 결과에 따라 책임을 지고 승진하거나 물러나는 경우의 수가 생깁니다. 좋은 점이라면 스스로 프로젝트를 기획하고 평가받기에 사내 자유경쟁으로 무능한 리더는 자연도태됩니다. 일류 대학을 나왔다고 일을 잘하는 것도 아니고 박사나 교수나 학벌, 경력이 성과를 보장하지 않습니다. 도움도 주지 못하면서 선후배 따지는 꼰대가 요즘도 살아있다면 슬픈 일입니다. 직원들은 다양한 프로젝트를 시도하면서 숨겨진 재능을 찾을 수 있고 좋아서 하는 일이기에 기꺼이 야근도 감수하는 등 효율도 좋은 편입니다. 적재적소에 인재를 쓰고 조직을 애자일 하게 움직이는 사람이 좋은 리더가 됩니다. 인생의 승자는 잘난 사람도 아니고 부자도 아닙니다. 유연하게 변화하면서 건강하게 오랫동안 살아남기를 기원합시다. © Lisay G.    


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari