채용공고 올리기

이선주님을 응원해보세요!

INFCON 참여
이직/구직 중이에요
성실함
학습 지향
자기 주도적
열정적
리더십

미리보기

기본 정보

이름
이선주
직업
백엔드 개발자
간단 소개

Seed 단계 스타트업에서 pre-A, TIPS 선정, 250억원 투자유치 스타트업으로 성장하기까지 과정을 함께해온 4년차 백엔드 개발자입니다.

기술 스택

기술 스택

NestJS, MySQL, MongoDB, Redis, Prisma, Jest, aws-ec2, aws-rds, aws-serverless, grafana, Kafka, TypeORM

프로젝트

프로젝트명

백엔드 파트 매니징 및 협업 문화 개편

소속/기관명

지니소프트

프로젝트 기간

2024.01. ~ 진행 중

프로젝트 내용

조각 투자 도메인에 대해 개발 및 연구를 진행 중이며, 현재 백엔드 파트를 리드하여 개발 중입니다.

경험 기술

  • Back-End: Fastify GraphQL MySQL

  • Infra: AWS CDK AWS Lambda RDS

도전 과제

  • 장기적인 연구 개발이 필요한 프로젝트로, 지속 가능한 협업 문화를 구축할 필요가 있었음

  • Swagger API의 노후화로 인해 프론트엔드 팀과 빈번한 커뮤니케이션 문제가 발생

  • 기존 프론트엔드 파트와의 즉각적인 협업 방안을 모색해야 했음

  • REST API에서 GraphQL로 전환하면서 팀원의 생산성이 일시적으로 저하됨

개선 및 기여사항

  • 팀원들 서로의 도전 과제를 공유하고 품질 개선을 위해 PR을 통한 코드 리뷰 도입

  • PR 사이즈, 커밋 전략, 마음가짐 등 피드백에 대한 가이드라인 제시

  • GraphQL Schema를 명세로 활용해 Swagger API의 노후화를 방지

  • GraphQL Schema First 방식 & 데일리 스크럼 및 회고 스프린트를 통해 프론트엔드 팀과의 원활한 소통 가능

  • GraphQL 전환에 따른 생산성 저하를 방지하기 위해 Code Generator, Schema Visualizer, GraphQL IDE 등을 적극 도입하고 문서화하여 팀원들과 공유

프로젝트명

고독사 방지, 대상자-복지사 모니터링 서비스 개발 및 운영

소속/기관명

지니소프트

프로젝트 기간

2023.05. ~ 2023.07.

프로젝트 내용

누적 관리 대상자 400명 & 하루 1200건의 데이터를 수집 및 가공하여 제공하는 실시간 모니터링 서비스를 제공합니다. 사회적 고립 및 고독사 방지 솔루션을 제공합니다.

경험 기술

  • Back-End: NestJS jest MongoDB Redis BullQueue

  • Infra: OCI(Oracle Cloud Infrastructure)

도전 과제

  • 상황에 따라 다양한 상태 데이터 수집하고, 각각의 대상자에 맞춰 상태 데이터 가공

  • 대상자 특성상 인터넷이 안되는 환경을 고려해야 함

  • 시간대에 따라 사용자의 상태 데이터를 수집해야 하기 때문에, 아침/점심/저녁 시간대에 대량의 트래픽이 예상됨

개선 및 기여사항

  • 스키마가 일정하지 않은 대상자의 상태 데이터에 따라 MongoDB에서 데이터 저장 및 가공

  • SMS를 이용한 데이터 수집, 오프라인 사용자의 데이터 수집률 26% 증가

  • 특정 시간대에 발생하는 대량의 트래픽을 대응 → Redis 기반 분산 시스템 도입, 대상자 상태 수집 도메인을 분리

프로젝트명

부하 테스트를 통한 슬로우 쿼리 개선

소속/기관명

지니소프트/체플런

프로젝트 기간

2023.09. ~ 2023.11.

프로젝트 내용

등록된 상품의 날짜와 회차를 선택하여 체험을 예약할 수 있습니다. 예약 및 결제 모듈 연동과 주문서 관리, 정산 기능을 개발하였습니다.

경험 기술

  • Back-End: NestJS MariaDB

  • Infra: AWS AppRunner ECR RDS

도전 과제

  • Grafana K6를 이용하여 부하 테스트 진행

  • 상품 상세정보 페이지에서 상품 콘텐츠, FAQ, 자주묻는 질문 등을 조회하기 위한 Join으로 DB 과부하가 발생

개선 및 기여사항

  • 웹 페이지 스크롤링으로 특정 영역에 도달하면 필요로하는 정보를 쿼리할 수 있도록 개선

  • 평균 부하 테스트 결과 DB 부하를 40% 줄일 수 있었음

프로젝트명

지갑 앱내 계좌이체 및 입출금 기능 개발

소속/기관명

지니소프트/지오그룹

프로젝트 기간

2022.01. ~ 2022.06.

프로젝트 내용

누적 회원수 2800명 & 하루 평균 트랜잭션 생성 40건, 블록체인 기반 암호화폐를 실생활에서 사용할 수 있게 해주는 서비스입니다.

경험 기술

  • Back-End: NestJS MariaDB Redis BullQueue

  • Infra: EC2 RDS S3

도전 과제

  • 블록체인 트랜잭션 처리 속도는 채굴 또는 합의 알고리즘에 의해 오랜 시간이 소요됨

  • 때문에 즉각적인 응답을 받을 수 없으며, 트랜잭션 생성에 실패할 경우 입출금 동기화 문제가 발생할 수 있음

개선 및 기여사항

  • 트랜잭션 처리 상태를 추적하는 별도의 인스턴스 도입

  • 별도의 인스턴스에서 트랜잭션 상태에 대한 이벤트 메시지 발행, 메인 인스턴스(Consumer)에서 비동기 처리

  • 트랜잭션 생성 실패에 대한 롤백 로직과 장애 대응을 위한 Slack 알림 발송

경력

회사명

지니소프트

직급 | 부서 | 근무 유형

대리 | 실감서비스팀 | 재직 중

근무 기간

2021.03. ~ 재직 중 (4년)

담당 업무

포트폴리오

URL

link

깃허브

깃허브
link

기술 블로그

URL 링크
link

포트폴리오: 콘서트 예약 서비스

깃허브
link

사내 스터디 운영 (공유 자료)

깃허브

대외활동

활동명

항해 플러스 백엔드 코스 수료

소속/기관명

팀스파르타

연도

내용
개요

개발 방법론, TDD와 클린 아키텍처, 대규모 트래픽 및 장애 대응 등 백엔드 개발 전반에 걸친 실무 역량을 기르는 데 중점을 두고 있습니다.

활동 내용
  • 콘서트 예약 서비스 및 대기열 시스템 구축 (Github Repository)

  • 개발 문서: 프로젝트 마일스톤 & ERD, API 명세서 작성 및 Mock API

  • 분산 환경: 동시성 문제 분석과 제어 방법에 대한 다양한 이해

  • 대규모 트래픽: 성능 개선을 위한 대기열 시스템 개선 (feat. Redis)

  • Query Optimization: 실행 계획 분석 및 쿼리 성능 개선

  • 장애 대응: 부하 테스트를 통한 모의 훈련 진행, 장애 대처를 위한 로깅 적용

활동명

🏋️‍♀️ 웨이트 운동

소속/기관명

개인

연도

내용

경력 4년

자기소개

자기소개

"문제의 본질을 파악하고 팀과 함께 해결하는 백엔드 개발자입니다."

팀 내 개발자들의 개발 경험을 향상시키기 위해 끊임없이 고민하고 제안하는 것을 좋아합니다. 이는 나 혼자 성장하는 것이 아닌, 모두가 성장하는 경험이 저에게 더 큰 성장을 가져다 준다고 믿고 행동하고 있습니다.

이러한 과정속에서 발생한 문제점 그리고 추후 발생할 수 있는 문제점을 파악하고, 어떻게 하면 좋은 방법으로 개선할 수 있을지 고민하고 있습니다. 좋은 방법으로 개선하기 위해서는 빠르게 개발하여 배포하는 역량이 필수라고 생각합니다. 이를 위해 개발 및 배포 자동화, 보일러 플레이트 코드를 최대한 활용하고 있습니다.

자격증

자격증명

정보처리기능사

점수 | 발급기관

취득연월

2019.01.

자격증명

웹디자인기능사

점수 | 발급기관

취득연월

교육

소속/기관명

광주 전산고등학교

종류 | 전공

고등학교 | 디지털콘텐츠과

재학 기간 | 재학 상태

2014.03. ~ 2017.03. | 졸업

댓글