Q. 안녕하세요, 자기소개 부탁드립니다.
안녕하세요, 저는 폴라리스오피스 오피스연구팀 팀장을 맡고 있는 Eddy라고 합니다. 반갑습니다.
Q. 오피스 연구팀은 어떠한 일을 하나요?
폴라리스오피스의 핵심이라고 할 수 있는 오피스 엔진을 개발합니다. 폴라리스오피스는 Windows, MAC, iOS, Android, 웹 등 다양한 플랫폼 환경에서 구동되는데, 플랫폼에 따라 제품 형상에는 차이가 있지만 모든 제품이 동일한 엔진을 사용하고 있습니다. 오피스연구팀은 이 엔진을 연구/개발하고 있죠.
폴라리스오피스는 Word, Slide, Sheet 뿐만 아니라 PDF, HWP 등 여러가지 형태의 문서 포맷을 하나의 앱으로 읽고 편집할 수 있습니다. 오피스연구팀에서는 이러한 다양한 포맷들을 지원하면서 MS, 한컴 등과 호환성을 맞추기 위한 기능 개발도 하고 있지만, 무엇보다 우리 오피스만의 색깔을 가지기 위한 노력을 주로 하고 있습니다. 최근에는 USP(Unique Selling point) 기능을 발굴하고 개발하는 데 많은 시간을 할애하고 있고, 폴라리스오피스만의 편의성을 갖춘 기능들이 작은 아이디어로 시작해서 실제 제품 상용화까지 된 사례가 많습니다.
예를 들어 문서 내의 텍스트 또는 이미지만 모아서 따로 리스트로 보거나 추출할 수 있는 기능이라든지, 폴라리스오피스로 열려 있는 문서들끼리 빠르게 전환할 수 있는 기능, 시트에서 필터를 걸 때 필터 항목 개수를 미리 볼 수 있는 기능, 폴라리스오피스에서만 제공하는 이미지 필터 효과, 슬라이드에서 여러 개체를 원하는 배열로 간편하게 정렬할 수 있는 객체 자동 배치 기능 등 다른 어플에는 없지만 편리하고 유용하게 사용할 수 있는 기능들이 여기저기 숨어 있습니다. 올해도 다양한 USP기능들이 개발 완료된 상태구요, 향후 업데이트 될 다양한 폴라리스 제품군에 탑재될 예정이니 기대해 주셔도 좋아요! (웃음)
(폴라리스오피스만의 필터항목 개수기능)
그 밖에도 R&D팀으로서 자체 연구 및 개발을 활발하게 진행하고 있습니다. 오피스 제품과 직접적인 연관이 없더라도 여러 트렌드나 관심 분야에 대한 연구를 진행하고 있으며, 이러한 작업들의 연구결과는 향후 다양한 제품들을 만들어내는 데에 밑바탕이 될 것이라 봅니다.
Q. 폴라리스오피스 엔진개발자로 입사하기 위해 익혀두어야 할 기술이나, 관련 역량이 있다면 무엇을 꼽아주실 수 있을까요?
팀 내에서도 맡은 업무에 따라 요구하는 기술이 조금씩 다르기는 하지만, 오피스 엔진은 기본적으로 C++로 짜여 있기 때문에 해당 언어에 능숙해야 합니다. 또한, 오피스 개발을 위해서는 무엇보다도 문서를 만들고 편집하고 저장하는 과정에 대한 깊이 있는 이해가 필요합니다. 쉽게 말해 오피스의 동작을 잘 이해하고 있으면 엔진을 개발하는 데에 많은 도움이 됩니다. 꼭 MS오피스를 말하는 것이 아니라, 다양한 문서 도구의 동작을 분석하고 이해할 수 있다면 우리 제품만의 독창적인 아이디어를 개발하고 적용하는 것도 잘 하실 수 있을 것이라 생각합니다.
추가적으로 코드의 전체적인 구조를 파악하고 흐름을 분석하는 능력이 좋아야 합니다. 오피스 엔진은 1천만 라인 이상 되는 방대한 규모의 코드로 구성되어 있습니다. 단기간에 모든 코드를 세세하게 보기는 힘들지만, 전반적인 큰 엔진의 흐름과 동작을 분석하고 이해할 수 있는 것이 중요합니다.
Q. 폴라리스오피스! 하면 워라밸이 좋고, 자유롭고 수평적인 문화라는 리뷰가 많은데, 오피스연구팀의 개발 문화는 어떠한 지 궁금합니다!
R&D팀으로서 개인 혹은 여러 명이 원하는 주제를 선정하여 자유롭게 연구개발 할 수 있는 시간을 업무시간에 보장해 줍니다. 조금 더 구체적으로 말씀드리면, 진행하기에 앞서 어떤 주제인지, 어떤 것을 하고 싶은 것인지 이야기하고 검토하는 자리를 가집니다. 이는 과제 컨펌을 받기 위한 자리가 아니라, 작은 주제라도 그것을 하고 싶은 목적이나 목표 설정 등이 미흡한 경우도 있기 때문에 이를 보완해 주고 연구과제를 진행하면서 방향을 잘 잡아갈 수 있도록 도와주는 정도입니다. 개발과 거리가 아주 먼 주제만 아니라면 주제선정에 있어서 개인이 원하는 대로 자유롭게 할 수 있습니다. 또한, 개인연구를 위한 교재구입이나 교육 등 연구지원을 적극적으로 해줍니다.
올해 상반기에 시작했던 연구과제의 예를 하나 말씀드리면, 요즘 핫한 주제 중 하나인 머신러닝에 대해 공부해 보고 싶은 팀원이 있어 진행을 하게 되었습니다. 기반 지식이 전혀 없는 상태에서 밑바닥부터 스터디를 하기 시작했지만, 팀원들을 대상으로 공부한 내용을 정리해서 세미나도 하고, 얼마 전에는 직접 구현한 100여 종류 도형을 학습시켜 인식결과를 시연하는 자리도 가졌습니다. 이에 그치지 않고 지금은 도형 인식률 향상이 더 가능한지 시험해 보기 위해 서버개발팀과 함께 학습 데이터 수집 서버를 구축하고 사내 직원을 대상으로 도형 데이터 수집을 위한 사이트도 오픈 준비 중입니다.
(머신러닝 온라인 세미나 현장)
이러한 연구활동의 결과나 산출물이 당장 오피스 제품에 적용되거나, 오피스 외 다른 제품개발의 아이디어로 이어지지 않을 수도 있습니다. 하지만 이런 활동이 점진적인 개개인의 역량 강화 뿐만 아니라 결국 우리 제품을 만드는 데 긍정적인 영향을 줄 것이라고 확신합니다.
사실 자유연구제도를 본격적으로 시작한 지는 얼마 되지 않았지만, 개발 문화라는 것은 현재의 구성원들이 계속 만들어 나가고 발전시키는 것이라고 생각합니다. 팀원들이 앞으로 이러한 연구개발 과제에도 활발하게 참여하고 좋은 결과가 계속 나오게 된다면, 연구팀의 좋은 개발 문화 중 하나로 자리잡게 될 것입니다.
Q. 끝으로, 폴라리스오피스에 입사하길 꿈꾸는 엔진개발자들에게 입사 꿀팁을 주신다면.
코딩테스트 시 많은 분들이 긴장을 하셔서 그런지 본인의 실력 발휘를 제대로 하지 못하는 경우가 종종 있는 것 같습니다. 막히는 부분이 생기더라도 중간에 내려놓지 마시고 본인이 알고 있는 지식이나 풀이 방법 등을 최대한 코드에 표현해 주시는 것도 하나의 팁이 될 수 있겠습니다. 점수가 조금 낮게 나왔더라도 문제를 잘 이해했고 어떻게 풀어야 하는지 방향을 알고 있었다면, 코드 리뷰 시 그러한 부분들이 보이기 때문에 추가 점수를 반영해 드릴 수 있습니다. 그럼 최선을 다해주세요!
PS 오피스연구팀은 보다 좋은 오피스 제품을 위한 아이디어를 고민하고, 개발문화를 함께 만들어 갈 개발자를 채용 중입니다! 지금 바로 지원해보세요!
Q. 안녕하세요, 자기소개 부탁드립니다.
반갑습니다. 폴라리스오피스 iOS 개발자 Victor입니다. 현재 기업형 오피스 개발팀 소속이며 국내 및 해외 유수 기업체에 오피스 제품을 SDK 또는 App형태로 배포하는 업무를 담당하고 있습니다.
Q. 폴라리스오피스가 첫 직장이신 것으로 알고 있는데요! 여러 IT회사 중에서도 폴라리스오피스를 선택하게 되신 계기가 어떻게 되세요?
제가 입사할 당시는 현재의 폴라리스오피스 제품이 아닌 WIPI플랫폼에 탑재되는 인터넷 브라우저를 만드는 회사였어요. 대학시절 기업 리크루팅을 통해 처음 알게 되었고 설명회 당시 국내, 해외를 아울러 경쟁사가 손에 꼽을 정도로 경쟁력이 있다는 것에 대한 자부심을 높이 평가하여 폴라리스오피스를 선택하게 되었습니다.
Q. 폴라리스오피스에서 iOS개발자로 일하시면서, 개인적으로 도전이었다고 생각되는 프로젝트가 있을까요?
저에게는 기존 Static Framework방식의 SDK에 Dynamic Framework도 지원할 수 있는 환경을 구축하는 것이 큰 도전이었어요. 제가 팀에 합류한 이후 기존 방식의 SDK가 시간이 지남에 따라 많은 문제점들이 보이기 시작했죠. 불필요한 헤더 노출, CI를 방해하는 불편한 이중 빌드 방식, 간헐적인 헤더 참조 오류, 클래스 네이밍 충돌 등 개발 팀원들 모두 불편함을 호소하였지만 마땅한 솔루션이 나오지 않고 있었습니다.
마침 고객들로부터 Dynamic Framework에 대한 요구사항이 꾸준히 제기되고 있는 상황에서 기존에 회의적으로 기술 검토되었던 건을 다시 적극적으로 재검토하였고, 여러 시행착오 끝에 Dynamic Framework 환경을 구축하여 Static Framework 환경에서 발생하던 모든 문제점들을 해결했던 것이 가장 기억에 남아요.
Q. 폴라리스오피스 iOS개발자로서 커리어 면에서 어떻게 성장할 수 있을까요?
개발언어 측면에서 Swift 뿐만 아니라 Objective-C, C/C++, Ruby와 같이 다양한 언어를 경험할 수 있어요. 현재 기업용 오피스 SDK는 Swift가 나오기 이전부터 배포되었기에 Objective-C 언어로 개발이 되었어요. 뿐만 아니라 내부 오피스 엔진 포팅을 위해서 C/C++언어를 사용하고 있고 특정 UI나 테스트 코드에서는 Swift 언어를 사용하고 있어요. 또한 제품 자동화 테스트를 위해서 Ruby 스크립트 언어를 사용하기도 하죠. 이처럼 다양한 언어를 경험하고 활용할 수 있다는 것은 개발자로서 엄청난 메리트라고 생각합니다. 참고로 신입사원 OJT 교육 시 Objective-C 언어와 관련된 별도의 교육 프로그램을 진행할 예정이니 꼭 합격하셔서 좋은 교육 기회를 놓치지 않으시기 바랍니다! (방긋)
그리고 저희 팀은 국내뿐만 아니라 해외 기업 고객을 대상으로도 업무를 하고 있기 때문에 영어로 고객과 커뮤니케이션을 해야 하는 상황도 많아요. 따로 돈을 들여 영어공부를 하지 않아도 실전 영어를 배울 수 있는 기회도 많습니다. 본인이 원하면 회사에서 영어 교육비도 지원해주고 있으니 이를 활용하면 더욱 좋겠죠!?
(PolarisKit를 활용하여 해외고객사와 커뮤니케이션 하는 장면)
Q. 마지막으로 폴라리스오피스에 합류하는 것을 고민하는 분들께 하고 싶은 말!
폴라리스오피스는 오랜 기술력을 바탕으로 다양한 개발자들이 공존하는 곳이기에 배울 기회가 많은 곳이라고 생각합니다. 과거 제가 이 회사를 선택했을 때처럼 지금의 폴라리스오피스의 잠재력과 가능성을 높이 평가 하신다면 꼭 지원해 보라고 말씀드리고 싶네요. 앞으로 폴라리스오피스를 함께 만들어갈 여러분의 열정과 도전을 기다리고 있겠습니다.
Q. 맡고 계신 일은 무엇인가요?
Polaris Office 기업용 iOS SDK 개발을 담당하고 있어요.
Polaris Office SDK의 장점은 고객의 요구사항에 따라 커스터마이징이 가능하다는 점인데요.
저는 기업 내 다양한 비즈니스 솔루션과 폴라리스오피스의 SDK를 이용해 모바일 오피스 연동을 하도록 돕고 있죠.
Q. 현재 업무에 필요한 역량은 무엇이라고 생각하시나요?
iOS 개발에 필요한 개발역량은 당연하고, 해외업체와 커뮤니케이션을 하기 때문에 기본적으로 영어 능력도 필요해요. 그리고 단순 iOS만 생각할 게 아니라, 좀 더 엔진과 유기적이게 동작하도록 개발하기 위해 로우 레벨 언어인 C++에 대해서도 알아야 한다고 생각해요.
Q. 기억에 남는 에피소드나 프로젝트가 있나요?
입사 이후 제가 처음 개발했던 게 SDK에 들어가는 계산기였어요.
개발을 완료하고 코드 리뷰 시간이 있었는데, 선임 개발자분이 UI Test Code를 작성해 오셔서 자동 테스트를 하고 피드백을 주셨어요. 제가 개발한 것에 대해 피드백을 받고 이야기할 수 있었던 좋은 경험이라 기억에 남아요.
Q. 우리 회사의 장점은 무엇일까요?
개발자 비중만 80%가 넘기 때문에 업무가 잘 분담되어 있고, Jira, Confluence와 같은 협업 툴을 적극 활용해서 보다 체계적으로 업무를 배울 수 있습니다.
사내공모도 활발하게 이루어지기 때문에 본인이 의지만 있다면 여러 개발 언어에 대해 다루어볼 수 있는 기회가 주어지고, 특히 Polaris Office 라는 대용량 서비스를 경험할 수 있어 커리어를 성장해 나가기에도 좋은 환경이라고 생각해요.
업무와 관련된 도서, 교육도 적극 지원을 해주기 때문에 역량을 향상시키기 좋고요. 그리고 수평적인 소통문화가 잘 형성되어 있어 주니어도 적극적으로 의견을 낼 수 있다는 점도 장점이죠!
Q. 지원자들에게 입사 팁을 준다면요?
우선 온라인 코딩테스트에 합격하셔야 해요. 온라인 코딩테스트는 분야마다 다르지만, C++ 혹은 JAVA로 출제됩니다. 평소에 해당 언어에 대한 구현 능력을 쌓아두시는 게 좋고, 사전에 백준, leetcode와 같은 코딩테스트 연습 사이트에서 연습을 해두시는 것도 좋아요.
면접 분위기는 편안한 편이라 긴장하지 말고 본인의 역량을 보여주시면 됩니다. 덧붙이자면 Polaris Office를 직접 사용해보고, 개선 사항을 미리 생각해보시는 것도 좋을 것 같아요.
Q. 맡고 계신 일은 무엇인가요?
폴라리스오피스는 아틀라시안과 파트너십을 맺고, 고객사에게 아틀라시안 솔루션을 판매하면서 동시에 교육, 컨설팅, 기술 지원 등의 서비스를 제공하고 있는데요.
이 중 저는 아틀라시안 솔루션 교육을 주로 담당하고 있어요. 각 고객사별 요구사항을 파악하고 맞춤형 교육 서비스를 제공하는 것이 핵심이죠.
Q. 해당 업무를 하는데 필요한 역량이나 자질이 있을까요?
‘균형 잡힌 커뮤니케이션 능력’과 ‘협업 툴에 대한 관심’이 필요하다고 생각해요.
저희를 필요로 하는 고객들의 요구사항을 그 누구보다도 잘 이해하고, 방향성을 제시해서 적절한 솔루션을 제공해야 하기 때문이죠.
늘 협업 솔루션과 IT 트렌드에 대해 꾸준히 관심 갖고, Atlassian Solution 및 협업 툴 관련 자격증을 취득하는 것도 좋습니다.
Q. 기억에 남는 에피소드나 프로젝트가 있나요?
첫 출장이 가장 기억에 남는 것 같습니다.
당시 대구에 있는 모 제조업체의 협업 솔루션 구축 프로젝트를 담당하게 되었는데요, 40명 가까운 직원들 대상으로 교육을 해야 했기 때문에 굉장히 긴장했었지만, 제품 기능을 정확하게 전달하기 위해 밤낮없이 고민했고, 동료들로부터 여러 조언을 받았습니다.
걱정 반 기대 반으로 시작한 교육은 잘 마무리되었고, 고객사로부터 좋은 피드백을 받게 됐죠!
Q. 우리 회사의 장점은 무엇일까요?
주로 고객사와 하는 일이 많다 보니 원격근무가 많은 편인데요. 장소에 구애 받지 않고 작업 일정에 맞춰 외근지로 출퇴근할 수 있다는 장점이 있죠.
미팅이 빨리 끝나면 회사에 복귀할 필요 없이 근처 카페에서 업무를 마무리하기도 하고요. 이런 유연한 근무 문화 덕분에 더 업무에 집중할 수 있는 것 같아요.
Q. 우리 회사의 문화를 소개해준다면요?
폴라리스오피스는 수평적이고 자유로우면서도, 서로를 존중하는 문화를 가지고 있어요.
사실 처음에는 너무 수평적인 분위기라 당황했어요. 제가 장교 과정을 막 끝낸 직후에 입사해서, 상하관계에 익숙했고 그게 당연한 줄 알았거든요.
그래서인지 서로 거침없이 영어 이름을 부르는 모습이 낯설었죠. 지금 생각해보면 직위에 얽매이지 않기 때문에 개인의 의견을 더욱 존중하고, 서로에게 의지할 수 있다고 생각해요.