‘보이지 않는’ 핵심 시스템을 개발합니다, 인포플라의 백엔드 개발자 이야기[스타트업人]

정연호 hoho@itdonga.com

[IT동아 정연호 기자] ‘스타트업人’은 빠르게 발전하고 성장하는 스타트업 속에서 일하는 사람의 이야기를 담고자 합니다. 정확히는 ‘그들은 무슨 일을 할까?’라는 궁금함을 풀고자 합니다. 많은 기업이 ‘인재’를 채용하기 위해 치열하게 경쟁하고 있다는데, 정작 해당 인재는 그 기업에서 무슨 일을 하는지 궁금하잖아요. 예를 들어, 같은 부서, 같은 직함을 가진 구글의 인재와 페이스북의 인재는 똑같은 일을 하고 있을까요?

이번에 스타트업人으로 소개하는 기업은 IT장비를 관리하는 솔루션 ‘아이톰스’를 만든 인포플라입니다. 아이톰스를 통해서 IT장비의 CPU/메모리 부하체크와 비밀번호 변경, 그리고 웹서비스 모니터링을 자동화할 수 있습니다.

상당히 많은 IT관리자들은 인공지능이나 업무 자동화 같은 기술을 쓰지 않고 일을 합니다. 업무 효율성이 떨어질 수밖에 없죠. 업무 자동화 같은 기술을 개발하려면 너무 많은 돈과 시간을 투자해야 해서, 대신 상용화된 솔루션을 쓰려고 해도 이는 쉽지 않습니다. IT관리자들을 위한 솔루션이 아직 많지 않기 때문입니다. 이러한 문제를 해결하기 위해서 아이톰스가 나온 것입니다.

인포플라의 목표를 이루기 위해서 중요한 건 ‘기술력’입니다. RPA(로봇프로세스자동화), 인공지능, 문자인식 기술 OCR 등 다양한 기반 기술을 개발하는 것, 아이톰스 시스템과 UI(이용자 인터페이스)를 만드는 것 모두 치열하게 해내야 합니다. 그리고, 그 일을 하는 것이 바로 인포플라의 개발자들입니다. 이들은 어떻게 일을 하고, 어떤 고민을 할까요? 인포플라의 권혁민 백엔드 개발자를 만나서 알아봤습니다.

인포플라의 권혁민 백엔드 개발자, 출처=IT동아
인포플라의 권혁민 백엔드 개발자, 출처=IT동아

IT동아: 만나서 반갑습니다. 인포플라 개발팀에서 어떤 업무를 맡고 있나요?

권혁민 개발자: 인포플라 개발팀의 구조를 먼저 설명할 필요가 있겠네요. 개발팀은 ‘아이톰스’ 담당팀과 RPA 솔루션 ‘알파카’ 담당팀으로 나뉩니다. 저는 아이톰스 팀에서 백엔드 시스템을 개발하고, 관리합니다.

앱이나 웹 개발자들은 ‘프론트엔드’와 ‘백엔드’ 개발 중 하나를 합니다. 프론트엔드 개발자는 앱의 메뉴와 버튼, 입력창 등을 만들어요. 흔히 UI라고 하죠. 백엔드 개발자는 이용자 데이터를 저장하는 시스템을 만듭니다.

더 구체적인 예를 들어 보겠습니다. 아이톰스 이용자는 IT장비의 CPU나 메모리 부하를 체크할 때 ‘헬스체크’ 기능을 쓸 수 있습니다. 이 기능을 쓰기 전에, IT장비에 데이터 송수신을 위한 에이전트를 설치해야 합니다. 이를 통해 저희 서버로 데이터를 갖고 와야, 이용자들이 아이톰스 플랫폼에서 IT장비의 상태를 볼 수 있습니다. 제 업무 중 하나가 이러한 에이전트를 만드는 것입니다.

IT동아: 아이톰스 개발 초기 단계부터 개발에 참여했던 건가요?

권혁민 개발자: 인포플라에 온 지 3년 정도 됐습니다. 이미 인포플라가 아이톰스 개발을 시작한 단계였죠. 그 당시엔 대표님이랑 프론트엔드 개발자가 있었습니다. 저도 백엔드 개발을 했던 건 아니었는데, 이 일을 맡게 됐네요.

IT동아: 인포플라에 오기 전에는 무슨 일을 했나요?

권혁민 개발자: 전에 다녔던 회사에선 네트워크를 관리했습니다. 회사 망에서 보안정책을 설정하는 등의 일을 했습니다. 이런 관리 작업보단 결과물을 만드는 ‘개발’이 하고 싶어서 인포플라에 왔습니다. 원래 컴퓨터에 관심이 많아서 개발에도 흥미가 있었습니다.

자신의 직무에 대해 설명하고 있는 권혁민 개발자, 출처=IT동아
자신의 직무에 대해 설명하고 있는 권혁민 개발자, 출처=IT동아

IT동아: 백엔드 개발은 그전에 했던 일과는 많이 다르지 않나요?

권혁민 개발자: 그래서, 인포플라에 온 뒤 공부를 많이 했습니다. 백엔드 개발자는 네트워크, 서버운영체제, DB 관리 등 다방면을 알아야 합니다. 다행히도 이 중에는 네트워크를 관리하면서 배웠던 기술과 겹치는 것들이 있어서, 백엔드 개발 기술을 익힐 때 큰 어려움은 없었습니다.

IT동아: 아이톰스 SaaS 솔루션이 작년 12월에 출시됐잖아요. 그 이후로도 계속 새로운 서비스를 기획하는 일을 했을 텐데, 백엔드 개발자도 기획 업무에 참여를 하나요?

권혁민 개발자: 저도 기획 회의에 참여합니다. 백엔드 개발자가 좋은 시스템을 만들려면, 프론트엔드 개발자와 계속 소통해야 합니다. 그 반대도 마찬가지입니다. 두 영역은 서로 밀접하게 연결돼 있으니까, 기획 단계부터 백엔드와 프론트엔드 개발자가 많은 의견을 나눠야 합니다. 사실, 서비스 기획에서 방향을 제시하는 사람은 인포플라 대표님입니다. 대표님이 전체 기획의 방향을 잡으면, 개발자들이 그 방향에 가는 효율적인 방법을 찾는 거죠.

IT동아: 아이톰스를 개발하면서 어려웠던 점은 없나요?

권혁민 개발자: 큰 어려움은 없지만, 아이톰스 시스템을 개선하면서 갖게 된 고민이 있습니다. 저희는 지금까지 SI(시스템통합) 업무를 하면서, 아이톰스를 함께 개발했습니다. SI를 하면서 만든 플랫폼을 기반으로 아이톰스를 만들었던 거죠. 그렇기 때문에, 플랫폼의 소스코드가 정리가 잘 안 돼 있습니다. 여러 기능을 추가하는 방식으로 아이톰스를 만들어서 그렇습니다. 코드를 한눈에 보기 어려워서, 언젠가 이걸 정리하고 싶습니다.

IT동아: 솔루션을 출시하고서 기대와는 다른 반응도 있었을 거 같아요. ‘이건 예상 못 했는데 고객의 관점은 이렇구나’ 했던 적이 있나요?

권혁민 개발자: 개발을 할 땐 UI를 잘 만들었다고 생각했는데, 고객 중 한 분이 데이터 대시보드를 보는 방법이 어렵다고 피드백을 줬어요. 대시보드에 있는 데이터의 의미를 모르겠다고 말했던 고객도 있었어요. 대표님이 고객들과 미팅을 하면서 피드백을 받고 있습니다. 그리고, 개발자들은 이런 고객들의 의견을 반영해 아이톰스를 수정하고 있습니다.

IT동아: 그전에도 SI로 솔루션을 공급했잖아요. SI와 SaaS는 개발 방식에 차이가 있나요?

권혁민 개발자: 개발 방식은 비슷합니다. 다만, 개발자들이 SI를 할 땐 그 기업에 맞춰서 시스템을 구축합니다. SaaS는 여러 회사에서 쓸 수 있는 표준화된 솔루션을 말합니다. 이게 가능해지려면, 다양한 회사에서 사용할 수 있도록 모든 변수를 고려해서 솔루션을 만들어야 합니다. 아이톰스도 고객수가 갑자기 확 늘면, 일부 고객이 오류를 겪을 수도 있죠. 이런 일이 생기지 않도록 해야 하지만요.

IT동아: 개발자들에겐 팀 문화가 중요하잖아요. 인포플라 회사 문화는 어떤가요?

일하고 있는 권혁민 개발자, 출처=인포플라
일하고 있는 권혁민 개발자, 출처=인포플라

권혁민 개발자: 자유롭게 일할 수 있는 문화입니다. 개발자들도 새로운 기능을 공부해야 하는데, 그걸 시스템에 적용한 뒤 결과물을 분석하는 경험이 필요합니다. 근데, 새로운 기능을 적용하는 걸 못 하게 하는 회사가 많습니다. 인포플라에선 새로 배운 내용들을 적용해보고, 결과물을 확인해볼 수 있어요.

IT동아: 앞으로의 목표에 대해서 듣고 싶어요.

권혁민 개발자: 지금 개발자로 일한 지 5년 정도 됐습니다. 앞으로, 프로그래밍 언어 하나를 깊게 파서 공부하고 싶습니다. 수학으로 비유를 하면, 지금까지는 공식을 암기하고 개발을 했던 것과 유사합니다. 이젠 공식 뒤편에 있는 원리 전체를 이해할 필요가 있습니다. 하나의 프로그래밍 언어를 제대로 이해하면, 다른 프로그래밍 언어를 더 쉽게 배울 수 있어요. 또한, 시스템에 오류가 발생했을 때 스스로 소스코드를 보고 문제를 찾는 것도 가능해져요. 그게 안 되면 인터넷에서 ‘A오류의 원인은 B에 있다’와 같은 공식을 찾아야 하는 거죠.

글 / IT동아 정연호 (hoho@itdonga.com)

IT동아의 모든 콘텐츠(기사)는 Creative commons 저작자표시-비영리-변경금지 라이선스에 따라 이용할 수 있습니다.
의견은 IT동아(게임동아) 페이스북에서 덧글 또는 메신저로 남겨주세요.