개발자가 아닌데, 왜 개발 지식을 배워야 하나
IT 서비스를 만든다는 것은, 평생 만나보지도 못하는 수많은 사람들에게 편리함을 제공하고 즐거운 경험을 전달하는 멋진 일입니다.
특히, IT 기획자는 사용자의 불편함에서 니즈를 찾고, 이를 바탕으로 ‘세상에 없던 편리하고 즐거운 것'을 머릿 속에서 창조해내는 직군입니다! 더할 나위 앖이 멋진 일이죠.
그렇기에 많은 사람들이 ‘사용자들에게 즐거운 경험을 전달하는 멋진 IT 서비스를 만들고 싶다’는 생각을 가지고 이 업계에 자신있게 발을 내딛습니다.
하지만… 이런 자신감을 비웃듯이 난생 처음보는, 이해하기 어려운 개발 용어들이 수없이 앞을 가로막는 경험. IT 비전공자라면 한 번쯤은 겪어보았을 것 같습니다.
이때, 우리는 이런 생각을 하게 됩니다.
“기획자는 기획만 잘 하면 되고, 디자이너는 디자인만 잘 하면 되는 거 아닌가요? 내가 개발자를 할 것도 아닌데, 왜 어려운 IT 지식까지 알아야 하는지 모르겠어요.”
실제로, IT 서비스를 만드는 다양한 직무 중 개발자가 아닌 이상 실제 코드를 작성할 일은 거의 없습니다. 사실, 실제 코드를 보는 일도 그다지 흔치 않습니다. 그런데 왜, IT 지식을 알아야 한다고 이야기하고, 많은 사람들이 개발 공부에 매달리는 걸까요?
당연한 말이지만, 내가 무언가를 만들고 싶다면, 최소한 그게 대충 어떤 건지는 알아야 합니다.
IT 서비스도 마찬가지입니다. ‘개발'이라는 과정을 통해 만들어지는 ‘IT 프로덕트'를 만들고 싶은데, ‘개발'이 뭔지 전혀 모르면 어떻게 될까요?
서비스 기획의 시작이라고 할 수 있는 ‘내가 어떤 서비스를 만들어가고 싶은가’라는 질문의 답변조차도 찾기 어려워집니다.
IT 서비스를 만드는 과정은, 하나의 요리를 만드는 것과 비슷합니다. 식당을 오픈하는 상황을 가정해봅시다. 이때, 메뉴 기획자가 요리에 대한 지식이 전혀 없다면 어떻게 될까요?
메뉴 기획: 맛있는 스테이크를 메뉴에 하나 넣고 싶어요!
주방장: 어떤 고기를 사용하면 될까요? 소고기, 돼지고기, 닭고기… 원하시는 게 어떤 스테이크인지 구체적으로 말씀해주세요.
메뉴 기획: 차이가 있나요? 맛있으면 되는데…
주방장: … 네?
메뉴 기획자는 고기를 어떤 팬을 사용해서 몇 도에서 몇 분간 구워야 가장 맛있는지까지는 알 필요는 없습니다. 하지만, 적어도 어떤 고기가 있는지, 그 차이가 무엇인지 정도는 알아야 제대로 된 메뉴를 기획할 수 있지 않을까요?
아무것도 모르는 상태에서는 내가 원하는 ‘맛있는 스테이크’가 어떤 스테이크인지조차 제대로 인지할 수 없습니다!
어느 정도 요리에 대한 지식이 있어야 만들고자 하는 ‘맛있는 스테이크’가 잘 구워서 풍부한 감칠맛을 강조한 스테이크인지, 오랜 시간 조리해서 부드러운 식감이 강점인 스테이크인지 구체화할수 있습니다.
서비스 기획도 마찬가지입니다. IT 세상에 대한 전반적인 지식이 어느 정도 갖춰져 있어야, 내가 이 세상에 만들어내고 싶은 게 무엇인지 구체화할 수 있습니다.
더욱 실질적인 이유는, 서비스를 기획, 디자인, 테스트, 운영하는 과정에서 항상 개발자와 커뮤니케이션해야하기 때문입니다.
기획자는 기획만 하고, 디자이너는 디자인만 하고, 개발자는 개발만 하고, QA는 테스트만 하고, 운영자는 운영만 할 수 있다면 참 아름다운 세상이겠지만, 현실은 그렇지 않습니다.
IT 서비스를 만들기 위해서는, 기획부터 운영까지 진행되는 모든 과정에서 여러 직무의 구성원이 긴밀하게 협업해야 합니다. 특히, ‘개발자’와 말입니다.
이 그림은 IT 서비스가 만들어지는 과정에서 이루어지는 커뮤니케이션의 일부를 도식화한 것입니다.
IT 서비스를 만드는 사람들 사이의 소통은 거미줄처럼 복잡하고 다양한 형태로 이루어집니다. 그러다보니, IT 서비스를 만드는 모든 사람들은 필연적으로 개발자와 소통할 수밖에 없습니다! (IT 서비스가 ‘개발’을 통해 구현되다보니, 개발자 중심으로 소통이 이루어지는 것은 당연한 일 이긴 합니다.)
이때, 소통 과정의 가장 큰 장애물이 바로 ‘IT 지식’입니다. 아래의 대화는 실제 업무 과정에서 일상적으로 일어나는 대화 중 일부입니다.
기획자: (설계서를 내밀며) 이렇게 만들어주실 수 있나요?
개발자1: 그렇게 동작하려면 API로 매번 DB 찔러서 확인해야 하는데, 그럼 서버 부하 이슈가 있어서 따로 캐싱을 해야 할 것 같아요. 이 정도 주기로 진행하면 사용성에 이슈 없을지 확인 부탁드립니다.
디자이너: (디자인 가이드를 내밀며) 이렇게 만들어주실 수 있나요?
개발자2: 하나는 네이티브고 하나는 인앱이라 클라이언트 간 싱크 맞추려면 추가 인터페이스가 필요할 거 같은데요… 웹 FE 쪽에서도 함께 검토 부탁드립니다.
기획자, 디자이너: …네?
무슨 말인지 이해가 되시나요?
IT 서비스를 만드는 일은 호락호락하지 않고, 개발자는 나에게 모든 걸 설명해주지 않습니다.
아무리 친절한 개발자여도 바쁜 시간을 쪼개어 아무것도 모르는 사람에게 단어 하나하나 설명해주고 있을 사람은 없습니다. 시간도 없을 뿐더러, 덧셈 뺄셈도 잘 모르는 사람에게 미적분을 설명한다고 알아들을 리도 없기 때문입니다.
이런 일상적인 업무 상황에서 이루어지는 대화 하나하나에 발목 잡혀서 검색에 모든 시간을 허비해버린다면, 서비스를 제 시간 안에 만들어낼 수 있을 리 만무합니다.
IT 업계에 발을 들였다면, 실제로 서비스를 만들어낼 수 있는 사람인 ‘개발자’를 중심으로 돌아가는 세상에서 일할 수밖에 없습니다. 그렇기에 IT 업계에서 IT 서비스를 만들고 싶다면, 개발 지식은 반드시 알아야 하는 필수적인 역량입니다!
이 글을 통해 IT 서비스의 기획자가 되기 위해 IT 지식을 알아야 하는 이유에 대해 조금 더 이해하게 되었다면 좋겠습니다.
그런데, IT 서비스 기획자는 IT 지식을 얼마나 알아야 하는 걸까요? 개발 언어를 배우고 IT 구조를 빠삭하게 알아야만 하는 걸까요?
다음 글에서는 IT 서비스 기획자가 알아야 하는 최소한의 개발 지식을 주제로 이야기해보도록 하겠습니다!