Developer Notes / Portfolio

소개보다 먼저, 도움이 되는 개발 기록을 남깁니다

theokei.com은 링크만 모아 둔 포트폴리오가 아니라, 제가 어떤 문제를 어떻게 풀고 어떤 기준으로 기술을 고르는지 정리하는 개인 운영 노트입니다. 서울에서 일하는 백엔드 중심 풀스택 개발자로서 시스템 설계, 리팩토링, 제품 구현, 운영 자동화에 대한 생각을 차분하게 쌓아 가려 합니다.

Seoul, KRBackend SpecialistTypeScript · Go · React

현재 역할

Full-Stack Developer at DoubleNC

주력 주제

Backend, APIs, Refactoring

사이트 목적

실무 판단 기준과 작업 기록 정리

Site Direction

광고보다 먼저, 읽을 이유가 있는 사이트로 운영합니다

승인 여부와 상관없이 이 사이트는 방문자가 실제로 정보를 얻고 다음 행동을 결정할 수 있는 곳이어야 합니다.

예전 구조는 제 이름, 기술 스택, 외부 링크를 빠르게 보여 주는 데에는 충분했지만, 방문자가 머물며 읽을 이유는 약했습니다. 이제는 단순 소개 랜딩이 아니라 개발자로서의 판단 기준과 경험을 구조적으로 남기는 공간으로 바꾸려 합니다.

그래서 섹션 이름부터 문장 밀도까지 전부 다시 설계했습니다. 짧은 슬로건보다 실제 문단을 우선하고, 장식보다 탐색성과 가독성을 우선합니다. 공개할 내용이 충분하지 않은 영역은 비워 두지 않고, 쓸모 있는 본문이 생겼을 때만 보여 주는 방식으로 운영할 생각입니다.

운영 원칙

  • 링크만 모아 둔 빈 포트폴리오 페이지를 만들지 않습니다.
  • 실무에 쓰기 어려운 추상 문장보다 판단 기준과 맥락을 남깁니다.
  • 준비되지 않은 섹션을 Coming Soon 상태로 오래 방치하지 않습니다.
  • 광고 위치보다 본문 흐름과 읽기 경험을 먼저 유지합니다.

이 페이지에서 바로 얻을 수 있는 것

무엇을 다루는지

백엔드 설계, 리팩토링, 배포와 운영, 제품 구현 범위를 한 번에 확인할 수 있습니다.

어떻게 일하는지

문제를 해석하고 기술을 선택하는 기준을 짧은 원칙 형태로 정리했습니다.

무엇을 쓸 예정인지

필드 노트 샘플을 통해 앞으로 어떤 종류의 글을 축적할지 미리 볼 수 있습니다.

어디로 연결되는지

연락 채널과 외부 프로필을 분리해 두어 목적에 맞게 바로 이동할 수 있습니다.

Focus Areas

집중해서 다루는 주제

특정 프레임워크 이름보다, 어떤 문제를 어떤 조건에서 푸는지가 더 중요하다고 생각합니다. 아래 네 축은 앞으로 이 사이트에서 반복해서 다룰 핵심 주제입니다.

백엔드와 API 설계

기능 구현보다 먼저 계약과 경계를 생각합니다. 잘 만든 API는 화면이 바뀌어도 오래 버틸 수 있어야 합니다.

  • 요청과 응답 계약을 먼저 정의하기
  • 변경에 강한 서비스 경계 설계하기
  • 로그와 장애 대응까지 포함해 운영 가능성 보기

리팩토링과 코드 정리

저는 개발이 끝난 뒤 코드를 다시 읽고 구조를 손보는 시간을 꽤 중요하게 생각합니다. 리팩토링은 미학이 아니라 유지 비용을 줄이는 작업이라고 봅니다.

  • 위험 구간을 먼저 분리해서 수정 범위 줄이기
  • 테스트 가능한 단위로 쪼개기
  • 이름과 구조만으로 의도를 읽히게 만들기

풀스택 제품 구현

백엔드를 중심에 두지만 제품은 결국 사용 경험까지 닿아야 완성된다고 생각합니다. 그래서 프론트엔드와 모바일도 필요한 만큼 직접 다룹니다.

  • React와 Next.js로 흐름과 화면 검증하기
  • 필요하면 모바일까지 같은 문제 맥락으로 연결하기
  • 속도보다 일관성을 우선한 UI 구조 만들기

배포와 운영 자동화

코드가 배포된 뒤 어떻게 돌고 어디서 깨질 수 있는지까지 봐야 좋은 설계라고 생각합니다. DevOps를 별도 역할이 아니라 제품 책임의 일부로 다룹니다.

  • Docker와 Nginx 기반의 배포 흐름 정리하기
  • AWS와 Vercel 환경에서의 트레이드오프 기록하기
  • CI/CD와 반복 작업을 자동화해 운영 부담 줄이기

Working Principles

작업 원칙

멋있어 보이는 답보다 오래 유지되는 답을 선호합니다. 아래 원칙들은 기술 스택이 달라도 거의 바뀌지 않는 편입니다.

Principle

작게 설계하고 빨리 검증합니다

큰 추상화로 시작하기보다 핵심 흐름을 먼저 확인하고, 검증된 부분 위에 구조를 키우는 방식을 선호합니다.

Principle

운영 가능한 구조를 먼저 생각합니다

배포 이후의 로그, 장애 대응, 설정 관리가 불편하면 설계가 끝난 것이 아니라고 봅니다.

Principle

기술 선택에는 이유를 남깁니다

새 기술을 쓰는 것보다 왜 지금 필요한지, 무엇을 포기하는지 기록하는 편이 더 중요합니다.

Principle

리팩토링은 기능 완료 이후의 사치가 아닙니다

변경 비용이 커지는 지점을 미리 정리해야 다음 기능이 덜 위험해집니다. 그래서 저는 구현과 정리를 분리하지 않습니다.

Principle

완벽한 구조보다 읽히는 구조를 택합니다

팀원이 빠르게 이해할 수 있다면 약간 투박한 코드도 괜찮다고 생각합니다. 유지보수성은 결국 읽기 비용과 연결됩니다.

Principle

배운 것은 다시 문장으로 남깁니다

지식이 머릿속에만 있으면 다음 프로젝트에서 재사용하기 어렵습니다. 이 사이트는 그 판단을 글로 남기는 저장소 역할도 합니다.

Decision Log

도구보다 판단 기준

기술 이름을 나열하는 대신, 어떤 상황에서 왜 고르는지까지 함께 적습니다. 앞으로도 새 글을 쓸 때 이 기준을 계속 보강할 생각입니다.

Backend

서비스의 중심 로직은 TypeScript와 Node.js 생태계를 기본으로 두고, 필요할 때 Go로 더 단단한 실행 경로를 선택합니다.

TypeScriptNode.jsNestJSExpressGo

Frontend & Mobile

제품 흐름을 검증하고 사용자 경험을 끝까지 확인하기 위해 React 중심의 프론트엔드와 모바일 도구도 함께 씁니다.

ReactNext.jsJavaScriptReact NativeSwiftKotlin

Infra & Delivery

운영 자동화와 배포 안정성을 위해 클라우드, 컨테이너, CI 도구를 꾸준히 다룹니다.

AWSDockerNginxGitHub ActionsVercel

Data & Persistence

서비스 성격에 따라 관계형과 문서형 저장소를 선택합니다. 데이터 모델은 처음부터 변경 가능성을 염두에 두고 만듭니다.

MySQLMongoDBJavaC++

기술을 고를 때 보는 기준

변경 비용

지금 편한 선택보다 3개월 뒤 구조를 바꿀 때 드는 비용을 먼저 생각합니다.

실행 속도와 팀 적합성

개인적으로 선호하는 도구보다 팀이 빠르게 읽고 배포할 수 있는 도구를 우선합니다.

관측 가능성

문제가 생겼을 때 어디를 봐야 하는지 빠르게 알 수 없는 구조는 좋은 선택이 아니라고 봅니다.

Recent Posts

blog.theokei.com의 최신 글

메인 사이트를 정적인 명함처럼 두지 않기 위해, 최근에 정리한 글 일부를 여기서 바로 보여 줍니다. 방문자가 지금 어떤 주제를 실제로 쓰고 있는지 한눈에 확인할 수 있게 하려는 목적입니다.

2026년 3월 7일

Spring OpenTelemetry 분산 추적

OpenTelemetry란? OpenTelemetry(OTel)는 CNCF가 관리하는 관측 가능성(Observability) 표준으로, Traces, Metrics, Logs 세 가지 신호를 통합 수집하는 벤더 중립 프레임워크입니다. Spring Boot [...]

블로그에서 읽기

2026년 3월 7일

Docker BuildKit 캐시 최적화

BuildKit이란? Docker BuildKit은 Docker 18.09에서 도입된 차세대 빌드 엔진으로, 기존 빌드 엔진 대비 병렬 빌드, 캐시 마운트, 시크릿 마운트 등 [...]

블로그에서 읽기

2026년 3월 6일

Drizzle ORM Relations 심화

Drizzle Relations란? Drizzle ORM의 Relations API는 테이블 간 관계를 TypeScript 레벨에서 선언하여 타입 안전한 JOIN 쿼리와 중첩 데이터 로딩을 가능하게 [...]

블로그에서 읽기

Blog Archive

전체 글은 blog.theokei.com에서 확인할 수 있습니다. 시스템 설계, 백엔드, 리팩토링, 운영 관련 글을 계속 쌓아 갈 예정입니다.

블로그 홈 보기

Field Notes

바로 읽을 수 있는 필드 노트

아래 글은 장식용 카드가 아니라 앞으로 이 사이트에 축적할 콘텐츠의 방향을 보여 주는 샘플입니다. 짧더라도 실무에서 다시 꺼내 볼 수 있는 문장을 남기려 합니다.

Field Notes

API를 먼저 설계할 때 보는 네 가지 기준

백엔드 작업을 시작할 때 저는 화면보다 먼저 API 계약을 확인합니다.

처음부터 모든 엔드포인트를 완벽하게 만들 수는 없지만, 최소한 어떤 행위를 제공하는지와 실패했을 때 어떤 상태를 돌려줄지는 초기에 정리해야 합니다. 이 기준이 없으면 프론트엔드와 백엔드가 각자 다른 전제를 쌓기 시작하고, 나중에는 기능보다 조율 비용이 더 커집니다.

저는 API를 설계할 때 이름, 상태 코드, 인증 경계, 확장 가능성을 함께 봅니다. 지금은 단순 목록 조회처럼 보여도 이후에 필터, 정렬, 권한, 로깅이 붙는 순간 구조가 흔들릴 수 있기 때문입니다. 작은 서비스일수록 더 빨리 계약을 글로 남겨 두는 편이 좋았습니다.

핵심 포인트

  • 요청과 응답 계약을 먼저 정리합니다.
  • 실패 시나리오를 정상 흐름과 같은 비중으로 다룹니다.
  • 미래 확장보다 현재 변경 가능성을 우선 점검합니다.

Field Notes

리팩토링을 시작하기 전에 먼저 적는 체크리스트

코드를 바로 고치기 전에 왜 위험한지부터 짧게 써 두는 습관이 있습니다.

리팩토링이 실패하는 가장 흔한 이유는 문제를 정확히 이름 붙이지 않은 채 손부터 대기 때문이라고 생각합니다. 저는 수정에 들어가기 전에 반복되는 조건문인지, 책임이 섞인 함수인지, 외부 의존성이 너무 많은 모듈인지 먼저 분류합니다. 이름이 붙으면 줄여야 할 위험도 선명해집니다.

그다음에는 테스트 가능성, 영향 범위, 롤백 방법을 봅니다. 특히 서비스 코드에서는 예쁜 구조보다 안전한 이동이 중요합니다. 그래서 큰 리팩토링도 결국은 작은 단계들의 묶음으로 나누어 진행하는 편입니다.

핵심 포인트

  • 문제를 설명하는 문장부터 적습니다.
  • 수정 순서는 가독성보다 위험도 기준으로 잡습니다.
  • 롤백 경로가 없으면 리팩토링 범위를 줄입니다.

Field Notes

사이드 프로젝트를 운영 가능한 서비스 관점으로 보는 법

혼자 만드는 프로젝트일수록 배포 이후의 관리 비용을 쉽게 잊게 됩니다.

기능이 동작하는 순간 만족하고 끝내면, 시간이 조금 지난 뒤에는 다시 손대기 어려운 프로젝트가 됩니다. 저는 개인 프로젝트라도 환경 변수 정리, 간단한 로그 정책, 배포 절차 문서화 정도는 최소 기준으로 가져가려 합니다. 그래야 나중에 다시 꺼내 봐도 어디서부터 이어야 할지 감이 남습니다.

작은 서비스에서는 오히려 과한 인프라보다 단순한 구조가 더 낫습니다. 다만 단순함이 무책임함과 같아지지 않도록, 누가 봐도 배포 흐름과 실패 지점을 파악할 수 있게 만드는 것이 중요합니다. 운영성은 규모가 커진 뒤에 붙이는 옵션이 아니라 초기에 습관처럼 심어 두는 성격에 가깝습니다.

핵심 포인트

  • 개인 프로젝트에도 최소한의 운영 규칙을 둡니다.
  • 단순한 구조와 관측 가능성은 함께 가야 합니다.
  • 배포 이후를 상상해 보면 설계 우선순위가 달라집니다.

Field Notes

풀스택 개발자로 범위를 넓힐 때 잃지 않으려는 것

프론트엔드와 백엔드를 모두 다룰수록 중심이 흐려질 위험도 같이 커집니다.

저는 스스로를 백엔드 중심 개발자로 정의하지만, 제품은 결국 사용자 경험까지 이어져야 한다고 생각합니다. 그래서 화면 작업을 할 때도 API 계약과 데이터 흐름을 함께 보고, 백엔드 작업을 할 때도 최종 사용 흐름이 어떻게 느껴질지를 계속 떠올립니다.

중요한 것은 모든 것을 깊게 아는 척하는 것이 아니라, 어디까지는 직접 책임지고 어디부터는 협업으로 풀어야 하는지 명확히 아는 일입니다. 범위를 넓히되 중심을 잃지 않는다는 말은 결국 문제를 끝까지 이해하되 해결 방식은 정직하게 선택한다는 뜻에 가깝습니다.

핵심 포인트

  • 백엔드 중심이라는 정체성은 유지합니다.
  • 사용자 흐름을 모르면 서버 구조도 쉽게 왜곡됩니다.
  • 넓은 범위는 만능이 아니라 책임의 연결입니다.

Quick FAQ

자주 다룰 질문

사이트를 처음 보는 사람이 빠르게 맥락을 잡을 수 있도록, 자주 받는 질문을 먼저 정리했습니다.

프론트엔드도 직접 하나요?

+

네. 다만 저는 자신을 백엔드 전문 개발자로 두고 있습니다. 프론트엔드는 제품 흐름을 끝까지 연결하기 위해 직접 다루는 영역에 가깝습니다.

즉, 화면을 구현할 수 있다는 사실보다 어떤 문제를 어디까지 책임질지 명확하게 보는 편입니다.

이 사이트에는 앞으로 어떤 글이 올라오나요?

+

시스템 설계, API 기준, 리팩토링 판단, 배포와 운영 경험처럼 실무에 다시 꺼내 쓸 수 있는 메모가 중심이 될 예정입니다.

짧더라도 복붙한 요약이 아니라 직접 겪으며 정리한 기준을 남기는 방향으로 운영하려 합니다.

왜 포트폴리오 사이트에 긴 문단을 넣었나요?

+

이제 이 사이트는 이름과 링크를 보여 주는 명함이 아니라, 제 판단 기준을 설명하는 문서이기도 하기 때문입니다.

방문자가 스킬 이름만 보고 떠나는 대신, 실제로 어떤 개발자인지 문장으로 파악할 수 있어야 한다고 생각했습니다.

협업이나 채용 문의는 어디로 보내면 되나요?

+

구체적인 문의는 이메일이 가장 좋고, 가벼운 연결이나 이력 확인은 LinkedIn이 편합니다.

오픈된 코드와 작업 스타일은 GitHub에서 가장 잘 보실 수 있습니다.

Contact

이런 대화라면 반갑습니다

채용, 협업, 기술 대화 모두 좋지만 아래처럼 목적이 명확할수록 더 빠르고 좋은 답을 드릴 수 있습니다.

대화 주제

  • 백엔드 구조 리뷰와 API 설계
  • 리팩토링 방향 정리와 코드 품질 개선
  • 사이드 프로젝트의 배포 전략과 운영 기준
  • 풀스택 개발 범위를 어디까지 가져갈지에 대한 이야기

연락 채널

가벼운 인사는 LinkedIn, 구체적인 문의는 이메일이 가장 좋습니다. GitHub에서는 코드와 작업 스타일을, Instagram 계정에서는 개인 로그와 개발 로그를 따로 볼 수 있습니다.

대화의 목적이 선명할수록 더 좋은 답을 드릴 수 있습니다.

Theo Kei / 고경태 / 霧山 光이 직접 작성하고 관리합니다.

Useful notes over empty noise.

© 2026 Theo Kei. All rights reserved.