박상수(const)

비즈니스 드리븐을 지향하는 개발자

About Me

박상수 (Park Sang Su)의 사진
박상수 (Park Sang Su)
Email
epitoneplus@gmail.com







비즈니스 드리븐을 지향하는 개발자 박상수(const) 입니다.


크고 작은 문제를 탐구하고, 문제를 해결할 수 있을 때 비즈니스를 만들 수 있다고 생각합니다. 기획자로서 제 삶 주변에 있는 문제들을 탐구하며 문제 해결 방법을 제시했고, 지금은 개발자로서 문제를 직접 해결할 수 있는 사람이 되기 위해 노력하고 있습니다. 앞으로도 문제를 해결하면서 비즈니스를 만드는, 비즈니스 드리븐한 삶을 살기 위해 노력하고 싶습니다.


백사장에 글을 쓰면 파도 한 번 치면 끝이지만, 돌에 글을 새기면 백 년을 간다는 말처럼, 공부한 내용을 잊지 않고 기억하기 위해 블로그에 개발자가 되기 위해 노력하는 과정을 정리하고, 공부한 내용을 꾸준히 작성하고 있습니다.


무던히 포기하지 않고 견디고 견뎠던 그 시간들이 변함없는 단 하나의 해답임을 믿습니다.



Timestamp

22.01.15 ~ 4개월
POG 백엔드 개발자
POG
experience
POG
side-project
21.11.01 ~ 21.12.06 1개월
원티드 프리온보딩 백엔드 코스
원티드
experience
원티드
wecode
21.02.24 ~ 21.08.25 6개월
포켓유니브 백엔드 개발자
유커넥션
company
20.12.03 ~ 21.02.10 2개월
미닝 백엔드 개발자
미닝
experience
MVP
대상
side-project
20.09.01 ~ 21.01.30 4개월
SOPT 대학생 연합 IT 창업 동아리 서버파트원
SOPT
experience
SOPT 27기
19.06.01 ~ 19.12.20 6개월
신세계 지식향연 청년영웅 6기
신세계
experience
신세계 지식향연
인문학
18.09.20 ~ 20.02.10 1년 5개월
SK Lookie 서울시립대학교 창업 동아리 토끼발
SK Lookie
experience
SK Lookie
PM
서비스 기획
최우수상
우수상
18.10.01 ~ 18.11.26 2개월
KT&G 상상마케팅스쿨
KT&G
experience
KT&G
PM
서비스 기획
우수상

Dev Experiences

우측 화살표를 클릭하면 자세한 정보를 살펴볼 수 있습니다.
[POG] 롤 게임 전적 알림 서비스 logo 이미지
[POG] 롤 게임 전적 알림 서비스 (22.01.15 - 4개월)
롤 유저라면, OP.GG와 같은 전적 검색 서비스를 사용하곤 합니다. 전적 검색 서비스를 활용해서 전적 검색을 하려면 매번 사이트에 들어가서, 전적이 알고 싶은 소환사를 검색하고, 소환사의 전적 갱신 버튼을 눌러야만 최신 전적을 살펴볼 수 있는 불편함이 있습니다. POG는 즐겨찾기 한 소환사의 전적이 갱신되면 푸시 알림으로 전적 정보를 전달합니다. POG에서 푸시 알림 서비스를 비롯한 비즈니스 로직을 개발했습니다.
백엔드 개발자
Nest.js
Typescript
PostgreSQL
TypeORM
Redis
Bull.js
Docker
프로젝트 : 개요 (22.01.15 - 22.05.24 4개월)
AWS의 Elastic Beanstalk를 사용하여 배포하고 있습니다. Github Actions를 활용하여 CI/CD를 진행 중입니다. AWS RDS(PostgreSQL)를 RDBMS로 사용하고 있고, AWS ElastiCache(Redis)를 활용해서 캐시 데이터를 사용하고 있습니다.
서버를 앱 서버, 푸시 서버 두 개로 운영하여, 하나의 서버가 장애가 나더라도, 다른 서버에 장애가 전파되지 않도록 구성했습니다. 푸시 서버의 경우 Redis 기반 큐인 Bull 큐를 활용하여 동기 처리 방식으로 진행되던 푸시 알림을 비동기 처리하도록 구성했습니다.
배포 담당과 비즈니스 로직 담당으로 나누어 프로젝트를 진행했습니다. 저는 비즈니스 로직을 담당했고, 아래 작성된 프로젝트 진행을 홀로 진행했습니다.
----
프로젝트 : FCM Topic 활용 푸시 전송 로직 설계(22.03.02 - 22.05.06 2개월)
문제
POG 서비스는 소환사를 즐겨찾기 하여 전적 변화 여부를 파악할 수 있습니다. 만약 즐겨찾기한 소환사의 전적이 변동됐다면, 소환사를 즐겨찾기 한 모든 사용자의 FCM 토큰을 조회해서 FCM 서버에 푸시 요청을 해야 했습니다. 1분마다 전적이 변동된 소환사를 즐겨찾기한 모든 사용자의 FCM 토큰을 조회하는 과정에서 DB에 부하를 발생시켰습니다.
진행 과정
FCM 공식 문서를 모두 분석하면서, FCM Topic을 활용하면 사용자의 토큰을 찾지 않아도 푸시를 보낼 수 있다는 것을 알았습니다. Topic을 활용하기 위해 사용자가 소환사를 즐겨찾기 할 경우, 클라이언트 로직에서 소환사의 id를 FCM topic으로 구독하도록 설정했습니다.
결과
사용자의 FCM 토큰을 조회하는 로직을 제거하여 DB에 부하를 줄 수 있는 로직을 제거했습니다.
----
프로젝트 : Redis Queue 활용 푸시 알림 설계(22.03.02 - 22.05.06 2개월)
문제
전적이 변동된 소환사가 1만 명이라고 생각했을 때, FCM Topic을 이용해서 푸시를 보내더라도, FCM 서버로 1만 개의 푸시를 전송해야 했습니다. 그 과정에서 푸시가 동기적으로 전송됐고 푸시를 전송할 때 까지 서버가 멈춰있는 문제가 발생했습니다. 또한 서버가 멈춰있는 동안, 서버에 처리해야 할 요청이 많아질 경우 서버는 견디지 못하고 장애를 발생시켰습니다. 그 과정에서 스레드에 쌓여 있던 푸시 메시지 작업이 모두 사라지는 문제가 발생했습니다.
진행 과정
1. 동기적으로 동작하는 로직을 비동기적으로 처리하기 위해 Queue를 활용했습니다. FCM 서버에 보내야 할 푸시 정보를 Queue에 전달해서 처리함으로써 Node.js의 메인 스레드가 계속해서 멈춰있지 않도록 설계했습니다.
2. 아이템에 대한 고객 반응을 살펴보기 위해서는 서비스를 빠르게 설계해서 개발할 수 있어야 했습니다. Kafka와 같은 이벤트 브로커를 설계하기에는 많은 시간이 걸릴 수 있을 것으로 생각하여 메시지 브로커 중심으로 Queue를 설계했습니다.
3. RabbitMQ를 활용하려 했으나, 제대로 활용하려면 관리 비용이 든다는 것을 파악했습니다. AWS의 SQS의 경우도 서비스 초기에는 비용이 들지 않더라도 사용자가 조금만 많아지더라도 큰 비용이 들 수 있다고 판단했습니다.
4. 서비스에서 Redis를 활용하고 있으니, Redis 기반의 Queue를 활용하면, 비용 문제도 걱정하지 않으면서도 빠르게 Queue를 구현하여 고객반응을 살펴볼 수 있다고 판단했습니다. 이를 통해 Redis 기반의 Queue인 bull.js를 활용하여 푸시 알림을 비동기 처리하도록 설정했습니다.
결과
동기적으로 동작하던 푸시 전송을 비동기적으로 처리함으로써 싱글 스레드인 Node.js에 부담을 줄일 수 있었습니다. 또한 queue에 푸시 알림 데이터를 저장하기에, 푸시를 보내는 과정에서 갑작스럽게 서버에 장애가 발생하더라도 다시 정상적으로 푸시 알림을 전송할 수 있습니다.
----
프로젝트 : Redis 캐싱 전략 설계(22.03.02 - 22.05.06 2개월)
문제
1. POG 서비스는 1분 마다 사용자가 즐겨찾기 한 소환사 중, 전적이 변경된 소환사를 파악해서, 전적이 변경된 소환사를 즐겨찾기한 사용자에게 푸시알림을 보냅니다. 이때 전적이 변경된 소환사를 파악하기 위해서는 DB에 저장된 소환사를 전부 조회해야 했습니다. 전체 소환사 정보를 조회하는 과정에서 DB에 부하가 갈 수 있다고 생각했습니다.
2. 소환사의 전적이 변경됐는지 파악하기 위해 특정 소환사의 정보를 받아오는 Riot API를 호출했습니다. Riot API를 통해 받은 소환사 정보와 데이터베이스에 저장된 소환사 정보를 비교했습니다. 만약 비교 값이 다르다면, 데이터베이스에 최신 전적을 저장했습니다. DB에 수정 쿼리를 요청하는 과정에서 부하가 갈 수 있다고 생각했습니다.
진행 과정
1. 소환사를 즐겨찾기할 경우, 소환사의 Id와 전적을 Redis에 저장했습니다.
2. 현재 Redis에 저장된 소환사의 전적과 Riot이 제공하는 소환사 전적 정보를 비교해서 소환사의 전적이 갱신될 때마다 Redis의 데이터를 수정하도록 설계했습니다.
3. 만약 Redis에 장애가 발생해서 데이터가 모두 휘발됐을 때를 대비하여, Redis에 소환사의 전적을 다시 저장할 수 있는 롤백 기능을 개발했습니다.
결과
Redis의 Set 자료구조를 활용하여 모든 소환사 Id를 조회함으로써 DB에 부하를 줄일 수 있었습니다. 또한 Redis를 활용하여 소환사 전적 정보를 수정함으로써 DB에 부하를 줄일 수 있었습니다.
----
프로젝트 : 테스트 코드 설계(22.03.02 - 22.05.06 2개월)
문제
테스트 코드를 작성하지 않아서, 코드 한 줄을 바꾸더라도 코드의 변경이 어떤 문제를 일으킬지 알 수 없었습니다. 이를 통해 리팩터링의 어려움을 겪었습니다.
진행 과정
1. E2E, 통합, 단위 테스트 코드를 작성했습니다. 단위 테스트 코드 작성 시 mock을 활용하지 않고 stub 객체를 활용함으로써 의존성 설계가 잘못된 곳은 없는지 스스로 크로스 체킹하면서 개발했습니다.
2. Github Action을 활용하여 PR시 E2E, 통합, 단위 테스트 코드를 작동시켜 코드에 문제가 생긴다면 문제를 빠르게 해결할 수 있도록 설계했습니다.
결과
테스트 코드를 작성하여 코드의 품질과 서버의 안정성을 올릴 수 있었습니다.
----
프로젝트 : DB 설계 및 쿼리 최적화(22.01.15 - 22.03.02 2개월)
문제
서비스를 개발하면서, 저는 데이터베이스를 제대로 활용하는 방법을 몰랐습니다. 만약 데이터베이스 관리를 제대로 하지 않는다면 사용자에게 좋지 못한 사용자 경험을 제공할 수 있다고 생각했습니다.
진행 과정
1. 어떤 데이터베이스를 활용하는 것이 서비스를 발전시키는 데 도움이 될 수 있을지 알기 위해 MySQL 과 PostgreSQL를 비교했습니다. 단순 CRUD 쿼리는 MySQL을 활용하는 것이 성능이 좋았지만, 복잡한 쿼리를 진행할 때는 PostgreSQL의 성능이 좋은 것을 파악했습니다. 서비스의 특성상 푸시 서비스를 개발할 때 대규모의 조회 쿼리를 빠르게 처리해야 했기에, PostgreSQL 을 활용하는 것이 더 효과적일 것으로 판단했습니다.
2. RDS PostgreSQL 9.6 버전을 활용하면서, 커버링 인덱스가 적용이 안된다는 것을 파악하여 PostgreSQL의 버전 별로 어떤 기능을 지원하는 지 분석했습니다. 그 결과 PostgreSQL의 11버전 이상부터 안전하게 인덱스 적용을 할 수 있다고 판단하여 AWS RDS의 PostgreSQL 버전을 올려서 활용했습니다.
3. PostgreSQL 을 활용하여 직접 테이블을 관리하는 것이 아닌, TypeORM의 마이그레이션을 활용하여 테이블을 관리했습니다. 이를 통해 DB 관리의 어려움을 줄일 수 있었습니다.
4. 쿼리 최적화를 위해 대규모의 테스트 데이터를 쌓으려 노력했습니다. 그 과정에서 TypeORM의 Seeding을 활용하여 대규모의 테스트 데이터를 축적했습니다.
5. 조회 쿼리 속도를 높이기 위해 쿼리 실행 계획을 살펴보며 인덱스를 활용한 쿼리를 작성하고자 노력했습니다.
6. TypeORM의 QueryRunner를 활용한 트랜잭션 제어를 통해 데이터 저장 API를 관리했습니다.
7. 일정 시간 이상 쿼리를 수행하지 못하는 슬로우 쿼리 발생시 설정한 Timeout 시간이 지나면 쿼리를 강제 종료하도록 설정함으로써 슬로우 쿼리로 인한 장애 전파를 막기 위해 노력했습니다.
8. 유휴 커넥션 수가 부족해서 생길 수 있는 문제를 대비하기 위해 커넥션 풀을 조정하는 방법을 알아둠으로써 장애 대비를 위해 노력했습니다.
결과
인덱스를 활용하여 1,000만 건의 데이터를 기준으로 657ms 걸리던 조회 쿼리를 0.023ms의 속도로 조회할 수 있도록 쿼리 성능을 개선했습니다.
----
프로젝트 : ExceptionFilter 및 Sentry를 활용한 에러 핸들링(22.01.15 - 22.03.02 2개월)
문제
API에서 에러가 발생할 때마다, 에러 핸들링 하는 코드를 컨트롤러에 모두 작성했습니다. 그러다 보니 에러 핸들링을 할 때, 모든 경우의 수를 코드로 작성해야 하는 불편함이 있었습니다.
진행 과정
1. 코드를 줄이기 위해, 에러가 발생할 때는 에러에 대한 응답을 모두 작성하는 것이 아닌 ExceptionFilter를 활용하여 에러를 핸들링했습니다.
3. Winston을 활용하여 로깅을 활용했습니다. 로깅을 위해 인터셉터를 구현했습니다.
결과
실패 처리를 상세하게 코드로 작성하지 않아도 에러 핸들러가 처리함으로써 불필요한 코드 작성을 피할 수 있었습니다.
----
프로젝트 : Swagger 활용 API 문서화(22.01.15 - 22.03.02 2개월)
문제
기존 프로젝트를 담당하던 개발자가 Postman을 활용하면서, API 명세서를 제대로 작성하지 않아 기존 API를 살펴보는 데 어려움이 있었습니다. 또한 개발자가 증가하면서, Postman을 함께 활용할 때 비용이 발생하는 문제가 있었습니다.
진행 과정
Swagger를 활용하여 API 명세서를 작성했습니다. express-basic-auth 라이브러리를 활용하여 Swagger 문서에도 보안을 신경썼습니다.
결과
Swagger 문서를 활용함으로써 API 명세서를 제대로 작성할 수 있었고, 비용 문제 또한 발생하지 않았습니다.
----
프로젝트 : 프로젝트 기본 셋팅(22.01.15 - 22.03.02 2개월)
문제
기존 프로젝트를 담당하던 개발자의 코드를 분석하면서, 계층 간의 역할과 책임이 제대로 분리되지 않았습니다. 이 때문에 하나의 로직을 추가하거나 수정하더라도 광범위한 코드를 수정해야 했고, 코드의 응집도 또한 떨어지는 문제가 발생했습니다.
진행 과정
1. API 응답시 인스턴스를 JSON 객체로 직렬화함으로써 전달해야만 하는 정보만 전달하도록 설정했습니다.
2. API 요청에서 받은 JSON 객체를 인스턴스화 하는 역직렬화를 통해 리터럴 객체의 추가 가공에 필요한 로직을 한곳에 모아두고 활용함으로써 응집력 있는 코드를 작성했습니다.
3. 모노레포 방식으로 프로젝트를 설계하여 별도 배포될 비즈니스 로직과 라이브러리를 분리했습니다.
결과
계층별로 역할과 책임이 분리되게끔 코드를 작성함으로써 코드의 응집도를 높였고, 의존성을 줄일 수 있었습니다.
[포켓유니브] 대학생들을 위한 정보교류 플랫폼 logo 이미지
[포켓유니브] 대학생들을 위한 정보교류 플랫폼 (21.02.24 - 21.08.25 6개월)
포켓유니브는 대학생들을 위한 정보교류 플랫폼입니다. 백엔드 개발자로 활동하며 커뮤니티 서비스를 개편했고, 푸시 및 내부 알림 서비스를 개발했습니다.
백엔드 개발자
Express.js
Javascript
MySQL
프로젝트 : 커뮤니티 서비스 개편 (21.03.23 - 21.06.11 3개월)
문제
커뮤니티 게시글을 보기 위해서는 하단 네비게이션 탭 바의 커뮤니티 탭을 누르고, 특정 게시판에 입장해서 특정 글을 선택해야만 했습니다. 게시글을 보려면 세 단계를 거쳐야 하는 UI&UX 접근성에 문제가 있었습니다.
진행 과정
하단 네비게이션 탭 바에서 커뮤니티 탭을 눌렀을 때 특정 게시물의 정보가 노출되게끔 수정했습니다. 커뮤니티 서비스 개편을 위해 기존에 있던 커뮤니티 API를 수정했습니다.
결과
커뮤니티 기능 개편을 통해 DAU 지표를 개선시킬 수 있었고, 앱 회원 수를 3,000명에서 5,000명으로 증가시킬 수 있었습니다.
배운 점
기능 개편이 지표 개선에 도움이 되는 것을 보고서, 앞으로 기능을 만들 때 비즈니스 성장에 도움이 될 수 있으려면 어떻게 일해야 할까 고민해야겠다고 생각했습니다. 이 경험을 통해 백엔드 개발자 또한 비즈니스 드리븐하게 일하는 것이 필요하다는 것을 배웠습니다.
----
프로젝트 : 푸시 및 내부알림 서비스 개발(21.06.14 - 21.08.25 2개월)
문제
커뮤니티 기능 개편을 통해 회원 수는 증가하지만, 재방문율 지표가 떨어지는 문제가 발생했습니다. 어떻게 하면 서비스 재방문율을 올릴 수 있을까 고민했습니다.
진행 과정
재방문율을 올릴 수 있는 방안으로 알림 서비스를 기획하고 개발했습니다. 게시글에 댓글 또는 대댓글이 생성될 때 푸시 알림이 가도록 설정했고, Node Schedule 모듈을 활용하여 전체 고객에게 특정 시간에 이벤트 공지를 알리는 푸시 알림이 가도록 설정했습니다.
결과
내부 및 푸시 알림 서비스 개발을 통해 앱 재방문율을 7일 후 기준 5%에서 10%으로, 5% 증가시킬 수 있었습니다. 하지만 전체 고객에게 푸시 알림을 보낼 때, 푸시 전송이 동기적으로 처리되어 3초 이상의 시간이 걸리는 문제를 해결하지 못하고 팀에서 나오게 됐습니다.
배운 점
백엔드 개발자는 비즈니스를 위해 빠르게 기능개발을 하는 것도 중요하지만, 서비스의 안정성을 반드시 함께 고려해야 한다는 것을 배웠습니다. 특히 푸시 알림을 개발하면서 성능 개선의 중요성을 파악했습니다. 만약 다음에도 푸시 알림 서비스를 개발한다면, 최우선 적으로 성능을 개선시킬 수 있는 방법을 고안해보고 싶습니다.
[SOPT] 대학생 연합 IT 창업 동아리 logo 이미지
[SOPT] 대학생 연합 IT 창업 동아리 (20.09.06 - 21.01.30 4개월)
SOPT는 대학생 연합 IT 창업 동아리입니다. 서버 파트원으로서 SOPT 서버 세미나를 수강하고, 8주차 과제를 모두 수행했습니다. 그 후 3주 간의 장기 해커톤 'APPJAM'에서 더 나은 미라클 모닝 경험제공 서비스 'Meaning'의 서버 개발자로 활동하며, 프로젝트를 진행했습니다.
백엔드 개발자
Express.js
Javascript
MySQL
Sequelize
프로젝트 : 더 나은 미라클모닝 경험제공 서비스 Meaning (20.12.03 - 21.02.10 2개월)
문제
개발자로서 처음 협업을 하는 과정에서, 협업은 어떻게 해야 하는지 모르는 문제가 있었습니다. 그리고 사진을 찍고 S3에 사진을 저장시킬 때 높은 용량의 이미지가 그대로 저장되는 문제가 있었습니다.
진행 과정
개발자로서 더 나은 협업을 하려면 어떻게 해야 할까? 고민하며 프로젝트 시작 전, '코드 컨벤션', '커밋 컨벤션', 'git flow', 'git 명령어 가이드', '이슈 PR 관리'에 대해 공부하고, 공부 내용을 블로그에 정리해서 팀원들에게 공유했습니다. 또한 이미지 업로드 시 AWS Lambda가 이미지 크기를 줄여서 S3에 이미지를 저장할 수 있도록 프로젝트에 적용했습니다.
결과
협업에 관하여 공부한 내용을 팀원들과 공유하며, 협업이 처음인 개발자끼리 원활한 협업을 할 수 있도록 도왔습니다. 또한 AWS Lambda를 활용하여 이미지를 저용량으로 저장할 수 있었습니다. 협업을 위해 노력한 결과 SOPT 서버 MVP, 해커톤 대상을 수상할 수 있었습니다.
배운 점
개발자끼리 어떻게 해야 협업을 더 잘할 수 있는지에 대해 배울 수 있었습니다. 또한 프로젝트에서 Sequelize를 사용했는데, 개발하는 과정에서 Sequelize에서 문제가 생겨도, SQL을 전혀 알지 못해서 현재 어떤 문제가 발생했는지 알지 못하는 문제가 있었습니다. 이 경험 덕분에 SQL 공부를 시작해야겠다고 생각할 수 있었습니다.

Skill Sets

4 - 5: 많이 사용해보았으며 자신이 있는 기술
3: 어느 정도 프로젝트에 적용할 수 있는 기술
1 - 2: 현재 관심이 있어 입문 수준인 기술
Back End Skills
Node.js3
Nest.js3
express3
MySQL3
PostgreSQL3
TypeORM3
Collaboration Skills
Notion4
Git/Github3
Slack3
Jira3
Monday3
DevOps Skills
Docker2
Github Action2

Education

[2021.11.01 - 2021.12.06 1개월]
원티드 프리온보딩 백엔드 코스
원티드 프리온보딩 백엔드 코스는 취업을 준비하는 사람과 기업 간의 정보 비대칭을 해소하여 Fit이 맞는 직장과 지원자를 연결하기 위한 채용연계 실전 코스입니다. 8개의 기업과제를 수행하며, 기업과제가 마무리되면 블로그에 회고 글을 남기며 프로젝트를 통해 배운 점, 부족했던 점이 무엇인지 기록했습니다.
[2019.06.01 - 2019.12.20 6개월]
신세계 지식향연 청년영웅
신세계 지식향연은 신세계그룹에서 진행하는 '인문학 중흥' 프로그램입니다. '엔히크 사그레스 600년 대항해시대 열리다' 주제로 스페인, 포르투갈을 탐방했습니다. 세상의 끝이라고 불리는 호카 곶 절벽 앞에 앉아서 '누군가는 바다 끝이 절벽이기 때문에 앞으로 나아가지 않았지만, 누군가는 그럼에도 바다 끝을 알기 위해 나아가는구나' 생각했습니다. 이 경험을 통해 기획자를 꿈꾸며 살아왔기 때문에, 개발 공부를 할 수 없을 거라는 생각의 한계를 극복하고, 개발 공부를 제대로 시작했습니다.
[2015.03 - 졸업예정]
서울시립대학교 (University of Seoul)
사회복지학을 공부하며, 타인에게 조금 더 도움이 되기 위해 많은 봉사활동을 진행했습니다. 사회적기업인 아름다운가게에서 간사로 근무한 경험이 있고, 인도, 스리랑카, 필리핀에 기업의 후원을 받아 해외봉사에 다녀왔습니다. 지역아동센터에서도 꾸준하게 봉사활동을 하며 타인에게 도움이 되는 삶을 살고자 노력했습니다. 또한 창업학을 공부하며, 사회에 도움이 될 수 있는 업을 스스로 만들고자 노력했습니다. 창업동아리의 PM으로 활동하며 다양한 프로젝트를 진행했고, 그 과정에서 개발자에 흥미를 느껴 개발공부에 정진하고 있습니다. 창업경진대회 및 창업 캠프에서 각각 우수상과 최우수상을 수상했습니다.

Planning Experiences

우측 화살표를 클릭하면 자세한 정보를 살펴볼 수 있습니다.
[SK Lookie] 서울시립대학교 창업 동아리 토끼발 logo 이미지
[SK Lookie] 서울시립대학교 창업 동아리 토끼발 (18.09.20 - 20.02.10 1년 5개월)
SK Lookie는 사회변화 인재 육성 대학생 동아리입니다. '당뇨 환자를 위한 IoT 스마트 약 케이스 제작 프로젝트', '무슬림 관광 활성화 프로젝트'의 PM으로 활동했습니다.
PM
서비스 기획
프로젝트 : 당뇨 환자를 위한 IoT 스마트 약 케이스 제작 프로젝트 (19.10 - 20.01 3개월)
문제
당뇨약 복용 사실을 잊고, 재복용한 결과 저혈당 쇼크가 와서 병원에 실려 간 지인을 보며, 당뇨 환자의 약 복용 여부를 기록하는 서비스의 필요성을 느꼈습니다.
진행 과정
오픈서베이를 활용하여 당뇨 환자 50명에게 당뇨 관리를 어떻게 하는지 설문조사 했습니다. 조사 결과 당뇨 환자들은 약 복용 여부를 수기로 기록하는 것을 불편해하고 있었고, 당뇨 관리에 적합한 식단 정보를 찾고 싶은데 정보 찾기가 어렵다는 사실을 알았습니다. 당뇨 환자가 약 복용 여부를 기록하는 부분과 식단 정보를 찾는 것이 어떤 불편함이 있는지 상세하게 알기 위해 당뇨 환자 3명과 인터뷰를 진행했습니다. 그 결과 약 복용 여부를 자동으로 기록할 수 있고, 식단 정보를 공유할 수 있는 약 케이스와 애플리케이션 개발의 필요성을 느꼈습니다.
결과
학교 지원사업에서 총 300만원의 지원금을 받았습니다. 이 금액을 활용해서 약 케이스 모델링을 업체에 맡길 수 있었고, 약케이스와 앱과의 통신을 위해 아두이노 부품을 구매해서 아두이노의 기초를 공부하며 약 케이스 설계를 진행했습니다. 그리고 애플리케이션을 제작하기 위해 직접 개발 공부를 진행했습니다. 외주를 맡기고 싶었으나, 외주를 맡긴다면 제품을 지속 해서 성장시킬 수 없다고 판단했습니다. 그러면 마음이 맞는 개발자를 구해야만 했는데, 마음이 맞는 개발자를 구하기란 쉽지 않았습니다. 개발자가 없어도 원하는 프로덕트를 만들고 싶다는 생각에 직접 프로그래밍을 공부하며 애플리케이션을 제작하기 위해 노력했습니다.
배운 점
제품 제작부터 프로그래밍까지 모두 진행해보면서, 만들고 싶은 제품을 제작하기 위해서는 기획 역량 뿐 아니라 메이커 역량을 갖춰야 한다는 것을 배웠습니다. 이 경험을 통해 원하는 것을 만들 수 있는 개발자가 되기로 결심했습니다.
----
프로젝트 : 에어비앤비 '트립'을 활용한 무슬림 관광 활성화 프로젝트(18.09 - 19.01 4개월)
문제
다문화가정지원센터에서 근무하며 무슬림 결혼이주여성분들이 일자리를 구하기 어려워한다는 문제를 파악했습니다. 그들은 종교적으로 지켜야할 것들이 많았기 때문에 일터에서 차별을 겪는 문제가 있었습니다. 그리고 무슬림 관광객들은 한국에서 무슬림 친화적인 여행을 즐기기 힘들다는 문제를 파악했습니다. 무슬림 결혼이주여성과 무슬림 관광객을 이어줄 수 있다면 결혼이주여성은 양질의 일자리를 제공받을 수 있고, 관광객은 무슬림 친화적인 여행을 할 수 있을 것으로 생각하여 프로젝트를 시작했습니다.
진행 과정
이태원 이슬람 사원 앞에서 무슬림 관광객 20명을 대상으로 여행을 하면서 어떤 문제를 겪는지 인터뷰했습니다. 그 과정에서, 기도하는 곳을 찾기 힘들며, 무슬림 친화 레스토랑을 찾기 어렵다는 이야기를 들을 수 있었습니다. 인터뷰를 통해 무슬림 결혼이주여성분들과 에어비앤비 '트립' 서비스를 한국에 방문하는 무슬림 관괭객을 대상으로 진행해봐야겠다고 생각했습니다.
결과
인천광역시 동인천 지역을 바탕으로 무슬림 친화적인 여행코스를 기획했습니다. 그 과정에서 3곳의 기도실을 확보하고, 5곳의 무슬림 친화 레스토랑 업체와의 제휴를 맺을 수 있었습니다.
배운 점
'트립' 서비스를 런칭하기 앞서, '트립' 서비스의 일자리가 안정적이지 못하다는 이유로 결혼이주여성분들이 서비스에서 이탈하는 문제가 생겼고, 결국 프로젝트를 진행할 수 없었습니다. 이 과정에서 기획할 때 린하게 사업을 시작하는 것도 대단히 중요하지만, 사업과 관련된 이해당사자의 정확한 니즈를 파악하고 사업을 시작해야 한다는 교훈을 얻을 수 있었습니다.
Related Link
[KT&G] 상상마케팅스쿨 logo 이미지
[KT&G] 상상마케팅스쿨 (18.10.01 - 18.11.26 2개월)
KT&G 상상마케팅스쿨은 차별화된 마케팅 실전경험 프로그램입니다. PM으로 활동하며 '인천 섬 관광 활성화 방안 전략 제안'을 주제로 경쟁 PT를 진행했습니다.
PM
서비스 기획
마케팅
프로젝트 : 덕적도 관광 Brand Identity 정립을 위한 '호박 캠핑' 프로젝트 (18.10.01 - 18.11.26 2개월)
문제
덕적도 관광객의 80%인 백패커는 덕적도 여행을 하면서 돈을 사용하지 않았습니다. 캠핑에 필요한 모든 짐을 가방에 챙겨서 여행했고, 돈을 사용하지 않는 관광객이 섬에 방문하는 것을 마을 주민들은 반기지 않았습니다.
진행 과정
마을주민 20명을 현장에서 인터뷰하며 문제 및 니즈를 도출했습니다. 조사 결과, 마을 주민들은 관광객들이 '호박 회관'에 방문했으면 하는 니즈가 있었습니다. 마을 주민들은 덕적도에서 '호박 회관' 카페를 협동조합 형태로 운영하며 관광객을 대상으로 커피, 간식 등을 판매하고 있었지만, 관광객들이 '호박 회관'에 방문하지 않고 있었습니다. 왜 관광객들은 돈을 사용하지 않을까 알기 위해 백패커 20명을 현장에서 인터뷰했습니다. 백패커들은 덕적도 여행에서만 즐길 수 있는 컨텐츠가 있다면 컨텐츠를 구매하고 싶어 했지만, 즐길 수 있는 컨텐츠가 없다고 판단했기에, 돈을 사용하지 않고 있었습니다. 심지어 20명 중 19명의 백패커들은 '호박 회관'에 대한 인지도가 전혀 없는 상태였는데, '호박 회관'에 대해 홍보한 후에는 19명 중 10명의 백패커들에게 '호박 회관'에 방문하고 싶다는 피드백을 받을 수 있었습니다.
결과
가족 단위로 캠핑을 즐기는 관광객을 타겟으로 한 '호박 캠핑' 사업을 기획해서 백패커와 마을 주민들의 니즈를 동시에 충족시킬 수 있는 방안을 도출했습니다. 이에 대한 내용을 담아서 경쟁 PT를 진행했고 결과 우수상을 수상했습니다. 덕적도에서만 즐길 수 있는 컨텐츠를 만들어서 백패커가 컨텐츠를 소비하고, 여기서 나온 돈이 마을 주민들에게 들어갈 수 있게끔 지역 경제를 살리는 방안을 제시했습니다.
배운 점
이해관계자가 어떤 문제를 겪고 있고, 어떤 니즈가 있는지 파악하는 기획자가 되기 위해서는 현장에서 발로 뛰어서 배워야 한다는 것을 배웠습니다.
Related Link

ETC

[19.03.03 - 20.02.01 11개월]
[사단법인 JUMP] 시대나눔학교 장학샘 기장
시대나눔학교 프로그램 기획 및 운영, 센터 프로그램 운영 및 진행
[19.01.01 - 19.02.01 1개월]
[인천국제공항] 인천국제공항 대학생 해외봉사단
필리핀 마닐라 초등학교 교육봉사 활동 진행 및 사진 촬영, 활동 저서 집필
[18.07.01 - 18.09.01 2개월]
[한국전력공사] 한국전력공사 대학생 해외봉사단
스리랑카 초등학교 교육봉사 활동 진행 및 사진 촬영, 활동 저서 집필
[17.06.25 - 17.08.29 2개월]
[현대자동차그룹] 해피무브 대학생 해외봉사단
인도 첸나이 초등학교 교육봉사 활동 진행 및 사진 촬영
[15.03.22 - 15.06.06 3개월]
[SK SUNNY] 인천/부천 지역 플레이스쿨 봉사단
인천 초등학교 교육봉사 진행 및 사진 촬영
[14.03.10 - 14.12.02 9개월]
[아름다운가게] 나눔장터팀 간사
광화문 희망나눔장터, 뚝섬 아름다운 나눔장터 행사 기획 및 운영
[13.10.25 - 13.12.28 2개월]
[KT&G] 상상마케팅스쿨 7기
한방 화장품 Lang 마케팅 전략 도출