개발

비전공자 PM으로서 알아야 할 기본적인 개발 지식

isabel-hayoung 2024. 12. 17. 16:33

제품의 성공은 개발팀과의 긴밀한 협업에 달려 있습니다. 비개발자 PM이라도 기본적인 개발 지식이 뒷받침된다면 더 명확한 소통과 합리적인 의사결정이 가능한데요! 이번 글은 제가 명확히 정리하고 기억하고자 작성해 보았습니다 ㅎㅎ

1. 웹 서비스의 기본 구조 이해하기

1.1 클라이언트-서버 모델

웹 서비스는 크게 클라이언트서버로 나뉘어 동작합니다.

  • 클라이언트: 사용자가 보는 화면(웹/앱)에서 요청을 보내는 주체입니다.
  • 서버: 클라이언트의 요청을 처리하고 결과(데이터)를 반환합니다.

요청과 응답 흐름 (HTTPS 프로토콜)

웹 서비스는 HTTPS(HyperText Transfer Protocol)를 통해 데이터를 주고받습니다. 

  • GET 요청: 데이터를 조회할 때 사용 (예: 웹사이트 열기)
  • POST 요청: 새로운 데이터를 서버에 저장할 때 사용 (예: 회원가입)
  • PUT/PATCH 요청: 기존 데이터를 수정할 때 사용
  • DELETE 요청: 데이터를 삭제할 때 사용


1.2 프론트엔드 & 백엔드 

프론트엔드백엔드는 웹/앱 서비스의 양대 축입니다.

프론트엔드

사용자 경험을 책임지는 영역입니다. 주요 기술 스택은 다음과 같습니다:

  • HTML: 웹 페이지의 구조를 만드는 마크업 언어 
  • CSS: 웹 페이지의 스타일과 디자인을 담당
  • JavaScript: 화면에서 동적인 기능을 구현 (버튼 클릭, 애니메이션 등)

추가로 많이 사용되는 프레임워크:

  • React: 페이스북에서 만든 UI 프레임워크
  • Vue.js: 빠르고 가볍게 UI를 개발할 수 있는 프레임워크
  • Angular: 구글에서 개발한 대규모 애플리케이션용 프레임워크

백엔드

서버에서 데이터를 처리하고 로직을 실행하는 영역입니다. 주요 기술 스택은 다음과 같습니다:

  • 언어: Python, Java, Node.js, 등
  • 데이터베이스: MySQL, PostgreSQL (관계형 DB), MongoDB (NoSQL)
  • 프레임워크: Django, Spring, Express.js

 

2. 데이터베이스 이해하기

데이터베이스는 제품의 모든 데이터를 저장하고 관리하는 핵심입니다.

2.1 데이터베이스의 종류

  • 관계형 데이터베이스(RDBMS): 데이터를 테이블 형식으로 저장하며, SQL(Structured Query Language)을 사용합니다.
    • 예시: MySQL, PostgreSQL, Oracle
  • 비관계형 데이터베이스(NoSQL): JSON이나 Key-Value 형태로 데이터를 저장하며, 대규모 데이터를 빠르게 처리하는 데 유리합니다.
    • 예시: MongoDB, Redis

2.2 SQL 기초 개념

SQL은 관계형 데이터베이스를 다루는 쿼리 언어입니다.

  • SELECT: 데이터 조회
  • INSERT: 새로운 데이터 추가
  • UPDATE: 데이터 수정
  • DELETE: 데이터 삭제

 

3. API와 데이터 통신

3.1 RESTful API

프론트엔드와 백엔드가 데이터를 주고받는 대표적인 방식이 RESTful API입니다.

  • 엔드포인트: API의 URL 주소 
  • HTTP 메서드: GET, POST, PUT, DELETE 등
  • JSON: 데이터를 주고받을 때 사용하는 포맷

HTTP 메서드 예시

  • GET /users → 모든 사용자 목록 가져오기
  • POST /users → 새 사용자 생성
  • PUT /users/1 → ID가 1인 사용자 정보 수정
  • DELETE /users/1 → ID가 1인 사용자 삭제

 

3.2 GraphQL

GraphQL은 REST의 단점을 보완한 데이터 쿼리 언어입니다. 필요한 데이터만 요청할 수 있어 효율적입니다.

 

4. 버전 관리 시스템(Git)

Git은 소스코드를 관리하고 협업하는 도구입니다. 개발팀에서는 주로 GitHub나 GitLab을 사용합니다.

기본 개념

  • Commit: 코드 변경 사항을 저장
  • Branch: 기능별 작업 공간 생성
  • Merge: 작업을 메인 브랜치에 병합
  • Pull Request: 병합 전 코드 리뷰 요청

 

5. CI/CD 파이프라인

5.1 CI/CD란?

  • CI(Continuous Integration): 코드 변경 사항을 자동으로 빌드/테스트
  • CD(Continuous Deployment/Delivery): 빌드/테스트가 문제없이 작동하면 자동으로 배포

 

마무리

기술적 지식이 부족하면 개발팀과의 커뮤니케이션에서 오해가 발생하거나 일정에 차질이 생길 수 있습니다. 하지만 PM은 기술 지식을 활용해 비즈니스 목표를 기술과 연결하는 역할을 해야 합니다. 비전공자도 공부하면 정말 즐거운 IT 세계를 경험 할 수 있습니다. PM 화이팅!