미리보기
기본 정보
함께 일하고 싶은 개발자. 김호빈입니다 :)
자기소개
[문제를 해결하는 개발자]
문제를 해결하기 위해선 문제의 본질을 파악해야 합니다.
우리가 직면한 문제가 무엇인지, 해결 방법은 어떤 것들이 있으며 우리가 할 수 있는 최선의 선택은 무엇인지 끊임없이 고민합니다.
기획자의 의도와 사용자의 요구사항을 곱씹으며 고민하여 추후 추가될 기능, 발생할 문제를 예상하여 개발합니다.
[끊임없이 성장하는 학습형 인재]
새로운 기술과 지식을 배우고 익히는 데 그치지 않고, 사내 스터디를 주도하며 팀원들과 함께 성장할 수 있도록 지식 공유에 힘씁니다.
학습한 내용을 적극적으로 나누며, 팀 전체의 기술 역량을 높이는 데 기여하고자 합니다.
스스로 배우고 탐구하는 자세로, 더 나은 개발자가 되기 위해 끊임없이 성장하는 것을 목표로 합니다.
[발자국을 남기는 개발자]
팀을 위해 미래의 나를 위해 문서를 중요하게 생각합니다. 기록과 문서화를 통해 팀이 언제든지 참고하고 발전할 수 있는 체계를 만들어, 저의 작업이 팀에 오래도록 기여하도록 하고자 합니다.
책을 읽고 공부한 내용이나 강의를 들은 것을 블로그와 노션에 기록합니다.
경력
마타에듀
사원 | 개발본부
2022.07. ~ 2024.11. (2년 5개월)
백엔드 개발팀
마타에듀는 인공지능을 통한 완벽한 개인 맞춤형 문제를 제공해주는 에듀테크 회사입니다.
백엔드 개발팀에서 아래와 같은 업무를 진행했습니다.
AI마타 학교, 선생님, 학생 도메인 관리
초기 학교 설정을 위한 대표교사의 운영자 마법사 페이지 기획 / 개발
중복을 줄이고 확장성을 위해 기존 하드코딩 되어있는 엑셀 다운로드 추상화
원활한 협업을 위해 Slack 알림 연동 및 문서화 하는 문화를 도입
학생들의 학습패턴을 분석하기 위해 Caliper Analytics 로깅 시스템 설계 및 구현
학생들에게 단계별 해설을 제공하는 ChatBot 기획 / 설계 / 개발
query 최적화 및 캐싱을 활용한 db 부하 감소
사내 서비스의 발전을 위해 스터디를 진행하였고, 개발 문화 개선을 위해 강의를 요약하여 발표하였습니다.
K8S,
LangChain, DB 스터디 진행
TDD 강의 요약 발표, 도입을 위한 문서화
postman 으로만 되어 있던 API문서를 효율적으로 관리하기 위해 swagger 도입
주식회사제릭스테크놀로지
사원 | 개발부서
2021.10. ~ 2022.01. (4개월)
웹 유지보수
php, MySQL
프로젝트
AI 디지털 교과서
마타에듀
2024.04. ~ 진행 중
[소개]
Keris와 교육부 주관으로 진행되는 500만명의 500만개의 교과서 AI 디지털 교과서 사업.
[기술스택]
Java, Spring Boot, JPA, querydsl, MySQL, MongoDB, Redis, Docker, AWS
[기여 내용]
DB 스키마 설계(기여도 30%)
데이터베이스 구조 설계 및 최적화로 학습자 데이터를 효율적으로 관리하고 조회 속도를 향상
기존 서비스를 활용하기 위해 Question, Chatbot 서버를 분리하여 MSA 서버로 구축
국가수준 학습데이터 일괄전송을 위해 다양한 xAPI 를 생성하는 로직을 추상화하여 구현
서버 환경을 AWS ECS로 구성하여 배포와 운영의 안정성을 확보
[경험과 성과]
이 프로젝트를 통해 성능 최적화의 중요성을 이해하고, 대용량 데이터를 처리하는 시스템 설계 경험을 쌓았습니다. 더불어, 클라우드 환경에서의 운영 경험을 쌓아 안정적인 배포와 모니터링 방법을 익혔습니다.
마토 프로젝트
마타에듀
2023.12. ~ 2024.07.
[소개]
학생이 문제를 풀이 도중 챗봇을 활용하여 문제풀이의 방향성을 깨닫게 해주기 위한 AI 기반 챗봇 시스템 개발
[기술 스택]
Python, FastAPI, MySQL, mongoDB, Streamlit, AWS
[기여 내용]
DB 스키마 설계 (기여도 100%)
단계별 해설을 제공하는 해설 봇과 학생이 입력한 자연어를 통해 답을 하는 챗봇으로 구분
챗봇의 기획부터 LangChain을 통한 LLM 개발
챗봇을 서비스하기 위한 FastAPI 백엔드 개발
해설 봇의 성능을 평가하기 위한 알바생들을 위한 페이지 기획 / 개발 (Streamlit)
[경험과 성과]
챗봇 프로젝트를 통해 기획부터 LangChain을 통한 LLM 개발, FastAPI 백엔드 개발까지의 경험을 쌓을 수 있었습니다. 사내 LLM 스터디를 통해 배운 내용을 바탕으로 직접 서비스를 개발하고 제공하는 경험을 얻었습니다.
유저의 클릭 이벤트 로깅 시스템
마타에듀
2023.08. ~ 2023.11.
[소개]
AI마타를 이용하는 학생들의 행동로그를 분석하기 위한 ML팀의 요구로 Caliper Analytics 로깅 시스템을 도입
[기술 스택]
JavaScript, React, AWS S3, AWS EFS
[기여 내용]
ML팀에서 EDA 하기 위한 row data를 Caliper Analytics 형식으로 수집
유저들이 상호작용 할 수 있는 모든 버튼에 event를 달아 로깅
여러개의 서버 로컬에 쌓인 로그데이터를 한데 모으기 위해 EFS에 마운트 하여 저장
[경험과 성과]
사용자들이 실제로 어떻게 사용하는지 직접 Caliper Analytics 형식으로 데이터를 쌓음으로써 ML팀이 이를 분석할 수 있도록 하였습니다. 실제로 ML팀이 이를 분석하여 데이터를 바탕으로 문제풀이 화면의 구성이 수정되는 등 사용자 경험을 개선할 수 있었습니다.
엑셀 다운로드 추상화
마타에듀
2022.12. ~ 2022.12.
[소개]
하드코딩 되어있던 여러개의 엑셀 다운로드 추상화 진행
[기술 스택]
Java, Spring Boot
[기여 내용]
어노테이션과 리플렉션을 이용하여 Excel의 헤더 Cell 생성
여러가지 데이터 포멧을 충족시키기 위해 전략 패턴을 사용
[경험과 성과]
여러가지 보고서가 추가됨에 따라 사용자가 여러가지 엑셀의 포멧으로 다운로드 받아야 했었고, 이를 매번 하드코딩으로 관리하고 있었습니다. 엑셀 다운로드 로직을 추상화하여 유지보수를 편하게 할 수 있도록 개선하였습니다.
AI마타
마타에듀
2022.10. ~ 진행 중
[소개]
학생들이 푼 수학 시험지를 기반으로 취약개념을 추출하고, 해당 개념들로 맞춤형 학습지를 제공하여 학생들의 수학 실력을 향상시켜주는 서비스
[기술 스택]
Java, Spring Boot, JPA, querydsl, MySQL, JavaScript, React, mongoDB, Redis, AWS
[기여 내용]
2023.03.22 1차 오픈
Java + Jsp로 이루어진 기존 서비스를 Spring Boot + React로 마이그레이션DB schema 설계(기여도 30%)
학교, 유저, 반, 가입 도메인 관리
초기 학교 계정 세팅을 위한 대표교사 마법사 페이지 기획 / 프론트 백엔드 개발
메인 페이지의 API 응답시간이 길고 DB의 부하가 심하여 캐싱을 통한 속도 개선
https://hobit22.github.io/posts/Cacheable/
[경험과 성과]
기존에 있던 서비스를 다른 언어로 마이그레이션하는 과정과 이를 유지보수하는 과정을 통해 소프트웨어의 유지보수는 이전과 동일한 동작을 유지하는 것이 아닌 변화하는 세상에서 유용함을 유지하는 것임을 경험했습니다.
또한 매번 이메일로 학교의 요구사항에 맞춰 선생님, 학생, 반을 생성해줘야 하는 불편함과 휴먼에러가 발생할 수 있는 불안함이 있었는데, 운영자 마법사페이지를 통해 사용자가 직접 설정할 수 있도록 하여 이를 해결했습니다.
서비스를 운영하면서 데이터가 쌓임에 따라 메인 페이지의 API 응답시간이 길고 DB의 부하가 심하여 캐싱을 통하여 속도 향상과 DB의 부하를 줄일 수 있었습니다.
기술 스택
Java, Spring Boot, JPA, querydsl, MySQL, Docker, AWS, Git
교육
스파르타코딩클럽
사설 교육 | 항해 99 6기
2022.03. ~ 2022.06. | 졸업
연희전문직업학교
사설 교육 | 웹 개발 종합반
2021.02. ~ 2021.06. | 졸업
중앙대학교
대학교(학사) | 전자전기공학부
2013.03. ~ 2021.02. | 졸업