기술적 한계를 넘어 사용자 가치를 창출하는 해결사
1. 기술적 도전과 최적화를 통한 성능 개선 전문가
저는 단순히 기능을 구현하는 것에 그치지 않고, 시스템의 효율성과 사용자 경험을 극대화하기 위해 기술을 심도 있게 분석하고 최적화하는 데 강점이 있습니다.
- AI 모델 최적화 및 성능 향상: 'PPT 도우미' 프로젝트 당시, AI 모델(STT)의 용량을 onnx 변환 및 양자화를 통해 3.5G에서 400M까지 경량화하여 실행 효율을 높였습니다. 또한, Symspell 알고리즘을 적용하여 명령어 인식률을 70%에서 90%로 개선하였으며, 대역필터를 적용해 노이즈 환경에서도 안정적인 동작이 가능하도록 구현했습니다.
- 복잡한 기술적 문제 해결: 가상 인플루언서 제작 프로젝트 중, SimSwap 라이브러리가 사진 합성 기능을 직접 제공하지 않는 한계가 있었으나, 직접 코드 분석을 통해 동영상 합성 로직에서 사진 합성 기능을 추출하여 프로젝트를 성공적으로 완수했습니다.
- 효율적인 서버 자원 관리: 현재 수행 중인 관제 서버 개발 및 관리 업무에서는 아파치 event MPM 모드 설정과 파일 분할 업로드(tus 라이브러리) 방식을 도입하여 메모리 사용의 효율성을 극대화하고 있습니다.
2. 데이터 모델링과 아키텍처에 대한 깊은 통찰
다양한 프로젝트를 거치며 지속 가능한 소프트웨어를 위한 데이터 구조 설계의 중요성을 체득했습니다.
- 데이터 이관 및 구조 재정의: '앱2 v3' 프로젝트에서 v1, v2의 혼합된 JSON 데이터를 분석하여 정책에 맞는 데이터 제약사항을 재정의하고, Python 스크립트를 개발해 데이터 이관 및 구조 변경을 주도했습니다.
- QueryDSL을 활용한 동적 쿼리 구현: 하드코딩을 제거하고 유지보수성을 높이기 위해 PathBuilder와 Q클래스 메타데이터를 분석하여, 동적으로 컬럼을 선택해 검색하는 기능을 구현한 경험이 있습니다.
- 설계의 리스크 관리: 과거 프로젝트에서 국가 정책에 의해 변경될 수 있는 차량번호를 Primary Key로 사용했던 사례를 되돌아보며, 내가 통제할 수 없는 정보를 식별자(PK)로 사용할 때의 잠재적 리스크를 깊이 이해하고 이후 설계에 반영하고 있습니다.
3. 기술을 넘어 비즈니스 문제를 해결하는 소통 능력
저는 기술적 구현이 최선이 아닐 때, 적절한 정책 제안과 커뮤니케이션을 통해 문제를 더 효율적으로 해결합니다.
- 정책 조율을 통한 장애 예방: 탈퇴 회원 닉네임 처리 시, 대량의 DB 락(Lock) 발생 위험을 인지하고 고객사와 직접 협의했습니다. 무리한 기술적 해결 대신 개인정보 보호 정책의 범위를 조율하여 시스템 안정성을 확보하고 성능 문제를 근본적으로 해결했습니다.
- 협업 효율 극대화: 기존에 전화와 카톡을 통한 커뮤니케이션에서, 구글 슬라이드를 활용한 공유 문서 기반 소통 방식을 도입하여 커뮤니케이션 비용을 기존 대비 90% 감소시켰습니다. 또한, 분산되어 있던 UI 요소를 통일하여 사용자의 학습성을 2배 높이는 등 기획적 측면에서도 기여했습니다