미리보기
기본 정보

Why?에서 시작해 How를 찾는 과정을 좋아합니다.
기술 스택
Swift, SwiftUI, MVVM, Kotlin, Python, REST API
프로젝트
청년냉장고
청년소모임 초대장 서비스
2024.07. ~ 진행 중
개발 인원: iOS, Back-End(Spring) - 3명, 디자이너 1명
개발 환경: SwiftUI ,MVVM 패턴
개발 기간: 2024.07 ~2024.07
외주를 맡아서 작업중이다.
Cen
해커톤
2024.03. ~ 2024.03.
개발 인원: iOS 2명, Back-End(Spring) 2명, PM1명, 디자이너 1명
개발 환경: Swift UIKit 프레임워크
개발 기간: 2024.03~2024.03 (1개월)
담당한 기능: 앱 전체 기획 및 와이어프레임 구성 (기여도 100%), 소셜 로그인 (기여도 100%) , 채팅 소켓 통신 (기여도 100%), 알람 APN 비동기처리 구현(기여도 100%)
라이브러리: Alamofire, SwiftKeyChainWrapper,Snapkit, Then, Charts, Kingfisher,Tabman
연바
한성대학교
2024.02. ~ 2024.05.
개발 인원: iOS 2명, Back-End 2명, 디자이너 1명
개발 환경: Swift UIKit 프레임워크
개발 기간: 2024.02 ~ 2024.05
담당한 기능: 앱 전체 기획 및 와이어프레임 구성 (기여도 100%), 소셜 로그인 (기여도 100%) , 채팅 소켓 통신 (기여도 100%),알람 APN 비동기처리 구현(기여도 100%)
사용한 라이브러리: Alamofire, SwiftKeyChainWrapper,Snapkit, Then, Charts, Kingfisher,Tabman
홈잇
UMC
2024.01. ~ 2024.02.
개발 인원: iOS 4명, Back-End(Spring) 4명,PM 1명, 디자이너 1명
개발 환경: Swift UIKit 프레임 워크
개발 기간: 2024.01 ~ 2024.02
코드 리팩토링: 2024.04 ~ 2024.07
담당한 기능: 회원가입 및 온보딩(기여도 90%), 게시판 CRUD(기여도 90%) , 홈화면(기여도 100%),달력 커스텀(기여도 100%),마이페이지(기여도 100%) , 홈잇리포트 (기여도 100%)
라이브러리: Alamofire, SwiftKeyChainWrapper,
Snapkit, Then, Charts, Kingfisher,Tabman
투게독
한성대학교
2022.04. ~ 2022.09.
지도에 마커를 표시하여 실종된 반려견을 찾아주는 안드로이드 앱 서비스다.
포트폴리오
첨부파일
교육
한성대학교
대학교(학사) | 컴퓨터공학부
2020.03. ~ 2024.07. | 졸업
대외활동
UMC IT 연합동아리
UMC
저는 연합 IT 동아리에서 iOS 파트장을 맡아 다른 학교 학생들을 멘토링 을 하며 개발실력이 성장한 경험이 있습니다. 매주 대면으로 만나 코드를 피드백 하고 트러블 슈팅을 해결해주는 역할을 했습니다. 한 학생이 네트워크 통신 과정을 이해하는데 어려움을 겪었을 때, 이를 쉽게 설명하기 위해 블로그에 개념과 실제 적용되는 사례를 포스팅 했습니다. 이 과정에서 저 또한 간과 했던 부분을 발견하고, 애매했던 지식을 확고하게 다질 수 있었습니다. 이 경험을 통해 개념을 명확히 설명하는 스킬을 터득 했고, 어떤 질문에도 답변할 수 있는 책임감 있는 파트장으로 발전했습니다. 또한 학생들의 질문에 대비하기 위해 예습과 복습을 철저하게 하며 필요한 개념들을 블로그에 정리하여 공유하였습니다. 저는 책임감과 열정의 태도를 갖추며 개발의 흥미를 느꼈습니다.
자격증
정보처리기사
1급 | 한국산업인력공단
2023.09.
자기소개
책임감이 강한 개발자 김민솔입니다.
저는 앱을 개발하여 사용자들의 삶에 더 나은 방향으로 이끌고 싶습니다. 한 번은 실수로 사진첩에 있는 사진을 모두 삭제해 버려 아버지의 사진들이 다 없어졌을 때, 앱에 저장되어 있는 채팅과 사진 덕분에 소중한 추억을 되새길 수 있었습니다. 이러한 경험은 앱에 있는 기록들이 나중에 누군가에게 없어서는 안 될 추억이 될 수 있다는 것을 깨달았습니다. 그래서 저는 유저들이 꼭 필요로 하는 앱을 개발하는 사람이 되고 싶습니다. 저는 처음으로 기획자, 디자이너, 백엔드와 협업하여 iOS프로젝트를 진행했습니다. 프론트 팀원은 저 포함 3명이었습니다. 프론트 팀원끼리 기능별로 파트를 나눠 분담했습니다. 저희는 일주일에 한번씩 대면으로 만나며 팀원을 신뢰하고 자율적인 분위기에서 협업을 했습니다. 이러한 협업 자세는 몇 주가 지나니 하는 사람만 하게 되는 사태를 초래했습니다. 저는 이러한 점을 해결하기 위해 스프린트를 적어 자신이 한 기능이 성공되면 시뮬레이터를 영상으로 찍어 PM분께 영상을 보내는 방식으로 하자고 건의하며 압박감을 내포했습니다. 또한 백엔드와 처음 협업하는 과정에서 request body에 다른 변수들이 추가되어 프론트에서 모델에 데이터를 추가하라고 전달받았습니다. 모델 구조를 변경하였지만 서버에서 데이터가 받아와지지 않아 백엔드 팀원분께 모델구조와 서버에서 데이터 받아오는 플로우를 설명해주면서 물어본 결과 프론트에서 header를 안받아온 문제였습니다. 이러한 과정 속에서 백엔드와 소통하기 전 질문을 두서 없이 하지 않고 명확한 원인을 알면 문제가 금방 해결해 나갈 수 있다는 것을 알게되고 백엔드와 소통방법을 배워나가며 한층 더 협업 자세를 갖춰나갔습니다. 이러한 상황속에서 발표일이 일주일도 안남은 기간에 팀원 2명이 맡은 기능을 구현하지 못한상태에서 여행,mt 등을 한번에 가버렸습니다. 저는 팀원들이 여행,mt 가는동안 백엔드 팀원들과 무박 2일동안 자체 해커톤을 하며 팀원들이 구현하지 못한 기능들 중 앱의 핵심 기능 우선순위대로 진행해나가며 서버 연동까지 마무리지어 무사히 발표할 때 기능을 보여줄 수 있었습니다. 또한 팀원들이 각자 일정으로 못한 부분을 제가 다 맡아서 개발을 하여 iOS 앱배포를 무사히 마쳤습니다.
성장과정
저는 대학교에 다니면서 다양한 아르바이트를 하면서 사회생활 하는 법을 터득했습니다. 또한, 여러 사람과 같이 일하다 보니 인간관계에 적당한 거리감을 두며 서로에게 좋은 영향을 줄 수 있다는 것을 배웠습니다. 힘든 일을 많이 하다 보니 체력이 강해지고 심리가 단단해지며 잘 무너지지 않으며 스트레스를 푸는 저만의 해소 법을 찾았습니다. 또한 2학년 때까지 코로나 때문에 온라인수업만 듣다가 3학년이 돼서야 학교를 올 수 있었습니다. 일단 교내 공부를 들어갔습니다. 마침 학교에 있는 교내 공학경진 대회가 열린다고 하여 팀원을 모집해 나가게 되었습니다. C언어만 할 줄 알았던 저는 코틀린으로 모바일 앱을 만들어보기로 했습니다. 팀원 모두가 처음 배우는 과정이어서 저희는 구글링을 하면서 UI를 구현했습니다. 그때 처음으로 Git을 통해 협업하면서 개발 진행 과정을 공유하며 팀원들과 소통이 얼마나 중요한지 깨닫게 되었습니다. 또한, 초반에 코드를 합칠 때 큰 충돌이 나면서 다사다난한 경험을 하면서 Git 협업 도구에 관한 이해도가 높아졌습니다. 저희는 처음 만들어본 앱으로 대회에서 동상을 탔습니다. 상을 탈 수 있었던 이유는 저희 팀의 개발실력이 다른 팀들보다 좋지 않았지만, 팀원들끼리 수많은 오류해결 과정에서 끊임없이 소통하며 코드 한줄 흐름을 이해하며 단단해지면서 유대감이 형성되어 협업 시너지가 발휘돼서 앱을 완성할 수 있었던 것 같습니다.
프로젝트 하면서 깨달은 점
졸업 작품 프로젝트 중 예상치 못한 상황이 발생했습니다. 팀원이 iOS 개발 경험이 부족했지만, UI 작업은 지속적인 스크럼을 통해 UI 작업을 해결해나갔습니다. 그러나 서버 연결 작업에서 싱글톤 패턴을 이해하는데 어려움을 겪었고, 팀원은 다른 일정으로 시간이 부족하다는 이유로 개발 속도가 현저히 느렸습니다, 프로젝트 발표는 일주일 남은 상태였습니다. 이 상황을 신속히 해결하기 위해 저는 팀원의 남은 역량을 최대한 활용하고자 했습니다. 당시 졸업작품 전시 팀은 80팀이 넘었고, 홍보가 매우 중요한 시점이었습니다. 팀원에게 앱 홍보와 시연을 위한 PPT 준비, SNS 홍보 등 중요한 작업을 맡겼습니다. 팀원은 평소 즐겨 하는 SNS 마케팅을 통해 자신의 강점을 발휘할 수 있었고, 저는 기술적인 문제 해결에 전념할 수 있었습니다.
저는 남은 개발 일정을 재정비했습니다.시연 예상 시나리오를 구성한 후 우선순위에 따라 개발을 진행하기로 했습니다. 시연에서 중요한 실시간 채팅과 알람 기능에 집중했습니다. 이 작품은 회원가입 할 때 유저가 선호하는 조건의 이성만 추천해주는 소개팅 앱으로 사용자 데이터가 부족해 시연에 어려움이 예상이 되었습니다. 백엔드 개발자들에게 더미 데이터로 연예인 사진과 정보를 추가해달라고 요청했습니다. 유저가 친화적인 화면을 구성하고 시연을 보러온 학생들과 교수님께 앱이 실제로 작동하는 모습을 효과적으로 보여줄 수 있었습니다.
그 결과, 입소문이 나며 부스가 전시장 끝에 위치해 있었음에도 불구하고, 학생들이 저희 부스를 찾아와 시연을 보고 큰 관심을 받으며 수상도 할 수 있었습니다. 상황 대처 능력과 문제 해결 의지는 프로젝트의 마무리에 중요한 역할을 했습니다. 이 경험은 저에게 도전 정신과 문제 해결 능력을 입증할 기회가 되었습니다. 문제를 해결하면서 저는 큰 만족감을 느꼈고, 이를 통해 얻은 교훈과 기술을 바탕으로 앞으로도 끊임없이 성장하고 도전하는 개발자가 되기를 희망합니다.
이번 프로젝트의 경험을 통해 문제가 발생하기 전에 사전 예방 조치의 중요성을 실감했습니다. 소개팅 앱을 기획 했을 때 위험을 염두하여 기능에 우선순위를 정하고 팀원 간 프로젝트 진행상황을 공유하며 발생가능한 문제에 대해 의논했습니다. 이를 계기로, 이후 진행한 다른 프로젝트에서도 애자일 방법론을 적극적으로 활용하며 문제를 미리 예측하고 빠르게 대응하는 순발력을 키웠습니다. 이러한 접근 방식은 단기적인 문제 해결뿐만 아니라 장기적인 프로젝트 성공에도 크게 기여할 것이라고 믿습니다.
저는 문제를 해결할 적극적인 의지와 자기주도적인 태도를 갖춘 개발자로 성장해 나가고 있습니다.
나의 강점 및 단점
제 성격의 큰 장점 중 하나는 책임감이 강하다는 점입니다. 과거에 팀 프로젝트를 진행하면서, 팀원들이 개인 사정으로 인해 정해진 기간 안에 할당된 업무를 완료하지 못하는 상황이 있었습니다. 이때 저는 문제를 해결하기 위해 적극적으로 커뮤니케이션을 시도했습니다. 우선 팀원 개개인의 상황을 파악하고, 가능한 업무 분배를 재조정했습니다. 필요한 경우, 제가 직접 추가적인 작업을 맡아 진행하기로 결정했습니다. 특히, 마감일을 준수하기 위해 주요 기능을 우선순위로 두고, 나중에 추가 가능한 부가 기능은 후순위로 미뤘습니다.
마감일이 가까워짐에 따라, 남은 시간이 부족해 일부 팀원들의 업무를 기다릴 수 없다고 판단했습니다. 그래서 개인 일정을 조정하며 책임감 있게 팀원이 완료하지 못한 부분까지 맡아 작업을 완료했고, 결국 앱 배포를 성공적으로 마칠 수 있었습니다. 이 경험을 통해, 개인의 성장이 아니라 팀 전체의 성장이 더 중요하다는 것을 깊이 깨달았습니다.
또한, 저는 리더십을 발휘하는 것을 즐깁니다. 졸업 프로젝트에서 팀장 역할을 맡으며, 팀원들을 효과적으로 이끌기 위한 여러 방법을 터득했습니다. 팀원들과의 정기적인 대면 회의를 통해 프로젝트의 진행 상황을 점검하고, 각자 맡은 작업에서 겪는 어려움을 즉각적으로 해결할 수 있도록 했습니다. 이를 통해 개발 속도를 효율적으로 높일 수 있었습니다. 또한, 온라인 협업도구를 활용해 모든 팀원의 현재 진행상황을 한 눈에 볼 수 있었습니다.
이뿐만 아니라, IT 연합 동아리에서 iOS 파트장을 맡아 동료들이 이해하기 어려운 개념을 정리하여 블로그에 게시했습니다. 이를 통해 동료들이 대면 모임 전에 예습을 하고, 모임 시간을 효율적으로 쓸 수 있도록 지원했습니다. 이러한 경험은 팀의 지식 공유와 학습 성과를 크게 높였습니다.
저는 리더십이 단순히 지시를 내리는 것이 아니라, 동료들이 자신의 역할을 최대한 발휘할 수 있도록 환경을 조성하고 지원하는 것이라고 믿습니다. 이러한 리더십 경험은 팀의 성공에 기여할 뿐만 아니라, 저 자신도 지속적으로 성장하게 만드는 중요한 요소라고 생각합니다.
제 성격의 또 다른 특징은 뛰어난 사교력입니다. 덕분에 팀원들과 쉽게 친해질 수 있지만, 이로 인해 가끔 팀원들이 긴장감을 잃고 업무에 대해 안일하게 생각할 때도 있습니다. 이를 방지하기 위해, 팀원들과 적절한 거리를 유지하며 업무에 집중할 수 있도록 노력하고 있습니다. 저의 이러한 가치관과 성격 덕분에, 저는 항상 팀의 목표를 우선시하며, 팀원들과의 협력을 통해 더 나은 결과를 추구합니다. 앞으로도 이러한 자세를 유지하며, 팀과 함께 성장해 나가는 것을 목표로 하고 있습니다.