미리보기
기본 정보

주도적인 성향으로 개발을 즐기고, 효율적으로 공부하는 방법을 위해 끊임없는 시도를 합니다. 한 분야에 진지하게 임하며 본인의 속도로 책임감 있게 오랫동안 갈고 닦습니다. 끊임없는 질문과 피드백으로 공부한 것을 명확히 이해하려고 노력합니다.
기술 스택
React, JavaScript, GitHub, TailwindCSS, styled-components, supabase, Next.js, TypeScript
경력
루덴시티
인턴 | 개발팀
2025.03. ~ 2025.03. (1개월)
폼 입력 및 유효성 검사 개선
◦ 최적화된 로딩을 위해 React Hook Form을 도입하고, 기능을 극대화하기 위해 유효성 검사까지 포함하여 실시간 검증 구현
◦ Controller와 trigger를 활용한 실시간 유효성 검사 설계
◦ 항목별 검증 로직을 간소화하여 사용자 입력 오류 방지 및 개발 효율 개선상태 관리 및 API 최적화
◦ Axios + React Query를 활용해 콘텐츠 승인/반려 상태에 대한 mutate 처리 구현
◦ query invalidation을 통한 데이터 동기화 및 UX 흐름 최적화
◦ 에러 핸들링 및 optimistic update 적용을 통한 안정적인 요청 처리 구현파일 업로드 및 미리보기 기능
◦ Axios 기반의 이미지/영상 업로드 기능과 실시간 미리보기 기능 구현
◦ 콘텐츠 등록 전 결과 확인을 위한 Shadcn UI 기반 미리보기 모달 구성
◦ 백엔드 API 명세서를 바탕으로 정확한 파일 처리 로직 구현컴포넌트 리팩토링 및 성능 개선
◦ 성능 비교 후 react-select 도입 및 useEffect 최적화를 통한 렌더링 지연 문제 해결
◦ Zustand persist 적용으로 새로고침 시 데이터 초기화 방지 기능 구현
◦ 라이브러리 기능을 적극 활용한 반복 작업 감소 및 생산성 향상권한 기반 UI 제어 및 사용자 경험 향상
◦ 사용자 Role(MASTER, WRITER)에 따른 접근 권한 설정 및 조건부 렌더링 구현
◦ 실무 수준의 UX 설계 및 사용자 중심의 UI 분기 구조 설계CI/CD 이슈 대응 및 협업 경험
◦ GitHub Actions 배포 환경에서 발생한 로컬-서버 간 빌드 차이 문제 분석 및 디버깅 브랜치 구성
◦ 백엔드와의 협업을 통한 문제 원인 파악 및 대응 전략 수립
◦ CI/CD 환경에서 발생할 수 있는 배포 이슈에 대한 실무적 대응 경험 확보
프로젝트
Smit
프로젝트 팀장 / 프론트엔드 5명, 디자이너 2명
2024.11. ~ 진행 중
Description
기존 플랫폼의 한계를 극복, 모집과 관리 기능을 통합한 스터디 서비스
Experience
회원가입 유효성 검사와 타입 안정성 강화
데이터 검증과 타입 안정성 개선
React Hook으로 유효성 검사를 진행했으나 코드가 많아지고 복잡해지는 문제 발생
Zod를 선택 : 스키마 기반의 데이터 유효성 검사, TypeScript와의 우수한 호환성 때문에 선택
코드가 간결해지고 코드량 60% 감소
폼 상태 관리와 유효성 검사를 간편화하며 성능을 최적화
사용자가 비밀번호를 입력할 때 마다 실시간으로 정교한 유효성 검사가 진행되어야 할 필요성 확인
React Hook Form 도입 : trigger와 resolver를 활용해 필드별 동적 유효성 검사를 구현
이메일, 비밀번호, 생년월일 등의 입력값 스키마를 정의하고, 유효성 검증 코드를 통합하여 코드 중복 제거
상태 관리 및 API 최적화
웹 사이트의 성능 향상과 검색 엔진 최적화를 위해 SSR 도입
SSR을 도입하기 위해 Next.js를 사용
Zustand를 사용
Context나 Redux를 사용하기엔 보일러 플레이트가 너무 많고 코드가 복잡하였기 때문에 간단한 상태 관리 도구 선택
사용성과 코드 간소화 측면에서 다른 상태 관리보다 유리하다고 생각
Props를 내릴 필요나 과도한 보일러 플레이트를 작성할 필요가 없어지는 효과
React Query 사용
Next.js로 코드를 짰더니 API 함수가 복잡하고 양이 많아지는 현상 발견
코드가 간소화되고 쉬워짐, isError나 isLoading을 통해 에러나 로딩도 관리할 수 있게 되어 코드의 안전성 증가
두 상태 관리 도구를 결합하여 클라이언트 및 서버 상태를 체계적으로 관리
Zustand로 Client 쪽 상태를, 서버 상태 관리에 특화된 React Query로 Server 쪽 상태만을 관리하는 방식 사용
Supabase API를 활용해 사용자 인증 상태와 데이터를 효율적으로 동기화
소셜 로그인 도입
백엔드 개발자가 없어 BaaS 플랫폼 사용 : Firebase와 Supabase 두 개 비교
Supabase 채택 :
Next.js를 활용한 Server Component의 이점을 최대한 활용할 의도
자체 라이브러리를 제공
app router server, Client component에서 더 잘 작동하고 가이드 문서를 참고하기 용이한 효과
Google 및 Kakao OAuth 사용
사용자 편의성을 극대화할 수 있는 필수 기능
Supabase와의 높은 호환성
signInWithOAuth API를 사용
소셜 로그인 기능을 구현
Supabase Auth와 클라이언트 상태를 연동하여 인증 흐름을 간소화
배포 환경에서 발생한 리다이렉트 URI 설정 문제
배포 환경과 개발 환경의 환경 변수 설정을 통해 해결
UI/UX 최적화
Tailwind CSS
TailwindCSS를 활용한 스타일링
대규모 프로젝트에 적합한 유틸리티 기반 스타일링 구현.
반응형 디자인을 통해 모바일 및 데스크톱 환경에서 최적화된 UI 제공.
사용자 피드백 반영
총 12건의 피드백을 바탕으로 UI를 개선하고 설문조사를 통해 90% 이상의 사용자 만족도를 달성.
트러블 슈팅
문제:
Supabase auth.signUp에서 사용자 정보가 user 테이블에 저장되지 않는 오류 발생
해결 과정:
트랜잭션 문제를 확인
Supabase의 상태 동기화 로직을 재구성하여 데이터 불일치를 해결
성과:
사용자 등록 프로세스 안정화
포트폴리오
자기소개
무한한 피드백과 도전으로 진득하게 실력을 쌓아가는 개발자, 강수진입니다.
1. 부트캠프 1달만에 100명 앞에서 강의하다
프로그래밍 부트캠프에서 제가 실천했던 학습법을 발표하며 100명 이상의 동료와 경험을 나눈 적이 있습니다.
온라인으로 캠프를 종일 진행하다 보니 집중을 하는 데 이슈가 있었기 때문에, 프로젝트를 봐주시는 튜터님에게 1시간에 1번
씩 다음 시간 계획, 이번 시간 공부한 내용, 궁금한 점을 보고하는 학습법을 만들었습니다.
발표는 큰 호응을 얻었고, 이후 동료들이 제 학습법을 응용하여 이용하기도 하고 부트캠프에서 수강생 전체에 제 학습법을 시
간만 변경해서 적용하기도 했습니다. 그러한 모습을 보며 내가 공유한 지식이 다른 사람의 성장에 기여할 수 있다는 점에서 보
람을 느꼈습니다. 또한 이를 기회로 발표의 전달력, 친화력 등을 인정받아 수료 후에도 대표 수료생으로 후배 기수에게 학습법
과 취업에 대한 조언을 주제로 발표하기도 했습니다. 이 경험은 명확한 소통의 중요성과 함께 지식을 나누는 즐거움을 배우는
계기가 되었습니다.
2. 각자의 개발 속도가 달랐을 때 팀장으로서 해결한 방법
최종 프로젝트에서 팀장으로 활동하며 팀원 간 의견 조율과 일정 관리에 주력했습니다. 각자의 작업 속도가 달라 진행에 차질
이 생겼었는데, 작업 속도가 빠른 팀원들을 설득하고, 느린 팀원은 격려하며, 저도 솔선수범하여 추가 작업을 맡는 등 작업량을
조절했습니다.
그 결과 프론트엔드 5명으로 1달 만에 28개의 기능을 포함한 대형 프로젝트를 완수하는 성과를 얻었습니다. 이 경험을 통해
협업과 소통의 중요성을 다시 한번 체감하며, 주도적으로 팀을 이끄는 리더십을 키울 수 있었습니다.
3. 비전공자의 미술 공부, 2개의 수상 경력
저는 미술 전공생이 아닙니다. 하지만 미술을 배우는 동안 수상 경력이 2회 있었습니다. 3년 동안 주 2회 꾸준히 화실을 다니
며 조급함을 가지지도, 누군가와의 비교도 하지 않고 끊임없는 피드백과 함께 꾸준히 시도하는 것이 비결이었는데, 이 방법이
저에게 가장 빠른 실력 상승의 길이라는 것을 깨닫고 개발에 대해서도 이 무한한 도전을 적용하는 중입니다. 부트캠프를 수료하
면서 부족한 시간과 전공 지식이 아닌 개발 지식들에 부딪혀 좌절도 많이 했지만, 저만의 학습법을 개발하고 팀 과제에 성실하
고 적극적으로 참여하며 실력을 향상시켰습니다.
저는 다양한 경험을 바탕으로 적극성, 꾸준함, 회복 탄력성을 키워왔습니다. 이제는 개발을 제 길로 삼고 다시 진득하게 공부하
고, 부딪히고,프로그래밍해내고 있습니다. 배움과 성장을 멈추지 않고, 회사와 팀의 발전에 기여하는 개발자가 되겠습니다.
교육
스파르타코딩부트캠프
사설 교육 | 프론트엔드
2024.07. ~ 2024.11. | 졸업
봄아카데미
사설 교육 | UX/UI디자이너
2023.06. ~ 2023.12. | 졸업
성신여자대학교
대학교(학사) | 문화예술경영학과
2016.03. ~ 2020.02. | 졸업
대외활동
2021 여성벤처창업 케어 프로그램 비즈콘테스트 본선 진출
개인
2021
와인 구독 서비스 아이디어로 팀원 3인 구성으로 창업 콘테스트에 본선 진출하였습니다.
팀장 역할을 맡았고, 제품 디자인 및 기획 전반을 담당했습니다.
2018 서울시 청년 일자리 해커톤 인기상
개인
2018
팀원 4인 구성으로 박물관 큐레이터 서비스를 기획하여 해커톤에서 인기상을 수상하였습니다.
팀장 역할을 맡았고, 기획 전반과 발표 자료 제작을 맡았습니다.
제 18회 전국 호수예술제 미술공모 일반부 금상
개인
2018
수채화 작품으로 미술공모에서 금상을 수상하였습니다.
제 1회 몽마르아트 수채화 공모전 특선
개인
2018
수채화 작품으로 공모전에서 특선을 수상하였습니다.