미리보기
기본 정보
안녕하세요, 8년 차 백엔드 개발자 장재인입니다. 다양한 서비스의 설계와 운영 경험을 바탕으로, 안정성과 확장성을 고려한 시스템 구축에 집중해왔습니다. 인증·비동기 메시징·캐시·분산 트랜잭션 등 주요 기술을 실제 서비스 환경에 적용하며, 장애 대응과 성능 개선을 반복적으로 경험해왔습니다. 사내 시스템 간 연계, 데이터 처리 흐름의 정합성 확보, 테스트 기반 문서 자동화 등 조직 내 기술 협업과 운영 효율 향상에 기여해왔습니다. 복잡한 시스템 속에서도 신뢰할 수 있는 구조를 설계하고 유지하는 일에 책임감을 갖고 임하고 있습니다.
기술 스택
Java, JPA, REST API, Spring Boot, TypeScript, AWS, rabbitmq, GitHub, NestJS, TypeORM, PostgreSQL, MySQL, Redis, GraphQL, Kotlin
경력
글로지 주식회사
백엔드리드 | 프로덕트 | 재직 중
2024.09. ~ 재직 중 (9개월)
하이브 번역관리 시스템 구축
개발 환경
mac, AWS, github, github action, code build, Docker, EKS, Argo CD, Kustomize, Datadog, Sentry, ElasticAPM, mysql, postgresql
개발 언어, 프레임워크, 라이브러리 & Third-party
Java 17, Spring Boot3, JPA, Hibernate, Querydsl, Spring Security, SAML, JWT, RabbitMQ, Rest API, Rest doc, Swagger, Spring Data Envers
SAML SSO 인증과 JWT Stateless 인증 구조를 결합하여, 사용자 인증의 신뢰성을 확보하고 권한 정보를 JWT에 포함시켜 서비스 간 일관된 인가 처리를 가능하게 함. 또한, Stateless 구조로 API 서버 확장성과 다양한 클라이언트 지원을 고려한 인증 체계를 구축 [다이어그램]
내부 시스템 간 API 통신은 JWT 기반 인증 체계를 적용해 보안성과 신뢰성을 확보 [다이어그램]
분산 환경에서 데이터 동기화 및 후처리를 위해 RabbitMQ 기반의 비동기 메시징 구조를 설계·구현 [다이어그램]
DLQ 도입으로 메시지 전송 실패 시 최대 3회 재시도 하도록 설계 [다이어그램]
업무 흐름에 따른 이벤트 트리거를 통해 Slack 및 이메일 알림을 비동기 처리하여 사용자 응답성과 시스템 부하를 최적화
테스트 코드 도입을 통해 핵심 기능의 리팩토링 및 변경 시 서비스 안정성과 유지보수 효율성을 확보
API 문서는 컨트롤러 테스트 코드 기반으로 자동 생성되도록 설계하여, 테스트 완료 여부에 따라 Swagger 문서가 보장되도록 구현. 이를 통해 문서의 정확성과 프론트엔드 협업
sentry 로그 설정 및 error 로그 webhook slack 전송하여 예외 모니터링
전반적인 api 개발 진행
데이터베이스 설계
기술 설계 문서, 인증 플로우, 메시징 구조 등을 다이어그램화하여 팀 공유 및 온보딩 문서화
주식회사 스매치코퍼레이션
없음 | 프로덕트그룹
2022.12. ~ 2024.07. (1년 8개월)
개발 환경
mac, AWS, github, CI/CD(github action),Docker,ECS, postgresql, Jira, CloudWatch
상업용 부동산 매칭 서비스 [스매치] 서버 및 내부 어드민 서버 개발(2023.7 ~ 2024.07)
개발 언어, 프레임워크, 라이브러리 & Third-party
Kotlin,Spring Boot, Graphql, Rest API, JPA, Hibernate, Querydsl, Spring Security, Redis
Kotlin + Spring Boot 기반 REST/GraphQL API 서버 개발
[Redis] 적용으로 리스트 api 요청 시 평균 10초에서 2초 미만으로 개선
[Spring Quartz] 를 활용하여 crm 예약 발송 기능을 구현
-> 기존 스케줄링 기능으로는 원하는 시간 또는 특정 시점에 발송하는 로직을 구현하기가 적합하지 않다고 판단하여 도입 ex) 유저가 가입 후 1시간이 지났을 때 24시간이 지났을 때 crm 발송
원하는 임대 조건을 입력하면 그에 해당하는 시세가 얼마인지 간단하게 알려주는 기능으로 유저의 추가 유입을 목적으로 만들었습니다.
postgis 를 활용해 역 주변 근방의 사무실과의 거리를 계산하여 추천 할 수 있도록 구현했습니다.
건물 관리/매입/매각 서비스 [빌디] 서버 및 내부 어드민 서버 개발 (2022.12 ~ 2024.07)
개발 언어, 프레임워크, 라이브러리 & Third-party
Typescript, NestJS,Rest API, Prisma,TypeORM, Websocket, Passport, KaKao Map, TypeForm-Webhook, Hyphen
ExceptionFilter 구현으로 예외 처리 및 발생한 예외들은 slack으로 전송
prisma 각 쿼리 속도 로킹 처리로 슬로우 쿼리 개선 [slow 쿼리]
-> 실행계획을 확인하여 통계정보 생성을 통해 속도 11.5초 -> 0.2초로 개선Transaction Decorator로 구현을 통해 서비스 레이어의 로직을 하나의 트랜잭션 경계로 처리
-> repository layer 에 정의된 로직을 재사용 가능하여 개발 속도 향상
이메일 로그인 및 소셜 로그인 구현 (kakao, apple - jwks-rsa 라이브러리 사용)
빌더 패턴 적용으로 복잡한 객체 생성 과정을 간결화 함으로 가독성 증진 및 유연성 확보
redis 캐싱을 통해 데이터베이스 부하 분산 및 api 속도 개선
llm 라이브러리, OepnAI 을 이용해 빌디 앱 내 Chat AI 기능 구현
-> 유저가 찜한 건물에 대해 질의를 할 수 있도록 구현하였고 데이터베이스에 있는 건물정보 및 주변 시세 데이터를 프롬프트에 삽입하여 응답하도록 세팅하여 유저들이 건물 및 부동산 관련 질의응답을 할 수 있도록 제공네이버 클라우드 내 카카오톡 알림톡 서비스 연동
어드민 인증 구현 및 api 개발
-> 인증은 jwt 방식으로 진행했으며 passport 라이브러리 사용, 권한에 따라 메뉴 접근 구분
제이스톡
리드 | 개발팀
2021.12. ~ 2022.12. (1년 1개월)
장외 주식을 앱에서 채팅으로 간편하게 거래할 수 있으며, 주식의 진위 여부 확인 및 계약서로 더 안정적으로 거래할 수 있는 앱 서비스 [제이스톡]
개발 환경
VSCode, mac, AWS, github, CI/CD(github action), mysql, Jira
AWS 인프라 구축
AWS SNS, Elastic Cache, S3, Github Action - CI/CD , Parameter Store, ec2, Security Group, Cloud front, Route 53, ELB,ECS
개발 언어, 프레임워크, 라이브러리 & Third-party
Typescript, Nestjs, Rest API, TypeORM,Passport, typeorm-transactional-cls-hooked, axios, 모두싸인, Nice 본인인증, Talk Plus, jest - e2e
ElastiCache for Redis ZSET 객체로 조회수 많은, 거래량 많은 랭킹 기능 구현
typeorm-transactional-cls-hooked 라이브러리를 활용하여 트랜잭션 관리 및 BaseRepository 상속받아 처리하여 service layer에서 repository 구현하던 부분을 repository layer로 분리하여 환경 구축
-> transactional 데코레이터 사용으로 service-layer에서 repository method 재사용 가능aws sns 와 fcm(GCM) 연동하여 앱 푸시 기능 구현 [AWS SNS]
나이스 본인인증 서버 구축하여 본인인증 진행
비대면 거래를 위한 채팅 서드파티 도입 [Talk Plus]
비대면 주식 거래 후 계약서 작성을 위해 [모두 싸인] 연동
예외 발생 시 슬랙 웹훅 처리
버즈앤비주식회사
없음 | 개발팀
2020.04. ~ 2021.11. (1년 8개월)
유튜브 크리에이터 정보를 광고주 및 기업에 제공 및 고객들이 원하는 크레에이터에게 컨택할 수 있는 [Vling] 서비스 개발
개발 환경
VSCode, Ubuntu,AWS, K8S, ELK, Circle CI/CD, Github, Jira, bitbucket, sourceTree, mongoDB
언어, 프레임워크, 라이브러리
Vanilla JS, React, node 기반 Graphql Server, cognito, Node Express, highchat(react lib)
결제 페이지 암호화 구현
AWS amplify 기능을 통해 카드번호, 유효기간, 사업자 또는 주민번호, 카드비밀번호 KMS를 통해 암호화 구현하여 결제 서버로 전송Node Express를 통해 SSR 구현
고객들이 원하는 조건의 크리에이터를 필터 한 후 AWS SES 를 통해 광고제안 메일을 발송하는 기능 구현
(주)나눔기술
사원 | 개발실
2017.06. ~ 2019.10. (2년 5개월)
개발 환경
On-premise, linux
개발 언어, 프레임워크, 라이브러리 & Third-party
Java 7, Spring FrameWork, JPA, Hibernate, Mybatis, Spring Security, Javascript, JSP, jQuery, HTML, CSS
학교안전공제회 공제급여 시스템 구축 (2018.07~2019.10)
공제회에 가입된 학교에서 학생들이 사고 발생 시 학부모 또는 담당자가 보험금 청구 및 전자 결재 승인을 통해 보험금 지급 시스템
Log4j2, AOP를 활용한 예외 로그 관리 기능 구현
로그인 Interceptor 기능 구현으로 RequestURI 와 session 존재 여부를 통해 구분하여 세션이 존재하지 않는 경우 각각의 로그인 페이지로 이동
RestAPI 개발
LH 공사 업무포탈 시스템 구축 (2017.09~2018.07)
Spring FrameWork 를 통해 서버 구축
OTP 및 SSO 모듈을 연동하여 로그인 기능 구현 및 메신저, 모바일에서 로그인 가능하도록 API 구현
단방향 해시 함수 보안 취약점 발생 해결하기 위해 pbkdf2 방식으로 암호화 변경
EAI를 통해 타 시스템과 데이터 연동 진행. 방식은 DB 방식이며 스프링 스케줄러로 배치 작업 (다중 WAS 환경이므로 특정 WAS에서만 배치가 수행되도록 Property 추가)
RestAPI 개발
포트폴리오
교육
단국대학교
대학교(학사) | 소프트웨어학과
2009.03. ~ 2016.08. | 졸업
자격증
SQLD
합격 | 한국데이터진흥원장
2016.10.
정보처리기사
합격 | 한국산업인력공단
2015.05.