채용공고 올리기

최혁님을 응원해보세요!

이직/구직 중이에요

미리보기

기본 정보

이름
최혁
직업
풀스택 개발자
간단 소개

다양한 경험을 가진 개발자 최혁입니다. - SI 웹 프로젝트 (Front & MutiThread Backend 설계/개발) - 대기업 ERP 개발 - 게임회사 QA

기술 스택

기술 스택

Java, JavaScript, Vue.js, Spring, Oracle, PostgreSQL, Node.js, MSSQL, Python

경력

회사명

삼성전자

직급 | 부서 | 근무 유형

근무 기간

2017.08. ~ 2023.12. (6년 5개월)

담당 업무

SI 개발 프로젝트

  • 멀티스레드 데몬 프로젝트
  • Node.js 배치 스케쥴러 프로젝트
  • Vue.js 전환 프로젝트
  • 기타 웹 개발 프로젝트
    Skills: Java, Spring, RabbitMQ,Redis, Vue.js, JQuery, Oracle, PostgreSQL, DB2, Mapbox, Websocket
회사명

KCC

직급 | 부서 | 근무 유형

사원 | 전산실

근무 기간

2012.04. ~ 2016.04. (4년 1개월)

담당 업무

인사/구매/판매 업무 시스템 개발

  • 인사 채용관리 시스템
  • 구매 구매입찰 시스템
  • 판매 주문/채권관리 시스템

Skills: Gform(JavaScript), JQuery, Spring, Oracle

회사명

엔플루토

직급 | 부서 | 근무 유형

QA 엔지니어 | QA팀

근무 기간

2011.01. ~ 2011.12. (1년)

담당 업무
  • 게임 회사 QA 엔지니어로 게임회사에서 진행되는 설계 → 개발 → QA → 배포 프로젝트 흐름에 대한 이해
  • 테스트 주도 개발/이슈 트랙킹 관리 프로세스 경험
  • Lua Script 활용 신규 게임 엔진을 이용한 게임 기획 참여

프로젝트

프로젝트명

북미 법인 Sales Portal

소속/기관명

삼성전자

프로젝트 기간

2023.07. ~ 2023.12.

프로젝트 내용
  • 목적: 해외 대형리테일러가 사용하는 주문 웹 디자인을 ERP에서 사용자 친화적으로 변경
  • 참여인원: 풀스택 개발자 6명, 디자이너 2명, 설계자 1명
  • 역할: [풀스택 개발자 참여] 주문, My Page, ManageTeam 화면 개발
  • 기술: JSP, Java, Spring, Oracle PL/SQL
프로젝트명

물류 관제시스템 Cello

소속/기관명

삼성 SDS

프로젝트 기간

2023.01. ~ 2023.06.

프로젝트 내용
  • 목적: 구글맵 → Mapbox 전환, 지도 기반 멀티 디스플레이 컨트롤 시스템 기능 추가(웹소켓)
  • 참여인원: 풀스택 개발자 4명, 퍼블리셔 1명
  • 역할: [풀스택 개발자 참여(기여도 25%)] 화면 개발 및 배치작업 개발
  • 기술: Mapbox, Web Socket, JSP, Spring, Oracle, DB2
프로젝트명

수요예측시스템 개발

소속/기관명

삼성디스플레이

프로젝트 기간

2022.05. ~ 2022.11.

프로젝트 내용
  • 목적: AI를 활용한 시장동향 분석 및 수요 예측 웹 개발
  • 참여인원: 백엔드 개발자 1명, 프론트엔드 1명, 데이터사이언티스트 1명, 태블로 개발자 1명, 퍼블리셔 1명
  • 역할: [백엔드개발자(기여도: 100%)]신규 웹 개발 및 배치작업 개발
  • 기술: Java, Spring, Oracle, Vue.js
프로젝트명

G-EMS 원가관리 시스템

소속/기관명

삼성전자

프로젝트 기간

2021.08. ~ 2022.02.

프로젝트 내용
  • 목적: 기존 시스템에 추가기능 개발
  • 참여인원: 풀스택 개발자 10명
  • 역할: [풀스택 개발자] 물류 이송관련 시스템 개발, 웹 개발 및 배치작업 개발
  • 기술: JSP, Java, Spring, Oracle PL/SQL
프로젝트명

ADC 중국 확장 프로젝트

소속/기관명

삼성전자

프로젝트 기간

2021.02. ~ 2021.07.

프로젝트 내용
  • 목적: 중국 공장에 AI 오류 검출 프로젝트 로컬라이제이션 및 셋업
  • 참여인원: 백엔드 개발자 1명, 프론트엔드 개발자 1명
  • 역할: [백엔드 개발자] 중국 로컬라이제이션 작업, 서버 셋업 지원
  • 기술: RabbitMQ, Java, Spring, Oracle
프로젝트명

SSIT 학사관리 웹 개발

소속/기관명

삼성전자

프로젝트 기간

2020.08. ~ 2021.01.

프로젝트 내용
  • 목적: 삼성전자 공과대학 홈페이지 신규 전환 개발
  • 참여인원: 백엔드 개발자 4명, 프론트엔드 개발자 6명
  • 역할: [서브리드 프론트엔드 개발자] 공통 템플릿(페이지뷰, 그리드, 게시판) 개발, 투입인원 지원
  • 기술: Vue.js, Java, Spring, Oracle
프로젝트명

DS 카탈로그(ETL) 시스템 개발

소속/기관명

삼성전자

프로젝트 기간

2019.09. ~ 2020.07.

프로젝트 내용
  • 목적: 기존 배치 스케쥴러(Apach Nifi)를 대체할 신규 스케쥴러 웹 개발
  • 참여인원: 리드 프론트엔드 개발 1명, 리드 백엔드 개발 1명, 풀스택 개발자 2명
  • 역할: [리드 백엔드 개발자] 배치 스케쥴러 아키텍처 및 DB 설계, 코드 개발, 코딩 컨벤션 가이드
  • 기술: Vue.js, Express.js(Node.js), Redis, GraphQL, GreenPlumDB
프로젝트명

ADC 프로젝트 개발

소속/기관명

삼성전자

프로젝트 기간

2017.08. ~ 2019.08.

프로젝트 내용
  • 목적: AI를 활용한 생산불량품 사진 분석 및 처리 프로젝트 개발
  • 참여인원: 백엔드 2명, 프론트엔드 2명, AI 전문가 1명, 프로젝트 리더 2명
  • 역할: [백엔드 개발자] Multi Thread 데몬 개발, 이미지 데이터 파싱 및 AI모델 관련 기능 개발
  • 기술: RabbitMQ, Java, Spring, Oracle

교육

소속/기관명

용인송담대

종류 | 전공

대학교(전문학사) | 디지털전자과

재학 기간 | 재학 상태

2006.02. ~ 2011.02. | 졸업

소속/기관명

평생교육진흥원 학점은행제

종류 | 전공

대학교(학사) | 컴퓨터공학

재학 기간 | 재학 상태

2012.02. ~ 2017.04. | 졸업

자격증

자격증명

정보처리산업기사

점수 | 발급기관

산업기사 | 한국산업이력공단

취득연월

2013.11.

자격증명

네트워크관리사

점수 | 발급기관

2급 | 한국정보통신자격협회

취득연월

2013.09.

자격증명

SQL개발자

점수 | 발급기관

개발자 | 한국데이터산업진흥원

취득연월

2023.07.

자격증명

컴퓨터활용능력

점수 | 발급기관

1급 | 대한상공회의소

취득연월

2017.04.

자기소개

자기소개

저는 풀스택 개발자로, 2011년부터 현재까지 13년 동안 다양한 경험을 쌓아온 전문가입니다.
프론트엔드와 백엔드까지 다양한 경험을 보유하고 있습니다.
특히, 일반적인 웹개발 백엔드뿐만 아니라 멀티스레드 기반 데몬 설계와 배치스케쥴러 등과 같은 복잡한 프로그램 설계와 개발 경험이 있습니다.

Java 멀티스레드 기반 데몬 설계 개발 경험

멀티스레드 기반 데몬 설계와 개발 경험은 삼성전자 ADC 프로젝트에서 진행하였습니다

프로젝트에 백엔드 인원은 총 2명으로 서브 백엔드 개발자로 참여했지만, 프로젝트 중간에 메인 설계자가 개인 사정으로 참여하지 못해 이후 전체 AA 설계와 개발을 이어 맡아 성공적으로 마무리했습니다.

개발한 데몬은 RabbitMQ를 활용하여 AI 모델, 관리 웹 페이지와 통신하는 데몬입니다.
주요기능은 AI 사진 분류 요청, AI 모델 생성, 그리고 AI 모델 교체 작업을 수행합니다.
데몬이 돌아가는 서버의 기능을 최대한 활용하기 위해, Multi-thread 기반으로 설계되었습니다.
각 단계마다 Thread를 사용하여 병렬 처리를 하였으며, 내부 간의 이동 시에는 Java Nonblocking Queue를 활용하였습니다. 외부와의 송수신은 RabbitMQ를 통해 메시지를 주고받으면서 동작하는 데몬을 개발했습니다.

또한, 프로젝트 진행 중에는 아키텍처 이슈와 개발적으로 어려운 여러 가지 문제를 해결해야 했습니다. 예를 들어, 서버가 멈추는 경우를 대비하여 폴백 서버를 구성하고, 서브 서버를 구동하여 작업을 계속할 수 있도록 설계했습니다. 또한, 각 공장마다 데몬이 구성되어야 했고, AI 모델은 중앙 서버에 별도로 구성되어 있어서 통신에 관련된 복잡한 문제를 해결해야 했습니다. 또한, FTP 이미지를 전송하는 쪽에서는 추가 개발이 불가능하여 수신 완료 시점을 파악하는 데에도 어려움이 있었습니다. 이러한 다양한 이슈를 해결하며 프로젝트를 완수하는 데에 기여하였습니다.

Node.js 배치 스케쥴러 설계 개발 경험

Node.js 배치 스케쥴러 설계/개발은 DS 카탈로그(삼성전자 ETL 관련) 프로젝트에서 진행하였습니다.

기존 Apach Nifi 시스템을 사용하던 배치 스케쥴러의 단점을 보완해 Node.js 를 활용한 신규 배치스케쥴러를 만드는 프로젝트였습니다.

처음으로 Java가 아닌 다른 언어 Node.js(Typescript)를 이용한 프로젝트였지만, Vue.js 관련 Toy프로젝트 경험과 ADC 프로젝트의 경험을 살려 프로젝트를 성공적으로 완수 할 수 있었습니다.

기존 배치 스케쥴러는 정해진 시간에 작업을 실행하는 방식이었습니다.
기존 배치Job들은 Tree 자료 구조처럼 복잡한 관계로 구성되어 병렬로 실행되어야 하거나, 선행 배치가 완료되고 나서 후행 배치가 실행되지 않으면 잘못된 데이터가 적재되는 위험성을 가져 배치 오류가 빈번히 발생해 이튿날 개발자들이 오류 포인트를 찾고 다시 직접 배치를 일일이 돌려야하는 문제점이 있었습니다.

이를 해결하기 위해 Redis를 이용한 Pub/Sub 구조를 도입하여 작업이 즉시 실행되며, 선행 작업이 완료되지 않은 경우에는 후행 작업이 실행되지 않도록 개발했습니다. 이를 통해 복잡한 배치 Job도 효율적이고 안정적으로 처리할 수 있었습니다.

이후 충원된 개발자 2명과 함께 제가 설계한 개발 내용과 기술스택을 설명 및 공유하여 프로젝트 종료까지 성공적으로 프로젝트를 진행 완료한 경험이 있습니다.

Vue.js 프론트엔드 리드 경험

프론트엔드 리드 경험으로는 SSIT 학사 관리(삼성전자공과대학)레거시 전환 프로젝트에서 있었습니다.

기존 PHP 로 개발되어있던 웹을 Vue.js로 전환하는 프로젝트에서 프론트엔드 서브리더급으로 참여하였습니다.

Vue.js 로 전환 할때 어떤 lib 또는 기술 스택을 사용할지 리더분과 협의 후 정하여
프론트엔드 투입인원 4명 정도 인원들을 지원하며 개발한 경험이 있습니다.

메인급 프론트엔드 리더분이 공통 설계/개발을 담당하고, 저는 일반적인 페이지뷰, 그리드, 게시판 등을 먼저 개발해 타 인원들에게 어떻게 진행하면 되는지 지원하며 개발하여 프로젝트 완료한 경험이 있습니다.

사내 ERP 업무 경험 및 PM 경험

다음으로, KCC에서는 4년간 Java Spring, Weblogic, Oracle, MSSQL 등을 기반으로 사내 ERP 시스템 유지보수 및 인사/구매/판매 업무를 담당했습니다.

초창기 Oracle 서버 성능 문제로 인해 무거운 쿼리 실행 시 Live DB 서버가 멈추는 등의 이슈가 잦았습니다.

이 문제를 해결하기 위해 항상 DBA와 소통하며 쿼리 최적화에 대한 중요성을 깨달았고, 이를 통해 개발자로서 DB 지식들 간단한 쿼리 튜닝부터 테이블 구성까지 상당 부분 습득할 수 있었습니다.

마지막 1년간은 PM으로서 레거시 프로그램을 HTML5로 변환하는 프로젝트를 외부개발자 3명과 내부개발자들 소통을 담당하고 개발에 참여하며 성공적으로 수행하였습니다.

기타 경험 및 공부

게임 회사에서의 QA 엔지니어로서의 경험과 개발자 스터디 모임에서 TDD 관련 공부를 기반으로 프리랜서 경험 시작부터 현재까지 테스트 주도 개발과 클린코드를 적용하며 개발하려 노력해오고 있습니다.

저의 강점은 다양한 경험으로 인한 Insight 제공, 원활한 커뮤니케이션 능력, 그리고 새로운 기술에 대한 열정으로 회사에 긍정적인 기여를 할 수 있다고 자부합니다.

댓글