Interview - (주)폴라리스오피스
close

Q. 안녕하세요, 자기소개 부탁드립니다.

안녕하세요, 저는 폴라리스오피스 오피스연구팀 팀장을 맡고 있는 Eddy라고 합니다. 반갑습니다.

그림3

Q. 오피스 연구팀은 어떠한 일을 하나요?

폴라리스오피스의 핵심이라고 할 수 있는 오피스 엔진을 개발합니다. 폴라리스오피스는 Windows, MAC, iOS, Android, 웹 등 다양한 플랫폼 환경에서 구동되는데, 플랫폼에 따라 제품 형상에는 차이가 있지만 모든 제품이 동일한 엔진을 사용하고 있습니다. 오피스연구팀은 이 엔진을 연구/개발하고 있죠.
폴라리스오피스는 Word, Slide, Sheet 뿐만 아니라 PDF, HWP 등 여러가지 형태의 문서 포맷을 하나의 앱으로 읽고 편집할 수 있습니다. 오피스연구팀에서는 이러한 다양한 포맷들을 지원하면서 MS, 한컴 등과 호환성을 맞추기 위한 기능 개발도 하고 있지만, 무엇보다 우리 오피스만의 색깔을 가지기 위한 노력을 주로 하고 있습니다. 최근에는 USP(Unique Selling point) 기능을 발굴하고 개발하는 데 많은 시간을 할애하고 있고, 폴라리스오피스만의 편의성을 갖춘 기능들이 작은 아이디어로 시작해서 실제 제품 상용화까지 된 사례가 많습니다.
예를 들어 문서 내의 텍스트 또는 이미지만 모아서 따로 리스트로 보거나 추출할 수 있는 기능이라든지, 폴라리스오피스로 열려 있는 문서들끼리 빠르게 전환할 수 있는 기능, 시트에서 필터를 걸 때 필터 항목 개수를 미리 볼 수 있는 기능, 폴라리스오피스에서만 제공하는 이미지 필터 효과, 슬라이드에서 여러 개체를 원하는 배열로 간편하게 정렬할 수 있는 객체 자동 배치 기능 등 다른 어플에는 없지만 편리하고 유용하게 사용할 수 있는 기능들이 여기저기 숨어 있습니다. 올해도 다양한 USP기능들이 개발 완료된 상태구요, 향후 업데이트 될 다양한 폴라리스 제품군에 탑재될 예정이니 기대해 주셔도 좋아요! (웃음)

그림1

(폴라리스오피스만의 필터항목 개수기능)

그 밖에도 R&D팀으로서 자체 연구 및 개발을 활발하게 진행하고 있습니다. 오피스 제품과 직접적인 연관이 없더라도 여러 트렌드나 관심 분야에 대한 연구를 진행하고 있으며, 이러한 작업들의 연구결과는 향후 다양한 제품들을 만들어내는 데에 밑바탕이 될 것이라 봅니다.

Q. 폴라리스오피스 엔진개발자로 입사하기 위해 익혀두어야 할 기술이나, 관련 역량이 있다면 무엇을 꼽아주실 수 있을까요?

팀 내에서도 맡은 업무에 따라 요구하는 기술이 조금씩 다르기는 하지만, 오피스 엔진은 기본적으로 C++로 짜여 있기 때문에 해당 언어에 능숙해야 합니다. 또한, 오피스 개발을 위해서는 무엇보다도 문서를 만들고 편집하고 저장하는 과정에 대한 깊이 있는 이해가 필요합니다. 쉽게 말해 오피스의 동작을 잘 이해하고 있으면 엔진을 개발하는 데에 많은 도움이 됩니다. 꼭 MS오피스를 말하는 것이 아니라, 다양한 문서 도구의 동작을 분석하고 이해할 수 있다면 우리 제품만의 독창적인 아이디어를 개발하고 적용하는 것도 잘 하실 수 있을 것이라 생각합니다.
추가적으로 코드의 전체적인 구조를 파악하고 흐름을 분석하는 능력이 좋아야 합니다. 오피스 엔진은 1천만 라인 이상 되는 방대한 규모의 코드로 구성되어 있습니다. 단기간에 모든 코드를 세세하게 보기는 힘들지만, 전반적인 큰 엔진의 흐름과 동작을 분석하고 이해할 수 있는 것이 중요합니다.

Q. 폴라리스오피스! 하면 워라밸이 좋고, 자유롭고 수평적인 문화라는 리뷰가 많은데, 오피스연구팀의 개발 문화는 어떠한 지 궁금합니다!

R&D팀으로서 개인 혹은 여러 명이 원하는 주제를 선정하여 자유롭게 연구개발 할 수 있는 시간을 업무시간에 보장해 줍니다. 조금 더 구체적으로 말씀드리면, 진행하기에 앞서 어떤 주제인지, 어떤 것을 하고 싶은 것인지 이야기하고 검토하는 자리를 가집니다. 이는 과제 컨펌을 받기 위한 자리가 아니라, 작은 주제라도 그것을 하고 싶은 목적이나 목표 설정 등이 미흡한 경우도 있기 때문에 이를 보완해 주고 연구과제를 진행하면서 방향을 잘 잡아갈 수 있도록 도와주는 정도입니다. 개발과 거리가 아주 먼 주제만 아니라면 주제선정에 있어서 개인이 원하는 대로 자유롭게 할 수 있습니다. 또한, 개인연구를 위한 교재구입이나 교육 등 연구지원을 적극적으로 해줍니다.
올해 상반기에 시작했던 연구과제의 예를 하나 말씀드리면, 요즘 핫한 주제 중 하나인 머신러닝에 대해 공부해 보고 싶은 팀원이 있어 진행을 하게 되었습니다. 기반 지식이 전혀 없는 상태에서 밑바닥부터 스터디를 하기 시작했지만, 팀원들을 대상으로 공부한 내용을 정리해서 세미나도 하고, 얼마 전에는 직접 구현한 100여 종류 도형을 학습시켜 인식결과를 시연하는 자리도 가졌습니다. 이에 그치지 않고 지금은 도형 인식률 향상이 더 가능한지 시험해 보기 위해 서버개발팀과 함께 학습 데이터 수집 서버를 구축하고 사내 직원을 대상으로 도형 데이터 수집을 위한 사이트도 오픈 준비 중입니다.

그림2

(머신러닝 온라인 세미나 현장)

이러한 연구활동의 결과나 산출물이 당장 오피스 제품에 적용되거나, 오피스 외 다른 제품개발의 아이디어로 이어지지 않을 수도 있습니다. 하지만 이런 활동이 점진적인 개개인의 역량 강화 뿐만 아니라 결국 우리 제품을 만드는 데 긍정적인 영향을 줄 것이라고 확신합니다.
사실 자유연구제도를 본격적으로 시작한 지는 얼마 되지 않았지만, 개발 문화라는 것은 현재의 구성원들이 계속 만들어 나가고 발전시키는 것이라고 생각합니다. 팀원들이 앞으로 이러한 연구개발 과제에도 활발하게 참여하고 좋은 결과가 계속 나오게 된다면, 연구팀의 좋은 개발 문화 중 하나로 자리잡게 될 것입니다.

Q. 끝으로, 폴라리스오피스에 입사하길 꿈꾸는 엔진개발자들에게 입사 꿀팁을 주신다면.

코딩테스트 시 많은 분들이 긴장을 하셔서 그런지 본인의 실력 발휘를 제대로 하지 못하는 경우가 종종 있는 것 같습니다. 막히는 부분이 생기더라도 중간에 내려놓지 마시고 본인이 알고 있는 지식이나 풀이 방법 등을 최대한 코드에 표현해 주시는 것도 하나의 팁이 될 수 있겠습니다. 점수가 조금 낮게 나왔더라도 문제를 잘 이해했고 어떻게 풀어야 하는지 방향을 알고 있었다면, 코드 리뷰 시 그러한 부분들이 보이기 때문에 추가 점수를 반영해 드릴 수 있습니다. 그럼 최선을 다해주세요!
PS 오피스연구팀은 보다 좋은 오피스 제품을 위한 아이디어를 고민하고, 개발문화를 함께 만들어 갈 개발자를 채용 중입니다! 지금 바로 지원해보세요!