미리보기
기본 정보
안녕하세요. 사용자 중심 개발을 지향하는 7년 차 웹 개발자 한원석입니다. 저는 백오피스 위주의 SI 웹 개발로 시작해 현재는 Web3 프론트엔드 개발자로 근무하고 있습니다. 대학교나 타 기업의 행정/관리 시스템 개발에 프론트/백엔드 구분 없이 참여해 왔으며, 이 경험을 바탕으로 Web3 프로젝트에 프론트엔드 개발자로 참여하며 프론트엔드의 전반적인 코드 룰, 구조를 개선했으며, 블록체인에 대한 개념을 공부하고 지갑을 연동해 트랜잭션을 수행하는 경험을 쌓았습니다. 항상 코드 구조의 일관성, 비효율성 개선을 추구해 팀원들과 함께 각자의 경험을 공유하고 더 나은 코드와 프로세스를 만드는 것을 좋아합니다. 또한, 내가 사용자라는 관점에서 기획자들과 원활히 협업하며, 편리하고 사용하기 쉬운 기능을 제공하기 위해 노력하고 있습니다.
기술 스택
JavaScript, TypeScript, React, Next.js, Django, Spring, MySQL
경력
(주)이노그리드
선임연구원 | Web3개발팀 | 재직 중
2023.08. ~ 재직 중 (1년 5개월)
(주)이노그리드에서는 가전제품 관련의 A사와의 Web3 관련 프로젝트를 진행하며 주로 프론트엔드 개발 업무를 맡았습니다. 고객사가 개발한 지갑 앱을 AppLink/UniversalLink 또는 WalletConnect를 통해 호출하여 지갑으로 로그인하고, 소유한 가전의 NFT를 발행하거나 소유주 이전을 위해 Approve 권한을 승인받기 위한 트랜잭션 전송과 설문 참여자들에게 제공할 hbar 리워드와 함께 컨트랙트에 설문을 등록하기 위한 트랜잭션 전송을 경험했습니다.
주요 업무
프론트엔드 개발 코드 컨벤션 및 규칙 정의
입사 당시 팀이 신설되어 코드 컨벤션 및 규칙이 부재한 상태였습니다. 이러한 상태로 프로젝트가 계속 진행될 경우 발생할 수 있는 문제를 예방하기 위해 프로젝트 표준화에 주도적으로 관여했습니다. 각 화면을 구성하는 크게 프로젝트 구조부터 화면을 구성하는 컴포넌트 레벨까지 최대한 간단히 정의함으로써, 팀원들이 통일된 코드 표준 하에 업무를 진행할 수 있었습니다. 그 결과, 새로 합류하는 팀원들은 빠르게 적응하고 생산성을 높일 수 있었습니다. 또한 이전 직장에서의 웹 개발 경험을 활용해 API 개발에도 참여함으로써 백엔드 개발자들의 업무 효율 증대와 일정 준수에 기여했습니다.
프론트엔드 배포 환경 구성
주로 인프라팀에서 AWS EC2 인스턴스를 생성하면 해당 환경에서 nginx로 React와 Next.js에서 배포할 수 있도록 환경을 구성했습니다. 프로젝트 시작시 CICD가 바로 구성되는 환경이 아니었기 때문에 팀원들이 간단하게 쉘스크립트로 배포할 수 있도록 스크립트와 문서를 제공했습니다. 이후 인프라팀과 함께 self-hosted GitLab에서의 Vercel 배포 환경을 설정하기 위해 CI 스크립트를 직접 작성해 파이프라인을 구축했습니다.
프로젝트에 적용할 새로운 기술을 학습하고 도입
하나의 프로젝트임에도 사이트가 달라 너무 많은 레포지토리로 분리해 각기 다른 코드 룰, 라이브러리 관리 방식에서 불편했던 점을 개선하기 위해 Monorepo(Nx라이브러리)를 적극 제안 후 도입했습니다. 이로 인해 모든 프론트엔드 개발 팀원이 같은 룰을 가지고 개발에 몰두할 수 있었고, 코드의 재사용성이 높아졌습니다.
(주)도울정보기술
대리 | 기술연구팀
2018.07. ~ 2023.04. (4년 10개월)
(주)도울정보기술에서는 주로 Legacy 시스템의 마이그레이션 프로젝트를 진행하며 기능 개선과 유지보수를 수행하였습니다. 이를 통해 기존 시스템의 문제점을 해결하고 성능을 향상시켜 사용자들의 작업 효율을 증대시켰습니다. 또한, 사용자 요구사항을 반영하여 유연한 개발과 수정 작업을 수행하여 고객 만족도를 높였습니다. SQL 최적화 작업을 통해 빠르고 안정적인 데이터 검색을 가능하게 하였습니다.
주요 업무
프레임워크 공통 표준/컴포넌트 개발
신규 프로젝트에서 진행될 업무를 베이스로 시스템의 전반적인 레이아웃과 공통 기능을 개발했습니다. 업무 화면을 개발하는 모든 개발 팀원들이 같은 코드 형태를 유지하도록 하기 위해 페이지의 베이스 코드 표준을 정의해 일관성 있는 코드를 유지하도록 했습니다.
프로젝트 개발 업무 화면/API 개발
각 프로젝트에서 업무 화면 UI와 백엔드 API를 설계하고 개발했습니다. 이를 통해 시스템의 CRUD 기반의 데이터 연동을 가능하게 하였으며, 사용자 경험 개선을 위한 UI 구성과 성능 최적화에 집중했습니다.
서비스 유지보수
회사 홈페이지와 개발 완료된 프로젝트에 대해 유지보수를 담당 했습니다. 발생한 이슈에 빠르게 대응해 고객의 만족도를 높이는 데 기여했습니다.
주요 프로젝트
싸이버로지텍 CLT 터미널운영시스템
소개
Flex로 개발된 항만 컨테이너 터미널 운영시스템 Legacy를 유지보수하면서 React, Springboot로 리뉴얼하는 프로젝트
기간
2022.04 ~ 2022. 10 (6개월)
기술
React
SpringBoot
Mybatis
Oracle
Flex
구성 인원
개발자 2명
담당 업무
프로젝트 메인 개발자로 참여
Flex로 개발된 Legacy 터미널운영시스템 프론트 페이지 유지보수
Spring으로 구성되있는 Legacy 터미널운영시스템 백엔드 API 개발
Legacy 시스템의 프론트 사이드를 Mui 디자인을 메인으로 하는 React로 재개발 및 공통화 작업
Legacy 시스템의 백엔드 API를 SpringBoot로 재개발
useInput 커스텀 훅을 이용한 Form 입력 관리 최적화
Context를 이용해 각 페이지별 상태값을 관리할 수 있도록 표준 개발
부산대학교 차세대 스마트 교육정보시스템
소개
부산대학교 교육정보시스템 Legacy를 리뉴얼하는 프로젝트
기간
2020.12 ~ 2021. 07 (8개월)
기술
React
Django
Docker
MsSql
GitLab
구성 인원
PM 1명 / PL 2명 / 개발자 10명이상
담당 업무
프로젝트 개발 팀원으로 참여
시스템을 구성하는 전반적인 공통 기능 개발
React로 시스템 관리자 공통(공통코드, 메뉴, 권한 등) 프론트엔드 개발
Django 프레임워크 환경에서 시스템 관리자 공통(공통코드, 메뉴, 권한 등) 백엔드 개발
비즈니스 업무 화면 개발자에 대한 기술 지원
미들웨어에서 Model, Serializer를 이용해 페이지를 구성하는 메타정보를 만들어주는 기능 개발
AUIGrid 라이브러리를 이용한 공통 그리드 컴포넌트 개발
Context를 이용해 페이지 상태값을 저장함으로써 화면이 MDI 구조를 가질 수 있도록 개발
AWS EC2 인스턴스에 설치형 GitLab을 설치하고 Gitlab-CI를 사용할 수 있는 환경 구성
Gitlab-CI를 이용한 배포 자동화 구축
Docker Portainer를 설정하고 오케스트레이션할 수 있는 환경 구성