Skip to content

Commit 7a490ff

Browse files
committed
refactor(resume): 공개 프로필 구조 개선
지원용 이력서보다 개인 브랜딩 프로필로 읽히도록 상단 메시지와 성과 요약을 재구성했어요. 반복을 구조로 옮기는 일하는 기준, 기술 맥락 기반 스킬, Writing & Mentoring 섹션을 추가했어요.
1 parent 9d11c15 commit 7a490ff

3 files changed

Lines changed: 206 additions & 86 deletions

File tree

resume/model/resume-data.ts

Lines changed: 64 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -5,47 +5,84 @@ import type {
55
Education,
66
Activity,
77
Certification,
8+
ResumeHighlight,
9+
WorkingPrinciple,
810
} from '@/resume/model/types';
911

1012
export const personalInfo: PersonalInfo = {
1113
name: '박은우',
1214
birthDate: '1996.07.20',
13-
position: 'Software Engineer',
14-
// keywords: 'BE, DE, Platform',
15+
position: 'Backend / Data Platform Engineer',
1516
email: 'une@kakao.com',
1617
phone: '+82 01029139706',
1718
github: 'https://github.com/dev-wooyeon',
1819
blog: 'https://ark-log.vercel.app',
1920
skillGroups: [
2021
{
21-
category: '언어',
22-
skills: ['Java'],
22+
category: 'Backend',
23+
skills: ['Java', 'Spring Boot', 'Spring Batch', 'JPA', 'QueryDSL'],
24+
description:
25+
'결제·정산·송금 도메인의 거래 상태, 정산 기준, 운영 백오피스 구현',
2326
},
2427
{
25-
category: '프레임워크',
26-
skills: ['Spring Boot', 'Spring Batch', 'JPA'],
28+
category: 'Data Platform',
29+
skills: ['MySQL', 'ClickHouse', 'Kafka', 'Flink', 'Athena'],
30+
description:
31+
'CDC 기반 분석 파이프라인, 대용량 정산 배치, 실시간 집계 실험',
2732
},
2833
{
29-
category: '데이터베이스',
30-
skills: ['MySQL', 'ClickHouse'],
31-
},
32-
{
33-
category: '데이터 파이프라인',
34-
skills: ['Kafka', 'Flink', 'Athena'],
35-
},
36-
{
37-
category: '클라우드',
38-
skills: ['AWS', 'AWS DMS', 'AWS Glue'],
39-
},
40-
{
41-
category: '자동화',
42-
skills: ['MCP/Codex'],
34+
category: 'Cloud & Automation',
35+
skills: ['AWS', 'AWS DMS', 'AWS Glue', 'Grafana', 'MCP/Codex'],
36+
description:
37+
'반복 장애 확인 절차와 운영 분석 흐름을 리포트와 자동화로 전환',
4338
},
4439
],
4540
introduction:
46-
'백엔드 엔지니어로 일하며 서비스의 완성도는 기능 수보다 데이터가 얼마나 정확하게 쌓이고, 일관된 기준으로 흐르며, 여러 팀이 믿고 사용할 수 있는 구조를 갖추는지에 달려 있다는 점을 체감했습니다. 결제·정산·IoT 도메인에서 데이터 기준을 명확히 하고 운영 가능한 구조로 바꾸는 일에 강한 몰입과 성과를 냈습니다.',
41+
'서비스의 완성도는 기능 수만으로 결정되지 않는다고 봅니다. 데이터가 정확히 쌓이고, 일관된 기준으로 흐르며, 여러 팀이 믿고 사용할 수 있어야 합니다. 저는 결제·정산·IoT 도메인에서 그런 구조를 만드는 일에 몰입해 왔습니다.',
4742
};
4843

44+
export const resumeHighlights: ResumeHighlight[] = [
45+
{
46+
label: '분석 리드타임',
47+
value: '1~2시간 -> 즉시 조회',
48+
description: '운영 DB 직접 조회와 수동 검증을 CDC 기반 분석 계층으로 전환',
49+
},
50+
{
51+
label: '백오피스 응답',
52+
value: '15,000ms -> 2,000ms',
53+
description:
54+
'병목 쿼리, N+1, 페이지네이션을 정리해 반복 조회 대기 시간 축소',
55+
},
56+
{
57+
label: '정산 데이터',
58+
value: '400만 건+',
59+
description: '반기별 사업자 구간 변경과 과거 거래 소급 정산 흐름을 자동화',
60+
},
61+
{
62+
label: '지급대행 구축',
63+
value: '30개+ 테이블 / 19개 API',
64+
description: '거래·정산·송금 책임을 분리하고 초기 고객사 연동 흐름을 검증',
65+
},
66+
];
67+
68+
export const workingPrinciples: WorkingPrinciple[] = [
69+
{
70+
title: '반복은 없애기 전에 분류합니다',
71+
description:
72+
'필요한 반복과 사람이 반복하면 위험한 절차를 구분한 뒤, 장애와 비용으로 이어지는 반복을 시스템 안으로 옮깁니다.',
73+
},
74+
{
75+
title: '기능보다 먼저 데이터 흐름을 봅니다',
76+
description:
77+
'API나 화면 단위로 문제를 닫기보다 데이터가 어디서 생기고, 어떤 기준으로 이동하며, 누가 믿고 쓰는지부터 확인합니다.',
78+
},
79+
{
80+
title: '운영자가 믿을 수 있는 기준으로 닫습니다',
81+
description:
82+
'구현이 끝났다는 말보다 운영자가 다시 확인하지 않아도 되는 상태, 장애 신호를 빠르게 구분할 수 있는 상태를 더 중요하게 봅니다.',
83+
},
84+
];
85+
4986
export const experiences: Experience[] = [
5087
{
5188
company: '모노리스',
@@ -89,7 +126,7 @@ export const experiences: Experience[] = [
89126
key: 'result',
90127
label: '성과',
91128
detail: [
92-
'분석 리드타임을 1~2시간에서 즉시 조회 가능한 수준으로 단축하고, 월 평균 4회 이상 발생하던 수동 추출·검증 작업을 사실상 제거했습니다. 분석가가 개발자 개입 없이 필요한 데이터를 직접 확인할 수 있는 기반을 마련했습니다.',
129+
'분석 리드타임을 1~2시간에서 즉시 조회 가능한 수준으로 단축했습니다. 반복 분석 요청을 Athena 조회 계층으로 옮겨, 개발자가 운영 DB에서 매번 추출하지 않아도 되는 구조로 바꿨습니다.',
93130
],
94131
},
95132
],
@@ -138,7 +175,7 @@ export const experiences: Experience[] = [
138175
key: 'result',
139176
label: '성과',
140177
detail: [
141-
'변경 범위를 도메인 단위로 예측할 수 있게 만들고 신규 파크 대응을 설정 중심으로 확장할 수 있는 기반을 마련했습니다. 서비스 중단 없이 구조 개선을 이어갈 수 있는 방향을 만들었습니다.',
178+
'변경 범위를 도메인 단위로 예측할 수 있게 정리했습니다. 신규 파크 대응은 설정 중심으로 확장할 수 있게 만들고, 기존 시스템은 중단 없이 점진적으로 전환하는 방향을 잡았습니다.',
142179
],
143180
},
144181
],
@@ -180,7 +217,7 @@ export const experiences: Experience[] = [
180217
key: 'result',
181218
label: '성과',
182219
detail: [
183-
'우선 대응이 필요한 오류를 더 빠르게 식별할 수 있게 만들고, 로깅 레벨 관리와 잠재 오류 탐지의 기반을 함께 마련했습니다.',
220+
'반복 확인하던 로그, TraceId, API 경로, 코드 링크를 하나의 리포트로 묶어 대응 우선순위 판단에 필요한 정보를 줄였습니다.',
184221
],
185222
},
186223
],
@@ -237,7 +274,7 @@ export const experiences: Experience[] = [
237274
key: 'result',
238275
label: '성과',
239276
detail: [
240-
'기능 확장과 서비스 성장에 대응할 수 있는 도메인 단위 변경 통제 구조를 확보했습니다. 고객사 초기 연동 단계부터 장애 없이 안정적으로 서비스가 운영됐고, 팀의 일관된 개발 기준을 수립했습니다.',
277+
'기능 확장과 서비스 성장에 대응할 수 있는 도메인 단위 변경 통제 구조를 확보했습니다. 초기 고객사 연동 구간에서 핵심 거래·정산 흐름이 중단 없이 운영되도록 검증 범위와 변경 통제를 관리했습니다.',
241278
],
242279
},
243280
],
@@ -444,8 +481,8 @@ export const personalProjects: PersonalProject[] = [
444481
key: 'result',
445482
label: '성과',
446483
detail: [
447-
'계층을 많이 나누는 구조보다 현재 목표와 제약에 맞는 최소 구조가 더 좋은 설계일 수 있음을 검증했습니다.',
448-
'단순 기능 구현을 넘어 스트리밍 정확성, 성능 엔지니어링, 운영 안정성, 관측성을 함께 다루는 데이터 엔지니어링 프로젝트로 발전시켰습니다.',
484+
'초기 다중 싱크 구조의 오버헤드를 확인한 뒤 ClickHouse 원본 테이블과 Materialized View 중심으로 단순화했습니다.',
485+
'기능 구현 이후 checkpoint/restart, 지연 이벤트, DLQ, ClickHouse 서빙 구조까지 검증 범위에 포함했습니다.',
449486
],
450487
},
451488
{

resume/model/types.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,18 @@ export interface PersonalInfo {
5858
export interface SkillGroup {
5959
category: string;
6060
skills: string[];
61+
description?: string;
62+
}
63+
64+
export interface ResumeHighlight {
65+
label: string;
66+
value: string;
67+
description: string;
68+
}
69+
70+
export interface WorkingPrinciple {
71+
title: string;
72+
description: string;
6173
}
6274

6375
export interface Education {

0 commit comments

Comments
 (0)