비개발자를 위한 개발자 종류와 개발 용어 총정리!

엘리스

2023. 3. 13.

개발자와 함께 일하는 IT업계의 비개발자라면 개발자와의 커뮤니케이션에서 어려움을 겪는 순간이 찾아오기 마련입니다. 마크업 언어, 프레임워크 등 개발 진행 상황이나 요청 사항을 말할 때 어떤 단어를 사용해야 할지, 개발자의 요청사항을 어떻게 해석해야 할지 막막할 때가 있죠. 이게 왜 안된다는 것인지, 무엇을 요청하는지 등 어려운 개발 용어 때문에 당황할 때가 많습니다. 이러한 상황을 빠르게 해결하고 원활히 업무를 진행하기 위해서는 개발을 담당하지 않더라도 개발자와의 커뮤니케이션을 위한 간단한 개발 용어를 알아 두는 게 좋습니다.

그래서 오늘은 개발자와 커뮤니케이션하는 비개발자가 알아두면 좋은 개발 용어를 정리해 보려고 합니다. 위와 같은 어려움을 겪었던 분들이라면 기본적인 개발 용어 정리를 통해 조금이나마 원활하게 개발자와의 커뮤니케이션에 성공할 수 있으리라 생각합니다.


개발자 종류

개발 용어를 살펴보기에 앞서 지금 내가 어떤 개발자와 커뮤니케이션하고 있는지를 알아야 하겠죠? 간단히 개발자 종류를 먼저 알아보도록 하겠습니다.


프론트엔드 개발자(Front-end Developer)

프론트엔드, 프론트엔드 개발자, 인터페이스, 개발자 종류, 개발 용어

웹 개발자는 크게 프론트엔드, 백엔드 개발자로 구분할 수 있습니다. 그중 프론트엔드 개발자는 사용자에게 보이는 화면, 즉 서비스의 앞단을 담당하는 개발자입니다. 네이버나 구글 등의 서비스에 접속했을 때 보이는 화면을 프론트엔드(Front-end)라고 부르고 이러한 앞단을 개발하는 개발자를 프론트엔드 개발자라고 부릅니다. 프론트엔드 개발자는 클라이언트 개발자라고 부르기도 합니다. 프론트엔드 개발자는 주로 HTML / CSS / JavaScript 등의 언어를 사용합니다.

개발 비전공자가 테크니컬하게 일하는 방법 - 지금 보러 가기


백엔드 개발자(Back-end Developer)

백엔드, 백엔드 개발자, 서버 개발자, 개발자 종류, 개발 용어
개발자 종류 중 하나인 백엔드 개발자는 뒷단의 영역을 개발합니다. 백엔드 개발자는 사용자에게 보이지 않는 DB, API 등의 서버 영역을 담당하는 개발자라고 이해하시면 좋습니다. 웹사이트에서 기능을 사용하면 사용자 눈에는 보이지 않게 처리가 이뤄지고 결과가 도출되는데요. 이렇게 사용자에게 보이지 않는 부분을 개발 용어로 백엔드(Back-end)라고 합니다. 그리고 이를 담당하는 개발자 종류를 백엔드 개발자라고 합니다. 백엔드 개발자는 서버 개발자라고 부르기도 하는데요. 백엔드 개발자는 Java / Python / JavaScript(Node.js) 등의 여러 프로그래밍 언어 중 하나를 선택해서 사용하는 경우가 많습니다.

개발자들이 사용하는 프로그래밍 언어 순위와 주요 언어는? - 지금 보러 가기


풀스택(Full-Stack)

개발자 종류, 플스택, 서버 개발자, 서버, 개발 용어
풀스택 개발자는 프론트엔드와 백엔드 기술을 모두 가지고 있는 개발자로 혼자서 웹 서비스를 구현할 수 있는 능력을 보유한 사람입니다. 풀스택 개발자는 스스로 디자인도 하고 폼도 제작할 뿐만 아니라 웹페이지를 구현하여 DB와 연동시키고 웹사이트를 서버에 올려 서비스를 구현하기도 합니다.

이 외에도 개발자 종류에는 모바일(애플리케이션) 개발자, 게임 개발자 등 다양한 개발자가 있습니다.

가장 쉽고 효과적인 웹 서비스 교육과정 알아보기 - 지금 보러 가기



개발 용어 기본

이제 본격적으로 알아두면 좋을 기본적인 개발 용어들을 살펴보도록 하겠습니다.
운영체제, 개발 용어, 프레임워크, API, 서버

운영체제(Operating System, OS)

  • 하드웨어 자원을 이용해 프로그램을 실행하고 관리하는 메인 시스템 소프트웨어

윈도우(windows), 리눅스(LINUX), 안드로이드(Android), iOS 등이 운영체제에 해당하는데요. 하드웨어에 따라 적절한 운영체제를 사용해야 합니다.


인터페이스(Interface)

컴퓨터 과학에서 인터페이스는 서로 다른 시스템 / 장치 간 정보나 신호를 교환할 때 그 경계에 해당하며 다음과 같이 분류할 수 있습니다.

  • 하드웨어 인터페이스 : 서로 다른 하드웨어 장치 간 연결 장치로 USB, HDMI 등 해당
  • 소프트웨어 인터페이스 : 서로 다른 소프트웨어 간 연결 시스템으로 API, 엑티브X 등 해당
  • 유저 인터페이스 : 사용자가 하드웨어 화면을 보는 것으로 CLI(Command-Line Interface), GUI(Graphical User Interface) 등으로 언급됨
  • 사람과 컴퓨터 간 인터페이스 : 사용자와 하드웨어 간 연결 장치로 마우스, 키보드, 모니터 등 해당

프레임워크(Framework)

  • 미리 작성된 코드로 프로그램 개발을 위한 구조(틀)를 제공하는 환경

프레임워크는 프로그래밍할 때 자주 쓰이는 여러 큰 뼈대를 제공해 개발자가 필요한 기능을 구현하는 데 집중할 수 있도록 도와줍니다. 건축 과정과 비슷하게 개발을 할 때도 큰 틀을 고려하고 내부를 채워 넣는 방식으로 진행되는데요. 프레임워크는 그 틀을 제공하는 역할을 합니다. 뷰(Vue.js), 앵귤러(Angular), 스프링(Spring) 등이 프레임워크에 해당하죠. 소프트웨어에서 프레임워크는 프로그램을 개발하기 위해 필요한 여러 요소와 매뉴얼, 룰을 제공하는 프로그램이라고 볼 수 있는데요. 따라서 프레임워크에는 반드시 지켜야 하는 룰과 규칙이 있습니다.


API(Application Programming Interface)

  • 서로 다른 소프트웨어 간 상호작용하고 통신할 수 있도록 돕는 인터페이스

API는 흔히 레스토랑 점원에 비유하곤 하는데요. 손님(프로그램)이 점원(API)에게 주문(명령)을 하면, 점원이 주문 내역(명령 목록)을 주방장(API 제공자, 응용프로그램)에게 전달하고, 요리가 완성되면 점원이 손님에게 완성된 음식(명령 결과값)을 가져다줍니다. 이렇게 프로그램과 응용프로그램을 잇는 API를 주방장과 손님을 잇는 점원에 비유할 수 있습니다. 즉 API는 프로그램들이 상호작용할 수 있도록 도와주는 것으로 이해할 수 있습니다.

API는 기능이 어떻게 구현되는지 모르더라도 사용법에 맞춰 가져다 쓰기만 하면 외부 데이터와 기능에 접속할 수 있도록 도와주는데요. 기상청 데이터나 카카오톡, 네이버의 ‘공유하기’ 버튼 등의 API를 활용하고 싶을 때 개발자가 API를 불러오는 코드만 작성하면 데이터와 기능을 바로 사용할 수 있습니다.


네트워킹(Networking)

  • 두 대 이상의 컴퓨터를 연결해 네트워크를 구성하는 것

네트워킹은 두 대 이상의 장비가 유선이나 무선으로 연결되어서 통신 프로토콜이라는 규칙을 사용하여 데이터와 리소스를 교환할 수 있도록 하는 통신망을 의미합니다.


서버(Server)

  • 서비스를 제공하는 컴퓨터나 프로그램

서버는 네트워크를 통해 연결된 클라이언트에게 데이터나 서비스를 제공하는 역할을 하는 소프트웨어를 의미합니다. 다시 식당을 예시로 설명하자면 손님(컴퓨터1)이 음식을 주문하면 식당(컴퓨터2)에서는 주문받은 메뉴를 완성해 고객에게 전달합니다. 여기서 음식을 주문하는 행위를 요청(Request), 주문받은 메뉴를 요리해 전달하는 행위를 응답(Response)으로 보면 손님(컴퓨터1)은 클라이언트, 식당(컴퓨터2)은 서버라고 이해할 수 있습니다.


클라이언트(Client)

  • 네트워크가 연결된 서버에 요청을 보내고 응답을 받으며 서비스를 사용하는 컴퓨터

클라이언트는 프로그램에 접속해 서비스를 요청하고 제공받는 유저라고 볼 수 있는데요. 앞서 식당을 예시로 설명했듯이 음식을 주문(Request)하는 손님을 클라이언트라 볼 수 있습니다.


JSON(JavaScript Object Notation)

  • 자바스크립트에서 데이터를 저장하고 교환하기 위한 기본적인 표기 방식이며 서버와 클라이언트 간 데이터 교류에 가장 많이 사용되는 데이터 표현법

JSON은 웹 어플리케이션에서 데이터를 전송할 때, 즉 서버와 클라이언트 간의 데이터 전송과 표현의 과정에서 일반적으로 사용하는 포맷인데요. 사람이 읽기 쉽게 만든 텍스트 기반의 데이터 교환 표준이라고 할 수 있습니다. JSON은 데이터 요청 조건(key, 키)과 응답할 내용(value, 값)으로 구성되는 형태입니다. 만일 이러한 JSON의 기본적 형태와 작성 방식을 알고 있다면 개발자와 협업할 때 더욱 빠르게 소통할 수 있습니다.


데이터베이스(Database)

  • 통합 관리되는 데이터들의 모임(집합)

데이터베이스는 데이터를 저장하고 관리하는 역할을 합니다. 데이터베이스의 종류는 크게 관계형과 비관계형으로 나뉩니다. 관계형 데이터베이스는 여러 테이블을 구성하여 서로 관계를 맺은 상태에서 데이터를 관리하며 대표적인 종류는 PostgresQL, Oracle, MySQL 등이 있습니다. 비관계형 데이터베이스는 테이블이 아닌 다른 유형으로 데이터를 관리하며 대표적인 종류는 Redis, MongoDB, Couchbase 등이 있습니다.


데이터베이스 관리 시스템(Database Management System)

  • 데이터베이스를 관리하는 미들웨어

데이터베이스는 데이터베이스 관리 시스템(DBMS)이라고 부르는 미들웨어에 의해 관리되는데요. 데이터베이스 관리 시스템을 통해 데이터베이스의 데이터를 저장, 추출, 수정할 수 있습니다.

데이터 분석으로 성과를 개선하는 방법 - 지금 보러 가기



비개발자-개발자간의 효과적인 의사소통 방법

개발자 의사소통, 개발자 커뮤니케이션, 개발자 소통, 개발 용어, 개발자 종류
개발자와의 의사소통을 위해 기본적인 개발 용어들을 알아두더라도 실제 업무를 요청하고 조율하는 과정에서의 싱크(sync)를 맞추는 것은 쉽지 않습니다. 개발자와 협업하는 비개발자들은 어떻게 의사소통해야 할까요?

개발자에게 특정 문제를 의뢰하고 개발을 요청하거나 개발 파트에 대한 확인을 요청할 때는 최대한 구체적으로 설명해야 합니다. 개발자들은 비개발자들의 일반적인 텍스트나 추상적인 구상을 확실한 구조로 재구성하여 코드로 구현해내야 하기 때문인데요. 원하는 게 정확히 무엇인지, 어디서 필요한 것인지 등 최대한 구체적으로 전달해야 합니다. 이때 육하원칙을 생각하면 좋습니다. 요청하고자 하는 내용이나 서비스에 대해 누가, 언제, 어디서, 무엇을, 어떻게, 왜 필요한지 잘 설명하는 기획서를 작성하는 것이죠. 물론 기획서를 작성할 때는 기획자의 관점과 설계자의 관점 두 가지 모두를 고민하여 반영하는 것이 중요합니다.


오늘은 비개발자가 개발자와의 능숙한 커뮤니케이션을 위해 알아 두면 좋을 개발 용어에 대해서 정리해보았는데요. IT 업계에 종사하는 분들이라면 이 용어들을 잘 이해하고 계시면 좋을 것 같습니다. 더 나아가 실제 기초적인 개발 언어나 코딩을 배워두는 것도 원활한 업무 진행에 도움이 많이 됩니다.

코딩 교육 1위 엘리스에서는 데이터 분석, 웹, AI 등 다양한 교육을 진행하고 있습니다. 또한 현직 개발자의 1:1 피드백, 코딩 챗봇 등을 통해 빠르게 학습할 수 있도록 교육 시스템이 잘 마련되어 있습니다. 언제 어디서든 자유롭게 디지털 교육을 진행하고 실습해보고 싶다면 지금 엘리스를 만나보세요!

디지털 교육 실습, 코딩 교육 1위 엘리스 - 지금 보러 가기


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

  • #개발 용어
  • #비개발자

디지털 전환, 엘리스와 함께 시작하세요.

상담을 요청하시면 맞춤형 상담을 제공해 드립니다.