몰입으로 시스템을 빚어내 신뢰로 팀을 지탱하는 CAD Engineer
정확하게 설명하고 진심으로 연결하는 힘을 가진 최규진의 스킬 엿보기

Crown Solution CAD 엔지니어로서 담당하고 있는 규진님의 주요 역할과 그 안에서 최근 가장 집중하고 계신 기술적 과제를 소개해 주세요!
저는 Crown Solution에서 이마고웍스 CAD 엔진의 핵심 기능들을 개발하고 고도화하는 역할을 맡고 있어요.
특히 BVH, Octree와 같은 다양한 기하 자료구조를 활용해 3차원 기하 연산을 효율적으로 최적화하고 있습니다. 이렇게 개발된 자료구조들은 솔루션의 3차원 데이터를 빠르고 효율적으로 처리할 수 있게 해주는 핵심 기반이 돼요.
최근에 가장 집중하고 있는 과제는 크게 두 가지예요.
첫 번째는 자동 Mesh Topology Surgery 기능입니다. Handle이나 Tunnel 과 같이 복잡한 토폴로지 문제를 자동으로 감지하고 수정해주는 Mesh Healing 알고리즘을 개발하고 있어요. 이마고웍스의 치과용 CAD 환경에 최적화된 구조로 설계 중인데, 개발이 완료되고 나면 사용자가 모델링 과정에서 겪는 오류를 최소화하고 치아 데이터 설계 시간을 크게 단축해주는 핵심 기능이 될 것으로 기대돼요.
두 번째는 사용자 상호작용을 기반으로 한 실시간 모델 변형 도구를 직관적인 인터페이스로 고도화하는 작업도 진행 중이에요. 복잡한 조작 없이도 손쉽게 형상을 변형하고 조정할 수 있도록 만드는 것이 목표입니다. 이를 위해 반응성과 사용성을 모두 만족시키는 구조를 설계하는 데 많은 시간을 쏟고 있어요.
제가 맡고 있는 역할을 정리해보면, 단순히 알고리즘을 구현하는 것을 넘어 Crown Solution 이 빠르고 정확하게 사용하기에도 편한 도구가 될 수 있도록 기술적으로 탄탄하게 만드는 일이라고 할 수 있어요. 제가 개발하는 기술들을 사용자들이 불편함 없이 체감할 수 있도록 보이지 않는 곳에서 최적화와 안정성을 꾸준히 개선해나가고 있답니다.
CAD 업무는 정밀함, 정확성이 생명이라고 하더라고요. 규진님은 CAD 엔지니어로서 기술적 정확성을 유지하기 위해 어떤 기준이나 루틴을 가지고 계신가요?
CAD 알고리즘은 보철물의 형태와 품질에 직접적으로 영향을 주는 작업이기 때문에 새로운 기능을 추가하거나 코드를 수정할 때는 기존에 잘 동작하던 부분들이 영향을 받지 않았는지 검증하는 과정이 꼭 필요해요.
이런 변경 과정에서 발생할 수 있는 리스크를 줄이기 위해 저는 작업마다 일정한 검증 단계를 부여해 테스트를 거치고 있어요. 이 루틴의 핵심은 보철물 형태를 정량적으로 평가할 수 있는 회귀 테스트(Regression Test)를 작성하는 것입니다. 코드를 업데이트할 때마다 다양한 테스트 케이스가 정상적으로 작동하는지 점검할 수 있는 테스트 시스템을 구축하고 고도화해 나가는 중이에요.
제가 만든 이 루틴을 거치면 작성한 알고리즘이 잘 동작하는지, 혹은 아예 실패하지는 않는지, 생성된 보철물의 내면 형태가 이상하진 않은지, 예상했던 정밀도 범위 안에 들어오는지 등을 점검할 수 있어요. 이런 테스트 케이스들이 쌓여 있으면 새로운 기능이 추가되더라도 기존 기능들이 영향을 받았는지 빠르게 파악할 수 있거든요.
여러 프로젝트를 동시에 진행하시면서도 효율적인 작업 능률과 밀도 높은 완성도를 유지하는 규진님만의 멀티태스킹 노하우가 궁금합니다.
각 프로젝트의 우선순위와 맥락을 명확하게 파악하고 그에 맞춰 집중력을 효율적으로 배분하는 것이 중요하다고 생각해요. 이를 위해 저 나름의 몇 가지 원칙을 두고 실천하고 있어요.
먼저 첫 번째로, 명확한 우선순위 설정입니다. 매일 각 프로젝트의 마일스톤과 데드라인을 점검하면서 가장 긴급하고 중요한 작업이 무엇인지 확인해요.
그리고 작업 전환 비용을 최소화 하는 것도 중요해요. 비슷한 성격의 업무들은 묶어서 처리하고, 다른 과제로 전환할 때는 진행 중이던 작업에 간단한 메모를 남겨두면 이후 다시 그 일을 이어갈 때 빠르게 컨텍스트를 회복할 수 있거든요.
마지막으로 팀원들과의 소통을 적극적으로 활용하고 있습니다. 혼자 모든 걸 완벽하게 해내려고 애쓰기보단 진행 상황을 팀에 자주 공유하면 필요 시 협업이 훨씬 자연스럽게 이어져서 작업 시간이 눈에 띄게 줄더라고요.
저도 아직 시간 관리는 늘 어려운 숙제라고 느끼지만, 무리하게 많은 일을 동시에 하기보다는 팀에 주어진 흐름을 살피며 각 프로젝트에 필요한 에너지를 집중해 정확한 타이밍에 결과를 내고 싶어요.

CAD 알고리즘 설계 과정에서 예기치 못한 오류나 복잡한 이슈를 마주했을 때 어떤 방식으로 접근하고 해결해 나가시나요?
문제의 규모와 복잡도를 정확히 파악하고 주어진 일정 안에서 현실적으로 해결 가능한 방안을 찾는 것이 중요해요.
먼저 문제를 마주했을 땐 무작정 파고드는 것 보단 단순한 버그 수정인지, 아니면 알고리즘 전체의 고도화가 필요한 상황인지를 파악해요. 만약 알고리즘의 근본적인 개선이나 기획의 변경이 필요하다면 동료들에게 빠르게 공유합니다. 당연히 단순 버그 수정보다 더 많은 시간이 필요하니 혼자 끙끙거리며 일정을 놓치기보단 상황을 투명하게 알리고 함께 우선순위를 조정하거나 대안을 찾는 게 팀에 훨씬 도움이 되니까요.
문제의 범위가 너무 넓거나 하나의 이슈가 연속적으로 다른 문제를 불러오는 상황에서는 문제를 최대한 작게 쪼개서 진행합니다. 한 번에 모든 걸 해결하려고 하면 기하급수적으로 복잡해지기 마련이라 작은 단위로 나눠서 차근차근 검증하는 방식이 훨씬 안전하고 효율적이에요. 그래서 저는 한 번에 PR(Pull Request)을 몰아서 올리지 않고 중간중간 나눠서 업데이트하려고 해요. 작은 단위로 코드를 올리면 다른 팀원들이 리뷰하기도 쉽고, 피드백을 지속적으로 반영하면서 방향을 조정할 수 있거든요. 나중에 큰 문제가 생겨 전체를 뒤집어야 하는 상황을 예방할 수 있어 리스크도 훨씬 줄어듭니다.
결국 복잡한 이슈를 해결하는 핵심은 혼자 끝까지 해결하겠다는 고집보다 문제를 명확하게 인식하고 팀과 소통하며 차근차근 접근하는 태도라고 생각해요. CAD 알고리즘은 한 번의 오류가 시스템 전체에 영향을 줄 수 있기 때문에 신중하게 과정을 나누고 검증하며 나아가는 것이 가장 확실한 방법입니다.
동료들과 함께 기술적 문제를 해결했던 경험 중 특히 기억에 남는 사례가 있을까요?
연구나 신기능 개발도 물론 의미 있지만 사실 가장 기억에 남는 순간은 버그를 잡을 때예요. 속으로는 화가 꽤 나거든요. (웃음)
한 번은 정말 잊을 수 없는 경험이 있었는데, 늘 재현되는 버그가 아니라 유령처럼 나타났다 사라지는 ‘Sometimes 버그’ 였어요. 며칠 동안 머리를 싸매고 제 코드를 수없이 뒤져봤어요. 로직을 다시 점검하고, 자료구조도 검증하고, 디버거를 붙여가며 추적했는데도 원인을 찾을 수가 없었죠. 분명 같은 조건인데도 어떨 때는 문제가 발생하고 어떨 때는 또 멀쩡하게 작동하니까 정말 답답했어요.
그러다가 동료 한 분이 제 고민을 듣고 함께 코드를 봐주시다가 “이건 우리가 작성한 코드 문제가 아니고 라이브러리 내부에서 발생하는 Corruption 문제 같은데요?” 라고 짚어주셨어요. 실제로 해당 라이브러리의 내부 코드를 들여다보니 정말 그곳에 문제가 있더라고요. 결국 라이브러리 내부 코드를 직접 패치해서 겨우 해결했습니다. 그 때 ‘최고의 복지는 좋은 동료다’ 라는 말을 다시 한 번 실감했어요.

최근 근로자위원으로 최다 득표 선출되셨죠! 그 과정에서 느낀 점이나 동료들이 보여준 신뢰에 대한 생각이 궁금합니다.
솔직히 처음에는 많이 놀랐어요. 근로자위원이라는 역할 자체가 기술적인 역량으로 평가받는 게 아니라 동료들과의 관계나 소통 방식까지 종합적으로 고려되는 자리잖아요. 그래서 이렇게 많은 분들이 저를 선택해주셨다는 게 큰 책임감과 동시에 감사한 마음으로 다가왔습니다.
이 신뢰를 받은 만큼 앞으로는 근로자위원으로서 동료들의 목소리를 올바르게 전달하고 회사와 구성원 모두에게 도움이 되는 방향을 멤버들과 함께 만들어가고 싶어요. 단순히 대표로 선출된 것에 그치지 않고 동료들이 더 좋은 환경에서 일할 수 있도록 실질적으로 기여하는 사람이 되고 싶습니다.
주변에서 말하는 규진님은 ‘이야기를 잘 들어주는 사람’이라고 하더라고요. 규진님이 생각하는 ‘좋은 리스너’ 로서의 핵심은 무엇인가요?
저는 좋은 리스닝이란 단순히 상대방의 말을 듣는 것만을 의미하지는 않는다고 생각합니다. 상대방이 표현하는 내용 뒤에 담긴 의도와 감정, 그리고 전체 맥락까지 이해하려고 노력하는 것이 중요해요.
결국 리스너가 보여주는 태도가 상대방으로 하여금 진정으로 이해 받고 있다는 느낌을 받게 만드는 게 제가 생각하는 좋은 리스닝입니다. 저는 그래서 상대방의 관점에서 이해하려는 자세를 유지해요. 제 생각과 다르더라도 ‘그 입장에서는 그럴 수 있겠구나’ 라고 받아들이려고 노력하는거죠.
그리고 성급하게 조언하지 않으려 합니다. 대부분의 상황에서 바로 답을 주기보다는 일단 충분히 들어주는 게 더 중요하다고 생각해요. 그렇게 이야기를 듣다 보면 해결책은 대화 속에서 자연스럽게 나오는 경우가 많거든요.
다만 업무 상황, 특히 기술적 문제를 다룰 때는 조금 다른 접근이 필요해요. 공감하며 듣는 것 만으로는 부족하고 비판적 사고와 분석적 리스닝이 함께 필요합니다.
대화가 어떤 맥락에서 이루어지는지 파악하고 그에 맞는 리스닝 자세를 유연하게 전환하는 능력, 그게 제가 계속 발전시키고 싶은 부분이에요.
지난 2024 송년회에서 ‘이마고 딕션왕’으로 선정되실만큼 말의 전달력이 좋다는 동료들의 찬사도 쏟아지던데, 이런 커뮤니케이션 감각은 CAD Engineering 업무에서 어떤 강점으로 작용하나요?
하하, '딕션왕' 이라는 타이틀은 정말 예상치 못했던 영광이었어요. 사실 저는 제 커뮤니케이션 능력이 특별하다고 생각해본 적은 없는데 동료들이 그렇게 봐주셨다니 감사하면서도 한편으로는 그 기대에 부응해야겠다는 책임감도 느껴졌습니다.
CAD Engineering 업무를 하다 보면 커뮤니케이션이 진짜 중요하다는 걸 생각보다 훨씬 자주 느껴요. 저희가 다루는 3차원 기하 알고리즘이나 Mesh 처리 기술들은 그 자체로 상당히 추상적이고 복잡하거든요. 이걸 다른 팀이나 다른 직무의 동료들에게 설명할 때 기술 용어만 나열하면 오히려 소통이 막히는 경우가 많아요.
그래서 저는 항상 상대방의 언어로 번역해서 전달하려고 노력합니다. 예를 들어 AI 엔지니어들과 협업할 때는 알고리즘의 입출력 데이터 구조나 성능 요구사항을 중심으로 이야기하고, 기획자들과 이야기할 때는 사용자 경험이나 시각적인 결과물의 관점에서 설명하는 방식으로 소통해요.
알고리즘이나 구조처럼 말로만 설명하기 어려운 부분은 구체적인 예시나 시각 자료를 함께 활용하려고 합니다. “이럴 땐 이렇게 작동해요.” 라는 실제 예시를 보여드리면 추상적인 개념도 빠르게 이해되고 의견 조율도 훨씬 원활해지더라고요.
'딕션왕' 이라는 타이틀이 부끄럽지 않도록 앞으로도 기술과 소통의 교차점에서 팀 전체가 같은 방향을 바라볼 수 있도록 연결하는 역할을 계속해서 잘 해내고 싶어요.

이마고웍스에서 CAD 엔지니어로 지내며 스스로 크게 성장했다고 느낀 지점이 있다면 들려주세요.
가장 크게 성장했다고 느낀 부분은 단순히 알고리즘을 잘 구현하는 것을 넘어서 제품 전체의 맥락 속에서 기술을 바라보는 시야가 생겼다는 점이에요.
처음에는 주어진 문제를 효율적으로 해결하는 데에만 집중했었어요. 자료 구조를 최적화하거나 Mesh 처리 알고리즘을 고도화하는 것처럼 명확한 목표가 있는 작업들이요. 물론 여전히 이것도 중요하지만, 시간이 지나면서 ‘이 기술이 실제 사용자들에겐 어떤 경험으로 전달될까?’, ‘다른 팀의 작업들과는 어떻게 연결될까?’ 를 함께 고민하게 되었습니다.
특히 AI, QA, 제품 기획, 디자인 등 다양한 직무를 가진 동료들과 협업하면서 각자의 관점과 언어를 이해하는 법을 배웠어요. 같은 문제라도 AI 엔지니어는 데이터와 모델 성능 관점에서, 제품 디자이너는 사용자 경험 관점에서 접근하시더라고요. 이렇게 서로 다른 시각을 기술적인 해결책과 연결하는 과정에서 문제를 훨씬 입체적으로 바라보는 시야가 생긴 것 된 것 같아요.
또 하나는 문제를 찾아내는 능력이 생겼다는 거예요.
예전에는 주어진 문제를 해결하는 데 집중했다면, 지금은 ‘왜 이 문제가 발생했지?', ‘근본적인 원인은 뭘까?’, ‘이걸 구조적으로 개선하려면 어떻게 해야 할까?’ 를 먼저 질문하게 되더라고요.
문제를 해결하는 것에만 집중하는 기술자가 아니라 문제를 정의하고 구조화하는 엔지니어로 성장하고 있다고 느낍니다.
앞으로 Crown Solution을 기술적으로 더 발전시키기 위해 도전해보고 싶은 영역이 있으신가요?
최근에 가장 도전해보고 싶은 영역은 크게 두 가지예요.
첫 번째는 WebGPU와 HipScript를 활용한 기하 알고리즘 병렬 처리입니다. 사실 웹 환경에서는 GPU를 사용한 병렬 처리가 자유롭지 않아서 항상 아쉬움이 남았었어요. 복잡한 3차원 연산을 처리할 땐 CPU만으로는 한계가 있었거든요.
그런데 최근에는 기술이 발전하면서 웹에서도 렌더링 파이프라인을 통해 GPU를 활용할 수 있게 되었습니다. 다만 CUDA나 OpenCL만큼 유연성이 높지는 않아서, 그 한계를 보완하기 위해 chipStar이나 HipScript 같은 도구를 사용해 실험하고 있어요. CUDA로 작성된 코드를 중간 표현 형식인 SPIR-V로 번역해 웹 환경에 적용하는 방식인데, 이걸 통해 병렬 처리 효율을 높이기 위한 알고리즘들을 테스트 해보며 실제 성능 개선 가능성을 검증하고 있습니다.
두 번째는 AI를 활용한 보철물 생성과 형상 조작이에요. 사용자가 선호하는 보철물의 스타일을 입력하면 그걸 반영해서 자동으로 생성해주거나, 보철물의 특정 영역을 원하는 방식으로 자연스럽게 조작할 수 있도록 AI를 CAD 알고리즘에 접목하는 작업입니다. 최근 생성형 AI 모델들이 빠르게 발전하고 있잖아요. 이런 기술들을 Dentbird Crown Solution에 결합시키면 단순한 자동화를 넘어서 사용자의 의도를 이해하고 창의적인 디자인까지 지원하는 도구로 진화할 수 있을 거라고 생각해요.
이런 도전들은 모두 Crown Model이 더 빠르고 직관적으로, 나아가 사용자의 창의성을 확장시킬 수 있는 플랫폼으로 발전하기 위한 시도들이에요. 기술 그 자체보다 그 기술이 실제 작업 현장에서 어떤 가치를 만들어 낼 수 있는지를 항상 염두에 두고 도전하고 싶어요.
이마고웍스에서 함께 일하는 동료들에게 어떤 엔지니어로 기억되고 싶으신가요?
신뢰할 수 있는 동료로 기억되고 싶어요.
단순히 기술적으로 뛰어나다는 평가보다는 함께 일할 때 든든하다고 느껴지는 사람이고 싶습니다. 특히 문제가 생겼을 때 함께 고민해 줄 수 있는 사람, 어려운 기술적 이슈 앞에서도 차분하게 해결 방법을 같이 찾아주는 사람으로 기억되면 좋겠어요.
또 제가 맡은 부분에 대해 책임감 있게 완수하면서 다른 팀원들의 작업을 존중하고 협력하는 태도도 보여주고 싶습니다. 협업 시에는 제 의견만 고집하기보다 동료들의 관점을 경청하고 더 나은 방향을 함께 찾아가는 과정을 즐기는 엔지니어가 되었으면 해요.
결국 좋은 제품은 저 혼자가 아닌 팀 전체의 협력으로 만들어지는 거니까요.
나중에 동료들이 저를 떠올릴 때 ‘규진님과 일하면 편하고 배울 점도 많았어’ 라고 생각해주신다면 그게 제가 바라는 최고의 평가일 것 같습니다.
더 많은 인터뷰 보기