2023.09.25 - 2026.08.31
디벨로켓에듀 · 스마트 훈련 플랫폼 개발팀 / 프론트엔드
LMS V2·V3 프론트엔드 신규 구축과 운영을 중심으로 통합 계정, 모집 백오피스, 기업 홈페이지, 학습 기록 제품을 개발했습니다. 기획·디자인·백엔드·인프라·운영 담당자와 기능의 책임 경계를 조율했습니다.
Resume portfolio
baekbr13@gmail.comMail백종환
Frontend Engineer
React·Next.js 기반 실서비스를 신규 구축하고 운영하며, 복잡한 상태와 실패 비용이 큰 흐름을 다뤄왔습니다.

경력 기록
경력
2023.09.25 - 2026.08.31
LMS V2·V3 프론트엔드 신규 구축과 운영을 중심으로 통합 계정, 모집 백오피스, 기업 홈페이지, 학습 기록 제품을 개발했습니다. 기획·디자인·백엔드·인프라·운영 담당자와 기능의 책임 경계를 조율했습니다.
교육
2023.10 - 2026.08
컴퓨터공학 전공 학위를 이수했습니다.
2022.10 - 2023.07
HTML, CSS, JavaScript의 동작 원리부터 React, Node.js와 Solidity를 학습하고 팀 프로젝트와 해커톤을 경험했습니다.
2013.03 졸업
기초 학력 사항입니다.
프로젝트 기록
역할·평가·영상·파일 업로드처럼 운영 중 반복해서 어긋날 수 있는 상태를 명시적인 경계와 복구 가능한 흐름으로 정리했습니다.
프로젝트 전체
학생·교강사·운영자가 함께 사용하는 LMS에서는 역할과 과정 상태에 따라 같은 기능도 접근 가능 여부와 표시 정보가 달랐습니다. 화면마다 조건문을 추가하면 권한 정책과 캐시가 서로 다른 기준을 갖기 쉬웠습니다.
제한 시간 평가는 새로고침과 뒤로가기에서 답안·현재 문제·남은 시간이 어긋날 수 있었고, 영상은 이용 증가에 따라 비용과 재생 문제가 함께 커졌습니다. 프로젝트·평가·실습에는 10GB가 넘는 파일도 사용됐습니다.
이번 프로젝트에서 정한 기준
권한과 평가 규칙을 개별 화면의 예외 처리가 아니라 역할·서버 상태·로컬 작성 상태의 경계로 관리하고자 했습니다.
영상과 업로드는 정상 경로뿐 아니라 브라우저 자원, 네트워크 실패와 화면 전환까지 고려해 운영 가능한 구조로 만드는 것을 목표로 했습니다.
해결 사례
판단 기준
ADMIN, COORDINATOR, PROFESSOR, CONTENT_MANAGER, CAREER_MANAGER, CREW, MEMBER를 중앙 설정에서 관리했습니다. 사용자 정보의 roles 배열과 우선순위를 기준으로 최초 진입 경로를 정하고, 보유 역할 사이를 명시적으로 전환하게 했습니다.
구현과 적용
공통 RoleGuard와 역할별 query cache를 적용했습니다. 다만 프론트엔드의 화면 진입 제어이며 모든 API의 최종 인가를 대신한다고 확대하지 않았습니다.
해결 사례
판단 기준
평가 시작 여부와 제한 시간은 서버의 startedAt, timeLimit과 status를 기준으로 계산했습니다. 시작 API 성공 뒤 문제를 열고, 화면 타이머는 표시를 갱신하면서 서버 상태를 주기적으로 다시 동기화했습니다.
구현과 적용
작성 중인 답변과 문제 위치는 같은 기기에서 복원할 수 있게 했습니다. 서버 자동 저장이나 파일 답안까지 완전히 복원하는 구조는 아니라는 경계도 함께 두었습니다.
해결 사례
판단 기준
ffmpeg WASM 변환 POC로 구현 가능성과 브라우저 자원 비용을 확인했습니다. 긴 변환 시간과 자원 점유를 업로더에게 전가하지 않기 위해 운영안에서는 제외했습니다.
구현과 적용
인프라 담당자가 MediaConvert·S3·CloudFront를 구성하고, 프론트엔드는 변환 상태와 결과 URL을 제품 흐름에 연결했습니다. 완료 전 MP4, 완료 후 HLS를 재생하는 fallback과 공통 플레이어 인터페이스를 구성했습니다.
해결 사례
판단 기준
영상 A에서 B로 이동한 뒤 두 contentId의 진도 요청이 함께 발생하는 문제를 Network payload로 재현했습니다. 대상이 바뀌면 이전 interval을 정리해 현재 영상 요청만 남도록 수정했습니다.
구현과 적용
10MB 미만은 일반 업로드, 그 이상은 Multipart로 분기했습니다. 1GB 초과 파일은 part 수가 약 500개 이내가 되도록 크기를 계산하고, 실패한 part만 새 서명 URL로 최대 4회 재시도했습니다.
프로젝트 전체
확인한 결과
이후의 판단 기준
복잡한 프론트엔드 문제는 조건문의 수보다 역할, 서버 상태, 로컬 작성 상태와 자원 생명주기의 경계가 불분명할 때 커졌습니다.
기술 선택에서도 구현 가능성만 보지 않고 비용이 사용자·브라우저·서버·운영 조직 중 어디에 발생하는지를 함께 판단하게 됐습니다.