채용공고 올리기

선민재님을 응원해보세요!

좋은 제안에 열려있어요
성실함
협업 지향
커뮤니케이션
문제 해결사
신뢰

미리보기

기본 정보

이름
선민재
직업
Software Engineer
이메일
ddol0225@gmail.com
간단 소개

다양한 분야의 사람들과 소통하는데 적극적이고, 기술적인 부분과 비즈니스적인 부분 모두를 고려하여 개발하는 소프트웨어 엔지니어 선민재입니다.

자기소개

자기소개

안녕하세요! 👋 개인의 성장은 물론 함께하는 모두의 성장을 위해 노력하는 소프트웨어 엔지니어 선민재입니다!
현재 소프트스퀘어드의 IT 작업자 매칭 플랫폼 'Gridge'의 Technical Lead을 맡고 있습니다.

이전에는 개발 부트캠프 강사 및 IT 커뮤니티 운영 경험이 존재해 개발 분야는 물론 다양한 분야의 사람들과 소통하는데 익숙합니다.

사소한 기능을 개발하더라도 기술적인 문제 뿐만 아니라 현재 비즈니스 부분에서 발생할 수 있는 임팩트를 고려하는 것에 집중하고, 이에 대해서 사내 다양한 구성원과 적극적으로 소통합니다.

백엔드 위주로 업무를 진행하고 있지만, 업무에서는 필요한 경우 프론트엔드 (웹/앱)에 대하여 직접 수정하고 프로덕션에 배포해본 경험도 가지고 있으며 사이드 프로젝트에서 Flutter 개발을 담당하기도 하였습니다.

기술 스택

기술 스택

Java, TypeScript, Spring Boot, spring-jpa, HTML/CSS, React, python3, Flutter, MySQL, AWS, Kotlin

경력

회사명

주식회사 소프트스퀘어드

직급 | 부서 | 근무 유형

Technical Lead | 프로덕트 팀 | 재직 중

근무 기간

2022.10. ~ 재직 중 (2년 8개월)

담당 업무

(현) Technical Lead

IT 프로젝트 인재 매칭/개발/관리 플랫폼 'Gridge' 시스템 개발 리드
  • Spring Boot / Java API 서버 신규 기능 개발 및 유지보수

  • Sentry 도입을 통한 오류 리포팅 시스템 도입

  • Nest.js / TypeScript API 서버 유지보수 진행

  • 내부 백오피스 웹 (React / TypeScript) 유지보수 및 신규 기능 개발


외주 프로젝트의 개발 환경 구축 및 기획, 검토, 작업자 선발 등 기술 관련 리드
  • 외주 프로젝트 웹/앱 개발 설계, 유지보수 진행

    • 전자 서명 관련 전체 플로우 초기 설계 (계약 생성 및 메일/알림톡 전송, 서명 내용 PDF화 등)

    • 교육 애플리케이션 유지보수 개발 리드

    • 기업 문서 관리 웹페이지 개발 리드

  • AWS CloudFormation을 활용한 인프라 구축

    • AWS EC2, RDS, S3, CloudFront, CodePipeline, ElastiCache 등 AWS 인프라를 CloudFormation을 사용하여 구성 진행

    • VPC를 활용한 내/외부 네트워크망 분리

사내 개발 챕터 참여를 통한 백엔드 프로젝트 개발 환경 개선
  • 기존 자체 구성 인증 모듈을 Spring Security 기반으로 전환

    • Spring Security에서 지원하지 않는 국내 주요 사용 OAuth2 로그인 (카카오, 네이버, Apple) 사전 구현을 통해 관련 로직 개발 공수 50% 이상 감소

    • 외주 프로젝트 진행 시 기존 대비 로그인/회원가입 기능 개발 공수를 80% 이상 감소

  • Docker 기반 AWS CloudWatch 로깅 시스템 적용

    • 로깅 확인을 위해서 기존에는 EC2에 접속하여 Docker 로그를 확인하여야 했으나, 사내 개발챕터 내 협업을 통하여 Docker의 awslogs 로깅 드라이버 설정을 통해 AWS CloudWatch에서 로깅을 확인할 수 있도록 개선해 기존 대비 유지보수 효율성 80% 이상 증가

  • 사내 기술 이슈 검토 및 해결

    • 사내 개발 관련 이슈 협업 요청을 통해 즉시 대응이 필요한 급건에 대하여 대응

(전) 교육/커뮤니티 팀 Education / Community Manager

교육/커뮤니티 관련 개발 시스템 구축/유지보수 및 운영
  • AI 개발 질문 봇 'CodePicker' 개발 및 유지보수

  • 개발자 역량 검증 테스트 'Gridge Test' 시스템 개발 및 유지보수

  • 교육/커뮤니티 관련 랜딩 페이지 유지보수


외부 교육 프로그램 강의 및 기획/운영
  • 자체 부트캠프 라이징 캠프 강의 및 운영, 커리큘럼 개선

  • 대한상공회의소, SK플래닛 T아카데미, 소프트스퀘어드 K-Digital Training (KDT) ASAC 웹풀스택 운영, 커리큘럼 개선


자체 커뮤니티 NE(O)RDINARY 관련 내/외부 프로그램 기획 및 운영
  • NE(O)RDINARY Hackathon 기획 및 운영

  • 수익형 앱 런칭 동아리 CMC (Central MakeUs Challenge) 운영 지원

  • 전국 대학교 연합 프로젝트 동아리 UMC (University MakeUs Challenge) 운영 지원

  • 2023 NE(O)RDINARY DEMODAY 기획/운영 참여

  • 인하대학교 창업지원단 개발자 매칭 프로그램 (나랑 팀 해 듀오, 대학원생 팀빌딩 경진대회) 개발자 매칭 부문 기획 및 운영 참여

회사명

주식회사 소프트스퀘어드

직급 | 부서 | 근무 유형

Part-Time Education Manager

근무 기간

2022.07. ~ 2022.10. (4개월)

담당 업무
라이징 프로그래머 with 영등포 SeSAC 4기 트레이너
  • Android 과정 / Server (Spring Boot, Node.js) 과정 담당

  • 6주 간 약 20명의 교육생 집중 트레이닝 및 2주 클론코딩 테스트 과정 멘토링

  • 교육 종료 후 교육생으로 구성 된 앱 런칭 프로젝트 총괄 멘토링


라이징 캠프 트레이너
  • Android 과정 / Server (Spring Boot, Node.js) 과정 담당

  • 3기수 활동, 6주 간 교육생 집중 트레이닝 및 2주 클론코딩 테스트 과정 멘토링


전국 대학교 연합 동아리 University MakeUs Challenge (UMC) 3기 트레이너
  • Android 과정 담당

  • 약 200명 이상의 동아리원 대상으로 10주간 강의 진행

프로젝트

프로젝트명

IT 프로젝트 인재 매칭/개발/관리 플랫폼 'Gridge'

소속/기관명

주식회사 소프트스퀘어드

프로젝트 기간

2023.10. ~ 진행 중

프로젝트 내용
IT 프로젝트 인재 매칭/개발/관리 플랫폼 'Gridge' 시스템 개발 리드
  • 레거시 시스템 전체 재설계 (Gridge 차세대 프로젝트)

    • 각 부서 별로 필요한 기능들을 별도 개발하는 방식으로 진행해 개발 효율성 저하, 데이터 추출 불가 등의 이슈를 겪고 있었습니다.

      • 기존 고객사, 작업자, 백오피스 API 서버의 경우 같은 DB를 사용하고 있고, 공통 로직을 사용해야 하는 부분들이 존재함에도 불구하고 모듈화 등이 되어있지 않아 신규 비즈니스 요구사항에 맞는 개발을 진행하는 데 많은 시간이 소요되었습니다.

      • 기존 웹 페이지의 경우 디자인 시스템이 명확하게 구축되지 않아 매번 컴포넌트들을 새로 만들어야 하는 이슈가 존재하였습니다.

    • 이러한 문제점을 해결하기 위하여 전체 재설계를 주도하였습니다.

      • 기존에 데이터가 없거나 더 이상 사용되지 않는 불필요한 테이블을 전부 제거하였으며 신규 비즈니스 요구사항에 맞도록 스키마 구조를 재설계하였습니다.

        • 기존 데이터베이스에서 데이터를 모두 파기하지 않고 최대한 비즈니스적으로 유의미한 데이터들은 마이그레이션하여 사용하는 부분도 고려하였습니다.

        • 현재 비즈니스 상황 대비 미래에 요구사항이 추가될 것이 예상되는 부분들은 유연하게 수정할 수 있도록 설계하였습니다.

      • API 서버의 경우 기존 Nest.js 기반의 서버는 파편화된 구조와 관련 프레임워크 개발 경험자 퇴사로 인하여 지속적인 유지보수가 어렵다고 판단하여, Spring Boot 멀티모듈 기반의 신규 프로젝트로 재작성하였습니다.

        • 자체 작성한 인증/인가 시스템을 Spring Security로 변경하고 관련 부분들을 모듈화하여 높은 유연성 및 유지보수성을 가질 수 있도록 개발하였습니다.

        • 변경 이력 추적을 위하여 Spring Data Envers를 도입하여 변경 이력 조회가 필요한 부분들을 백오피스에서 조회할 수 있도록 하고, 이를 이용해 변경을 다시 롤백할 수 있는 기능을 개발하였습니다.

    • 이를 통하여 Google 스프레드시트와 프로덕트를 함께 사용하여 파편화된 전사 프로세스의 90% 이상을 프로덕트로 이전시켰습니다.

  • Spring Boot / Java API 서버 신규 기능 개발 및 유지보수

    • MySQL 기반의 DB 활용을 위한 Spring Data JPA, QueryDSL 사용

    • API 스펙 문서 작성을 빠르게 진행하고, 프론트엔드 개발자에게 Swagger UI로 공유할 수 있도록 SpringDoc-OpenAPI 라이브러리 활용

    • 기본 회원 인증 및 개별 동작하는 3개의 페이지 별 권한 관리를 위해 Spring Security 활용

    • 데이터 생성/수정/삭제 내역 관리를 위한 Hibernate Envers 기반 Spring Data Envers 도입 및 활용

    • 리포팅 시스템 개발

    • 단일 애플리케이션에서 Gradle 멀티모듈 환경으로 전환

      • 기존 Nest.js 애플리케이션에서 페이지 별 API 애플리케이션이 별도 구현되어 있어 중복으로 재구현해야 하는 부분을 제거하여 기존 대비 데이터베이스 엔티티 및 공통 로직 활용 가능하도록 변경되어 기존 대비 개발 효율성 3배 이상 개선

  • Sentry 도입을 통한 오류 리포팅 시스템 도입

    • 기존의 경우 API 서버는 CloudWatch 기반의 단순 오류 알림, 웹은 오류 리포팅 시스템이 존재하지 않았으나 Sentry 도입을 통하여 웹/API 서버 모두 에러 발생 시 즉시 Slack 알림을 받고 어떤 에러인지 확인하여 즉시 대응 가능한 프로세스 수립

  • Nest.js / TypeScript API 서버 유지보수 진행

  • 내부 백오피스 웹 (React / TypeScript) 유지보수 및 신규 기능 개발

    • CoreUI, styled-component, React-Hook-Form, Recoil, Axios 활용

프로젝트명

전자서명 서비스 신규구축

소속/기관명

주식회사 소프트스퀘어드

프로젝트 기간

2024.05. ~ 2024.12.

프로젝트 내용
  • 개발 스택

    • 인프라

      • 공통: AWS CodePipeline (CI/CD)

      • 서버: AWS EC2, Docker-Compose

      • 웹: AWS S3 + CloudFront

    • 웹: React, TypeScript

    • 서버: Spring Boot 3, Java

  • 서비스 요구사항에 맞게 여러 형태의 사용자가 서비스에 접근할 수 있도록 Spring Security를 통한 인증/인가 로직 설계

  • 전자 서명 관련 전체 플로우 초기 설계

    • 계약 생성 및 메일/알림톡 전송, 서명 내용 PDF화, 서명 기록 등의 전자 서명 과정 전체 플로우 설계

  • 서비스를 RESTful API를 통해 활용할 수 있도록 OpenAPI 스펙 설계

프로젝트명

교육 애플리케이션 유지보수

소속/기관명

주식회사 소프트스퀘어드

프로젝트 기간

2024.04. ~ 2024.06.

프로젝트 내용
  • 개발 스택

    • 인프라

      • 공통: AWS CodePipeline (CI/CD)

      • 서버: AWS EC2, Docker-Compose

      • 웹: AWS S3 + CloudFront

    • 웹: React, TypeScript

    • 서버: Spring Boot 3, Java

    • Android/iOS: WebView를 통해 웹 애플리케이션과 통신

  • 기존 백엔드 및 웹 앱 내 코드 분석 및 최적화 필요 부분을 정리하여 초기 로딩 속도를 약 3초에서 1초로 개선

프로젝트명

개발자 역량 검증 테스트 'Gridge Test'

소속/기관명

주식회사 소프트스퀘어드

프로젝트 기간

2022.12. ~ 2023.12.

프로젝트 내용

개발자 역량 검증을 위한 테스트 운영 시스템 백엔드 개발 (NestJS / TypeScript)

  • 개발자 역량 검증의 필요성에 따라 Gridge Test가 개발되었으나, 모든 과정을 수동으로 진행하여 테스트 진행 리소스가 과다 발생하는 문제가 있어 채점을 제외한 전 과정을 자동화하였습니다.

  • Notion API, AWS SDK를 활용한 테스트 시스템 구축

    • 각 API의 Limit를 고려하여 API를 호출할 수 있도록 설계

    • 사용자의 지속 참여와 동기를 유발하고 몰입도를 높일 수 있도록 게이미피케이션 (Gamification) 전략 도입

      • GitHub Commit 메시지를 기반으로 개별 부여 된 Notion 페이지에서 다음 문제를 자동으로 받아볼 수 있는 자동 문제 전달 시스템 개발

  • Redis를 활용하여 과다 작업을 방지하기 위한 Queue 시스템 구현

Web 테스터를 위한 백엔드 서버 개발 (NestJS / TypeScript)

  • 로그인/회원가입, 글쓰기, 팔로잉 등 기본적인 SNS 서비스 API 구현

  • TypeORM을 통한 데이터베이스 활용

  • 카카오 SDK를 통한 카카오 로그인 연동 구현

서비스 인프라 구축

  • AWS EC2, RDS, Route53을 활용하여 서비스 인프라 구축

  • GitHub Action 및 AWS CodeDeploy를 활용한 CI/CD 환경 구축

프로젝트명

AI 개발 질문 봇 'CodePicker'

소속/기관명

주식회사 소프트스퀘어드 (교육/커뮤니티 팀)

프로젝트 기간

2023.02. ~ 2023.05.

프로젝트 내용

자체 커뮤니티 멤버 전용 AI 개발 질문 봇 'CodePicker' 개발 (NestJS / TypeScript)

  • Discord API를 활용하여 Discord Bot 형태로 사용자가 질문한 내용을 답변할 수 있는 시스템 개발

  • OpenAI GPT-3.5 / 4 (Chat Completions) API를 활용하여 개발에 최적화된 질문을 받을 수 있도록 처리

프로젝트명

목표 달성을 돕는 미션형 투두리스트 앱 'J력'

소속/기관명

개인

프로젝트 기간

2023.11. ~ 진행 중

프로젝트 내용

목표 달성을 돕는 미션형 투두리스트 앱 Flutter 개발

  • Google Play 스토어 / Apple App Store에서 현재 실제 서비스 진행 중

  • 기존 iOS, Android 기반 앱을 Flutter로 재개발 진행

    • Provider 라이브러리를 활용하여 MVVM 디자인 패턴 적용

    • Dio, Retrofit 라이브러리를 사용하여 REST API 연동 구현

      • Interceptor를 활용해 Access Token 만료 시 Refresh Token을 활용하여 토큰 재발급 로직 구현

    • Flutter Local Notification 라이브러리를 활용하여 Firebase Cloud Messaging 적용

    • 카카오, 애플 로그인 구현

  • 홈 화면 위젯 기능 개발

    • home_widget 라이브러리를 활용해 개발

    • Flutter 애플리케이션과 위젯 간 공통 통신 부분 개발

    • Android 네이티브 개발 필요 부분을 Kotlin 기반으로 개발

프로젝트명

가천대학교 성적 조회 애플리케이션 '가천 Grade'

소속/기관명

개인

프로젝트 기간

프로젝트 내용

가천대학교 성적 조회를 위한 Android 애플리케이션 개발

  • Kotlin으로 개발하였으며, MVVM (Model - View - ViewModel) 패턴을 활용하였습니다.

    • 별도의 OpenAPI가 제공되지 않는 구조였으므로, 패킷을 통해 인증 방법 및 데이터 조회 방법을 연구하여 개발하였습니다.

  • 재학생 팀원을 추가로 선발하여 Flutter로 전환 개발 진행 중

    • 기획, 설계 및 코드 리뷰, 프로젝트 매니징 진행

프로젝트명

블루투스 기반 물건 위치 추적 앱

소속/기관명

개인

프로젝트 기간

2020.02. ~ 2020.09.

프로젝트 내용

지인과 함께 외주를 수주받아 진행하였으며, BLE 통신 등의 핵심 로직

  • Kotlin으로 개발하였으며, MVP (Model-View-Presenter) 패턴을 활용하여 개발하였습니다.

  • Firebase Firestore 기반 회원/커뮤니티 기능 개발

  • FCM을 활용한 Push 알림 기능 개발

  • BLE 기반 외부 장치와 연결하여 기기를 제어할 수 있는 기능 개발

    • 기기 내 LED 제어 등 정해진 프로토콜에 따라 Android 기기와 BLE 기기 간 통신 구현

    • RSSI를 이용해 BLE 기기와의 거리 계산 기능 개발

프로젝트명

웹브라우저 텍스트 대치 확장 프로그램 '줄임말 변환기'

소속/기관명

개인

프로젝트 기간

2020.01. ~ 2022.11.

프로젝트 내용

Chromium 기반 브라우저에서 특정 단어와 대치되는 문장을 사전에 설정하고, 텍스트 입력 창에서 설정한 단어 입력 후 스페이스바를 누르면 자동으로 사전 설정된 문장으로 변환하는 브라우저 확장 프로그램 (VueJS, Element UI)

대외활동

활동명

지능정보통신연구실 (INC Lab.) 학부연구생

소속/기관명

가천대학교 AI/소프트웨어학부

연도

2022

내용

https://sites.google.com/gachon.ac.kr/inclab

크로스모달 학습 (Cross-modal Supervision) 기반의 Wi-Fi 센싱 프레임워크 및 응용 기술 연구

  • Raspberry Pi 4를 이용한 Wi-Fi CSI (Channel State Information) 추출 및 수집 시스템 구현

    • CSI 수집을 위한 Open-Source Library (Nexmon CSI) 빠른 설치 스크립트 제작

    • pypcap 라이브러리를 이용하여 CSI 패킷 수집 후 분석하여 필요한 부분만 추출하는 시스템 개발


IoT 정밀 측위기술 및 공간분석이론을 적용한 유아교육 공간과 유아 행동 및 발달에 대한 융합연구

  • MOT (Multi-Object Tracking) 기술을 이용하여 수집된 사람의 이동 동선 평면화 및 MySQL 공간 데이터 타입 (Spatial Data Type)을 활용한 평면 좌표 저장 및 동선 분석 시스템 구현

    • 선민재, 장정익, 남선우, 최재혁*, 차기주. 2022. 다중 객체 추적 기술을 활용한 객체 위치 데이터 분석 시스템 설계. 2022 한국차세대컴퓨팅학회 춘계학술대회: 363-366. https://www.earticle.net/Article/A412376

    • Jungik Jang, Minjae Seon, Jaehyuk Choi*, “Lightweight Indoor Multi-Object Tracking in Overlapping FOV Multi-Camera Environments”, Sensors, 2022, https://doi.org/10.3390/s22145267

    • Jung-Ik Jang, Min-Jae Seon, Seon-Woo Nam, Jaehyuk Choi*, Ki-Joo Cha, “Design of An Intelligent Indoor Location Analysis System Using Multi-Object Tracking”, Journal of Digital Contents Society - Vol. 23 , No. 8, 2022, https://doi.org/10.9728/dcs.2022.23.8.1519

활동명

TOPCIT (소프트웨어 역량 검정 시험)

소속/기관명

정보통신기획평가원

연도

2021

내용

2021년 10월 30일 16회 정기평가 응시 / 498점, 3수준

활동명

가천대학교 UMC (University MakeUs Challenge)

소속/기관명

가천대학교

연도

2021

내용

전국 대학생 연합 동아리 UMC (University MakeUs Challenge) 가천대학교 1/2기 교육팀장 역임

  • 학기 중 진행되는 부원 스터디 관리 총괄

    • Git을 처음 사용하는 챌린저들을 위해 Git에 대한 기본 사용 방법 및 협업 가이드라인을 작성하고 동아리 전체에 필수 수행 항목으로 지정하여 가천대 내 챌린저들의 Git 사용 역량을 강화시켰습니다.

    • 인스타그램 클론코딩을 통한 개발 연습 과정을 최초로 도입하였습니다.

  • 방학 중 진행되는 부원 앱 런칭 프로젝트 멘토링 진행

    • 프로젝트 진행 중 발생하는 트러블 슈팅에 대해 함께 고민하고 해결할 수 있도록 도움을 주었습니다.

  • 프로젝트 멘토링 및 질문 답변 공로를 인정받아 1기 종료 후 UMC 중앙으로부터 공로상을 수상하였습니다.

활동명

Git린이를 위한 깃린이 코스 실시간 강의 실습 멘토

소속/기관명

개인

연도

2021

내용
활동명

제 2회 전국 청소년 오픈소스 앱 공모전

소속/기관명

우분투 한국 커뮤니티, 국민대학교

연도

2016

내용
  • 2015년에 이어 우분투 한국 커뮤니티와 국민대학교가 공동 주최한 청소년 오픈소스 앱 공모전에서 Android 애플리케이션으로 개발한 '오남고등학교' 앱으로 최우수상을 수상했습니다.

활동명

제 1회 오픈소스 식단 앱 공모전 우수상

소속/기관명

우분투 한국 커뮤니티 & 국민대학교

연도

2015

내용
  • 우분투 한국 커뮤니티와 국민대학교가 공동 주최한 오픈소스 식단 앱 공모전에서 Android 애플리케이션으로 개발한 '어람중학교' 앱으로 우수상을 수상했습니다.

  • 당시 고등학생 분들이 많이 출전한 대회였으나 중학생 신분으로 공모전에 참여하여 수상하였습니다.

포트폴리오

URL

link

GitHub

깃허브
link

Medium

미디엄
link

LinkedIn

링크드인

교육

소속/기관명

가천대학교

종류 | 전공

대학교(학사) | 소프트웨어학과

재학 기간 | 재학 상태

2019.03. ~ 2023.02. | 졸업

댓글