채용공고 올리기

이용인님을 응원해보세요!

이직/구직 중이에요
협업 지향
학습 지향
효율적
커뮤니케이션
기술적

미리보기

기본 정보

이름
이용인
직업
안드로이드 개발자
간단 소개

안드로이드 개발자입니다. 저는 재사용가능하고 짜임새있는 코드를 작성하여 개발팀의 효율성을 증진하고, 빠른 서비스 개선으로 사용자 경험을 향상시키는 것에 중점을 두고 있습니다. 좋은 서비스를 만들기 위해 항상 사용자 입장에서 고민하고, 안정성과 완성도 높은 앱을 만들기 위해 공부합니다. 새로운 기술을 적용하는 것에 대한 즐거움과 성장에 대한 갈망을 바탕으로 함께 일하며 프로젝트에 기여하고 싶습니다.

기술 스택

기술 스택

Android, Android Compose, Kotlin, coroutine, clean-architecture, MVVM, Firebase, github-actions, GitHub, Google Cloud Platform

프로젝트

프로젝트명

Hmoa - 향수 리뷰 및 정보 커뮤니티

소속/기관명

창업 / 향모아

프로젝트 기간

2024.02. ~ 진행 중

프로젝트 내용
향수 리뷰 및 정보 커뮤니티 앱

총 1300여 종의 향수의 정보를 확인하고 계절감, 성별, 나이대를 투표할 있습니다.

본인에게 잘 맞는 향수를 찾을 수 있도록 향수 추천 커뮤니티와 향수 검색 및 북마크 기능을 제공합니다.

github

https://github.com/HMOAA/HMOA_ANDROID

수행 역할 및 역할 주요 성과

  • 클린 아키텍처 + MVVM + 멀티 모듈 프로젝트 설계

  • 모듈 간 의존성 설계 및 hilt 적용 방식 구체화

  • 구글 플레이 배포 및 관리 담당

  • 에러처리 구조 설계 및 컴포넌트 개발

  • 회원인증, 향수 및 브랜드 홈 및 검색 기능 구현

  • Compose PagingSource를 이용한 무한 스크롤링 구현

  • DataStorePreference를 이용한 비동기적 토큰 관리 구현

  • 빌드 시 local.properties, keystore 값을 비공개 원격저장소에서 불러와 빌드하는 기능 구현

    • 로컬 민감 정보의 값을 변경할 경우 개발자 간 직접적인 소통으로 정보를 전달해야하는 불편함을 개선하고 의사소통 실수로 일어나는 오류를 예방하여 개발 효율성 증진에 기여

    • 키스토어 분실을 예방하고 모듈 별로 분산된 local.properties의 값을 한 눈에 알 수 있도록 폴더를 구성하여 민감 정보 관리를 용이하게 함

  • Github action CI 도입 및 빌드 시간 2배 단축(11분 49초 → 6분 54초)

    • gradle 캐싱 및 의존성 최적화를 진행함으로써 작업 속도 개선

    • develop 브랜치에 merge시 자동 빌드 기능 구현

  • 팀원과 자주 소통하며 빠르게 비즈니스적 문제 해결

    • 서버, 기획과 함께 소통을 통한 적절한 api 요청, 응답 모델을 도출해 api 작업과 동시에 UI개발을 진행할 수 있도록 기여함.

    • 기획, 디자이너의 UX/UI 작업물에 대한 피드백을 통해 로딩화면의 심미성과 사용성에 대한 개선점을 빠르게 반영함.

  • 약 20건의 개발이슈에 대한 사항을 기록하고 대응

경험 및 배운점

클린 아키텍처 도입 + 기능 별 모듈화된 멀티 모듈 프로젝트 설계

  • Clean Architecture의 data , domain, presentation 계층을 준수하는 구조의 프로젝트를 설계했습니다.

  • 기능별 의존관계와 규모를 쉽게 파악할 수 있는 방법을 고민했으며, 서비스는 11개의 feature모듈로 분리하고, feature모듈에 컴포넌트 및 데이터를 공급하는 인프라는 8개의 core모듈로 구성했습니다.

  • 그 결과 모듈 별 의존관계와 규모를 기반으로 스프린트 작업의 우선순위와 기간을 쉽게 예측할 수 있었습니다.

Viewmodel 및 UseCase 생성 원칙 수립

  • 팀원마다 구현한 Viewmodel의 관심사가 상이한 문제와 UseCase의 재사용성과 실효성 부족 문제를 해결하기 위해 Viewmodel 및 UseCase의 책임을 정의하고 생성 원칙을 수립했습니다.

  • 코드 생성 원칙을 수립한 후 팀원 간 코드 스타일 격차를 좁히고 일관성있는 Viewmodel을 구현할 수 있어 팀원 간의 가독성이 향상된 것을 느낄 수 있었습니다.

에러 처리 반복 코드 개선 및 사용자 친화적인 에러 컴포넌트 개발

  • 에러처리가 필요한 화면마다 데이터 요청 결과를 분기한 후 Dialog를 붙이는 반복 코드를 개선하고자 했습니다.

  • sealed interface를 활용해 다양한 에러 상태(ErrorUiState)를 명확히 구분하고, 각 에러 유형에 대해 적절한 UI를 동적으로 렌더링하도록 구현했습니다. 이를 통해 토큰 만료, 유효하지 않은 토큰, 로그인 필요 등의 특정 에러 상황에서 사용자에게 맞춤형 피드백을 제공하며, 일반적인 오류는 별도의 다이얼로그로 처리하여 사용자 경험을 향상시켰습니다. 결과적으로 유지보수가 용이하고, 사용자 친화적인 에러 처리 로직을 구현했습니다.

  • 화면의 기능에 상관없이 일관적이면서 재사용성이 높은 컴포넌트가 유지보수 측면에서 주는 중요성과 장점을 느낄 수 있었습니다.

프로젝트명

PbbsAttendance - NFC 및 Object Detection 기반 출결 서비스

소속/기관명

캡스톤 대회 Pbbs 팀 / 인천대학교

프로젝트 기간

2023.02. ~ 2023.05.

프로젝트 내용
출결 후 도망가는 학생없는 수업을 만들 수 있는 희망찬 안드로이드 앱

각 책상에 부착된 NFC 태그 기반의 출결시스템으로 출결자동화 및 출결 관리 기능을 제공합니다.

카메라로 찍은 영상을 Object Dectecting으로 분석하고 수업의 부정출결자를 판단합니다.

github

https://github.com/GifticonRangers/PbbsAttendance

사용기술

Android, Kotlin, Jetpack Compose, Hilt, EventBus, Coroutine, Flow, Retrofit2, Git

수행 역할 및 역할 주요 성과

  • Flow 파이프라인을 이용한 학생 사용자의 출결 결과를 교수 사용자의 화면에 실시간 업데이트하는 기능 개발

  • NFC Adapter를 이용한 학생 사용자의 NFC 태그 출석 결과를 교수 사용자의 화면에 실시간으로 보여주는 기능 개발

  • AI server의 object detection분석결과를 연계하여 부정 출결 학생의 명단을 교수 사용자에게 보고하는 기능

경험

렌더링 최적화의 중요성 재고와 최신 기술 러닝 커브 속도 향상

  • 동적으로 업데이트되는 요소가 많았기 때문에 화면 렌더링에 최적화된 기능을 만드는 것의 중요성을 깨닫게 되었습니다.

  • Live Data보다 Flow 파이프라인을 사용하거나, xml이 아닌 compose를 도입하는 등 프로젝트에 적용하기 위해 새로운 기술들을 빠르게 공부하며 바로 적용해 보는 시간을 가질 수 있었습니다.

교육

소속/기관명

인천대학교

종류 | 전공

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

재학 기간 | 재학 상태

2020.03. ~ 2024.06. | 졸업

포트폴리오

URL

link

Velog

URL 링크
link

Github 계정

깃허브
link

개인 노션

노션
link

향수 커뮤니티 앱 개발 노션 / 기능 오류 및 수정사항

노션

자기소개

자기소개

저는 이렇게 개발하고 공부합니다.

지식과 개선점을 기록으로 남기고 공유합니다.

서비스의 이슈나 에러가 발생했을 때 이를 해결한 과정과 결과를 기록으로 남기는 것을 중요시합니다.

Viewmodel 단위 테스트 도입기, Github-Action CI 빌드 속도 개선기, 다양한 오류 해결과정 등 제가 겪었던 문제와 시각을 기록하고 있습니다. 글을 작성하며 해당 기술을 도입한 이유와 효과를 확실히 정립할 수 있었고, 나중에 다시 보았을 때 더 개선할 수 있는 부분을 찾을 수 있는 히스토리가 되기 때문에 개인적인 성장에 도움이 되었습니다.

또한 팀 서비스에서 발생하는 이슈와 해결방법도 노션페이지에 기록하고 있습니다. 이슈에 대해 팀원과 의견을 주고받을 수 있는 공간이자 반복적인 이슈에 대한 대응속도를 높일 수 있었습니다. 또한 이슈의 담당자, 도메인, 중요도, 진행상태를 게시 팀원 간에도 도움이 되는 방식이기 때문에 고수하고 있습니다.

서비스의 가치를 100% 이해하고 개선합니다.

팀의 가치와 서비스를 존중하고 함께 가는 개발자가 되고 싶습니다.

IOS 앱을 먼저 출시하고 운영하는 창업팀에 들어갔을 때 가장 먼저 한 일은 출시한 앱을 이용하며 팀이 사용자에게 전달하려는 서비스와 그 가치를 이해하려고 노력한 것입니다.

앱의 모든 기능을 이용하며 팀이 제공하는 서비스가 무엇인지 파악하고, 서비스의 개선점을 고민하며 사용자로서 느끼는 바를 기록했습니다.

서비스를 완전히 이해하고 팀에 녹아 들어 저에게 주어진 역할을 수행할 수 있도록 준비하고 있습니다.

안정적인 협업 프로젝트를 구축하기 위해 노력합니다.

기획과 디자인 변경이 잦은 팀에서 개발과 유지보수를 안정적으로 운영할 수 있는 기술적인 전략과 방법론을 시도하면서 시행착오를 겪고 고민했습니다.

비개발 팀 동료들과 개발 현황 및 속도를 투명하게 논의하면서 효율적인 협업을 할 수 있도록 노력하고 있습니다.

노션에 기능 오류 게시판과 UX & UI 수정 게시판, 구글플레이 정책 이슈 페이지를 작성하여 비개발 팀과 개발팀 간의 의사소통을 개선하고 있습니다.

문제상황은 숨기지 않고 해결합니다.

문제상황은 무조건 감춰야 하는 것이 아니라고 생각하며 사소한 문제라도 숨기면 큰 문제가 되어 돌아올 수 있다고 생각합니다.

사용자 경험을 해칠 수 있는 기능의 문제라면 성장의 기회로 삼고, 서버 API의 개선점을 발견한 것이라면 개선해야 하는 이유와 기대효과를 제시해서 좋은 방향이 어떤 것일지 의견을 구하고 있습니다.

특히 안드로이드 개발에서 마주친 문제들은 블로그나 팀 노션에 에러와 원인과 그렇게 생각한 이유, 해결 방안을 기록해 팀원과 공유하고 있습니다.

더 능동적으로 문제점을 찾고 서비스 개선의 원동력으로 삼아 성장하고 싶습니다.

대외활동

활동명

AppCenter 안드로이드 스터디 및 프로젝트 참여

소속/기관명

취업 동아리 / 인천대학교 전산원

연도

내용

저는 앱센터에서 6개월 동안 안드로이드 파트 팀장으로서 안드로이드 스터디를 기획하고 운영했습니다. 이 스터디에서는 Kotlin 문법과 안드로이드의 View기반 Todo List 앱 개발 강의를 진행했습니다. 또한, 오픈소스를 활용한 Android Clean Architecture와 Dagger2 예제를 다루며, Jetpack Navigation 및 Compose에 대한 발표와 지식 공유를 위한 장을 적극적으로 마련했습니다. 이를 통해 팀원들이 안드로이드 개발에 대한 깊이 있는 이해를 바탕으로 실력을 향상시킬 수 있도록 기여했습니다.

자격증

자격증명

TOEIC

점수 | 발급기관

825 | ETS

취득연월

2024.06.

자격증명

OPIc

점수 | 발급기관

IH | ACTFL

취득연월

2024.07.

외국어

외국어명

영어

점수

원어민 수준

댓글