Skip to main content
๐Ÿง‘๐Ÿปโ€๐Ÿ’ป

Alex | Problem Solver & Full-Stack Engineer

10๋…„ ์ฐจ โ€ข ํ—ฌ์Šค์ผ€์–ดยท์ œ์•ฝยท๋ณดํ—˜ ๋„๋ฉ”์ธ ์ „๋ฌธ ร— AI ์—์ด์ „ํŠธ ๋ฆฌ๋“œ
"Production Multi-Agent System๊ณผ High-Performance Backend๋ฅผ ์•„์šฐ๋ฅด๋Š” End-to-End Problem Solver"

alex-profile

Contact

Channel

๐Ÿ’ก Core Strengths & Value Propositionโ€‹

๐Ÿง  Agent Orchestration & Tech Management
PM์œผ๋กœ์„œ ๋ณต์žกํ•œ ํ”„๋กœ์ ํŠธ๋ฅผ ๋‹จ์œ„ Task๋กœ ๋ถ„๋ฅ˜ํ•˜๊ณ  ํšจ๊ณผ์ ์œผ๋กœ ๋ฐฐ๋ถ„ํ•˜๋Š” ๊ฒฝํ—˜์ด ํ’๋ถ€ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋งค๋‹ˆ์ง• ์„ค๊ณ„ ๋Šฅ๋ ฅ์€ AI ์—์ด์ „ํŠธ ๊ฐœ๋ฐœ๋กœ ์ด์–ด์ ธ, ์ž‘์—… ๋‹จ์œ„(Skill)๋ฅผ ์ •์˜ํ•˜๊ณ  ์ด๋ฅผ ์›Œํฌํ”Œ๋กœ์šฐ ์ƒ์—์„œ ๋นˆํ‹ˆ์—†์ด ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ํ•˜๋Š” ๊ธฐ๋ฐ˜์ด ๋ฉ๋‹ˆ๋‹ค.
โšก High-Performance Architecture
Go (Fiber + Asynq) ๋ฐ ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ ์›Œ์ปค ์˜คํ† ์Šค์ผ€์ผ๋ง์„ ์ฃผ๋„์ ์œผ๋กœ ์„ค๊ณ„ํ•˜์—ฌ, ํฌ๋กค๋ง ์ง€์—ฐ์‹œ๊ฐ„์„ 7.5์‹œ๊ฐ„ โ†’ 5๋ถ„ ์ด๋‚ด๋กœ ๋‹จ์ถ•์‹œํ‚ค๋Š” ๋“ฑ ์ธํ”„๋ผ ์ตœ์ ํ™”๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ์ด๋Œ์–ด๋‚ธ ๊ฒฝํ—˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.
๐Ÿ’ฐ Cost & Process Optimization
๋ถˆํ•„์š”ํ•œ ํด๋ผ์šฐ๋“œ ๋ฆฌ์†Œ์Šค ๋ฐ ์ˆ˜์ž‘์—… ํ”„๋กœ์„ธ์Šค๋ฅผ ์ตœ์ ํ™”ํ•˜์—ฌ ์œ ์ง€ ๋น„์šฉ๊ณผ ์—…๋ฌด ์†Œ์š” ์‹œ๊ฐ„์„ 85% ์ด์ƒ ์ ˆ๊ฐํ•˜์—ฌ ๋น„์ฆˆ๋‹ˆ์Šค ROI๋ฅผ ๊ฐœ์„ ํ•˜๋Š” ์ผ์— ์ง‘์ค‘ํ•ฉ๋‹ˆ๋‹ค.
๐Ÿงฌ Healthcare & Domain Expertise
์˜๋ฃŒยท์ œ์•ฝยท๋ณดํ—˜ ๋งˆ์ด๋ฐ์ดํ„ฐ ๋“ฑ ์—„๊ฒฉํ•œ ๊ทœ์ œ๊ฐ€ ์ ์šฉ๋˜๋Š” ๋ฏผ๊ฐ ๋„๋ฉ”์ธ์˜ ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ ์„ค๊ณ„ ๋ฐ ๊ธ€๋กœ๋ฒŒ ์ˆ˜์ค€์˜ ๋ณด์•ˆ ๊ฐ์‚ฌ์— ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ๋Š” ์ „๋ฌธ์„ฑ์„ ๊ฐ–์ถ”๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๐ŸŽฏ Tech Stack (Production Ready)โ€‹

AI / ML

LangChainOpenAIGeminiClaudevLLMlocal-llmOCRRAGTorchHuggingFaceWeaviateChroma

Full-Stack

TypescriptReactNextjsNuxtjsExpressJSNestJSDartFlutterGoFiberGinAsynqPythonFastAPIDjangoCeleryRedisPostgreSQLMSSQL

DevOps / Data

AWSAzureGCPCloudFlareK8sTerraformGitlab CIGithub ActionsArgoCDAirflowDatabricksPowerBISpotfireKeycloak

Introduce.

์ดˆ๊ธฐ ์Šคํƒ€ํŠธ์—…์˜ ๊ฐœ๋ฐœ์ž์—์„œ ์‹œ์ž‘ํ•ด ๋ˆ„์  ํˆฌ์ž 300์–ต ์ด์ƒ์˜ ํ•€ํ…Œํฌ/์ธ์Šˆ์–ดํ…Œํฌ ์‚ฌ์˜ ํ•ต์‹ฌ ๋ฉค๋ฒ„๋กœ Tech Lead๋กœ์„œ ๊ธฐ์—ฌํ–ˆ๊ณ , ํ˜„์žฌ๋Š” ๊ธ€๋กœ๋ฒŒ ํ—ฌ์Šค์ผ€์–ด ๋ฐ์ดํ„ฐ ํ”Œ๋žซํผ์˜ ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ์„ ์ฃผ๋„ํ•˜๋Š” IT Architect์ž…๋‹ˆ๋‹ค. ๊ธฐ์ˆ ์  ์™„์„ฑ๋„๋ฅผ ๋„˜์–ด, "์ด ์•„ํ‚คํ…์ฒ˜๊ฐ€ ๋น„์ฆˆ๋‹ˆ์Šค ํƒ€๊ฒŸ์„ ์ถฉ์กฑํ•˜๊ณ  ํŒ€ ํ”„๋กœ์„ธ์Šค๋ฅผ ์–ผ๋งˆ๋‚˜ ํšจ์œจ์ ์œผ๋กœ ๊ฐœ์„ ํ•˜๋Š”๊ฐ€?"๋ฅผ ๋Š˜ ๊ณ ๋ฏผํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ‘‘ Hands-on Tech Leadership & E2E Ownership (์‹ค๋ฌดํ˜• ๋ฆฌ๋”์‹ญ๊ณผ ๋งค๋‹ˆ์ง•)

๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ „๋žต ๊ตฌ์„ฑ์ด๋‚˜ ๋ณด์•ˆ ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„์™€ ๊ฐ™์€ ๋ณต์žกํ•œ ๊ธฐ์ˆ ์  ๋‚œ์ œ๋ฅผ ์ง์ ‘ ํ•ธ์ฆˆ์˜จ(Hands-on)์œผ๋กœ ๋ŒํŒŒํ•˜๋Š” ์‹ค๋ฌดํ˜• ๋ฆฌ๋”์ž…๋‹ˆ๋‹ค. ๋™์‹œ์— ํ”„๋กœ์ ํŠธ ๋งค๋‹ˆ์ €(PM)๋กœ์„œ ๋ฆฌ์†Œ์Šค๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๋ถ„๋ฐฐํ•˜๊ณ , ํƒ€ ๋ถ€์„œ์™€ ์›ํ™œํ•˜๊ฒŒ ์†Œํ†ตํ•˜์—ฌ ํŒ€ ์ „์ฒด์˜ ์ƒ์‚ฐ์„ฑ์„ ๋†’์ด๋Š” ์ฐจ์„ธ๋Œ€ ์—…๋ฌด ๋ฌธํ™”๋ฅผ ์ •์ฐฉ์‹œํ‚ค๋Š” ๊ฒƒ์— ๊ฐ€์น˜๋ฅผ ๋‘๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿค– AI Task Management & Workflow Orchestration (AI ์ž์œจํ™” ์„ค๊ณ„)

์š”๊ตฌ์‚ฌํ•ญ์„ ๋งˆ์ดํฌ๋กœ ๋‹จ์œ„์˜ ์Šคํ‚ฌ ๋ฐ ํƒœ์Šคํฌ(Skill & Task)๋กœ ๋ช…ํ™•ํžˆ ๋‚˜๋ˆ„์–ด ์ •์˜ํ•˜๋Š” ๋ฐ ๊ฐ•์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋งค๋‹ˆ์ง• ์Šคํ‚ฌ์„ AI ์˜์—ญ์œผ๋กœ ํ™•์žฅํ•ด, ๊ฐ ์—์ด์ „ํŠธ์˜ ์—ญํ• ์„ ๋ถ„๋ฆฌํ•˜๊ณ  ํ•˜๋‚˜์˜ ์›Œํฌํ”Œ๋กœ์šฐ์— ์กฐํ™”๋กญ๊ฒŒ ๊ฒฐํ•ฉ์‹œํ‚ด์œผ๋กœ์จ(LangGraph ๋“ฑ) ์ƒ์‚ฐ์ ์ด๊ณ  ์‹ค๋ฌด ํ™œ์šฉ๋„๊ฐ€ ๋†’์€ ์—…๋ฌด ํŒŒ์ดํ”„๋ผ์ธ(Autonomous Data Pipeline) ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ”ง Problem Solving & DevSecOps (๊ณผ์ œ ํ•ด๊ฒฐ๊ณผ ์ž๋™ํ™”)

๋น„ํšจ์œจ์ ์ธ ๋ณ‘๋ชฉ ๊ตฌ๊ฐ„์ด๋‚˜ ํœด๋จผ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ์‰ฌ์šด ์ง€์ ์„ ์ ๊ทน์ ์œผ๋กœ ๊ฐœ์„ ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์กด ๋‹จ์ˆœ ๋ฐ˜๋ณต ์—…๋ฌด์— ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌ์„ฑํ•ด ์†Œ์š” ์‹œ๊ฐ„์„ 85% ์ด์ƒ ๊ฐ์ถ•์‹œ์ผฐ์œผ๋ฉฐ, ๋” ๋‚˜์•„๊ฐ€ ์ „์‚ฌ๊ธ‰์˜ Zero-Trust ๊ธฐ๋ฐ˜ DevSecOps ์•„ํ‚คํ…์ฒ˜ ์ˆ˜๋ฆฝ์„ ๋ฆฌ๋“œํ•˜์—ฌ ํ•œ ์ฐจ์› ๋†’์€ ๋ณด์•ˆ ๋‚ด์žฌํ™” ๋ฐฐํฌ ํ™˜๊ฒฝ์„ ์ด๋Œ์–ด ๋ƒˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ† Key Business Impactsโ€‹

ํ”„๋กœ์ ํŠธ ๋ถ„์•ผLegacy (๊ธฐ์กด)Modernized (๊ฐœ์„  ํ›„)Business Impact (์„ฑ๊ณผ)
์˜๋ฃŒยทํŠนํ—ˆ ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ๋‹จ์ผ ์Šค๋ ˆ๋“œ ํฌ๋กค๋Ÿฌ ์ฒด๊ณ„ (17์‹œ๊ฐ„ ์†Œ์š”)Go + Asynq ๊ธฐ๋ฐ˜ ๋ถ„์‚ฐ ์Šค์ผ€์ค„๋ง์ฒ˜๋ฆฌ์‹œ๊ฐ„ 99.5% ๋‹จ์ถ• (< 5๋ถ„ ๋‚ด ์™„๋ฃŒ)
B2B SaaS ํ”Œ๋žซํผ ์ „ํ™˜๊ณ ๊ฐ์‚ฌ๋ณ„ ๋‹จ๋… ๊ตฌ์ถ• (๊ฑด๋‹น 5๊ฐœ์›” ์†Œ์š”)Data Driven Frontend ๊ธฐ๋ฐ˜ ์ž๋™ํ™” SaaS ํ™˜๊ฒฝ ๊ตฌ์ถ•์‹ ๊ทœ ๋„์ž… ์‹œ๊ฐ„ ๋Œ€ํญ ๋‹จ์ถ• (1์ผ ์ด๋‚ด ๋ฐฐํฌ)
๋ณดํ—˜ ์šด์˜ ๋ฐ์ดํ„ฐ ๊ฐ€๊ณต/๊ฒ€์ฆ๋ฐ์ดํ„ฐ ์—ฐ๊ตฌ์› ์ˆ˜์ž‘์—… (2๋ช… 2์ฃผ ์ด์ƒ ์†Œ์š”)๋ฐ์ดํ„ฐ ์ž๋™ํ™” ํŒŒ์ดํ”„๋ผ์ธ์šด์˜ ๋น„์šฉ 85% ๋Œ€ํญ ๊ฐ์ถ•
๋ณดํ—˜ AI ์—”์ง„ ์ถ”์ฒœ ์†๋„๋ ˆ๊ฑฐ์‹œ ์กฐํ•ฉ ์•Œ๊ณ ๋ฆฌ์ฆ˜ O(N^3)์กฐ๊ฑด๋ถ€ ํ•„ํ„ฐ + ML ๋‹ค์ค‘ ํŒŒ๋ผ๋ฏธํ„ฐ ์ ์šฉ์‘๋‹ต ์†๋„ ํ–ฅ์ƒ์œผ๋กœ ์„œ๋น„์Šค ์งˆ ๊ฐœ์„ 

๐Ÿš€ Highlighted Projectsโ€‹

์ „์‚ฌ DevSecOps ํŒŒ์ดํ”„๋ผ์ธ ๋ฐ ์ œ๋กœ-ํŠธ๋Ÿฌ์ŠคํŠธ(Zero-Trust) ๋ณด์•ˆ ์•„ํ‚คํ…์ฒ˜ ๊ณ ๋„ํ™”
๐Ÿ—“ 2026.01 ~ 2026.05
๐Ÿ’ผ Cloud Architect & DevSecOps Manager
#GitLab CI/CD #DevSecOps #Azure #Terraform #Policy&Network Configuration #Zero-Trust #Security Audit #Vulnerability #Scan&Pen Test
โญ ํ”„๋กœ์ ํŠธ ์š”์•ฝ
[Problem & Challenge]
๊ธ€๋กœ๋ฒŒ ๋ณด์•ˆ ๊ฐ์‚ฌ ์š”๊ฑด ์ถฉ์กฑ์„ ์œ„ํ•ด ๊ธฐ์กด ๋‹ค์ˆ˜์˜ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์˜ ๋ณด์•ˆ ์ทจ์•ฝ์  ์Šค์บ” ๋ฐ ์นจํˆฌํ…Œ์ŠคํŠธ(Pen-Test)๋ฅผ ์ฃผ๋„ํ–ˆ์œผ๋ฉฐ, ์‹ค์‹œ๊ฐ„ ๋Œ€์šฉ๋Ÿ‰ ํŠธ๋ž˜ํ”ฝ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ ˆ๊ฑฐ์‹œ ํด๋ผ์šฐ๋“œ ์ธํ”„๋ผ์˜ ์œ„ํ—˜ ์š”์†Œ๋ฅผ ์„œ๋น„์Šค ์ค‘๋‹จ ์—†์ด ์•ˆ์ •์ ์œผ๋กœ ๊ฐœ์„ ํ•ด์•ผ ํ•˜๋Š” ๊ณผ์ œ๋ฅผ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.
[Strategy]
๋„คํŠธ์›Œํฌ ์—”๋“œํฌ์ธํŠธ์™€ ์ „์ฒด ๋ฐฐํฌ ์‚ฌ์ดํด์— '์ œ๋กœ-ํŠธ๋Ÿฌ์ŠคํŠธ(Zero Trust)' ์›์น™์„ ํ™•๋ฆฝํ–ˆ์Šต๋‹ˆ๋‹ค. ํŠธ๋ž˜ํ”ฝ ํญ์ฆ ์‹œ์˜ ์•„ํ‚คํ…์ฒ˜ ๊ฐ€์šฉ์„ฑ์„ ํ™•๋ณดํ•˜๋Š” ๋™์‹œ์—, Terraform ๊ธฐ๋ฐ˜์˜ ์ž๋™ํ™”๋œ ๊ณ ์† ๋ณด์•ˆ ์Šค์บ๋‹ ํŒŒ์ดํ”„๋ผ์ธ(SAST/DAST/IaC)์ด ์กฐํ™”๋กญ๊ฒŒ ๋™์ž‘ํ•˜๋Š” ์ „์‚ฌ ์ˆ˜์ค€์˜ DevSecOps ํ™˜๊ฒฝ์„ ์„ค๊ณ„ ๋ฐ ์™„์ˆ˜ํ–ˆ์Šต๋‹ˆ๋‹ค.
๐Ÿ”ง ์ฃผ์š” ๊ธฐ์—ฌ & ์„ฑ๊ณผ
Zero-Trust Cloud Architecture & ๋Œ€์šฉ๋Ÿ‰ ํŠธ๋ž˜ํ”ฝ ๊ฐ€์šฉ์„ฑ ํ™•๋ณด
  • ๊ณ ๊ฐ€์šฉ์„ฑ Hub & Spoke ์•„ํ‚คํ…์ฒ˜: ์ค‘์•™ ์ง‘์ค‘์‹ ํŠธ๋ž˜ํ”ฝ ํ•„ํ„ฐ๋ง(Azure Firewall) ๊ตฌ์กฐ๋ฅผ ์ฑ„ํƒํ•˜๋˜, ๋Œ€์šฉ๋Ÿ‰ ํŠธ๋ž˜ํ”ฝ ์ง‘์ค‘ ์‹œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” SNAT ํฌํŠธ ๊ณ ๊ฐˆ(SNAT Exhaustion) ๋ฆฌ์Šคํฌ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์ค‘ ๊ณต์ธ IP ๋ฐ Auto-scaling ์ •์ฑ… ์ตœ์ ํ™”
  • ๋ฌด์ค‘๋‹จ ์ œ๋กœ-ํŠธ๋Ÿฌ์ŠคํŠธ ์ „ํ™˜: No Public IP ๊ทœ์น™ ํ•˜์— Azure Application Gateway์™€ Private Endpoint๋ฅผ ๋„์ž…ํ•˜๊ณ , ์‹ค์‹œ๊ฐ„ ์šด์˜ ํŠธ๋ž˜ํ”ฝ์˜ ์˜ํ–ฅ๋„๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๋‹จ๊ณ„๋ณ„ DNS ๊ฐ€์ค‘์น˜ ๋ผ์šฐํŒ… ๋ฐ ๋กค๋ง ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ „๊ฐœ
  • WAF(Web Application Firewall) ์„ธ๋ถ€ ๋ฃฐ์…‹ ํŠœ๋‹์„ ํ†ตํ•ด ์˜คํƒ(False Positive)์œจ์„ ๋‚ฎ์ถ”๊ณ  ์•…์˜์  ํŠธ๋ž˜ํ”ฝ ๋ฐฉ์–ด ๊ณ„์ธต ๊ตฌ์ถ•
  • ๋ณด์•ˆ ๊ฒฉ๋ฆฌ ๋ฐ ์ž๊ฒฉ ์ฆ๋ช…: Azure Key Vault ๋„์ž…์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹œํฌ๋ฆฟ๊ณผ ์ฝ”๋“œ๋ฒ ์ด์Šค๋ฅผ ์™„๋ฒฝํžˆ ๋ถ„๋ฆฌํ•˜๊ณ , ๋‚ด๋ถ€ ํ†ต์‹  ๋…ธ์ถœ์„ ๊ทผ๋ณธ์ ์œผ๋กœ ์ฐจ๋‹จํ•˜๋Š” ํ”„๋ผ์ด๋น— GitLab Runner ์ƒํƒœ๊ณ„ ํ์‡„๋ง ๋‚ด ๊ตฌ์ถ•
  • Terraform (IaC) ๋„์ž…์œผ๋กœ ์ธํ”„๋ผ ํœด๋จผ ์—๋Ÿฌ๋ฅผ ์›์ฒœ ์ฐจ๋‹จํ•˜๊ณ , ์Šคํ…Œ์ด์ง•/์šด์˜ ํ™˜๊ฒฝ์˜ ์•„ํ‚คํ…์ฒ˜ ๋™๊ธฐํ™” ๋ฐ ๋ฒ„์ €๋‹ ๊ด€๋ฆฌ ์ฒด๊ณ„ํ™”
DevSecOps ํŒŒ์ดํ”„๋ผ์ธ ์ตœ์ ํ™” ๋ฐ ๊ณ ์† ๋ฐฐํฌ ์ „๋žต
  • CI/CD ๋ณ‘๋ชฉ ํ•ด๊ฒฐ: ์ฝ”๋“œ Push ์‹œ DS, SAST, IAC-SAST, DAST ๋“ฑ ํฌ๊ด„์  ์Šค์บ๋‹์„ ๊ฐ•์ œํ•˜๋˜, ๊ธด๊ธ‰ ํŒจ์น˜ ๋ฐ ๋ฐฐํฌ ์†๋„ ์ €ํ•˜๋ฅผ ๋ง‰๊ธฐ ์œ„ํ•ด ๋ณ€๊ฒฝ๋ถ„๋งŒ ๊ฒ€์‚ฌํ•˜๋Š” Incremental Scan(์ฆ๋ถ„ ์Šค์บ”) ๋ฐ ์˜์กด์„ฑ ์บ์‹ฑ ๋ ˆ์ด์–ด๋ฅผ ๋„์ž…ํ•˜์—ฌ ํŒŒ์ดํ”„๋ผ์ธ ์†Œ์š” ์‹œ๊ฐ„ ๋Œ€ํญ ๋‹จ์ถ•
  • ๊ฒŒ์ดํŠธํ‚คํผ ์ •์ฑ… ์ˆ˜๋ฆฝ: ์ทจ์•ฝ์  ์ค‘์ฆ๋„(Severity) ๊ธฐ๋ฐ˜์˜ ๋ฐฐํฌ ์ฐจ๋‹จ ์ •์ฑ…์„ ์ž๋™ํ™”ํ•˜์—ฌ ๋ณด์•ˆ ๋ฏธ๋‹ฌ ์ฝ”๋“œ์˜ ์šด์˜ ํ™˜๊ฒฝ ์ง„์ž…์„ ์‚ฌ์ „์— ์ฐจ๋‹จ
  • 3-Tier ๋ฐฐํฌ ํˆฌ๋ช…์„ฑ: QA ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์œ„ํ•œ ํ…Œ์ŠคํŠธ๋ง ์ง€์†์  ๋ฐฐํฌ(CI) ๋‹จ์ผํ™” ๋ฐ ๊ธฐ์ˆ  ์Šน์ธ(TDC/TDA) ํ›„ ๋‹ด๋‹น์ž ์ˆ˜๋™ ๋ฐฐํฌ ํ”„๋กœ์„ธ์Šค๋กœ ํ”„๋กœ๋•์…˜ ์‹ ๋ขฐ์„ฑ ํ™•๋ณด
  • ์นจํˆฌ ํ…Œ์ŠคํŠธ(Pen-Test) ๊ธฐ๋ฐ˜์œผ๋กœ ๋„์ถœ๋œ ์ทจ์•ฝ์ ๋“ค์„ ์ „์‚ฌ ๊ฐœ๋ฐœํŒ€๊ณผ ํ˜‘์—…ํ•˜์—ฌ ์šด์˜ ์žฅ์•  ์—†์ด 100% ๋ฆฌํฌํŠธ ์กฐ์น˜ ์™„๋ฃŒ
Legacy Modernization & ๊ณ ์„ฑ๋Šฅ ๋ถ„์‚ฐ ์Šค์ผ€์ค„๋ง ์ „ํ™˜
  • CoffeeScript(Angular) ๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ๋ฅผ ๊ณ ์„ฑ๋Šฅ ๊ตฌ์กฐ์˜ TypeScript React๋กœ ์„ ์ œ์  ๋ฆฌํŒฉํ† ๋ง์„ ์ง„ํ–‰ํ•˜์—ฌ ํ”„๋ก ํŠธ์—”๋“œ ๋ Œ๋”๋ง ์ตœ์ ํ™” ๋ฐ ์œ ์ง€๋ณด์ˆ˜์„ฑ ํ–ฅ์ƒ
  • NuxtJS ๋ฐ Scala PlayFramework ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๋ฉ”์ด์ € ๋ณด์•ˆ ๋ฒ„์ „์—… ์ฒ˜๋ฆฌ๋ฅผ ํ†ตํ•œ ์ข…์†์„ฑ ์ทจ์•ฝ์  ํ•ด๊ฒฐ ๋ฐ ์ƒ์œ„ ํ˜ธํ™˜์„ฑ ์œ ์ง€ ์ž‘์—… ์ˆ˜ํ–‰
  • ๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ ํ™•๋ณด: ๊ธฐ์กด PlayFramework AKKA ๊ธฐ๋ฐ˜ ์Šค์ผ€์ค„๋ง ETL์„ Go Fiber Async ๊ธฐ๋ฐ˜์˜ ๋ถ„์‚ฐ ์•„ํ‚คํ…์ฒ˜๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜; ๋ถ„์‚ฐ ์›Œ์ปค ํ™˜๊ฒฝ์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์ค‘๋ณต ์ฒ˜๋ฆฌ ๋ฐ ์œ ์‹ค ๋ฆฌ์Šคํฌ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด Redis Distributed Lock(๋ถ„์‚ฐ ๋ฝ) ๋ฐ ๋ฉฑ๋“ฑ์„ฑ(Idempotency) ๋ณด์žฅ ๋กœ์ง์„ ์„ค๊ณ„ํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ 100% ์‹คํ˜„
๐Ÿš€ ํ”„๋กœ์ ํŠธ ํŒฉํŠธ ์„ฑ๊ณผ
  • ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ๊ธ‰ ์•„ํ‚คํ…์ฒ˜ ์‹ ๋ขฐ์„ฑ: ๊ธ€๋กœ๋ฒŒ ๊ฐ์‚ฌ ์š”๊ฑด์„ ์™„๋ฒฝํžˆ ์ถฉ์กฑํ•˜๋Š” ๋ณด์•ˆ ์ปดํ”Œ๋ผ์ด์–ธ์Šค๋ฅผ ๋‹ฌ์„ฑํ•จ๊ณผ ๋™์‹œ์—, ํŠธ๋ž˜ํ”ฝ ๋ถ€ํ•˜ ๋ถ„์‚ฐ ์„ค๊ณ„๋ฅผ ํ†ตํ•ด ์ธํ”„๋ผ ๊ฐ€์šฉ์„ฑ 99.99% ์œ ์ง€
  • ์ƒ์‚ฐ์„ฑ๊ณผ ๋ณด์•ˆ์˜ ์–‘๋ฆฝ: DevSecOps ์ž๋™ํ™” ํŒŒ์ดํ”„๋ผ์ธ์˜ ํšจ์œจํ™”(์บ์‹ฑ/์ฆ๋ถ„ ์Šค์บ”)๋ฅผ ํ†ตํ•ด ๋ณด์•ˆ ํ†ต์ œ๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ๋„ ํ‰๊ท  ๊ฐœ๋ฐœ-๋ฐฐํฌ ํšจ์œจ์„ฑ ์ฆ๋Œ€
  • ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์„ฑ๋Šฅ ํ˜์‹ : Go Fiber ๋ถ„์‚ฐ ์Šค์ผ€์ค„๋ง ์ธํ”„๋ผ ์ „ํ™˜ ๋ฐ ๋ฉฑ๋“ฑ์„ฑ ์•„ํ‚คํ…์ฒ˜ ๋„์ž…์œผ๋กœ, ๊ธฐ์กด ๋ ˆ๊ฑฐ์‹œ ๋Œ€๋น„ ETL ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์Šค๋ฃจํ’‹(Throughput) ๋Œ€ํญ ํ–ฅ์ƒ ๋ฐ ๋ฆฌ์†Œ์Šค ๋น„์šฉ ํšจ์œจํ™” ๋‹ฌ์„ฑ
๐Ÿ’ก ํšŒ๊ณ 
"๋ณด์•ˆ๊ณผ ๊ฐ€์šฉ์„ฑ์€ ํŠธ๋ ˆ์ด๋“œ์˜คํ”„ ๊ด€๊ณ„๊ฐ€ ์•„๋‹ˆ๋ผ, ๊ณ ๋„ํ™”๋œ ์•„ํ‚คํ…์ฒ˜๋ฅผ ํ†ตํ•ด ๋™์‹œ ๋‹ฌ์„ฑํ•ด์•ผ ํ•  ์ธํ”„๋ผ์˜ ๊ทผ๊ฐ„"์ž„์„ ์ฆ๋ช…ํ•œ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค. ๋Œ€์šฉ๋Ÿ‰ ํŠธ๋ž˜ํ”ฝ ํ™˜๊ฒฝ์—์„œ์˜ ๋ณต์žกํ•œ ๋„คํŠธ์›Œํฌ ์žฌ์„ค๊ณ„, ๋ฌด์ค‘๋‹จ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜, ๊ทธ๋ฆฌ๊ณ  ๊ณ ์„ฑ๋Šฅ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ ๊ตฌ์ถ•๊นŒ์ง€ ์ฃผ๋„ํ•˜๋ฉฐ ์ „์‚ฌ ๊ฐœ๋ฐœ ๋ฌธํ™”๋ฅผ ๊ธ€๋กœ๋ฒŒ ์Šคํƒ ๋‹ค๋“œ ์ˆ˜์ค€์œผ๋กœ ๋Œ์–ด์˜ฌ๋ฆฐ ์˜๋ฏธ ๊นŠ์€ ๊ณผ์ •์ด์—ˆ์Šต๋‹ˆ๋‹ค.
์˜๋ฃŒ/์ œ์•ฝ CRM ํ”Œ๋žซํผ SaaS ์•„ํ‚คํ…์ฒ˜ ์ „ํ™˜ ํ”„๋กœ์ ํŠธ
๐Ÿ—“ 2025.10 ~ 2026.04
๐Ÿ’ผ PM & Full-Stack Tech Lead
#React #NextJS #ExpressJS #PostgreSQL #SaaS #Multi-Tenant #HighAvailability #Redis #RLS
โญ ํ”„๋กœ์ ํŠธ ์š”์•ฝ
[Problem & Challenge]
์ด์ „ ๊ตฌ์กฐ์—์„œ๋Š” ์‹ ๊ทœ ๊ณ ๊ฐ์‚ฌ ์œ ์ž… ์‹œ๋งˆ๋‹ค ๋ณ„๋„์˜ CRM ์›น ์•ฑ์„ ๊ตฌ์ถ•ํ•ด์•ผ ํ–ˆ๊ธฐ์— ํ‰๊ท  5๊ฐœ์›” ๊ฐ€๋Ÿ‰์˜ ์˜ค๋žœ ์…‹์—… ๊ธฐ๊ฐ„์ด ์†Œ๋ชจ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ๋‹จ์ผ ์ธํ”„๋ผ๋กœ ํ†ตํ•ฉํ•˜๋Š” ๊ณผ์ •์—์„œ ๋Œ€ํ˜• ํ…Œ๋„ŒํŠธ์˜ ํŠธ๋ž˜ํ”ฝ ์ง‘์ค‘์— ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณ ๊ฐ€์šฉ์„ฑ(HA) ์•„ํ‚คํ…์ฒ˜ ํ™•๋ณด์™€ ์—„๊ฒฉํ•œ ์˜๋ฃŒ ๋ฐ์ดํ„ฐ ๊ฒฉ๋ฆฌ๊ฐ€ ํ•ต์‹ฌ ๊ณผ์ œ์˜€์Šต๋‹ˆ๋‹ค.
[Strategy]
์ด๋Ÿฌํ•œ ๋ณ‘๋ชฉ๊ณผ ๋ฌด์ค‘๋‹จ ์šด์˜ ๋ฆฌ์Šคํฌ๋ฅผ ๊ณตํ†ต ์ปดํฌ๋„ŒํŠธ์˜ Backend Driven ๋ฐฉ์‹ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ ์ธํ”„๋ผ ์Šค์ผ€์ผ๋ง ์ „๋žต์œผ๋กœ ํ•ด๊ฒฐํ•˜๊ณ ์ž ํ–ˆ์Šต๋‹ˆ๋‹ค. ํด๋ฆญ ๋ช‡ ๋ฒˆ์œผ๋กœ ๊ณ ์„ฑ๋Šฅ ๋ณด์•ˆ ํ™˜๊ฒฝ๊ณผ UI ํ…œํ”Œ๋ฆฟ์ด ๊ตฌ์„ฑ๋˜๋Š” Multi-Tenant SaaS ํ”Œ๋žซํผ์„ ์ œ์•ˆํ•˜๊ณ  ๊ทธ ๊ตฌ์ถ•์„ ์ด๋Œ์—ˆ์Šต๋‹ˆ๋‹ค.
๐Ÿ”ง ์ฃผ์š” ๊ธฐ์—ฌ & ์„ฑ๊ณผ
System Architecture (๊ณ ๊ฐ€์šฉ์„ฑ ๋ฉ€ํ‹ฐํ…Œ๋„ŒํŠธ ๋ฐ ๋Œ€์šฉ๋Ÿ‰ ํŠธ๋ž˜ํ”ฝ ์„ค๊ณ„)
  • ํŠธ๋ž˜ํ”ฝ ์ฆ๊ฐ€์— ์œ ์—ฐํ•˜๊ฒŒ ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ExpressJS ์ธ์Šคํ„ด์Šค๋ฅผ ๋ฌด์ƒํƒœ(Stateless)๋กœ ๊ตฌ์กฐํ™”ํ•˜๊ณ , ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ ๊ธฐ๋ฐ˜์˜ ์ˆ˜ํ‰์  ํ™•์žฅ(Scale-out) ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„
  • PostgreSQL์˜ ๋‚ด๋ถ€ ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐํ•˜๊ธฐ ์œ„ํ•ด ์ฃผ/๋ถ€(Primary/Replica) ๋ณต์ œ ๊ตฌ์กฐ๋ฅผ ๋„์ž…ํ•˜์—ฌ ์ฝ๊ธฐ/์“ฐ๊ธฐ ํŠธ๋ž˜ํ”ฝ์„ ๋ถ„๋ฆฌํ•˜๊ณ , PgBouncer๋ฅผ ํ†ตํ•œ ์ปค๋„ฅ์…˜ ํ’€๋ง ์ตœ์ ํ™”๋กœ DB ๋ณ‘๋ชฉ ํ•ด์†Œ
  • Backend-Driven ์„ค์ •๊ฐ’(Config) ์กฐํšŒ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด Redis ์บ์‹ฑ ๋ ˆ์ด์–ด๋ฅผ ์ƒ์œ„์— ๋ฐฐ์น˜ํ•˜์—ฌ DB I/O ๋ถ€ํ•˜๋ฅผ 85% ์ด์ƒ ๊ฐ์†Œ
  • ์˜๋ฃŒ ๋ฏผ๊ฐ ๋ฐ์ดํ„ฐ ๋ณดํ˜ธ๋ฅผ ์œ„ํ•ด PostgreSQL RLS(Row-Level Security)๋ฅผ ์ธํ”„๋ผ ๋ ˆ๋ฒจ์—์„œ ๊ฐ•์ œํ•˜์—ฌ ํ…Œ๋„ŒํŠธ ๊ฐ„ ๋ฐ์ดํ„ฐ ๋…ธ์ถœ ๋ฆฌ์Šคํฌ ์›์ฒœ ์ฐจ๋‹จ
Implementation (ํŠธ๋ž˜ํ”ฝ ์ œ์–ด ๋ฐ ํ…Œ๋„ŒํŠธ ํ”„๋กœ๋น„์ €๋‹ ์ž๋™ํ™”)
  • ๊ณ ๊ฐ€์šฉ์„ฑ ํ™˜๊ฒฝ ๋‚ด์—์„œ ์‹œ์Šคํ…œ ์ž์›์„ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•ด, ํŠน์ • ํ…Œ๋„ŒํŠธ์˜ ๋น„์ •์ƒ์  ํญ์ฆ์„ ์ฐจ๋‹จํ•˜๋Š” Express ๋ฏธ๋“ค์›จ์–ด ๊ธฐ๋ฐ˜์˜ ํ…Œ๋„ŒํŠธ๋ณ„ ์ฒ˜๋ฆฌ์œจ ์ œํ•œ(Rate Limiting) ๊ตฌ์ถ•
  • ๊ด€๋ฆฌ์ž ์›น ์•ฑ์—์„œ ์กฐ์ง ์ƒ์„ฑ ์ฆ‰์‹œ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ ์Šคํ‚ค๋งˆ ๊ฒฉ๋ฆฌ, ๊ถŒํ•œ ์ฒด๊ณ„, ๋งž์ถค UI๋ฅผ ๊ฐœ๋ณ„์ ์œผ๋กœ ์ž๋™ ๋ฐฐ์น˜ํ•˜๋Š” ํ”„๋กœ๋น„์ €๋‹ ์ƒ์„ฑ๊ธฐ ๊ตฌํ˜„
  • ์˜์—… ๋ฐ ์šด์˜์„ ๋‹ด๋‹นํ•˜๋Š” ๋น„๊ฐœ๋ฐœ ์ง๊ตฐ๋„ ์„ค์ • ํด๋ฆญ ํ•œ๋‘ ๋ฒˆ์œผ๋กœ ๋ฐ๋ชจ ํ™˜๊ฒฝ์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก Zero-Code ๊ธฐ๋ฐ˜ UX ์ ์šฉ
๐Ÿš€ ํ”„๋กœ์ ํŠธ ํŒฉํŠธ ์„ฑ๊ณผ
  • CRM ์…‹์—… ๊ธฐ๊ฐ„ ๋‹จ์ถ•: ๊ธฐ์กด ํ‰๊ท  5๊ฐœ์›” โ†’ ํ•˜๋ฃจ ์ˆ˜์ค€์œผ๋กœ ์ž๋™ ์ตœ์ ํ™” ๋ฐ ๊ฐ„์†Œํ™”
  • ๊ณ ๊ฐ€์šฉ์„ฑ ๊ฐ€๋™๋ฅ : ์ธํ”„๋ผ ์ˆ˜ํ‰ ํ™•์žฅ ๋ฐ DB ๋ถ„์‚ฐ ์„ค๊ณ„๋ฅผ ํ†ตํ•ด ๋Œ€๊ทœ๋ชจ ๋™์‹œ ์š”์ฒญ ํ™˜๊ฒฝ์—์„œ๋„ ๊ฐ€์šฉ์„ฑ ๋ฐ ๋ฌด์žฅ์•  ๋ฐœ์ƒํ•˜๋„๋ก ์„ค๊ณ„
  • ์•ˆ์ •์ ์ธ ์œ ์ง€๋ณด์ˆ˜: ์—ฌ๋Ÿฌ ํ”Œ๋žซํผ์œผ๋กœ ์‚ฐ์žฌ๋˜๋˜ ์ธํ”„๋ผ, ์ฝ”๋“œ๋ฅผ ๋‹จ์ผ๋กœ ํ†ตํ•ฉํ•˜์—ฌ ์šด์˜ ๋ฐ ๋ฆฌ์†Œ์Šค ์œ ์ง€๋น„์šฉ ์ ˆ๊ฐ
  • ์—…๋ฌด ์œ ์—ฐ์„ฑ ํ™•๋ณด: ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ๊ฐœ๋ฐœ ๋ถ€์„œ๋ฅผ ๊ฑฐ์น˜์ง€ ์•Š๊ณ  ์ง์ ‘ ๋ผ์ด๋ธŒ ๋ฐ๋ชจ๋ฅผ ์ƒ์„ฑ & ์šด์˜ํ•จ์œผ๋กœ์จ ์˜์—… ํ˜‘์—… ํšจ์œจ ํ–ฅ์ƒ
๐Ÿ’ก ํšŒ๊ณ 
๊ธฐ์กด ํŒŒํŽธํ™” ๋œ ์†”๋ฃจ์…˜์„ ๊ณ ๊ฐ€์šฉ์„ฑ SaaS ํ˜•ํƒœ๋กœ ์ด๊ด€ํ•˜์—ฌ ๊ฐœ๋ฐœ ๊ณต์ˆ˜๋ฅผ ์ ˆ๊ฐํ•˜๋Š” ๊ฒƒ์„ ๋„˜์–ด, ๋ฉ€ํ‹ฐํ…Œ๋„ŒํŠธ ํ™˜๊ฒฝ์˜ ์•„ํ‚คํ…์ฒ˜์  ํ•œ๊ณ„๋ฅผ ์‹œ์Šคํ…œ ์Šค์ผ€์ผ์•„์›ƒ ๋ฐ ๋ฐ์ดํ„ฐ ๋ณด์•ˆ ์„ค๊ณ„๋กœ ๊ทน๋ณตํ•˜๊ณ  ์‹ค์ œ ๋น„์ง€๋‹ˆ์Šค ํšจ์œจ์„ฑ์„ ๊ทน๋Œ€ํ™”ํ•œ ๊ฒฝํ—˜์ด์—ˆ์Šต๋‹ˆ๋‹ค.
ํ—ฌ์Šค์ผ€์–ด ๋ฐ์ดํ„ฐ ํฌํ„ธ ๋ฐ ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋ง ํ†ตํ•ฉ ํ”Œ๋žซํผ ๊ตฌ์ถ•
๐Ÿ—“ 2025.10 ~ 2026.05
๐Ÿ’ผ Data Engineering & Full-Stack Lead
#Go #Fiber #Asynq #Python #Databricks #Airflow #Celery #ETL Pipeline
โญ ํ”„๋กœ์ ํŠธ ์š”์•ฝ
[Problem & Challenge]
์‚ฐ์žฌ๋œ ์˜๋ฃŒ ๋ฐ ์ œ์•ฝ ๊ณต๊ณต ๋ฐ์ดํ„ฐ๋ฅผ ์ผ์ผ์ด ์ˆ˜๋™ ๋ฐฉ์‹์œผ๋กœ ๊ฐ€๊ณตํ•˜๊ณ  ์ˆ˜ํ•ฉํ•˜์—ฌ ๊ด€๋ฆฌ ์ฒด๊ณ„๊ฐ€ ๋ณต์žกํ•˜์˜€๊ณ , ๋Œ€์šฉ๋Ÿ‰ ํŠธ๋ž˜ํ”ฝ ์ธ์ž… ์‹œ ํ ์„œ๋ฒ„์˜ ๊ฐ€์šฉ์„ฑ ์ €ํ•˜ ๋ฐ ์ธ์  ์‹ค์ˆ˜์˜ ๊ฐ€๋Šฅ์„ฑ์ด ์กด์žฌํ–ˆ์Šต๋‹ˆ๋‹ค.
[Strategy]
๋ถ„๋ฆฌ๋œ ํ”„๋กœ์„ธ์Šค๋ฅผ ํ•˜๋‚˜๋กœ ํ†ตํ•ฉํ•˜๊ธฐ ์œ„ํ•ด Go ์–ธ์–ด๋ฅผ ์ ‘๋ชฉํ•œ ๊ณ ์„ฑ๋Šฅ ํฌ๋กค๋Ÿฌ์™€ Airflow๋ฅผ ํ™œ์šฉํ•œ ์ค‘์•™์ง‘์ค‘์  ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌ์ถ•ํ•˜๊ณ , ๋ถ„์‚ฐ ํ ์•„ํ‚คํ…์ฒ˜ ์ตœ์ ํ™”๋ฅผ ํ†ตํ•ด ์‹œ์Šคํ…œ ์•ˆ์ •์„ฑ์„ ๊ทน๋Œ€ํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค.
๐Ÿ”ง ์ฃผ์š” ๊ธฐ์—ฌ & ์„ฑ๊ณผ
๊ณ ์„ฑ๋Šฅ ๋ถ„์‚ฐ ๋ณ‘๋ ฌ ํฌ๋กค๋Ÿฌ ๊ตฌ์ถ•
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋“ฑ ๋™์  ํ™”๋ฉด ํŒŒ์‹ฑ์ด ํ•„์š”ํ•œ ๊ณณ์€ Python(Selenium/Celery), ์†๋„๊ฐ€ ์ตœ์šฐ์„ ์ธ ํ•ต์‹ฌ ๋ผ์ธ์—๋Š” Go(Fiber) + Asynq ์›Œ์ปค๋ฅผ ํˆฌ์ž…ํ•˜์—ฌ ์ˆ˜์ง‘ ํšจ์œจ์„ฑ ์ฆ๋Œ€
  • Failover ๋ฌด์ค‘๋‹จ ์ž๋™ํ™”: Redis ์ปจํ…Œ์ด๋„ˆ ๋งˆ์Šคํ„ฐ-์Šฌ๋ ˆ์ด๋ธŒ ์ „ํ™˜ ์žฅ์•  ๊ทน๋ณต์„ ์œ„ํ•ด Redis Sentinel ๋ฐ asynq.RedisFailoverClientOption์„ ๋„์ž…ํ•˜์—ฌ ํ† ํด๋กœ์ง€ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ์ปค๋„ฅ์…˜ ํ’€ ์ž๋™ ๊ฐฑ์‹  ์•„ํ‚คํ…์ฒ˜ ๊ตฌ์ถ•
  • Downtime ์ตœ์†Œํ™” (Local Buffering): Sentinel์ด ์ƒˆ๋กœ์šด ๋งˆ์Šคํ„ฐ๋ฅผ ์Šน๊ฒฉํ•˜๋Š” 5~10์ดˆ์˜ ์ „ํ™˜ ํƒ€์ž„์•„์›ƒ ๋™์•ˆ ๋ฐœ์ƒํ•˜๋Š” ์“ฐ๊ธฐ ์—๋Ÿฌ๋ฅผ ๋ฐฉ์–ดํ•˜๊ธฐ ์œ„ํ•ด, Go ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋‚ด๋ถ€์— In-Memory Ring Buffer ๊ธฐ๋ฐ˜์˜ ๋กœ์ปฌ ์ž„์‹œ ํ ๋ฐ ์ง€์ˆ˜ ๋ฐฑ์˜คํ”„(Exponential Backoff) ์žฌ์‹œ๋„ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๊ตฌํ˜„ํ•˜์—ฌ ํฌ๋กค๋ง ๋ฐ์ดํ„ฐ ๋“œ๋กญ ์ตœ์†Œํ™”
  • ์Šคํ”Œ๋ฆฟ ๋ธŒ๋ ˆ์ธ ๋ฐ ๋ฐ์ดํ„ฐ ์œ ์‹ค ๋ฐฉ์ง€: Redis์˜ ๋น„๋™๊ธฐ ๋ณต์ œ(Async Replication)๋กœ ์ธํ•œ ๋ฐ์ดํ„ฐ ์œ ์‹ค ๋ฆฌ์Šคํฌ๋ฅผ ์ œ์–ดํ•˜๊ณ ์ž, ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ์— min-replicas-to-write 1 ๋ฐ min-replicas-max-lag ์ž„๊ณ„์น˜๋ฅผ ์„ค์ •ํ•˜์—ฌ ์ธํ”„๋ผ ์ •ํ•ฉ์„ฑ ํ™•๋ณด
  • ๋ฉฑ๋“ฑ์„ฑ(Idempotency) ์„ค๊ณ„: ์ค‘๋‹จ ์‹œ์ ์˜ ์žฌ์‹œ๋„๋กœ ์ธํ•ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์ค‘๋ณต ์ ์žฌ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ณ ์ž, ์ˆ˜์ง‘ URL๊ณผ ํƒ€๊ฒŸ ๋‚ ์งœ ๊ธฐ๋ฐ˜์˜ ๊ฒฐ์ •๋ก ์  ํ•ด์‹œ๋ฅผ ์ด์šฉํ•œ Task ๊ณ ์œ  ์‹๋ณ„์ž(Task ID) ์ง€์ •์„ ํ†ตํ•ด ์›Œ์ปค ๋ ˆ๋ฒจ์˜ ๋ฉฑ๋“ฑ ์ฒ˜๋ฆฌ ๋ณด์žฅ
  • Poison Pill ์ฐจ๋‹จ: ๋ฐ์ดํ„ฐ ํฌ๋งท ๋ฒ„๊ทธ ๋“ฑ์œผ๋กœ ์ธํ•œ ํŠน์ • Task์˜ ๋ฌดํ•œ ์žฌ์‹œ๋„ ํ˜„์ƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด Panic Recovery ๋ฏธ๋“ค์›จ์–ด ๋ฐ Dead Letter Queue(DLQ) ์ „์—ญ ํ•œ๋„ ์„ค์ • ๋‚ด์žฌํ™”
Airflow ํ†ต์ œ ๋ฐ Databricks ์—ฐ๊ณ„ ํŒŒ์ดํ”„๋ผ์ธ ํ™•์žฅ
  • ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ํ˜„ํ™ฉ์—์„œ๋ถ€ํ„ฐ ์ •์ œ, ๋กœ๋“œ, ๊ทธ๋ฆฌ๊ณ  ๊ฒ€์ฆ์— ์ด๋ฅด๋Š” ์ „์ฒด ๋ผ์ดํ”„์‚ฌ์ดํด์„ Airflow DAG๋กœ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ํ•˜์—ฌ ํˆฌ๋ช…์„ฑ ๋ณด์žฅ
  • ๊ณ ๊ฐ์‚ฌ ๋‚ด๋ถ€์˜ Databricks ์—ฐ๊ณ„ ํด๋ Œ์ง• ํŒŒ์ดํ”„๋ผ์ธ์„ ํ†ตํ•ด ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ •์ฑ… ๊ธฐ์ค€์  ๋ถ€ํ•ฉ ๋ฐ ๋ฐ์ดํ„ฐ ํ’ˆ์งˆ ํ™•๋ณด
์šด์˜ ํŽธ์˜๋ฅผ ์œ„ํ•œ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ์›น ์•ฑ ๊ตฌ์ถ•
  • ํด๋ Œ์ง•๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ๋‚ด์™ธ ๊ด€๊ณ„์ž๋“ค์ด ์ง์ ‘ ๊ฒ€์ƒ‰, ์ถ”์ถœํ•  ์ˆ˜ ์žˆ๋„๋ก API ๊ธฐ๋ฐ˜์˜ ์ž์ฒด ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ์›น ์•ฑ ๊ตฌ์ถ•
๐Ÿš€ ํ”„๋กœ์ ํŠธ ํŒฉํŠธ ์„ฑ๊ณผ
  • ๊ธฐ์กด์˜ ์ˆ˜์ž‘์—… ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ๋ฐ ๊ฐ€๊ณต ๊ณผ์ •์„ ์™„์ „ ์ž๋™ํ™” ์ฒด๊ณ„๋กœ ๊ฐฑ์‹ 
  • ๋ถ„์‚ฐ ํ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ Redis ์•„ํ‚คํ…์ฒ˜ ์ตœ์ ํ™”๋ฅผ ํ†ตํ•ด ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ ๊ฐ€์šฉ์„ฑ(Uptime) ์ฆ๋Œ€ ๋ฐ ๋ฐ์ดํ„ฐ ์œ ์‹ค๋ฅ  ์ตœ์†Œํ™”
  • ๊ฐœ๋ณ„ ๋ถ€์„œ ๋„๋ฉ”์ธ์— ๋ฐฉ์น˜๋˜๋˜ ์ž๋ฃŒ ๊ณต๊ฐ„์„ ๋‹จ์ผ ๋ฐ์ดํ„ฐ ๋ ˆ์ดํฌ ์นดํƒˆ๋กœ๊ทธ ์†”๋ฃจ์…˜์œผ๋กœ ํ†ตํ•ฉ
๐Ÿ’ก ํšŒ๊ณ 
์ดˆ๊ธฐ ๋ฐ์ดํ„ฐ ์†Œ์Šค๋ฅผ ์ˆ˜๊ธ‰ํ•˜๋Š” ๋ฐฑ์—”๋“œ ์•„ํ‚คํ…์ฒ˜๋ถ€ํ„ฐ ๋น…๋ฐ์ดํ„ฐ ETL ๋ ˆ์ด์–ด, ๊ทธ๋ฆฌ๊ณ  ์‹ค์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•œ ํ”„๋ก ํŠธ์—”๋“œ ํฌํ„ธ ์œตํ•ฉ๊นŒ์ง€ ๊ฑฐ๋Œ€ํ•œ ๋ผ์ดํ”„์‚ฌ์ดํด์„ ์—”๋“œํˆฌ์—”๋“œ๋กœ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ๋Œ€๊ทœ๋ชจ ํŠธ๋ž˜ํ”ฝ ํ™˜๊ฒฝ์—์„œ ๋ถ„์‚ฐ ํ(Asynq/Redis) ์•„ํ‚คํ…์ฒ˜๊ฐ€ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” Failover ๊ฐ€์šฉ์„ฑ ๊ณต๋ฐฑ๊ณผ ๋น„๋™๊ธฐ ๋ณต์ œ ํ™˜๊ฒฝ์—์„œ์˜ ๋ฐ์ดํ„ฐ ์œ ์‹ค ๋ฆฌ์Šคํฌ๋ฅผ ์ธํ”„๋ผ ์˜ต์…˜ ํŠœ๋‹ ๋ฐ Go ๋‚ด๋ถ€์˜ ๋กœ์ปฌ ๋ฒ„ํผ๋ง, ๋ฉฑ๋“ฑ์„ฑ ์„ค๊ณ„๋ฅผ ํ†ตํ•ด ๊ทผ๋ณธ์ ์œผ๋กœ ํ•ด๊ฒฐํ•ด์„œ ์‹œ์•ผ๋ฅผ ๋„“ํž ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Š Professional Work Historyโ€‹

ํ•œ๊ตญ์•„์ดํ๋น„์•„์†”๋ฃจ์…˜์Šค (IQVIA Korea)

IQVIA๋Š” ์ „์„ธ๊ณ„ ์˜๋ฃŒ, ์ œ์•ฝ, ๋ฐ”์ด์˜ค ๋ถ„์•ผ์—์„œ ์„ ๋„์ ์ธ AI ๊ธฐ๋ฐ˜ ํ—ฌ์Šค์ผ€์–ด ๋ฐ์ดํ„ฐ์™€ ์—ฐ๊ตฌ ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•˜๋Š” ๊ธ€๋กœ๋ฒŒ 1์œ„ ๊ธฐ์—…์ž…๋‹ˆ๋‹ค.
๊ธฐ์ˆ  ํŒŒํŠธ์—์„œ Full-Stack ํ”Œ๋žซํผ ๊ฐœ๋ฐœ ๋ฐ ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ, AI/Data Engineering ์ธํ”„๋ผ ์—…๋ฌด๋ฅผ ๋‹ค๋ฃจ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

Architecture, IT Design & Development (์ฐจ์žฅ) / Tech Lead
Global IT Audit & DevOps ๋ณด์•ˆ ์ •์ฑ… ๊ทœ์ •ํ™”
Cloud Infra & Security Ops
2026.01 ~ 2026.05
  • Azure ๊ธฐ๋ฐ˜ ์‚ฌ๋‚ด ์ธํ”„๋ผ ๋ฐ ๋„คํŠธ์›Œํฌ CI/CD(Gitlab)๋ฅผ ๊ธ€๋กœ๋ฒŒ ๋ณด์•ˆ ๊ทœ๊ฒฉ์— ๋งž์ถ”์–ด ์ •์ฑ… ์ •๋น„ ์ž๋™ํ™”
  • ํŠธ๋ž˜ํ”ฝ ์„œ์ง€(Surge)์— ๋”ฐ๋ฅธ ๋น„์šฉ ํญ์ฃผ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด ๋™์  ๋™์‹œ์„ฑ ์ œํ•œ ๋ฐ ์„œ๋ฒ„๋ฆฌ์Šค ๊ตฌ์กฐ ํด๋ผ์šฐ๋“œ ๋น„์šฉ ํšจ์œจ ๋ฐฉ์–ด์„  ๊ตฌ์ถ•
  • Zero-Trust Cloud Architecture ๊ตฌํ˜„ ๋ฐ IaC ๊ธฐ๋ฐ˜ ๊ธ€๋กœ๋ฒŒ ์ธํ”„๋ผ ํ†ต์ œ๋ ฅ ํ™•๋ณด
  • DevSecOps ํ”„๋กœ์„ธ์Šค ๊ตฌ์ถ• ๋ฐ ๊ธ€๋กœ๋ฒŒ ๋ณด์•ˆ ๊ฐ์‚ฌ(Audit) ์Šน์ธ ๊ธฐ๊ฐ„ ๋‹จ์ถ•
  • Legacy Code Modernization์„ ํ†ตํ•œ ์‹œ์Šคํ…œ ์ทจ์•ฝ์  ๊ฐœ์„  ๋ฐ ๋ณด์•ˆ ๊ทœ์ • ์ค€์ˆ˜
[๋ฆฌ๋“œ] ๊ธ€๋กœ๋ฒŒ ์˜๋ฃŒ/์ œ์•ฝ CRM ํ”Œ๋žซํผ SaaSํ™” ์•„ํ‚คํ…์ฒ˜ ์ „ํ™˜
PM & Full-Stack
2025.10 ~ 2026.04
  • ๊ณ ๊ฐ์‚ฌ๋ณ„ ๋…๋ฆฝ ํ™˜๊ฒฝ์„ Multi-Tenant ๊ตฌ์กฐ SaaS ์‹œ์Šคํ…œ์œผ๋กœ ์ด๊ด€ํ•˜์—ฌ ์„ค์ • ๊ธฐ๋ฐ˜ ๋…๋ฆฝ ํ”Œ๋žซํผ ๊ตฌ์ถ• ๋ฆฌ๋”ฉ
  • ํŠน์ • ํ…Œ๋„ŒํŠธ์˜ ์ž์› ๋…์ (Noisy Neighbor) ๋ฌธ์ œ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ํ…Œ๋„ŒํŠธ๋ณ„ Rate Limiting ๋ฐ Redis ๋ถ„์‚ฐ ์บ์‹ฑ ๋„์ž…
  • Zero-Code ๋ฐฉ์‹์˜ ์–ด๋“œ๋ฏผ UI ์ ์šฉ์œผ๋กœ ๋™์  ๋ Œ๋”๋ง ์ตœ์ ํ™” ๋ฐ CRM ํ”„๋กœ๋น„์ €๋‹ ๊ธฐ๊ฐ„ ๋‹จ์ถ• ์ฃผ๋„
  • ๋ฐ์ดํ„ฐ ๊ฒฉ๋ฆฌ์„ฑ(Data Isolation) ํ™•๋ณด๋ฅผ ์œ„ํ•œ ๋ฉ€ํ‹ฐ ํ…Œ๋„Œ์‹œ ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„ ๋ฐ ๊ตฌํ˜„
[๋ฆฌ๋“œ] ๊ณต๊ณต ๋ฐ์ดํ„ฐ ์›Œํฌํ”Œ๋กœ์šฐ ํ†ตํ•ฉ ํ”Œ๋žซํผ ๋ฐ API ํฌํ„ธ ๊ฐœ๋ฐœ
Data Engineering & Full-Stack Lead
2025.10 ~ 2026.05
  • Go, Python์„ ํ™œ์šฉํ•˜์—ฌ ํฌ๋กค๋ง๋ถ€ํ„ฐ ์ž๋™ ์ˆ˜์ง‘์— ์ด๋ฅด๋Š” ๋Œ€ํ˜• ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ ์„ค๊ณ„ ๋ฐ ์ ์žฌ ์ตœ์ ํ™”
  • ํƒ€๊นƒ ์‚ฌ์ดํŠธ ์ฐจ๋‹จ(IP Ban) ๋ฐ ๋ฐ์ดํ„ฐ ๊ธ‰์ฆ ์‹œ OOM ๋ฐฉ์ง€๋ฅผ ์œ„ํ•œ ์—ญ์••(Backpressure) ์ œ์–ด ๋ฉ”์ปค๋‹ˆ์ฆ˜ ์ ์šฉ
  • Airflow & Databricks ๊ธฐ๋ฐ˜์˜ ์ „ ์ฃผ๊ธฐ ํ’ˆ์งˆ ์ฒดํฌ ์ ์šฉ ๋ฐ ๋ถ„์‚ฐ ๋ฝ(Distributed Lock) ๊ธฐ๋ฐ˜์˜ ์‹ค์‹œ๊ฐ„ API ํฌํ„ธ ๊ตฌ์ถ• ๋ฆฌ๋“œ
  • ๊ณ ์„ฑ๋Šฅ ๋ถ„์‚ฐ ๋ณ‘๋ ฌ ํฌ๋กค๋Ÿฌ ๊ตฌ์ถ•์„ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ์ฒ˜๋ฆฌ๋Ÿ‰ ํ–ฅ์ƒ ๋ฐ ํฌํ„ธ ์•ˆ์ •์„ฑ ํ™•๋ณด
๋ฐ์ดํ„ฐ ์นดํƒˆ๋กœ๊ทธ RAG ์†”๋ฃจ์…˜ ๋Ÿฐ์นญ ๋ฐ ์šด์˜
AI Engineering & Data Ops
2025.01 ~ 2026.04
  • ์‚ฌ๋‚ด ๋ฐ์ดํ„ฐ/์„œ๋น„์Šค ์นดํƒˆ๋กœ๊ทธ ํ™œ์šฉ์„ ์œ„ํ•œ PgVector, OpenAI/Langchain ๊ธฐ๋ฐ˜ RAG ์ธํ”„๋ผ ๋„์ž…
  • ์‚ฌ์šฉ์ž ๊ธ‰์ฆ ์‹œ LLM API Rate Limit ๋ ˆ์ดํ„ด์‹œ ๊ทน๋ณต์„ ์œ„ํ•œ ์‹œ๋งจํ‹ฑ ์บ์‹ฑ(Semantic Caching) ์ฒด๊ณ„ ๊ตฌ์ถ• ๋ฐ FastAPI ์ธํผ๋Ÿฐ์Šค ์„œ๋ฒ„ํ™”
  • PgVector ๋Œ€์šฉ๋Ÿ‰ ์กฐํšŒ ์„ฑ๋Šฅ ์œ ์ง€๋ฅผ ์œ„ํ•œ ์ธ๋ฑ์‹ฑ ๋ฐ ์—ฐ๊ฒฐ ํ’€(Connection Pool) ์ตœ์ ํ™”
  • Spotfire/PowerBI ํด๋ผ์šฐ๋“œ ๋Œ€์‹œ๋ณด๋“œ ๊ตฌ์กฐ ์—ฐ๊ฒฐ ๊ด€๋ฆฌ ๋ฐ ์‹ค์‹œ๊ฐ„ ๋ชจ๋‹ˆํ„ฐ๋ง ํŒŒ์ดํ”„๋ผ์ธ ์—ฐ๋™
๋ถ„์‚ฐ ์Šค์ผ€์ค„๋Ÿฌ ๋ฐฑ์—”๋“œ ์‹œ์Šคํ…œ ๊ต์ฒด ๋ฐ ์ตœ์ ํ™”
Full-Stack Developer
2024.07 ~ 2025.08
  • ์‚ฌ๋‚ด ํ•ต์‹ฌ ํŒŒ์ดํ”„๋ผ์ธ์˜ ๊ตฌ๋™ ๋ฌธ์ œ์ ์„ Go(Fiber+Asynq) ๊ธฐ๋ฐ˜์˜ ๋น„๋™๊ธฐ ํ ํ™˜๊ฒฝ์œผ๋กœ ๊ต์ฒด ๊ฐœ๋ฐœํ•˜์—ฌ ์„ฑ๋Šฅ ํ–ฅ์ƒ ๊ฒฌ์ธ
  • ํƒœ์Šคํฌ ํญ์ฃผ ์‹œ ํ ๋ณ‘๋ชฉ ํ˜„์ƒ ์ œ์–ด๋ฅผ ์œ„ํ•œ ์›Œ์ปค ํ’€(Worker Pool) ํŠœ๋‹ ๋ฐ ๋ฐ๋“œ ๋ ˆํ„ฐ ํ(DLQ) ๊ธฐ๋ฐ˜ ์žฅ์•  ๋ณต๊ตฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜ ํ™•๋ณด
  • Nginx, Jenkins, KT Cloud๋ฅผ ํ†ตํ•œ ๋กœ์ปฌ / ๊ฐœ๋ฐœ / ์šด์˜ ์„œ๋ฒ„์˜ ์ž์ฒด ์ธํ”„๋ผ ๊ด€๋ฆฌ ๋ฐ ๋ฌด์ค‘๋‹จ ๋ฐฐํฌ ํ™˜๊ฒฝ ๊ตฌ์ถ•

์•„์ด์ง€๋„ท (Aijinet)

์œ ์ง€์œจ 99%, ๋ˆ„์  ๋ณดํ—˜ ์ค‘๊ฐœ์•ก 3000์–ต ์› ์ด์ƒ์„ ๋ŒํŒŒํ•˜๋ฉฐ Series C ํˆฌ์ž๋ฅผ ์ด๋Œ์–ด๋‚ธ ๊ตญ๋‚ด ๋Œ€ํ‘œ์ ์ธ ์ธ์Šˆ์–ดํ…Œํฌ B2C/B2B ํ”Œ๋žซํผ ๊ธฐ์—…์ž…๋‹ˆ๋‹ค.

Tech Lead (ํ”„๋กœ) / ๋ฐ์ดํ„ฐํ”Œ๋žซํผ ์…€
B2B ๊ธˆ์œต๊ถŒ(์ฆ๊ถŒ์‚ฌ) ๋งž์ถคํ˜• ๋ณดํ—˜ ๋ถ„์„/์ถ”์ฒœ ์—”์ง„ v4 ๊ฐœ๋ฐœ
Backend Engineer
2022.07 ~ 2022.09
  • ์ฆ๊ถŒ์‚ฌ์˜ ๋ณด์•ˆ ๊ทœ์ • ๋ฐ ์ธํ”„๋ผ ํ™˜๊ฒฝ(ํ์‡„๋ง/On-Premise) ๋ฐฐํฌ ์ œ์•ฝ์„ ์ถฉ์กฑํ•˜๊ธฐ ์œ„ํ•ด, PKG๋ฅผ ํ™œ์šฉํ•˜์—ฌ ExpressJS ๋ฐฑ์—”๋“œ๋ฅผ ๋‹จ์ผ ์‹คํ–‰ ๋ฐ”์ด๋„ˆ๋ฆฌ๋กœ ํŒจํ‚ค์ง•ํ•˜๋Š” ๋…๋ฆฝํ˜• ๋ฐฐํฌ ์•„ํ‚คํ…์ฒ˜ ์ˆ˜๋ฆฝ
  • ์ •๋ถ€ ํ‘œ์ค€ ๋งˆ์ด๋ฐ์ดํ„ฐ(MyData)์˜ ์ด๊ธฐ์ข… ๊ธˆ์œต ๋ฐ์ดํ„ฐ ํฌ๋งท๊ณผ ์‚ฌ๋‚ด ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ฐ„์˜ ์Šคํ‚ค๋งˆ ์ •๊ทœํ™”(Normalization) ํŒŒ์ดํ”„๋ผ์ธ์„ Pandas๋กœ ์„ค๊ณ„ํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ ํ™•๋ณด
  • Keras ๊ธฐ๋ฐ˜์˜ ๋‹ค์ค‘ ๋ถ„๋ฅ˜(Multi-class) ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์„ ๋„์ž…ํ•˜๊ณ , Pandas๋ฅผ ํ†ตํ•œ ๋„๋ฉ”์ธ ์—ฐ๊ตฌ ๋ฐ์ดํ„ฐ ๊ฐ€๊ณต์œผ๋กœ ์ฆ๊ถŒ์‚ฌ ๊ณ ๊ฐ์šฉ ์ง„๋‹จ ์ ์ˆ˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ณ ๋„๋กœ ์„ธ๋ถ„ํ™”ํ•˜์—ฌ ์ถ”์ฒœ ์‹ ๋ขฐ๋„ ๊ทน๋Œ€ํ™”
  • ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ๋ณ€๊ฒฝ์— ์œ ์—ฐํ•˜๊ฒŒ ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€๋ณ€ํ˜• ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์„ ExpressJS๋กœ ๊ตฌ์ถ•ํ•˜์—ฌ ๊ธˆ์œต์‚ฌ๋ณ„ ์ปค์Šคํ…€ ์š”๊ตฌ์‚ฌํ•ญ ๋ฐ˜์˜ ๋ฆฌ๋“œํƒ€์ž„ ๋‹จ์ถ•
๋‹ด๋ณด ๋‹จ์œ„ ์ •๋ฐ€ ๋ถ„์„ ๋ฐ API SaaS ๊ธฐ๋ฐ˜ ๋ณดํ—˜ ์—”์ง„ v3 ๊ฐœ๋ฐœ
PM & Full-Stack Engineer
2022.04 ~ 2022.08
  • ๊ธฐ์กด ์ƒํ’ˆ ์ค‘์‹ฌ ๋ถ„์„์—์„œ ๋‹ด๋ณด ๋‹จ์œ„(Massive Granularity)์˜ ๊ณ ๋ฐ€๋„ ๋Œ€์šฉ๋Ÿ‰ ์„ธ๋ถ€ ๋ถ„์„์œผ๋กœ ์ „ํ™˜ํ•˜๊ธฐ ์œ„ํ•ด, ์—ฐ์‚ฐ ๋ ˆ์ด์–ด๋ฅผ Golang ๊ธฐ๋ฐ˜ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ ๊ตฌ์กฐ๋กœ ์ „ํ™˜ํ•˜์—ฌ ์ธํ”„๋ผ ํ™•์žฅ์„ฑ(Scalability) ํ™•๋ณด
  • Python(Keras, Pandas) ๊ธฐ๋ฐ˜ ๋”ฅ๋Ÿฌ๋‹ ์—”์ง„์˜ ์—ฐ์‚ฐ ๊ฒฐ๊ณผ์™€ ๋Œ€์šฉ๋Ÿ‰ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์„œ๋น™ํ•˜๊ธฐ ์œ„ํ•œ ExpressJS ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ ๋ฐ ๋ฐฑ์˜คํ”ผ์Šค ์žฌ๊ตฌ์ถ•
  • B2B API Service(SaaS) ๋น„์ฆˆ๋‹ˆ์Šค ๋ชจ๋ธ ์ „ํ™˜์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด ๋ฉ€ํ‹ฐํ…Œ๋„Œ์‹œ ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•œ ํ†ตํ•ฉ ์–ด๋“œ๋ฏผ ํ”Œ๋žซํผ์„ NestJS ๋ฐ NextJS ์ธํ”„๋ผ์…‹์œผ๋กœ ์‹ ๊ทœ ๊ตฌ์ถ•
B2B ๋ณดํ—˜ ๊ฐ„ํŽธ ์ฒญ๊ตฌ ์ž๋™ํ™” ์†”๋ฃจ์…˜ ๋Ÿฐ์นญ
Backend Engineer
2022.02 ~ 2022.05
  • ์™ธ์ฃผ API ์˜์กด๋„ ์ตœ์†Œํ™”๋ฅผ ๋ชฉํ‘œ๋กœ Go ๊ธฐ๋ฐ˜ PNG ์ขŒํ‘œ ๋งคํ•‘ํ˜• ์ž์ฒด PDF ๋ฌธ์„œ ์—”์ง„ ์„ค๊ณ„ ๋ฐ ๊ฐœ๋ฐœ
  • ๋Œ€์šฉ๋Ÿ‰ ๋ฌธ์„œ ๋ณ€ํ™˜ ์‹œ์˜ ๋ฉ”๋ชจ๋ฆฌ OOM ๋ฆฌ์Šคํฌ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ŠคํŠธ๋ฆฌ๋ฐ ์ฒ˜๋ฆฌ ๋ฐ Worker Pool ๊ธฐ๋ฐ˜ ๋™์‹œ์„ฑ ์ œ์–ด ๋„์ž…
  • ์ฒญ๊ตฌ๋ง ํŒŒ์ดํ”„๋ผ์ธ์„ ํŒฉ์Šค/๋ฉ”์ผ ์‹œ์Šคํ…œ์—์„œ ๋…๋ฆฝ์‹œํ‚ค๊ณ  ๋ฉ”์‹œ์ง€ ํ ๊ธฐ๋ฐ˜์˜ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ๋ฐ ๋ฉฑ๋“ฑ์„ฑ(Idempotency)์„ ๋ณด์žฅํ•˜์—ฌ ์œ ์ง€๋น„์šฉ ์ ˆ๊ฐ ๋ฐ ํŠธ๋ž˜ํ”ฝ ์œ ์—ฐ์„ฑ ํ™•๋ณด
๋ณด๋‹ฅ ์—”์ง„ ์ฝ”์–ด ๋ชจ๋“ˆ - ๋ณดํ—˜ ์ง„๋‹จ ์กฐํ•ฉ ๋ฐ ์ƒํ’ˆ ์ถ”์ฒœ (v2)
PM & Full-Stack Engineer
2020.11 ~ 2021.01
  • ํƒ€ ํŒ€์—์„œ ์ด๊ด€์— ์‹คํŒจํ•œ ๊ณ ์œ„ํ—˜ ๊ธฐ์ˆ  ๋ถ€์ฑ„(๋…์ž ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์˜์กด์„ฑ ๋ฐ ๊ฐ•๊ฒฐํ•ฉ ๊ตฌ์กฐ) ์ƒํƒœ์˜ ๋ ˆ๊ฑฐ์‹œ ์†”๋ฃจ์…˜์„ ๋‹จ๋… ๊ตฌ๋™ ๋ฐ ์ปค์Šคํ…€ ๋‚ฉํ’ˆ์ด ๊ฐ€๋Šฅํ•œ ๋ชจ๋“ˆํ˜• ๋…๋ฆฝ ์—”์ง„ ์•„ํ‚คํ…์ฒ˜๋กœ ์ „๋ฉด ์žฌ์„ค๊ณ„
  • ๋‹ค์ค‘ ์ƒํ’ˆ ์ตœ์ ๊ฐ€ ์กฐํ•ฉ ์—ฐ์‚ฐ ์‹œ ๋ฐœ์ƒํ•œ ์ดˆ๊ฑฐ๋Œ€ ๊ฒฝ์šฐ์˜ ์ˆ˜(2^216 ์กฐํ•ฉ ํญ๋ฐœ) ๋ฐ ์„œ๋ฒ„ ๋‹ค์šด ๋ฌธ์ œ๋ฅผ ๋„๋ฉ”์ธ ์—ฐ๊ตฌ์›๊ณผ์˜ ํ˜‘์—…์„ ํ†ตํ•œ ํ•„์ˆ˜ ๋ณด์žฅ ์‚ฌ์ „ ํ•„ํ„ฐ๋ง(Pruning) ์ „๋žต์œผ๋กœ ํ•ด๊ฒฐ (์œ ํšจ ํ›„๋ณด๊ตฐ์„ 42,738๊ฐœ๋กœ ์••์ถ•ํ•˜์—ฌ ์‹ค์‹œ๊ฐ„ ์—ฐ์‚ฐ ์•ˆ์ •์„ฑ ํ™•๋ณด)
  • ExpressJS ๋ฐ Python ๋ฐฑ์—”๋“œ ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐํ™”(Parsing) ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌ์ถ•ํ•˜๊ณ , Sklearn ๊ธฐ๋ฐ˜ 3-Class ๋‹ค์ค‘ ๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€ ๋ชจ๋ธ์„ ํ”„๋กœ๋•์…˜์— ์ง์ ‘ ๋นŒ๋“œ ๋ฐ ์ˆ˜์‹ ํŒŒ๋ผ๋ฏธํ„ฐ ์„œ๋น™ ์ตœ์ ํ™” ์ดํ–‰
  • Core DB ํ†ต์‹  ์ตœ์†Œํ™” ๋ฐ ํŠธ๋žœ์žญ์…˜/๋กœ๊ทธ ๋ฐ์ดํ„ฐ ์ ์žฌ ๋ ˆ์ด์–ด ๋ถ„๋ฆฌ๋ฅผ ํ†ตํ•ด ์—”์ง„ ํ•ต์‹ฌ ๋กœ์ง์˜ ํ‰๊ท  ์—ฐ์‚ฐ ์†๋„๋ฅผ ๊ธฐ์กด ๋Œ€๋น„ 40๋ฐฐ ํ–ฅ์ƒ
  • React ๋ฐ ExpressJS ๊ธฐ๋ฐ˜์˜ ๋ฐ์ดํ„ฐ ๊ฒ€์ฆ/๊ฐ€๊ณต ์ „์šฉ ๊ณ ๋„ํ™” ์–ด๋“œ๋ฏผ ํ”Œ๋žซํผ์„ ์‹ ๊ทœ ๊ตฌ์ถ•ํ•˜์—ฌ ๋„๋ฉ”์ธ ์—ฐ๊ตฌ์›์˜ ์ˆ˜๋™ ์ˆ˜์ง‘ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ž๋™ํ™”ํ•˜๊ณ  ์—…๋ฌด ์†Œ์š” ์‹œ๊ฐ„์„ 85% ์ ˆ๊ฐ
ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์•ฑ ๊ณ ๊ฐ ๋ชจ๋‹ˆํ„ฐ๋ง / CRM ํ”„๋กœ์ ํŠธ
Full-Stack Engineer
2019.11 ~ 2020.03
  • ๋Œ€๊ทœ๋ชจ ํƒ€๊ฒŸ ๋งˆ์ผ€ํŒ… ํ‘ธ์‹œ(Push)๋กœ ์ธํ•œ ์ˆœ๊ฐ„์  ๋Œ€์šฉ๋Ÿ‰ ํŠธ๋ž˜ํ”ฝ ํญ๋ฐœ(Thundering Herd)์— ๋Œ€์‘ ๊ฐ€๋Šฅํ•œ ๋”ฅ๋งํฌ ๋ผ์šฐํŒ… ์ฒด๊ณ„ ๋ฐ ์œ ์—ฐํ•œ ๋น„์ฆˆ๋‹ˆ์Šค ์ฝ”๋“œ ๊ฐœ๋ฐœ
  • ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์•ฑ ์›น๋ทฐ์˜ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜ ๋ฐฉ์ง€ ๋ฐ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด React ์•„ํ‚คํ…์ฒ˜ ๋ฆฌํŒฉํ† ๋ง ๋ฐ ์—์…‹ ์ตœ์ ํ™”(Code Splitting) ๋ฆฌ๋“œ
  • ํด๋ผ์ด์–ธํŠธ ์—๋Ÿฌ ๋ฐ”์šด๋”๋ฆฌ(Error Boundary) ๊ตฌ์ถ•์„ ํ†ตํ•ด ๋น„์ •์ƒ์ ์ธ ์ง„์ž… ๊ฒฝ๋กœ ๋ฐ ์˜ˆ์™ธ ์ƒํ™ฉ์—์„œ์˜ ์•ฑ ํฌ๋ž˜์‹œ์œจ ์ตœ์†Œํ™”

๋น„๋งํฌํ—ฌ์Šค์ผ€์–ด & ํ…์Šคํ† ๋ฆฌ

์˜๋ฃŒ ๋ฐ AI ์ฑ„ํŒ… ๋น„์ฆˆ๋‹ˆ์Šค ๊ธฐ๋ฐ˜์˜ ์ดˆ๊ธฐ ์Šคํƒ€ํŠธ์—…์—์„œ ๋ฐ์ดํ„ฐ ์ธํ”„๋ผ ์ดˆ๊ธฐ ๋นŒ๋”ฉ๊ณผ ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜ ๊ณ ๋„ํ™”๋ฅผ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

Backend / Data Engineer
์˜๋ฃŒ๊ธฐ๊ธฐ ๋ฐ ๊ฑด๊ฐ•๊ฒ€์ง„ ๊ฒฐ๊ณผ ๋ฐ์ดํ„ฐ ๊ฒ€์ฆ ๋ฐ ์šด์˜ ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ•
PM & Full-Stack Engineer
2019.08 ~ 2019.10
  • ๋ฌผ๋ฆฌ ์˜๋ฃŒ๊ธฐ๊ธฐ์—์„œ ํŒŒ์‹ฑ๋œ OCR ํ…์ŠคํŠธ์˜ ๋ถˆ์™„์ „ํ•œ ๋น„์ •ํ˜• ๋ฐ์ดํ„ฐ๋ฅผ ์ •์ œํ•˜๊ณ , ๋ฐ์ดํ„ฐ ์‹ ๋ขฐ๋„๋ฅผ ๊ฒ€์ˆ˜ํ•˜๊ธฐ ์œ„ํ•œ ์ž์ฒด ๊ทœ์น™ ๊ธฐ๋ฐ˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฐ ํ†ตํ•ฉ ๊ด€๋ฆฌ ํ”Œ๋žซํผ ๊ฐœ๋ฐœ
  • ์ดˆ๊ธฐ ํ—ฌ์Šค์ผ€์–ด ์„œ๋น„์Šค์˜ ๋น ๋ฅธ ์‹œ์žฅ ๊ฒ€์ฆ(MVP)์„ ์œ„ํ•ด '๋ณ‘์›์šฉ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ โžก๏ธ ์ž์ฒด ETL ํŒŒ์ดํ”„๋ผ์ธ โžก๏ธ ๊ณ ๊ฐํ–ฅ ๋ชจ๋ฐ”์ผ ์›น ์•ฑ'์œผ๋กœ ์ด์–ด์ง€๋Š” ์—”๋“œํˆฌ์—”๋“œ ๋ฐ์ดํ„ฐ ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„ ๋ฐ ๋Ÿฐ์นญ ๋ฆฌ๋“œ
์‚ฌ๋‚ด ์ฝ”์–ด ์„œ๋น„์Šค ๊ตฌ์กฐ ๋ถ„์„ ๋ฐ ๋ ˆ๊ฑฐ์‹œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์•ˆ์ •ํ™” ์„ค๊ณ„
Backend Developer
2018.12 ~ 2019.07
  • ๊ธฐ์กด ๋ณต์žก๋„๊ฐ€ ๋†’์€ ๋ ˆ๊ฑฐ์‹œ ์Šคํƒ์˜ ์žฅ์•  ๋ฆฌ์Šคํฌ๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•ด ReactJS ๋ฐ ExpressJS ๋„์ž…์„ ๊ณจ์ž๋กœ ํ•˜๋Š” ์ ์ง„์  ์•„ํ‚คํ…์ฒ˜ ์ „ํ™˜ ์ „๋žต ์ˆ˜๋ฆฝ ๋ฐ ์ธํ”„๋ผ ๋ณ‘๋ชฉ ๋ถ„์„
  • ์‹ ๊ทœ ๋น„์ฆˆ๋‹ˆ์Šค ๋ชจ๋ธ ๋ฐœ๊ตด์„ ์œ„ํ•œ ๋Œ€๋Ÿ‰ ๋ฉ”์‹œ์ง• ์—ฐ๋™ ์•ฑ ๋“ฑ ์†Œ๊ทœ๋ชจ ํ•ต์‹ฌ ํ”„๋กœํ† ํƒ€์ž… ์„œ๋น„์Šค๋ฅผ ๋‹จ๊ธฐ๊ฐ„์— ์•ˆ์ •์ ์œผ๋กœ ์„ค๊ณ„ ๋ฐ ํ”„๋กœ๋•์…˜ ๋ฆด๋ฆฌ์ฆˆ

๐Ÿš€ Freelancer & Side Projects

์—ฌ๋Ÿ์‹œ๋„๋ฐฐ (B2C & B2B Match Platform)

Lead Freelancer
๊ณ ๊ฐ-์ž‘์—…์ž ๋งค์นญ ํ”Œ๋žซํผ ์ตœ์‹ ํ™” ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ ๋ฐฐํฌ ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ•
PM & Full-Stack Architect
2025.08 ~ 2025.10
  • ์‹ค์‹œ๊ฐ„ ๊ฒฌ์  ์š”์ฒญ ๋ฐ ๋งค์นญ ํŠธ๋ž˜ํ”ฝ ์ง‘์ค‘ ์‹œ์˜ ๋ณ‘๋ชฉ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด NextJS ๋ฐ NestJS ๊ธฐ๋ฐ˜์˜ ๋น„๋™๊ธฐ ์ด๋ฒคํŠธ ํ•ธ๋“ค๋ง ๊ตฌ์กฐ๋ฅผ ๋ฐ˜์˜ํ•œ ์ฐจ์„ธ๋Œ€ ํ”Œ๋žซํผ ๋ฐฑ๋ณธ ์„ค๊ณ„
  • ์ง€์† ๊ฐ€๋Šฅํ•œ ํ”„๋กœ๋•์…˜ ๋ฐฐํฌ ์•ˆ์ •์„ฑ ํ™•๋ณด๋ฅผ ์œ„ํ•ด AWS ์ธํ”„๋ผ ํ™˜๊ฒฝ ์œ„์— Docker ์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜์„ ๋„์ž…ํ•˜๊ณ , ๋ฐฐํฌ ํ”„๋กœ์„ธ์Šค ์ž๋™ํ™”๋ฅผ ํ†ตํ•ด ํœด๋จผ ์—๋Ÿฌ ์ฐจ๋‹จ ๋ฐ ์ธํ”„๋ผ ๊ฒฉ๋ฆฌ์„ฑ ํ–ฅ์ƒ

์˜คํ›„ (Senior Healthcare App)

Mobile Application Lead
์‹œ๋‹ˆ์–ด ๊ฑด๊ฐ• ๋ชจ๋‹ˆํ„ฐ๋ง ์•ฑ ์ฝ”์–ด ๋กœ์ง ๋ฐ ์„ผ์„œ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์—”์ง„ ์ตœ์ ํ™”
App Developer
2025.07 ~ 2025.09
  • Flutter ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์Šค๋ ˆ๋“œ ์ œ์–ด๋ฅผ ํ†ตํ•ด ์‹œ๋‹ˆ์–ด ์‚ฌ์šฉ์ž์˜ ํ—ฌ์Šค์ผ€์–ด ๋ฐ์ดํ„ฐ ์œ ์‹ค์„ ๋ฐฉ์ง€ํ•˜๋Š” ๋กœ์ปฌ-์›๊ฒฉ ๊ฐ€์šฉ์„ฑ ๋™๊ธฐํ™” ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์•„ํ‚คํ…์ฒ˜ ์ˆ˜๋ฆฝ
  • ๋””๋ฐ”์ด์Šค ๋ฐฐํ„ฐ๋ฆฌ ์†Œ๋ชจ ์ตœ์ ํ™” ๋ฐ ๋ฉ”์ธ UI ์Šค๋ ˆ๋“œ ๋ณ‘๋ชฉ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด, ๊ฐ€์†๋„ ์„ผ์„œ์˜ ์›์‹œ ๋ฐ์ดํ„ฐ(Raw Data) ์ŠคํŠธ๋ฆผ์„ ์ „์ฒ˜๋ฆฌํ•˜๊ณ  ํ™œ๋™ ์ ์ˆ˜๋กœ ๊ณ„๋Ÿ‰ํ™”ํ•˜๋Š” ๊ณ ์„ฑ๋Šฅ ์—ฐ์‚ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌํ˜„

Grablo (No-code IoT Controller Builder)

Lead Architect Freelancer
๊ธ€๋กœ๋ฒŒ ํƒ€๊ฒŸ ๋…ธ์ฝ”๋“œ IoT ํ”Œ๋žซํผ ํด๋ผ์šฐ๋“œ ์ธํ”„๋ผ ๋ฌด์ค‘๋‹จ ์•ˆ์ •ํ™” ์ž๋ฌธ
Lead Architect
2023.12 ~ 2026.01
  • ๊ธ€๋กœ๋ฒŒ ๋ผ์ด๋ธŒ ์„œ๋น„์Šค์˜ ๊ฐ€์šฉ์„ฑ์„ ์œ ์ง€ํ•˜๋ฉฐ Google Cloud Platform(GCP) ๋‚ด GKE(Google Kubernetes Engine) ํ™˜๊ฒฝ์œผ๋กœ ์‹œ์Šคํ…œ์„ ์ „ํ™˜ํ•˜๋Š” ๊ณ ์œ„ํ—˜ ๋ฌด์ค‘๋‹จ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ „๋žต ์ˆ˜๋ฆฝ ๋ฐ ๊ธฐ์ˆ  ์ง€์›
  • ๋Œ€๊ทœ๋ชจ IoT ๊ธฐ๊ธฐ ์ปค๋„ฅ์…˜ ๋ฐ ๊ธ€๋กœ๋ฒŒ ์œ ์ € ์š”์ฒญ ์ฒ˜๋ฆฌ๋ฅผ ๊ฐ๋‹นํ•˜๊ธฐ ์œ„ํ•ด ๋ฐฑ์—”๋“œ API ๋ ˆ์ด์–ด ๋ ˆ์ดํ„ด์‹œ ๊ฐœ์„ , ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ ์ตœ์ ํ™” ๋ฐ ์ˆ˜ํ‰์  ํ™•์žฅ(HPA) ์•„ํ‚คํ…์ฒ˜ ์–ด๋“œ๋ฐ”์ด์ง• ์ˆ˜ํ–‰

Dabinsa (Mobile App)

Full-Stack Developer
B2C ์„ ๋ฌผ/๋‹ต๋ก€ํ’ˆ ๋ฆด๋ฆฌ์ฆˆ ์„œ๋น„์Šค ํ”„๋กœํ† ํƒ€์ดํ•‘ ๋ฐ ์ธํ”„๋ผ ๊ตฌ์ถ•
PM & Full-Stack Engineer
2022.05 ~ 2023.05
  • ์•„์ด๋””์—์ด์…˜ ๋‹จ๊ณ„๋ถ€ํ„ฐ ์ฐธ์—ฌํ•˜์—ฌ ํฌ๋กœ์Šค ํ”Œ๋žซํผ(Flutter/SvelteJS) ๋ชจ๋ฐ”์ผ ๊ตฌํ˜„์ฒด ๋ฆด๋ฆฌ์ฆˆ๊นŒ์ง€ ์ „์ฒด ์ œํ’ˆ ์ƒ์• ์ฃผ๊ธฐ(Product Lifecycle) ๊ตฌ์กฐ ์„ค๊ณ„ ์ด๊ด„
  • ํŠธ๋žœ์žญ์…˜ ์•ˆ์ „์„ฑ์„ ๊ณ ๋ คํ•œ Oracle ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ ์„ค๊ณ„ ๋ฐ ๋ฐฑ์—”๋“œ ์—ฐ๋™, ํด๋ผ์šฐ๋“œ ์„œ๋ฒ„ ํ™˜๊ฒฝ ํ™˜๊ฒฝ ๋ฐฐํฌ๋ฅผ ์ „๋‹ดํ•˜์—ฌ ์ œํ’ˆ์˜ ์„ฑ๊ณต์ ์ธ ์‹œ์žฅ ์•ˆ์ฐฉ ์ง€์›

Vectorspace (SNS App)

Full-Stack Engineer
๋ ˆ๊ฑฐ์‹œ ๋ฐฑ์—”๋“œ API ์•„ํ‚คํ…์ฒ˜ ์ตœ์ ํ™” ๋ฐ ๋‚ด๋ถ€ ์šด์˜ ์‹œ์Šคํ…œ ํ†ตํ•ฉ
PM & Full-Stack Engineer
2022.08 ~ 2022.12
  • ๋น„๊ตฌ์กฐํ™”๋œ ๊ตฌ๋ฒ„์ „ ๋ ˆ๊ฑฐ์‹œ ์†Œ์Šค์ฝ”๋“œ์˜ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๋ ˆ์ด์–ด๋ฅผ ๋ฆฌํŒฉํ† ๋งํ•˜๊ณ , NestJS API ์•„ํ‚คํ…์ฒ˜์˜ ์•ˆ์ •์„ฑ์„ ๊ณ ๋„ํ™”ํ•˜์—ฌ ๋Ÿฐํƒ€์ž„ ํฌ๋ž˜์‹œ์œจ ๊ฐ์†Œ ๋ฐ Swagger ๊ธฐ๋ฐ˜ API ๋ช…์„ธ ์ž๋™ํ™” ์ฒด๊ณ„ ์ •๋ฆฝ
  • ๋‚ด๋ถ€ ์šด์˜ ๊ณต์ˆ˜๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ณ  ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋กœ์šฐ์ฝ”๋“œ ํˆด(Retool) ๊ธฐ๋ฐ˜์˜ ์‚ฌ๋‚ด ๋ฐ์ดํ„ฐ ์šด์˜ ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ์—ฐ๋™ํ•˜์—ฌ ๋ฐฑ์˜คํ”ผ์Šค ์—…๋ฌด ํšจ์œจ์„ฑ ๊ฐœ์„ 

๋ฆฌ์–ผ๋ฆฌํ‹ฐ๋งค์ง (Gaming Studio)

Frontend Engineer
๊ธ€๋กœ๋ฒŒ ๊ฒŒ์ž„ ๊ณต๊ธ‰ ๋ฐ ํผ๋ธ”๋ฆฌ์…” ์šด์˜ ์–ด๋“œ๋ฏผ ์›น ํ”Œ๋žซํผ ๊ฐœ๋ฐœ ์ง€์›
Frontend Engineer
2021.08 ~ 2021.12
  • ๋Œ€๊ทœ๋ชจ ๊ฒŒ์ž„ ํผ๋ธ”๋ฆฌ์…” ๊ฐ€์‹œ์„ฑ์„ ํ™•๋ณดํ•˜๊ธฐ ์œ„ํ•ด ๋Œ€์šฉ๋Ÿ‰ ๋กœ์šฐ(Row) ๋ฐ์ดํ„ฐ ์ ์žฌ ์‹œ์—๋„ ๋ธŒ๋ผ์šฐ์ € ๋ Œ๋”๋ง ์ €ํ•˜๊ฐ€ ์—†๋Š” ๊ฐ€์ƒํ™” ๊ธฐ์ˆ  ๋ฐ ๊ณ ์„ฑ๋Šฅ React ์–ด๋“œ๋ฏผ ์ปดํฌ๋„ŒํŠธ ์•„ํ‚คํ…์ฒ˜ ๊ฐœ๋ฐœ ๊ตฌํ˜„
  • ์‚ฌ๋‚ด ํ”„๋ก ํŠธ์—”๋“œ ์ƒ์‚ฐ์„ฑ ํ–ฅ์ƒ์„ ์œ„ํ•ด UI ์ผ๊ด€์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ•ต์‹ฌ ์ปดํฌ๋„ŒํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค๊ณ„

๐Ÿ› ๏ธ Skills & Tools (Production Proven)

์‹ค์ œ ์„œ๋น„์Šค ์šด์˜ ํ™˜๊ฒฝ์—์„œ ๋ฐฐํฌ ๋ฐ ๋ฆฌ๋“œ ๊ฒฝํ—˜์ด ์žˆ๋Š” ๊ธฐ์ˆ  ์Šคํƒ ๋ฐ ์•„ํ‚คํ…์ฒ˜ ์œ„์ฃผ๋กœ ๊ธฐ์žฌํ–ˆ์Šต๋‹ˆ๋‹ค.

AI / LLM Engineering
LangGraph โ€ข LangChain โ€ข OpenAI/Gemini/Claude โ€ข Ollama โ€ข LlamaIndex โ€ข Torch โ€ข HuggingFace โ€ข Transformers โ€ข QLoRA โ€ข vLLM
Backend & Distributed Systems
Go (Fiber, Asynq) โ€ข NodeJS (NestJS, Express, BullMQ) โ€ข Python (FastAPI, Django, Celery)
Frontend & App
TypeScript (NextJS, Nuxtjs, React, TailwindCSS, Shadcn/UI, React Native) โ€ข Dart (Flutter)
Data & MLOps
Airflow โ€ข Databricks โ€ข Spark โ€ข Pandas โ€ข Spotfire โ€ข PowerBI โ€ข PostgreSQL โ€ข Weaviate โ€ข Chroma โ€ข Redis โ€ข Elasticsearch
Cloud & DevOps
GCP โ€ข AWS โ€ข Azure โ€ข Kubernetes โ€ข Terraform

Summary & Next Stepโ€‹

"์•„ํ‚คํ…์ฒ˜์˜ ์ตœ์ ํ™” ํšจ์œจ๊ณผ ์ธํ”„๋ผ ์‹ ๋ขฐ์„ฑ์ด ๋น„์ฆˆ๋‹ˆ์Šค์˜ ์ดˆ๊ฒฉ์ฐจ ์„ฑ์žฅ ๊ฐ€์น˜๋กœ ์ด์–ด์ง€๋„๋ก ์‹œ์Šคํ…œ์„ ์„ค๊ณ„ํ•˜๋Š” ์‹œ๋‹ˆ์–ด ํ’€์Šคํƒ ์•„ํ‚คํ…ํŠธ์ž…๋‹ˆ๋‹ค."

ํ’€๊ธฐ ์–ด๋ ค์šด ๊ณ ์œ„ํ—˜ ๊ธฐ์ˆ  ๋ถ€์ฑ„๋ฅผ B2B ๋‚ฉํ’ˆ ๋ฐ SaaS ์ „ํ™˜์ด ๊ฐ€๋Šฅํ•œ ๋…๋ฆฝํ˜• ์—”์ง„์œผ๋กœ ์ „๋ฉด ์žฌ์„ค๊ณ„ํ•ด ์™”์œผ๋ฉฐ, ์ดˆ๊ฑฐ๋Œ€ ๊ฒฝ์šฐ์˜ ์ˆ˜(2^216)๋กœ ์ธํ•œ ๊ณ„์‚ฐ ๋ถˆ๊ฐ€๋Šฅ ์˜์—ญ์„ ํœด๋ฆฌ์Šคํ‹ฑ ํ•„ํ„ฐ๋ง ์ „๋žต์œผ๋กœ ๋ŒํŒŒํ•˜๋Š” ๋“ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ตœ์ ํ™”๋ฅผ ์ฃผ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ธˆ์œต(์ธ์Šˆ์–ดํ…Œํฌยท๋งˆ์ด๋ฐ์ดํ„ฐ) ๋ฐ ํ—ฌ์Šค์ผ€์–ด์˜ ์—„๊ฒฉํ•œ ๊ทœ์ œ ํ™˜๊ฒฝ๊ณผ ์˜จํ”„๋ ˆ๋ฏธ์Šค(On-Premise) ํ์‡„๋ง ๋ฐฐํฌ ์ œ์•ฝ ์†์—์„œ๋„ ์—”์ง„ ์—ฐ์‚ฐ ์†๋„ 40๋ฐฐ ํ–ฅ์ƒ, ๋‚ด๋ถ€ ์šด์˜ ๊ณต์ˆ˜ 85% ์ž๋™ํ™” ๋“ฑ ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„๊ฐ€ ๋น„์ฆˆ๋‹ˆ์Šค ์„ฑ๊ณผ์— ์ง๊ฒฐ๋จ์„ ์ •๋Ÿ‰์ ์œผ๋กœ ์ฆ๋ช…ํ•ด ์™”์Šต๋‹ˆ๋‹ค.

๋‹จ์ผ ์ฑ…์ž„ ์›์น™(SRP) ๊ธฐ๋ฐ˜์˜ ๋ชจ๋“ˆํ™”, ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ํŒŒ์ดํ”„๋ผ์ธ, ๊ทธ๋ฆฌ๊ณ  ํƒ„ํƒ„ํ•œ ์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ๋ฌธํ™”๋ฅผ ์„ ๋„ํ•˜๋ฉฐ ๋Œ€์šฉ๋Ÿ‰ ํŠธ๋ž˜ํ”ฝ ์„œ์ง€ ์ƒํ™ฉ์—์„œ๋„ ๋ฌด๋„ˆ์ง€์ง€ ์•Š๋Š” ์‹œ์Šคํ…œ ๊ฐ€์šฉ์„ฑ์„ ์กด์ค‘ํ•ฉ๋‹ˆ๋‹ค.

์ด์ œ LLM ์‹œ๋Œ€์˜ ์ž์œจ์  ์›Œํฌํ”Œ๋กœ์šฐ(Agentic Workflow)๋ผ๋Š” ์ƒˆ๋กœ์šด ๋„์ „ ๊ณผ์ œ๋ฅผ ์•„ํ‚คํ…์ฒ˜ ๋ ˆ๋ฒจ์—์„œ ํ•จ๊ป˜ ๊ณ ๋ฏผํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์กฐ์ง์˜ ์ƒ์‚ฐ์„ฑ์„ ๋†’์ด๊ณ  ๋ฌต๋ฌตํžˆ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด ๋‚˜๊ฐ€๋Š” ๊ธฐ์ˆ  ๋ฆฌ๋”๋กœ์„œ, ํŒ€๊ณผ ํ•จ๊ป˜ ๋น„์ฆˆ๋‹ˆ์Šค์˜ ๊ฐ€์‹œ์ ์ธ ์„ฑ์žฅ์„ ์ด๋ค„๋‚ด๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.