Share
Sign In
📄

Product Engineer Camp 커리큘럼

기업이 원하는 것은 포트폴리오가 아닌, 실제 문제를 해결한 경험입니다
캠프를 통해, 실제 문제를 해결하는 Product 를 완성하세요

8주 동안 함께 배울 것들

💬

1주차 문제 정의
사용자의 관점을 이해하고 문제를 명확히 정의합니다.

🗃️

2주차 Information flow
서비스의 전반적인 흐름을 이해하고, 사용자의 패턴을 파악합니다.

💡

3주차 서비스 구체화
실제 서비스를 개발하기 위해 필요한 정보들을 구체화합니다.

✍️

4주차 컴포넌트 및 상태 관리 설계
구체화한 개념들을 활용하여 리액트 컴포넌트와 상태를 설계합니다.

📔

5-6주차 컴포넌트 및 상태 구현
컴포넌트와 상태 관리를 구현합니다. 사용자 친화적인 인터랙션을 구현하는 방법을 배웁니다.

🚢

7-8주차 클라우드 서비스, 배포
배포 자동화를 경험합니다. 자동화 내부에서 돌아가는 동작 원리를 이해합니다.

주차별 상세 주제와 과제

1주차 💬 문제 정의 

직접 사용자와 대화하며 문제를 정의합니다.

Empathize: 사용자의 필요와 문제, 목표, 행동, 생각, 감정 등을 파악하려고 노력합니다. 이를 위해 사용자 인터뷰를 사용할 수 있습니다. 이 단계에서는 사용자의 실제 경험과 문제를 사용자 인터뷰를 통해 깊이 이해하고, 사용자의 관점에서 문제를 바라보는 연습을 합니다. 이를 위해 사용자 인터뷰 가이드와 질문지 작성 요령을 배웁니다.
Define: '공감' 단계에서 얻은 통찰력을 바탕으로 페르소나를 작성합니다. 이 과정을 통해 문제를 명확히 정의합니다. 문제를 명확하게 정의하는 것은 해결에 대해 방향성을 제공하며, 이후진행할 단계에서 중요한 기준이 됩니다.

과제

사용자 인터뷰
사용자 인터뷰 질문지 작성법을 토대로, 질문지를 완성합니다. 3명 - 5명의 사용자를 인터뷰 진행합니다.
Persona
사용자 인터뷰 내용을 기반으로 framework 를 활용하여 Persona 를 구체화 합니다.

2주차 🗃️ Information flow

추상화: 핵심적인 서비스 관련 정보의 흐름과, 이에 따른 사용자의 패턴을 파악합니다.

추상화: 2주차 주제의 Information 은 1주차 문제 정의 단계에서 얻은 구체적인 인사이트입니다. 서비스 안에서 Information 이 어떻게 flow 해야 할지, 즉 서비스가 어떻게 동작해야 할지를 계획 합니다. 이는 사용자에게 필요한 정보를, 사용자가 더욱 쉽게 관리할 수 있도록 추상화 하는 과정입니다. 서비스 각 단계에서 사용자의 상호작용을 시각화하며, 이를 통해 서비스의 전체적인 흐름을 설계 합니다.

과제

Service Flow
서비스의 전체적인 흐름을 이해하고 시각화합니다. 서비스를 통해 하는 경험, 서비스가 어떻게 작동하는지를 나타냅니다.
Information Mind Map
서비스의 정보 구조를 시각화하는 도구입니다. 이를 통해 서비스의 다양한 요소와 그들 사이의 관계를 파악할 수 있습니다.

User Workflow 
사용자가 목표를 달성하기 위한 단계를 나타냅니다. 사용자의 행동 패턴을 이해할 수 있습니다.

3주차 💡 서비스 구체화

실제 서비스를 구현하기 위해 필요한 정보들을 구체화합니다.

구체화: 단순한 데이터가 아닌 의미와 맥락을 가진 정보들을 결합하여 만든 결과물에 대해서, 실제 해결책으로 조금 더 명확하게 구현하는 과정입니다.

과제

Menu: 메뉴는 서비스의 주요 기능과 페이지를 나열합니다. 이를 통해 개발자들은 서비스의 구조를 이해하고, 사용자가 필요한 정보나 기능을 쉽게 찾을 수 있도록 도와줄 수 있습니다.
Site Map: 사이트 맵은 웹사이트의 전체 페이지 구조를 나타냅니다. 이를 통해 개발자들은 페이지 간의 관계를 이해하고, 사용자가 웹사이트를 탐색하는 방법을 설계할 수 있습니다.
Service Process: 서비스 프로세스는 서비스가 어떻게 제공되는지를 단계별로 설명합니다. 이를 통해 개발자들은 서비스의 작동 방식을 이해하고, 서비스 제공 과정에서 발생할 수 있는 문제를 파악할 수 있습니다.
Page Flow: 페이지 플로우는 사용자가 페이지 간을 어떻게 이동하는지를 나타냅니다. 이를 통해 개발자들은 사용자의 탐색 경로를 이해하고, 사용자가 원하는 정보나 기능에 쉽게 접근할 수 있도록 도와줄 수 있습니다.

4주차 ✍️ 컴포넌트 및 상태 관리 설계

구체화한 정보와 개념을 활용하여 리액트 컴포넌트와 상태를 설계합니다.

컴포넌트 설계
컴포넌트 계층 구조 설계: 서비스 플로우, 사이트 맵, 페이지 플로우 등을 참고하여 컴포넌트의 계층 구조를 설계하는 것은 애플리케이션의 전체적인 구조를 이해하는 데 도움이 됩니다.
각 컴포넌트는 특정 기능을 수행하며, 상위 컴포넌트와 하위 컴포넌트 사이에는 명확한 관계가 있어야 합니다. 예를 들어, '헤더', '푸터', '사이드바' 등의 레이아웃 컴포넌트와 '버튼', '폼', '카드' 등의 UI 컴포넌트를 구분하고, 이들이 어떻게 조합되어 페이지를 구성하는지를 설계합니다.
컴포넌트 계층 구조를 설계할 때는 유지 보수가 쉬운지, 재사용 가능한지 등을 고려해야 합니다. 공통적으로 사용되는 기능이나 UI는 재사용 가능한 컴포넌트로 만들고, 이를 여러 곳에서 사용하여 중복을 줄일 수 있습니다.
사용자 중심의 컴포넌트 설계: 사용자 워크플로우를 고려하여 컴포넌트를 설계하는 것은 사용자 중심의 컴포넌트를 만드는 데 중요합니다.
사용자가 어떤 작업을 수행하는지, 어떤 정보를 필요로 하는지, 어떤 기능을 사용하는지 등을 고려하면, 사용자의 필요와 목표에 맞는 컴포넌트를 설계할 수 있습니다.
또한, 사용자의 행동 패턴과 사용자 경험을 개선할 수 있는 기회를 찾아서 이를 컴포넌트 설계에 반영하면, 사용자 중심의 컴포넌트를 만들 수 있습니다.
상태 설계
상태 변화 이해: Information Mind Map을 통해 어떤 정보가 사용자에게 필요한지, 어떤 정보가 상호작용에 의해 변화하는지 등을 파악할 수 있습니다. 이를 통해 어떤 상태를 관리해야 하는지를 이해할 수 있습니다.
상태 관리 전략 결정: Information Mind Map에서 파악한 정보의 관계와 흐름을 바탕으로 상태 관리 전략을 결정할 수 있습니다.

과제

컴포넌트 및 상태 설계: 컴포넌트와 상태에 대해 각각의 설계도를 작성합니다. 레포지토리 생성 후, 설계도를 반영하여 폴더 구조를 완성 합니다.

5-6주차 📔 컴포넌트 및 상태 구현

컴포넌트와 상태 관리를 구현합니다. 사용자 친화적인 인터랙션을 구현하는 방법을 배웁니다.

UX를 반영한 컴포넌트 설계: 앞서 논의한 '서비스와 사용자 행동의 시각화 및 이해'와 '서비스 구조의 세부화 및 사용자 경험 개선 방안 설계' 단계를 반영하여 컴포넌트를 설계하세요. Service Flow, Information Mind Map, User Workflow 등을 참고하여 사용자의 경험과 행동 패턴을 반영한 컴포넌트를 설계해야 합니다.
상태 관리 설계: Information Mind Map을 바탕으로 어떤 상태를 관리해야 하는지 식별하고, 이를 반영한 상태 관리 전략을 설계하세요. 사용자의 행동과 그에 따른 정보의 변화를 고려하여 상태 변화를 설계하고, 이를 반영한 상태 관리 로직을 구현하세요.
사용자 중심의 인터랙션 구현: 사용자의 행동 패턴과 사용자 경험을 개선할 수 있는 기회를 찾아서 이를 컴포넌트의 인터랙션에 반영하세요. 사용자가 어떤 작업을 수행하는지, 어떤 정보를 필요로 하는지, 어떤 기능을 사용하는지 등을 고려하여 사용자 중심의 인터랙션을 구현하세요.

과제

컴포넌트 및 상태 구현: 생성한 레포지토리에 코드를 구현합니다. 코드 리뷰를 주고 받으며 구현한 코드를 개선합니다. 동시에 설계를 보완해야 할 부분을 발견한다면, 보완하며 구현을 이어갑니다.

7-8주차 🚢 클라우드 서비스, 배포

배포 자동화를 경험합니다. 자동화 내부에서 돌아가는 동작 원리를 구현하며 이해합니다. (Vercel 이나 AWS 를 활용하여 진행 - 개인별 맞춤 코스로 조정)

클라우드 서비스 이해: 클라우드 서비스의 기본 개념과 장점을 학습합니다. 이는 컴퓨팅, 스토리지, 데이터베이스, 네트워킹 등 다양한 클라우드 서비스를 포함합니다.
Vercel 및 AWS 소개: Vercel과 AWS의 주요 기능과 서비스를 소개합니다. Vercel은 주로 정적 사이트와 JAMstack 애플리케이션에 초점을 맞춘 배포 및 호스팅 플랫폼이며, AWS는 다양한 클라우드 서비스를 제공하는 플랫폼입니다.
클라우드 서비스를 활용한 배포: Vercel 또는 AWS를 사용하여 애플리케이션을 배포하는 방법을 학습합니다. 이는 애플리케이션의 빌드, 배포 설정, 도메인 설정 등을 포함합니다.

과제

클라우드 서비스 활용: 개인별 맞춤 코스로 조정하여 목표로 정한 클라우드 서비스를 직접 활용하며, 완성한 Product 를 배포합니다. 그 과정을 진행하며, 원리를 학습 합니다.
© PEC