채용공고 올리기

하성덕님을 응원해보세요!

지금 만족하고 있어요

미리보기

기본 정보

이름
하성덕
직업
프론트엔드 개발자(React)
간단 소개

-소방공무원 보수 데이터 분석 및 인사관리 통합 사업 인턴 UI/UX개선 경험과 사용자 피드백 분석 능력보유 -풍부한 사회 경험을 바탕으로 한 회사 생활 적응력 보유 -백엔드, Ai, 디자인 파트와 협업 프로젝트 경험 보유

기술 스택

기술 스택

JavaScript, jQuery, REST API, React, TailWindCSS

경력

회사명

(주)인투데이타시스템

직급 | 부서 | 근무 유형

인턴 | 개발지원

근무 기간

2021.03. ~ 2021.06. (4개월)

담당 업무

소방공무원 인사시스템 통합 사업(각 시도 별로 운영되던 소방공무원 인사시스템을 통합 하는 사업

-사용자 피드백 분석, 서비스 테스터로서 사용자 관점에서 UI/UX개선 제작 그리고 개발자와 협업을 통한 부정적인 사용자 피드백을 80% 감소
- 매주 정기회의를 진행과 프로젝트 관리를 통한 커뮤니케이션 능력과 프로젝트 관리 능력 보유

프로젝트

프로젝트명

AI 이미지 생성 및 편집 솔루션

소속/기관명

팀 프로젝트

프로젝트 기간

2024.09. ~ 2024.10.

프로젝트 내용

프로젝트: AI 이미지 생성 및 편집 솔루션
GitHub 링크: https://github.com/ImageEditSolutions
배포
링크: http://d17unb2szmg2do.cloudfront.net/
기능
시연 영상: https://www.youtube.com/watch?v=-3dAwwctEQg

팀 구성
- 프론트엔드: 2명
- 백엔드: 1명
- 디자이너: 1명
- AI 엔지니어: 2명

개인 역할: 프론트엔드

1. AI 모델과의 비동기 통신 최적화
- 비동기 API 통신: 백엔드의 AI 모델과 비동기로 연결하여 사용자 요청에 따라 이미지를 생성 및 편집하는 기능을 구현했습니다. Axios를 사용해 비동기 요청을 관리하며, 요청 중 발생할 수 있는 CORS 문제를 해결하기 위한 프록시 설정과 API 호출 간 에러 처리를 위한 custom hook을 작성하여 안정적인 데이터 통신을 보장했습니다.
- 이미지 업로드 및 다운로드 기능: 대용량 파일의 처리와 관련하여 파일 크기 제한 및 업로드 성능을 고려한 최적화 작업을 수행했습니다. 특히 파일 업로드 시 프론트엔드에서 파일 타입과 크기 제한을 사전에 설정해 불필요한 서버 요청을 줄였으며, CloudFront와의 통합을 통해 빠른 다운로드 성능을 제공했습니다.

2.프로젝트 저장 및 불러오기 기능 구현
- 상태 관리 및 데이터 지속성: 프로젝트의 진행 상황을 저장하고, 다시 불러올 수 있도록 로컬과 서버 간의 데이터 일관성을 유지했습니다. 데이터 저장 시 JSON 구조로 변환하여 서버에 저장하고, 불러올 때는 JSON을 파싱하여 상태를 재구성하는 기능을 구현했습니다. 이를 통해 사용자가 작업을 중단했다가도 지속적으로 이어갈 수 있는 환경을 마련했습니다.
- 에러 핸들링 전략: 프로젝트 저장 및 불러오기 중 발생할 수 있는 API 오류에 대비하여 사용자에게 적절한 피드백을 제공하도록 에러 핸들링을 강화했습니다. 네트워크 연결 불안정 시 로딩 인디케이터와 에러 메시지를 표시하여 사용자 경험을 개선하였습니다.

3. 클라우드 배포 및 최적화
- CloudFront CDN 최적화: CloudFront를 활용한 CDN 배포를 통해 전 세계 사용자에게 빠르고 안정적인 서비스를 제공할 수 있도록 설정했습니다. 이를 통해 자주 사용되는 정적 리소스(이미지 및 JavaScript 파일 등)를 캐싱하여 로딩 시간을 단축하였습니다.
배포 자동화와 CI/CD: 배포 자동화를 위해 GitHub Actions를 활용한 CI/CD 파이프라인을 구축하여 코드 변경 사항이 안정적으로 반영되도록 설정하였습니다. 이를 통해 코드 업데이트 시 자동으로 빌드 및 배포가 이루어져, 작업 효율성과 배포 신뢰성을 높였습니다.

4. 프로젝트를 통해 얻은 전문적인 기술 경험
- 고급 비동기 프로그래밍 및 API 관리: 대용량 파일 처리와 다수의 API 호출을 효율적으로 관리하며, 프론트엔드와 백엔드 간의 안정적인 데이터 흐름을 구축하는 능력을 배양했습니다.
- 성능 최적화 및 반응형 UI 구현: 고사양의 이미지 편집 작업에도 부드럽게 작동하는 UI 성능을 확보하기 위해 최적화 기법을 다양하게 적용하여 성능에 대한 이해도를 심화했습니다.
- 클라우드 배포와 CI/CD 구축 경험: 실제 사용자에게 빠르게 제공되는 서비스 배포를 위해 CDN 최적화 및 자동화 배포 파이프라인을 구축하며 배포 환경에 대한 전문성을 강화했습니다.

프로젝트명

건강관리 웹 - 워너비(Wannabe)

소속/기관명

멀티캠퍼스

프로젝트 기간

2024.05. ~ 2024.05.

프로젝트 내용

개요: 체형별 맞춤 연예인 매칭과 해당 연예인의 식단과 운동 루틴을 소개하는 건강 관리 웹.
프로젝트 기간: 2024년 5월 ~ 2024년 6월 (4주)
기술 스택: JavaScript, React, Redux, MySQL, GitHub
팀원: 4명
역할: 프론트엔드 개발, UI/UX 디자인, 반응형 웹 구현, 공통 컴포넌트 제작

주요 기여 사항

-체형별 연예인 매칭 시스템 구현: 한국 표준체형 분류(사이즈코리아)를 기반으로, 사용자의 체형에 맞는 연예인을 추천하는 기능을 구현하여 차별화된 UX 제공.
-건강 팁 제공 기능: 말풍선 기능을 통해, 연예인이 대화하듯 건강 팁을 제공.
-UI/UX 개선: 로고 제작, 반응형 웹 설계, 시간대별 테마 변경으로 UI/UX 개선.
-일관된 에러 처리 방식 적용: 커스텀 훅을 사용해 프로젝트 전반에 일관된 에러 처리 방식 구현.
-Figma 활용: Figma를 통해 UI/UX 초안을 제작하여 디자인 시간을 단축.
-운동 및 식단 루틴 연계: 체형별 연예인 매칭 기능과 사용자의 운동/식단 루틴을 연계.

링크

기능 시연 영상: https://www.youtube.com/watch?v=52wm5uLW86w
GitHub
: https://github.com/habeginner/wannabe
워너비
페이지: https://github.com/habeginner/wannabe/tree/main/wannabe_front/src/components/wannabe

결과
및 성과

-최종 프로젝트 최우수상: 멀티캠퍼스에서 최우수 프로젝트로 선정.
-차별화된 UX 제공: 연예인 체형별 매칭 시스템을 통해 차별화된 사용자 경험 제공.
-기능 구현: To-Do 리스트, 운동/식단 루틴, 달성도 캘린더, 건강 팁 등 요구사항 명세서에 따른 모든 기능을 팀과 협력하여 구현.
-협업 경험: Zoom, Slack, Discord, GitHub 등을 활용한 실제 협업 경험.
-문제 해결 능력 강화: 수업에서 배우지 않은 Postman, Figma 등을 활용하며 문제 해결 능력 향상.
-프로젝트 관리 능력: 요구사항 명세서 작성, 우선순위 설정, 주간 진행도 공유 등을 통해 프로젝트 관리 능력 향상.

포트폴리오

URL

link

https://docs.google.com/document/d/1UTW2bb7VNT9mf0OrxyZUcJjQ1Paz3n7SyIV-bbCqz7Y/edit?tab=t.0#heading=h.z2t4gittv49w

URL 링크

교육

소속/기관명

대림대학교

종류 | 전공

대학교(전문학사) | 호텔조리과

재학 기간 | 재학 상태

2014.03. ~ 2015.09. | 중퇴

자기소개

자기소개

지원 동기 및 입사 포부

소방공무원 인사시스템 통합 사업 인턴 경험을 통해 사용자 경험의 중요성을 깨닫고, 협업 능력과 문제 해결 능력을 기른 개발자 하성덕입니다. 프론트엔드 개발자는 사용자와 가장 가까이에서 즉각적으로 더 나은 사용자 경험을 제공할 수 있다는 점에서 큰 매력을 느꼈습니다.


2021년 소방공무원 인사시스템 통합 사업에서, 사용자 피드백 관리 및 분석, 개발팀 회의 진행, 프로젝트 관리, 서비스 테스터 역할을 수행했습니다. 사용자 피드백을 바탕으로 UI/UX 개선안을 도출하고, 개발자들과 소통하여 사용자 요구사항을 반영해 UI 개선에 기여했습니다. 그 결과, 사용자 인사 관리 시간이 단축되었고 부정적인 피드백 80% 감소라는 성과를 거두었습니다. 또한, 정기회의를 통해 각 개발팀 간 커뮤니케이션을 원활하게 하고, 프로젝트 관리에 대한 이해도를 높일 수 있었습니다.

이 경험을 바탕으로 협업과 문제 해결 능력을 자신하게 되었으며, 입사 후에도 사용자 피드백 분석과 경쟁 서비스 연구를 통해 지속적으로 사용자 경험을 개선하고, 개선 사항의 우선순위를 정해 체계적으로 작업을 진행하는 개발자가 되고 싶습니다.

지원 직무 관련 전문성과 그 노력

JavaScript(ES6+ 문법, 비동기 처리, 고차 함수)와 React(Hooks, 상태 관리, 컴포넌트 기반 설계)를 이해하고 있습니다. React Router를 통한 페이지 간 네비게이션과 Axios를 활용한 API 통신을 학습하고 실무 적용에 대비하고 있습니다. 학습 과정에서 async/await와 Promise를 통한 비동기 처리와 React의 props와 state 관리가 어려웠으나, 오픈소스 프로젝트와 ChatGPT를 통해 문제를 해결했고, 부트캠프에서 최우수 팀 프로젝트로 선정되었습니다.

프로젝트 개발 과정에서는 prop drilling 문제를 해결하기 위해 Context API와 useContext 훅을 사용하여 전역 상태를 관리하였고, 로그인 상태 관리도 LoginContext로 처리하여 코드 복잡도를 줄였습니다. 또한, MUI 테마 시스템을 활용해 색상, 타이포그래피 등의 전역 스타일을 일관되게 관리하며 반응형 디자인을 쉽게 구현하였습니다. API 통신에서 발생한 문제도 async/await와 Promise.all을 사용해 해결하고, custom hook으로 에러 처리 로직을 표준화하여 코드 중복을 줄이는 등 성능 최적화와 코드 개선에 주력했습니다.

현재는 TypeScript와 Next.js를 학습하며 정적 타입 체크와 SSR 구현을 통해 성능 최적화 및 SEO 개선에 집중하고 있습니다.

나만의 특별한 강점

어린 나이부터 사회 생활을 시작해 남다른 정신력과 체력을 기를 수 있었습니다. 조리사로 일할 때는 하루 11시간에서 12시간씩 장시간 근무를 하며 팀워크와 시간 관리의 중요성을 배웠습니다. 새벽에 식자재를 손질하고 창고를 정리한 후, 짧은 시간 안에 수백 명의 음식을 준비하는 일은 체력뿐만 아니라 협업 능력도 필요했습니다.

특수용접사로 활동하면서는 현장 계약을 따내기 위해 다양한 사람들과 원활한 관계를 유지해야 했습니다. 작업 중에는 항상 안전을 유념하며 육체적으로 도전적인 환경에서 팀원들과 협력하며 목표를 달성했습니다. 특히, 여러 현장 인력들과 소통하며 작업 기한을 맞추는 과정에서 협업 능력과 문제 해결 능력을 키울 수 있었습니다. 매일 작업 기한을 체크하고 기록하는 습관을 통해, 프로젝트 기한을 준수하는 것이 얼마나 중요한지 몸소 체득했습니다.

이러한 경험을 통해 새로운 환경에 유연하게 적응할 수 있는 능력을 갖추었습니다. 어려운 상황에서도 문제를 회피하지 않고 해결해 나가는 강한 정신력과 체력을 바탕으로, 팀 내에서 협업하며 목표를 달성하는 데 기여할 수 있다고 자신합니다.

댓글