Introduce.
뱅크웨어글로벌 금융 소프트웨어 1년 차 개발자 라인뱅크재팬 프로젝트 법인웹 채널 파트에서 프론트엔드 팀에 속해 React.js Sign-in/Sign-up 파트 개발, E2E 자동화 테스트 구축을 담당했습니다.
Strength.
문제 해결을 위한 빠른 기술 습득과 스펙 파악
Java와 Spring 프레임워크와 같은 백엔드 관련 기술 스택으로 입사했지만, 프로젝트 특성상 프론트엔드 개발과 테스트 자동화 구축을 담당해야 했습니다. React.js 기술을 빠르게 습득하고 프로젝트 구조를 분석하여 계좌 정보/타입 표시, 잔액 퍼센트 표시, 최초 로그인 상태 값 분리 설정과 같은 문제를 해결했습니다. 해당 문제 해결을 위해 프로젝트 Wiki에서 계좌 종류에 대한 정의 분석과 최초 로그인에 관한 권한/기능 별 Work Flow Chart 5개를 직접 그리기도 했습니다. 또한 100개의 단위테스트결과서를 비지니스 스펙과 비교 분석하여 문제점을 발견하고 현행화하는 작업을 했습니다. 경력은 1년 차이지만 10년 차의 자신감으로 문제를 두려워하지 않고 해결해 나갈 자신이 있습니다.
문제를 유형화하여 반복 작업 줄이기
Cypress E2E 자동화 테스트 구축 시 송금(대체, 당행, 타행), 반환, 거래처 추가, 2FACT 인증, 계정/계좌 유형화 관리 등 여러 금융 비즈니스 작업들을 상황별로 유형화하는 커맨드를 20개 가량 만들었습니다. 이를 통해 테스트 코드에서 반복적인 하드 코딩을 방지하고 작업자의 편의 및 실수를 방지할 수 있도록 했습니다. 반복을 최소화하는 것이 개발자의 숙명이라 생각하고 이를 실천하기 위해 항상 노력하고 있습니다.
구조화된 시스템 개선 작업
구조화되어 있지 않은 시스템에 대해서 문제점을 느끼고 이를 반드시 개선하고 있습니다. Cypress E2E 자동화 테스트 구축시 프로젝트에 사용되는 약 100개의 Rest API들을 E2E 테스트에서 타입화 시켜 API Intercept wait 커맨드에 오버로드 했습니다. 테스트 코드를 작성할 때 wait 커맨드에서 타입화 된 Rest API 목록들을 자동완성 시켜 작업 편의를 증진 시켰습니다. 또한 기존 계정과 계좌가 분리된 방식에서 이를 통합시키고 타입화 된 계정과 계좌번호 입력으로 하드코딩을 방지하고 테스트 코드 품질을 높였습니다. 이를 바탕으로 송금 전송을 타입화 시키고 입력에 맞는 수취 계좌를 자동으로 입력해주는 기능을 구현했습니다. 이처럼 기존 시스템의 문제점을 분석하고 이를 개선하는 작업에 흥미가 있습니다.