성장하고 싶은 PM이 꼭 알아야 할 개발 지식

PM이 개발을 공부해야 하는 이유와 성장하고 싶은 주니어 PM이라면 꼭 알아야 할 개발 지식을 소개합니다.

🚀 서비스의 성공에 직접적인 영향을 미치는 PM. PM에게 필요한 역량은 무엇일까요? 의외로 많은 이들은 이 질문에 ‘기본적인 개발 지식’이라고 말합니다. PM의 역할은 서비스의 문제점을 해결하고, 개발자를 비롯한 팀원들과 협업하며 성공적인 서비스를 만들어 내는 데에 있으니 말이죠.오늘 아티클에서는 PM이 개발을 공부해야 하는 이유성장하고 싶은 주니어 PM이라면 꼭 알아야 할 개발 지식을 소개합니다.

PM이 개발 지식을 알아야 하는 이유

사용자 경험을 위해

좋은 사용자 경험은 사용자로 하여금 계속해서 서비스를 사용하게 합니다. 사용자 경험은 UX/UI 너머 백엔드와 프론트엔드의 영향을 받기 마련인데요. PM은 표면적으로 보이는 사용자의 움직임뿐만 아니라 사용자의 경험을 구성하는 서비스의 구조를 파악할 수 있어야 하죠.

예를 들어, 사용자가 외부 계정으로 우리 서비스에 간편하게 가입하는 절차를 구상했다고 해봅시다. 사용자 경험을 ‘기획’했다고 말하기 위해선 사용자, 서비스 서버, 외부 서비스 각각이 맡은 역할에 대해 고려해야 합니다. 사용자는 [구글 계정으로 회원가입] 버튼을 클릭하고, 서버는 외부 서비스에 계정 정보를 요청하고, 외부 서비스는 계정 정보를 전달해야겠죠.

협업을 위해

서비스를 제작하고 운영할 때, PM과 개발자의 협업은 필수적인데요. 협업을 할 때에 개발 용어를 몰라서 맥락을 이해하지 못하거나 요구 사항을 정확히 전달하지 못하는 일은 없어야겠죠. 또, 개발 프로세스를 이해하고 있다면 더욱 능숙한 계획 조율이 가능해질 것입니다.

예를 들어, 웹사이트에 새로운 카테고리를 만든다고 해 봅시다. 카테고리를 위한 프로세스가 어떻게 진행되는지 대략적으로 이해하고 있다면, 큰 힘을 들이지 않고도 일정을 조율할 수 있겠죠. 더불어, 프론트엔드 개발자에게 페이지 수정을 부탁해야 할 때 “글과 사진 사이의 padding값을 30, 20으로 설정하고 싶습니다.”라고 구체적인 부탁이 가능합니다.

👉 필수 개발 용어를 빠르게 배우고 싶다면?

데이터 분석을 위해

PM은 사용자 데이터를 분석할 줄 알아야 합니다. 데이터 처리 언어인 SQL를 사용한다면, 데이터를 구체적으로 파악하고 분석할 수 있습니다. 개발자에게 부탁하지 않고도 원하는 데이터를 직접 추출하여 리소스와 시간을 아낄 수 있죠. Amplitude나 Mixpanel를 활용하여 데이터를 분석한다면, 가치 있는 인사이트를 뽑아 서비스를 나은 방향으로 이끌 수 있습니다.

예를 들어, 커머스 앱 사용자들의 결제 비율이 떨어졌다고 가정해 봅시다. 데이터 분석을 통해 장바구니에서 결제까지의 절차에서 이탈한다는 것을 파악할 수 있겠죠. 더 나아가 간편 결제 절차를 만든다거나 결제 유도 메시지를 띄우는 개선으로 결제 비율을 올릴 수 있습니다.

아이디어 전달을 위해

머릿속에 존재하는 아이디어만으로 누군가를 설득하기는 어렵습니다. 시각 자료 없이는 아이디어를 정확하고 구체적으로 전달할 수 없기 때문이죠. 기본적인 개발로 프로토타입을 제작할 수 있다면 어떨까요? 아이디어를 정확히 전달하고, 실질적인 피드백을 얻을 수 있습니다.

프로토타입은 여러 방식으로 제작할 수 있는데요. HTML, CSS 및, JavaScript에 대한 기본적인 기술로 웹사이트를 만들 수 있습니다. 또, 최근 자주 사용되는 웹플로우나 우피 같은 노코드 툴로 웹사이트를 만들 수도 있는데요. 개발에 들어가는 시간을 절반 이상 단축하여 빠르게 프로토타입을 제작할 수 있습니다.

PM이 알고 있어야 할 개발 지식 6가지

프로그래밍 언어

사용자의 작업을 컴퓨터의 하드웨어가 이해할 수 있는 언어로 명령하여 처리하는 것이 소프트웨어인데요. 그중 컴퓨터가 이해할 수 있는 언어가 바로 ‘프로그래밍 언어’입니다.

나라마다 언어가 다르듯, 목적과 용도에 따라 특화된 프로그래밍 언어도 모두 다른데요. 예를 들어, 인공지능이나 빅데이터에는 파이썬이 적합하고, 프론트엔드 개발에는 자바 스크립트가 주로 쓰입니다. 프로그래밍 언어의 개수는 이미 수백 개가 넘어갑니다.

예를 들어 가장 기본적인 코드를 해석해 봅시다.

print(”hello world”)

이 코드는 컴퓨터의 소프트웨어에게 파이썬으로 hello world라는 문장을 출력해 달라는 명령을 내린 것이랍니다.

웹의 구조와 언어

웹은 웹사이트 형태로 정보를 상호 공유하기 위한 시스템입니다. 우리는 한 대의 컴퓨터를 사용한다고 생각하지만, 사실 인터넷이 작동하기 위해서는 최소 2대 이상의 컴퓨터가 필요합니다. 웹은 기본적으로 요청, 그리고 응답의 방식으로 작동하기 때문이죠.

이때 우리가 사용하는 컴퓨터나 웹 브라우저는 ‘클라이언트’, 우리에게 정보를 주는 컴퓨터는 ‘서버’라고 부릅니다. 즉, 클라이언트가 정보를 요청하면 서버가 이에 응답하는 방식으로 웹이 돌아가는 것이죠.

웹을 구성하는 언어도 알아볼까요? 웹은 HTML, CSS, JavaScript로 이루어지는데요. HTML은 웹의 뼈대를 만들며, CSS는 뼈대를 꾸미는 역할을 합니다. JavaScript는 웹의 움직임을 나타냅니다.

스파르타코딩클럽 사이트를 확인해 봅시다. [코딩 단기완성], [국비지원] 등의 버튼은 HTML로, 글씨를 꾸미고 아이콘을 붙이는 건 CSS, 정보들이 넘어가며 생동감을 나타내는 기술은 Javascript로 나타낸 것이죠.

컴퓨터의 통신 매뉴얼

사람과 사람의 관계처럼, 컴퓨터와 컴퓨터 간에도 다양한 형태의 통신이 필요합니다. 이때 이러한 통신 규칙을 정리해 둔 매뉴얼을 우리는 ‘Application Programming Interface’, 줄여서 API라고 부릅니다. Interface라는 단어가 낯설다면 ‘UI’를 떠올려 보세요. UI가 사용자와 앱 간의 매개체를 의미하듯이, API는 클라이언트와 서버 사이의 매개체를 의미합니다. 예로, 카톡 채팅방에 눈이 내리는 기능은 기상청의 날씨 API를 이용한 것이랍니다.

이때 함께 나오는 개념이 바로 JSON입니다. 이는 API를 통해 클라이언트와 서버가 데이터를 주고받을 때 대표적으로 사용되는 정보의 형태인데요. JSON은 여러 프로그래밍 언어에 사용할 수 있고, 대세 언어인 JavaScript를 기반으로 제작되어 사용량이 많습니다.

API는 개발자와 소통할 때 자주 사용되는 용어 중 하나인데요. “네이버 API를 받아와야 할 것 같습니다.”, “개별 이메일에 대한 API를 새로 만들어야 할 것 같아요.” 등 여러 상황에서 쓰이니, 기억해 두면 좋을 용어랍니다.

정보 정리 시스템

개발자와 소통해야 하는 PM이라면, “DB에 수동 기입해 두었습니다.”, “DB에서 누락된 데이터가 있는 것 같습니다.” 등의 말을 들어본 적이 있으실 거예요. DB는 데이터베이스를 의미하는데요, 정보를 체계적으로 저장해 두는 정리함이라고 생각하면 됩니다. 쇼핑 앱을 예로 들면 즐겨찾기, 상점 목록, 찜한 상품 목록, 장바구니 목록, 주문 내역, 결제 내역 등이 데이터베이스에 저장되는 것이죠.

데이터의 저장 위치는 크게 2가지로 나뉩니다. 하나는 로컬, 다른 하나는 서버죠. 로컬 저장은 클라이언트들이 사용하는 컴퓨터, 서버 저장은 서비스하는 회사의 컴퓨터를 의미합니다. 로컬에 저장을 하면 앱을 지웠을 때 우리의 정보도 함께 사라집니다. 반면, 서버에 저장하면 앱을 삭제하고 다시 깔아도 로그인만 하면 정보가 계속 남아있어요. 그래서 로컬보다는 서버에 정보를 저장했을 때, 정보 유실 가능성이 줄어들고 여러 플랫폼에서 일관된 경험을 제공할 수 있죠.

프레임워크와 라이브러리

앱 개발은 가게 창업과 비슷한데요, 나만의 가게를 열고자 하면 신경 써야 할 부분이 많죠. 하지만 프랜차이즈 매장을 낸다고 생각하면 정해진 가이드라인이 있어 훨씬 쉬워질 겁니다. 앱 개발 시에도 이렇게 미리 정해져 있는 가이드라인을 활용할 수 있습니다. 프레임워크와 라이브러리가 바로 그것인데요.

프레임워크는 공통적인 개발환경을 구축할 수 있는 소스코드입니다. 어디에 무엇을 넣어야 하는지 알려주는 뼈대 같은 기능이죠. 그 안의 내용은 개발자가 직접 채워야 합니다. 그와 반대로 라이브러리는 특정 기능을 실행할 수 있는 코드를 미리 만들어 둔 것입니다. 예를 들어 다크모드 기능을 추가하고자 할 때 라이브러리의 코드를 활용하면 개발 시간을 줄이고, 오류를 방지할 수 있겠죠.

지금까지 PM이 개발을 공부해야 하는 이유와 필요한 기본 개발 지식에 대해 알아보았는데요. 개발은 PM에게 분명히 매력적인 무기가 되어줄 것입니다. 개발을 배워 일의 효율을 높이고, 서비스를 성공으로 이끌어 보세요.


국비 지원 받고 IT업계에서 커리어 쌓는 방법

개발자, 디자이너, PM, 데이터 분석가 등 IT업계 직군 취업에 관심이 있으신가요?

온라인 부트캠프 중 취업률 1위, 스파르타 내일배움캠프에 지원해 보세요.

사전 지식이 없어도 맞춤형 커리큘럼을 통해 커리어를 주도적으로 설계할 수 있는 역량을 기를 수 있어요.

수료 후엔 인턴십 프로그램, 현직자 멘토의 1:1 이력서 코칭 등 취업 지원 패키지가 평생 지원됩니다.


- 해당 콘텐츠는 저작권법에 의해 보호받는 저작물로 스파르타코딩클럽에 저작권이 있습니다.
- 해당 콘텐츠는 사전 동의 없이 2차 가공 및 영리적인 이용을 금하고 있습니다.