📌1~4강으로 IT 기초 지식 이해하기
문과생을 위한 IT 용어 강의① 나도 코딩을 알아야 할까?
문과생을 위한 IT 용어 강의② 코딩? 서버? 그게 뭔가요?
문과생을 위한 IT 용어 강의③ 개발자와 소통하려면 무엇을 알아야 할까요?
문과생을 위한IT 용어 강의④ IT 기업이 일하는 방법
첫 시리즈 ‘문과생을 위한 IT 용어 해설’ 강의를 통해 IT 기업에서 개발자와 효과적으로 소통하는 방법을 다뤘습니다. 마지막 강의에서는 개발 과정에서 소통할 때 발생하는 오류를 줄이기 위해 어떻게 해야 하는지 알려드리겠습니다.
개발자와 소통 오류가 가장 많이 일어나는 가상 상황 3가지를 통해 원만한 협업을 위한 방법을 알아보세요.
개발자가 아닌 누군가가 말합니다. “이번 프로젝트는 어떤 걸로 개발하나요?” 개발자가 답합니다. “이번에는 리액트(React)로 개발합니다.” 그러자 다시 묻죠. “왜 자바스크립트(JavaScript) 안 쓰고요? 저번에는 자바스크립트로 개발한다고 하셨잖아요?”
여기서 어떤 오류가 있을까요?
프로그래밍 언어와 프레임워크/라이브러리의 차이를 이해하지 못한 데서 생긴 오류가 있습니다.
자바스크립트는 프로그래밍 언어입니다. 우리가 컴퓨터에게 무엇을 해야 할지 지시하는 기본적인 언어죠. 반면 리액트는 자바스크립트를 더 쉽게 사용하고, 애플리케이션을 더 효율적으로 만들기 위해 만들어진 도구입니다. 정확히 말하면 리액트는 ‘자바스크립트 기반의 라이브러리’입니다. 그러니까 “리액트를 사용한다”는 것은 여전히 “자바스크립트를 사용한다”는 말과 다르지 않아요. 리액트와 자바스크립트는 대체 관계가 아니라, 함께 사용하는 관계라는 것을 이해하는 것이 중요합니다.
누군가 개발자에게 말합니다. “저희 성별 데이터를 ‘남자’에서 ‘male’로 바꿔주세요” 또는 “’남자’에서 ‘남성’으로 바꿔주세요”라고 요청합니다. 개발자가 답합니다. “아, 그건 조금 시간이 걸릴 것 같습니다.” 그러자 누군가는 다시 묻습니다. “왜 시간이 걸려요? 단순한 변경인데요. 지금까지 ‘남자’로 받던 것을 앞으로 ‘male’이나 ‘남성’으로 받을 건데요?”
여기에는 어떤 오류가 있을까요?
개발자가 왜 시간이 걸린다고 말했을 지 생각해 보세요. 그 이유는 ‘데이터 정합성’이라는 중요한 개념 때문입니다. 데이터 정합성이란 데이터가 일관되고 정확하게 유지되는 것을 의미합니다. 예를 들어 우리는 남자와 남성이 같은 의미라는 것을 알지만, 컴퓨터는 그 차이를 모릅니다. 만약 기존 데이터에 ‘남자’로 저장된 값을 ‘남성’으로 바꾼다면, 새로운 데이터와 기존의 데이터가 일관되지 않죠. 이렇게 되면 데이터를 분석하거나 통계를 낼 때 문제가 발생할 수 있습니다. ‘남자’와 ‘남성’이라는 다른 값들이 섞여 있어 같은 의미의 데이터가 두 개로 나뉘게 되는 상황이 생기기 때문입니다.
남자만 남성으로 바꿀 수 있을까요? ‘여자’도 ‘여성’으로 바꿔야 할 겁니다. 이렇게 데이터의 기본 구조가 바뀌면 기존의 모든 데이터와 시스템을 수정해야 하는 큰 작업이 됩니다. 이런 이유로 개발자가 “그러면 다 바꿔야 해요”라고 말하는 것이죠. 데이터의 근간이 바뀌는 경우에는 예상치 못한 문제들이 생길 수 있고, 이로 인해 개발 작업의 범위가 커질 수 있어요. 그래서 단순해 보이는 요청이라도 실제로는 시간이 걸리는 작업이 될 수 있습니다.
또 누군가 개발자를 찾아와서 말합니다. “저희 지금 화면이 안 보여요!” 프론트엔드 개발자는 이유를 알고 답하죠. “아, 서버가 고장 나서 그래요” 또는 “API에서 데이터를 보내지 않아서 그런 것 같네요” 그러면서 “백엔드 개발자에게 가보세요”라고 합니다.
이 말을 들은 누군가는 이렇게 생각할 겁니다. ‘아니, 화면이 안 보이는데 왜 백엔드 개발자한테 가라는 거야? 화면은 분명히 프론트엔드 영역이라고 했는데?’
여기서 중요한 것은 프론트엔드와 백엔드의 역할 차이입니다.
프론트엔드는 사용자가 직접 보는 웹사이트의 껍데기(디자인, 버튼, 텍스트 등)를 담당해요. 이 껍데기를 채우려면 데이터가 필요합니다. 데이터가 있어야 화면에 보여요. 데이터가 없으면? 아무것도 보이지 않습니다. 백엔드는 웹사이트의 데이터와 기능을 처리하는 부분입니다. 백엔드 서비스는 데이터베이스에서 정보를 가져오고, 이를 API라는 것을 통해 프론트엔드에 전달해요.
그래서 만약 백엔드 서버에 문제가 생기거나, API가 데이터를 보내지 않으면 프론트엔드가 껍데기를 준비해 두었어도 그 안에 들어갈 데이터가 없어서 화면에 아무것도 보이지 않는 경우가 있는 것이죠. 이것이 바로 화면이 보이지 않을 때 프론트엔드가 아닌 백엔드 문제일 수 있는 이유입니다.
지금까지 총 5편의 '문과생을 위한 IT 용어 해설' 강의를 통해 IT 업계와의 소통 방법과 코딩의 기초 개념을 살펴보았습니다. IT 지식이 점점 더 중요해지는 시대, 우리는 누구나 IT와 가까워질 수 있습니다. 어렵게만 느껴졌던 코딩도 실제로 마주해보면 그리 어렵지 않다는 사실을 알게 되었죠.
IT 지식을 통해 직장에서의 커뮤니케이션을 원활하게 하고, 나아가 업무 효율성을 높이는 데 큰 도움을 받고 싶다면 실제 강의를 수강해 보세요! 더 구체적이고, 실무에 바로 적용 가능한 다양한 팁을 얻을 수 있을 겁니다.
누구나 큰일 낼 수 있어
스파르타코딩클럽
강의 | 이범규 스파르타코딩클럽 대표
에디팅 | 신수지 팀스파르타 에디터