채용공고 올리기

성승모님을 응원해보세요!

지금 만족하고 있어요
성실함
책임감
학습 지향

미리보기

기본 정보

이름
성승모
직업
Android 신입 개발자
간단 소개

- "유지 보수를 위한 아키텍처 설계"에도 많은 시간과 공을 들였습니다. → Clean Architecture: Martin.RC, Android 권장 아키텍처 - "사용자 경험(UX)"을 중요시 생각합니다. Fragment의 백스택, 로딩바 호출 등에 대해 여러 방법을 고민하고 적용한 경험이 있습니다. → 커스텀 내비게이션 클래스 구현, 내비게이션에 따라 용이한 로딩바 호출 로직 적용 - "데이터 구조를 설계"하고 요구 사항에 따라 DTO를 만들어, "계층 간 데이터 이동"을 효율적으로 관리합니다. → SQLD 취득, 서비스의 비즈니스 엔티티 모델링 - "개발자 경험(DX)"과 기술 도입의 저울 사이에서 상황에 따라 판단하여 균형을 맞추어 프로젝트를 효율적으로 진행할 수 있습니다. → 팀 역량에 맞는 아키텍처 선택, 앱 크기에 따라 테스트 전략 조정(UnitTest 또는 Instrumented Test)

기술 스택

기술 스택

Android, Android Compose, Jetpack, clean-architecture, XML, Git, Slack, Notion

프로젝트

프로젝트명

부탁해약

소속/기관명

라스트프젝러/내일배움캠프

프로젝트 기간

2024.10. ~ 2024.11.

프로젝트 내용

개발 인원: Android 5명

자신뿐만 아니라 소중한 가족, 친구들의 약 복용을 챙겨주는 앱

사용 기술

  • Clean Architecture, MVVM, SAA, Hilt , TDD

  • Retrofit2, ViewPager2, Glide, Navigation

  • Firebase: FireStore DB(+ Algolia), FCM, FireStorage (프로필 이미지 저장)

  • 약봉투 인식 기능: ML kit, Gpt Api

프로젝트명

KnR 출석앱

소속/기관명

개인

프로젝트 기간

2025.01. ~ 진행 중

프로젝트 내용

조기 축구회에서 필요한 세분화된 출석 기록을 위해 제작한 앱

사용 기술

  • 구조: Clean Architecture, MVVM + MVI, SAA, Hilt

  • UI: Compose, Navigation

  • 비동기: Coroutine, Flow, State

  • 데이터: Room, Retrofit2, SQL

포트폴리오

URL

link

Velog

URL 링크

외국어

외국어명

영어

점수

비즈니스 회화 가능

대외활동

활동명

내일배움캠프

소속/기관명

스파르타

연도

내용
  • 부탁해약 출시

  • 모범상 수상

활동명

E-oN

소속/기관명

경기대학교/전자공학 학과동아리

연도

내용
  • 고등학생-대학생-직장인 커뮤니케이션 앱

  • 알고리즘 발표회 1등

자기소개

자기소개

“부탁해약”에서 제가 사용한 기술 스택 및 수준

저는 이 프로젝트에서 “기술 기획자 + 소프트웨어 아키텍트”로 활약했습니다. 또한 제 지식을 바탕으로 팀원들의 트러블 슈팅을 지도해주는 역할도 맡아 팀원들에게 우리 조만의 튜터로 불리기도 하였습니다.

[기술 기획자로서의 역할]

기획 단계에서 제기된 기능들의 실현 가능성과 방법을 검토하는 것이 주된 일이었습니다. 특히, 약봉투 인식 기능은 ML kit와 GPT를 접목하여 그 기능을 구현하였습니다. 이 뿐만 아니라 지인에게 약 복용 시간을 알리는 노크하기 기능 구현, Algolia를 적용한 약 검색의 성능 최적화 등을 해냈습니다. 또한 우리 조만의 튜터라는 별명에 알맞게 팀원들의 이슈들을 빠르게 검토하고 파악하여 그에 맞는 해결책을 제시하였습니다.

[소프트웨어 아키텍트로서의 역할]

특히, 지속적인 업데이트를 위하여 Clean Architecture의 필요성을 느꼈고 이를 공부하여 적용하였습니다. 의존성 주입을 위해 Hilt 를 적용하고 Data, Domain, Presentation 층으로 나누었습니다. Data 층의 개발을 끝내고 검증을 위하여 UnitTest 환경을 설정하고 적용하였습니다. 그리하여 Data 층 검증을 하루만에 끝낼 수 있었습니다. 그렇게 개발한 데이터 층을 토대로 팀원에게 ViewModel 에 대한 컨벤션을 제공하고 역할을 분배하였습니다. 이에 더하여 네비게이션 클래스 개발을 맡았습니다. 화면 플로우에 의해 각 탭마다 백스택이 보존되길 원하였고 이를 Map<Tag, Stack<Fragment>> 자료구조를 이용하여 해결하였습니다.
앱 뿐만 아니라 Spring 서버와 SQLD를 공부하면서 얻은 데이터 구조화 지식을 통해 User, Friend, MedicineGroup 등 Entity를 정의하고 Firebase 설정을 수행하였습니다.

컴퓨터 기초 이론 지식을 공부하고 직접 적용해본 경험

저는 전자공학 전공이기 때문에 컴퓨터 기초 이론을 공부할 수 있도록 노력했습니다. 첫째로 “네트워크의 기초 및 이해” 전공 수업을 수강하면서 네트워크의 원리 및 프로토콜에 관해서 공부했습니다. 덕분에 AWS와 Spring을 보다 쉽게 이해하여 캡스톤 디자인에 적용할 수 있었습니다. 이후로 서버 개발을 공부하면서 포트, http, https와 같은 애플리케이션 계층의 프로토콜을 직접 이용-적용해 보면서 더욱 깊이 있는 이해를 할 수 있었습니다.

둘째로, “자료구조”를 수강하여 Stack, Queue, Tree 등 기본적인 자료 구조를 학습했습니다. 배운 다양한 자료구조를 이용해 많은 작업을 처리할 수 있었습니다. 예를 들어, 내비게이션을 커스터마이징할 때 Stack으로 직접 Fragment의 백스택을 관리했고 순환 슬라이드를 구현할 때 Doubly Linked List를 이용했습니다. 이와 함께 컴퓨터 공학과 수업인 “알고리듬” 과목을 수강하여 부족했던 부분을 보완하였습니다. 특히, 중점적으로 배웠던 DP의 아이디어를 활용하여 내일배움캠프의 계산기 과제를 수행하였습니다. 탑다운 방식을 활용하여 한 쌍의 괄호를 부분 문제로 정의하여 해결하였습니다.

마지막으로, 여러 프로젝트를 해보면서 디자인 패턴의 중요성을 느꼈습니다. 특히, Clean Architecture에 대해 깊은 이해를 하려고 노력했습니다. Hilt를 직접 공부하고 Clean Architecture를 적용해 보면서 추상화의 중요성을 많이 느꼈습니다. 하지만 이 경험을 통해서도 완벽한 이해를 하는 것이 아니라 생각되어 더욱 깊이 있는 이해를 위해 블로그에 공부한 내용을 정리하고 있습니다.

직무 지원 동기와 어떤 개발자가 되고 싶은가

스파게티 면으로 건물 짓기. 단순한 영어 단어들로 멋진 서비스를 구현할 수 있는 앱 개발이 매력적이었습니다. 캡스톤 디자인에서 Android Studio를 이용하여 프로젝트를 진행하게 되었고 이에 흥미를 느껴 Android 개발자로 진로를 결정하게 되었습니다. 비록 가구를 배치하는 정도의 실력으로 시작했지만, 나중엔 한 층을 넘어 건물 자체를 지을 수 있는 실력을 갖춘 소프트웨어 아키텍트가 되는 곳이 목표입니다.

이러한 꿈을 가진 저는 코딩만 잘하는 것이 아닌 구조 설계를 통한 해결, 즉 다양한 디자인 패턴을 적절히 활용하여 해결하는 방법을 지향합니다. 이를 위하여 알고리즘, 아키텍처뿐만 아니라 앱 서비스에 필요한 Spring 서버, TensorFlow를 이용한 머신러닝 등 다양한 분야도 공부하고 직접 개발한 경험이 있습니다. 자기 주도적 학습을 통해 장학금 수혜, 실제 사용 가능한 앱 및 서버 구현 등의 성과를 이뤄내면서 자신감을 얻었습니다. 또한 MVC를 시작으로 MVVM을 구현하였고 그에 더해 Clean Architecture를 적용해 보는 등 점진적으로 심화 기술을 꾸준히 적용해 왔습니다. 최근엔 Compose와 함께 MVI 패턴을 공부하고 있으며 이러한 학습 열정을 통해 꾸준히 성장하는 개발자라고 생각합니다.

성격의 장단점

저는 운동을 통해 스트레스를 관리해 신체적·정신적 균형을 유지하고 그로 인해 차분한 태도를 지니고 있습니다. 압박감이 큰 상황에서도 흔들리지 않고 침착하게 일을 처리할 수 있어 꾸준한 성과를 이뤄내 왔습니다. 특히 개발자에게 중요한 협업과 소통에서도 긍정적인 영향을 주며, 묵묵히 최선을 다하는 책임감 있는 자세를 갖추고 있습니다. 이러한 점은 팀 내 신뢰를 쌓는 데 크게 기여하였고 내일배움캠프에서 모범상을 받는 계기도 되었습니다.

꾸준함과 책임감을 갖춘 자세는 제 성장 욕구와 맞물려 빠른 성장을 가능하게 했습니다. 컴퓨터공학과 수업 및 관련 전공과목을 통해 기초 컴퓨팅 이론을 학습하고, 여러 프로젝트를 꾸준히 진행하면서 개발 역량을 발전시켜 왔습니다. 특히 필요성을 느낀 여러 디자인 패턴과 라이브러리를 다음 프로젝트에서 적용하려고 노력했습니다. 이를 통해 단순히 사용하는 것에 그치지 않고, "왜 필요한가?"를 깊이 고민하는 태도를 갖게 되었습니다.

이와 함께 문제 해결 능력 또한 기를 수 있었습니다. 혼자 공부하면서 다양한 이슈들을 마주치게 되었고, 국내 자료뿐만 아니라 영어 문서와 StackOverflow 등 다양한 영어 자료를 참고해 해결해 왔습니다. 각양각색의 코드를 읽어보며 코드 리딩 능력을 키우고 시야를 넓힐 수 있었으며 이런 경험을 통해 협업 과정에서도 크게 기여할 수 있었습니다. 그 예로 팀원들의 코드에서 오류와 잠재적인 문제점을 빠르게 진단 후 피드백을 제공하였고 덕분에 마감 일자 이틀 전에 출시를 완료하여 발표도 성공적으로 마칠 수 있었습니다.

교육

소속/기관명

경기대학교(수원)

종류 | 전공

대학교(학사) | 전자공학과

재학 기간 | 재학 상태

2019.03. ~ 2024.03. | 졸업

자격증

자격증명

Toeic Speaking

점수 | 발급기관

IH 140 | YBM

취득연월

2024.12.

자격증명

SQLD

점수 | 발급기관

합격 | 한국데이터산업진흥원

취득연월

2024.11.

댓글