About

Professional Summary

2021년 4월부터 웹 개발자로 일해 온 5년차입니다. React·Next.js 프런트엔드 주력으로 시작해, 현재는 필요한 데이터를 목업으로 먼저 세워 화면을 검증하고 Django API·쿼리까지 이어 붙이는 풀스택으로 범위를 넓혔습니다.

산업 AI 판독 시스템, 숙박 큐레이션 플랫폼, ITS 표준데이터 관리 시스템 세 도메인을 거치며, 국제 표준 문서나 엑셀 기능목록처럼 정형화되지 않은 요구사항을 스키마와 화면으로 옮기는 일을 반복해 왔습니다.

개선은 수치로 확인합니다. 메타클래스 목록 쿼리를 300건 기준 908쿼리·1.6초에서 4쿼리·180ms로 줄였고, 목업 시드를 수작업 49개에서 엑셀 기반 478개 자동 생성으로 바꿨습니다. 이 블로그에 적은 성과 수치에는 측정 과정을 남긴 개별 글이 근거로 달려 있습니다.


자기소개서

안녕하세요, 임효진입니다. 대학 졸업 후 사무보조 아르바이트를 하다 개발자라는 직업이 궁금해져 2019년 컴퓨터정보공학부로 편입했고, 2021년 4월 프런트엔드 개발자로 커리어를 시작해 올해로 5년차입니다.

첫 회사에서는 관세청·공항 보안 검색 판독 시스템의 프런트엔드를, 두 번째 회사에서는 숙박 큐레이션 플랫폼의 다국어·성능·웹→앱 전환을 맡았습니다. 두 번째 회사를 나온 뒤 세 번째 회사에 들어가기까지의 1년은 2인 팀으로 TripTune MVP를 만들어 출시하는 데 썼고, 그 서비스는 지금도 운영 중입니다. 현재는 표준데이터 관리 시스템에서 화면에 필요한 데이터를 목업으로 먼저 세워 검증한 뒤, Django API·쿼리까지 직접 이어 붙이고 있습니다.

일하는 방식은 세 가지입니다. 형용사 대신 실제로 한 일로 적습니다.

화면이 사용자에게 사실을 말하게 만듭니다. 잠긴 버튼에는 왜 못 누르는지를, 후보가 0건인 자리에는 그럼 어디로 가야 하는지를 화면이 답하게 합니다. 같은 데이터를 홈은 198건, 목록은 134건으로 세고 있으면 숫자를 맞추기 전에 "무엇을 그 데이터라고 부르는가"부터 정합니다. 소개 페이지가 이미 없어진 기능을 설명하고 있는 것도 같은 무게의 결함으로 봅니다.

개선은 숫자로 확인하고 회귀 테스트로 잠급니다. 메타클래스 목록 908쿼리·1.6초 → 4쿼리·180ms, 카드 목록 39 → 19쿼리처럼 전후를 재서 남깁니다. 잠글 때는 테스트를 일부러 깨뜨려 빨간불이 뜨는지 먼저 확인합니다 — 초록인데 아무것도 검증하지 않는 스펙을 여러 번 봤기 때문입니다. Playwright 시나리오 63건과 화면 136종 스윕이 지금 그렇게 굴러갑니다.

고른 이유와 버린 대안을 같이 남깁니다. 글이든 코드 주석이든 "이렇게 했다"보다 "이걸 골랐고 이유는 이거다, 대신 이건 포기했다"를 씁니다. 결정을 뒤집을 때는 날짜와 실측값을 붙여 뒤집었다고 적고, 아직 못 막은 것은 한계로 명시합니다. 다음에 이 코드를 여는 사람이 저이든 아니든, 되짚을 근거가 남아 있어야 한다고 봅니다.

프런트가 주력이고 백엔드는 넓혀가는 중입니다. 모델·쿼리 글에서 삽질과 헛짚음을 지우지 않는 건 그래서입니다.

이 블로그는 네이버 블로그(https://blog.naver.com/ggamjige8888)에서 2024년에 이사 왔습니다. 그 이전 시기의 작업은 나중에 정리해 올린 회고와 경력기술서로 남겨두었고, 글의 날짜는 실제 작업 시점을 따릅니다.


Skills

CategoryDetails
FrontendReact.js, Next.js / Recoil, Redux, Zustand, Context API / Styled Components, Tailwind CSS(v3·v4), CSS Modules / React Query, TanStack Query, SWR / JavaScript, TypeScript / HTML, CSS / Vite
BackendPython / Django, Django REST Framework / django-treebeard / Jinja 템플릿
DatabasePostgreSQL, SQLite / ORM 쿼리 최적화(N+1, prefetch)
Data VizD3.js, jsTree
Testing & DocsJest, Testing Library, Vitest, Cypress, Playwright / Storybook
Version Control & DeploymentGit / Vercel, Netlify, Render(Web·Cron)
ToolsSwagger / Slack, Notion / Figma / VSC, WebStorm, PyCharm