스파르타코딩클럽 로고
로그인
전체 강의
부트캠프
국비
커뮤니티
블로그
이벤트
수강생 작품
고객센터
기업 서비스
둘러보기
인텔리픽
신입 개발자 채용 공고를 한 곳에서
로그아웃
1721984958180-Frame%201000007928.png
코딩 가이드

문과생을 위한 IT 용어 강의③ 개발자와 소통하려면 무엇을 알아야 할까요?

조회수 119·6분 분량
2024. 7. 25.
🔍 IT 지식이 무엇보다 중요해진 요즘, 여러분은 어떻게 공부하고 있나요? 다양한 IT 강의 영상이 눈길을 끌지만, 모든 강의를 들을 시간은 부족합니다. IT에 더 가까워질 수 있도록 ‘IT 강의 시리즈’를 준비했습니다. 실제 교육 영상을 텍스트로 담아 필요한 정보를 빠르게 습득할 수 있게 도와드려요.


첫 시리즈는 ‘문과생을 위한 IT 용어 해설’입니다. 스파르타코딩클럽의 대표, 이범규 님이 쉽고 재미있는 설명으로 IT 기업에서 개발자와 효과적으로 소통하는 방법을 알려드립니다.

강의 내용을 그대로 담아 유용한 정보만 제공해 드리니, 지금 바로 확인해보세요!


스파르타코딩클럽 블로그


개발자와 소통을 잘하려면 무엇이 필요할까요? 먼저 개발자와의 시각 차이를 이해해야 합니다. 그 다음이 개발자들이 사용하는 용어를 이해하는 것이죠.


개발자와 소통이 어려운 결정적 이유

시각차, 생각보다 개발자에게 업무를 요청하는 분들이 이 시각 차이 때문에 소통이 어려운 경우가 많습니다. 예시로 말씀드릴게요. 요청하는 쪽에서는 이렇게 말합니다. 🧑🏻‍💼“눈에 보이는 화면만 가볍게 바꿔 주세요.” 개발자는 그러죠. 👨🏻‍💻 “그럼 다 바꿔야 해요.” 요청하는 사람은 처음에는 ‘그렇구나, 다 바꿔야 하는구나’ 하고 생각합니다. 그러다 이런 상황이 반복되면, ‘아니, 뭐 맨날 다 바꿔야 한대?’ 이런 생각이 들죠.

그러면 안 됩니다. 점점 사이만 멀어지죠. 왜 이런 일이 생기냐고요? 개발 영역이 프론트엔드(Front-end)와 백엔드(Back-end), 둘로 나뉘어져 있기 때문입니다.


스파르타코딩클럽 블로그


프론트엔드는 쉽게 말해 무언가 눈에 보이도록 해주는 역할입니다. 백엔드는 이 프론트엔드에게 데이터를 넘겨주는 일을 합니다. 뭐라도 데이터가 있어야 눈에 보일 테니까요. 


이렇게 볼 수도 있습니다. 프론트엔드를 건물 외관이나 내부 디자인, 이런 영역이라고 보는 거죠. 백엔드는 건물 구조에 가깝다고 볼 수 있습니다. 데이터베이스 구조, 이런 얘기 들어보셨나요? 이렇게 구조적으로 얽혀 있는 것들이 많은 영역이 백엔드입니다.


스파르타코딩클럽 블로그


그래서 밖에서 봤을 때는 “그래, 1층에 통창을 넣자.” 하는데, 백엔드에서 보면 “구조상 통창을 넣으면 건물이 무너져요.”라고 할 수도 있는 거죠. 그 차이가 있습니다. 


프론트엔드에서 “이 화면을 이렇게 보여주고 싶어. 또 이 정보를 무언가 더 보여주면 좋겠어”라고 말할 수 있습니다.

그런데 백엔드에서는 “그 정보는 안 주고 있었어.” 내지는 “그 정보는 우리가 다른 곳에 담아두고 있어서 뭔가 성능 이슈가 생길 수 있어.”라고 할 수 있습니다.

그러면 이제 ‘작업이 어려워지는구나.’ 이렇게 생각할 수 있어야 합니다.


개발자와의 시각차 이해하기

여러분이 개발자한테 요청할 때 ‘건물의 기둥을 바꾸는 일’이 아닌 것, 그러니까 다시 말해 쉬운 것만 잘 알아서 골라 요청해라, 이런 뜻이 아닙니다. 어떻게 그러겠어요. 내가 구조를 짠 것도 아닌데 말이죠.


핵심은 결국 일이 되도록 하는 겁니다. 그렇죠? 일이 되려면, 내가 꼭 뜻한 대로만 이뤄지지 않아도 됩니다.

예를 들어 “이 정보가 보였으면 좋겠다.”라고 기획했습니다. 그럼 이 정보는 A 방식으로 보여도 되고, B 방식으로 보여도 됩니다. 정보가 보이기만 하면 되죠. '중간의 합의점에서 만나 일이 되게 하는 것' 이것이 핵심입니다.


스파르타코딩클럽 블로그


그러려면 서로가 서로의 입장을 더 이해해야 합니다. 내가 만약 기획자라면, 내 기획을 개발자가 구현하기 좀 더 쉬운 방향으로 가도록 만드는 일이 중요하죠. 일정을 연기할 수도 있고요. 개발자도 마찬가지로 “아, 이렇게 해야지 구현이 쉬워요.”라는 것을 더 잘 이야기해 주면 그 가운데 합의점에서 만날 수 있습니다. 개발자의 노력, 기획자의 노력이 같이 필요한 영역입니다. 기획자만 그런 것도 아닙니다. 요즘은 사실 거의 모든 부서가 개발 부서와 함께 일하고 있으니까요. 다 마찬가지겠죠?


개발자들이 사용하는 용어 이해하기

기술 스택이란?

개발자들이 사용하는 용어를 간단히 이해해 볼게요. 대부분 회사에서 쓰이는 용어는 기술 스택과 관련된 용어들이 많습니다. 진짜 어려운 용어, 무슨 패턴이니 기술이니 하는 말은 개발자들끼리 일할 때 씁니다. 밖으로 흘러나와 귀에 들리는 용어는 대부분 기술 스택에 관한 겁니다.


스파르타코딩클럽 블로그


기술 스택은 무엇일까요? 좀 섞여 있습니다. 프로그래밍 언어도 있고, 개발 툴도 있고, 또 프레임워크나 라이브러리 같은 것도 있습니다. 이 용어들이 다 섞여 들리니 뭐가 뭔지 모르겠는 거죠. 오늘 한 번 이 용어를 나눠 보겠습니다.


프로그래밍 언어: 자주 쓰는 언어는 무슨 특징이 있을까?

우선 프로그래밍 언어는 앞선 강의에서 배웠습니다. 컴퓨터에 명령을 내릴 때 쓰는 언어, 이를 프로그래밍 언어라고 하죠. 파이썬(Python), 자바(Java), 자바스크립트(JavaScript) 이런 것들이 언어입니다.

📍 잠깐, 앞선 강의를 놓치셨다면 여기를 클릭해보세요!


스파르타코딩클럽 블로그


언어에는 특징이 있습니다.

우선 자바, 우리나라에는 자바 개발자가 아주 많습니다. 그래서 큰 회사는 자바를 쓰는 경우가 많습니다. 왜 그럴까요? 큰 회사일수록 개발자가 많이 필요할 겁니다. 그런데 우리나라에는 어떤 개발자가 많다고요? 자바 개발자가 많죠. 그러다 보니 또 기술의 성숙도가 많이 높아져 있습니다. 정보도 많고 경험도 많죠. 다만 자바는 좀 어렵습니다. 형식도 많고요. 


파이썬을 볼까요? 입문용으로 비개발자가 코딩을 배운다, 그러면 100이면 100 파이썬이라고 생각해도 좋습니다. 파이썬 코드는 아주 직관적입니다. 눈으로 봐도 읽을 수 있어요. 쉽게 입문할 수 있고 자유롭습니다. 또 데이터 분석이나 업무 자동화에 아주 강력합니다. 만약 처음 배운다고 하면 굉장히 재미있게 배울 수 있을 거예요.


그다음, 자바스크립트가 있습니다. 좀 들어보셨죠? 자바스크립트는 재미있는 특징이 있습니다. 보통 프로그래밍 언어라고 하는 것들은 다 눈에 보이지 않는 부분, 백엔드에서 쓰는 언어들입니다. 컴퓨터에 명령을 내리는 백엔드에서 쓰죠. 그런데 이 자바스크립트라고 하는 언어는 희한하게 우리 눈에 보이는 부분에서도 쓰입니다.

백엔드, 프론트엔드 다 쓰이는 거죠. 다만 백엔드에서 쓰는 자바스크립트는 조금 다릅니다. 문법은 거의 같은데 뿌리가 살짝 다르죠. 그래서 백엔드에서 쓰는 자바스크립트를 노드JS(Node.JS)라고 부릅니다. 백엔드도 프론트엔드도 되는 언어, 이것도 할 수 있고 저것도 할 수 있는 언어, 그래서 스타트업에서 보통 자바스크립트를 많이 씁니다.


스파르타코딩클럽 블로그


앱은 앱대로 따로 있습니다. 안드로이드 앱 제작에는 코틀린(Kotlin)이라는 언어를 쓰고, iOS 앱 제작에는 스위프트(Swift)라는 언어를 씁니다. 우선 이 언어들은 이름만 들어 두세요. 둘은 생김새가 달라 코틀린 배웠다고 스위프트가 되지 않습니다. 


대신 이 둘을 한 번에 만들 수 있는 플러터(Flutter)도 있습니다. 하이브리드죠. 옛날에는 이처럼 하이브리드라고 하면 “안 좋은 거 아니야? 이도 저도 아니고 애매하잖아.” 이렇게 생각했는데요. 요즘은 그렇지 않습니다. 여러분이 잘 아는 유명한 앱도 플러터로 만든 케이스가 꽤 있습니다.


프레임워크/라이브러리: 그래서 미리 만들어 두었죠!

프로그래밍 언어로 프로그램을 처음부터 다 만드는 일은 진짜 어렵습니다. 특히 서버, 우리가 서버라고 간단하게 부르지만, 이 서버가 해야 하는 역할이 아주 많습니다. 요청이 오면 요청을 받아야 하지, 또 그 요청을 처리해야 하지, 이 요청이 괜찮은 요청인지, 이를테면 해킹인지 아닌지도 판단해야 합니다. 또 그 과정을 거치면 응답을 줘야 하고요. 할 일이 정말 많습니다.


스파르타코딩클럽 블로그


프로그래밍 언어를 하나 배워 프로그램을 다 짜는 일은 '고추장을 만드는 데 태양초만 받았다' 이렇게 생각해도 됩니다. 불가능해요. 그렇게 하는 사람 없습니다.


그럼 어떻게 할까요? 어느 정도 미리 만들어진 뼈대가 있습니다. 이를 가지고 프로그램을 만드는 거죠. 이러한 뼈대를 프레임워크 또는 라이브러리, 이렇게 부릅니다. 두 가지 차이가 있긴 한데요, 비개발자라면 그냥 뼈대다, 개발을 더 편하게 만들어주는 역할이다, 이렇게 생각해도 좋습니다.


그래서 언어마다 유명한 뼈대들이 하나씩 매칭되어 있습니다. 

리액트(React)는 프론트엔드 영역에서 자바스크립트와 매칭되어 있습니다. HTML이라고 들어본 적 있으신가요? HTML, CSS, 자바스크립트. 프론트엔드의 3대장입니다. 각각 뼈대, 꾸미기, 움직이기 역할을 하는데요.


이 3대장을 잘 쓸 수 있도록 만든 것이 리액트입니다. 국내에서 프론트엔드 개발을 한다고 하면 거의 리액트가 다 먹었다고 얘기할 수 있을 정도죠. 가장 대중적으로 널리 쓰이고 있습니다. 


자바는 스프링(Spring)입니다. 자바로 서버를 만들 때, 거의 100이면 100 스프링을 사용합니다. 또 앞서 얘기한 노드JS는 익스프레스(Express.js)를 사용합니다. 이처럼 대부분 1 대 1 대응입니다. 프론트엔드는 리액트, 백엔드인데 자바 쓸 거라면 스프링, 노드JS 쓸 거라면 익스프레스, 이런 식이죠. 물론 다른 용어도 대응하는 것들이 많습니다. 차근차근 공부해 나가면 좋겠습니다.


개발 툴: 개발자들의 워드, 엑셀은 따로 있다고요?

다음은 개발 툴입니다. ‘개발을 쉽게 하기 위해 도움을 주는 것들’ 이렇게 생각할 수 있습니다.


스파르타코딩클럽 블로그


만약 보고서를 쓴다고 합시다. 물론 보고서를 메모장에 작성할 수 있습니다. 그렇지만 누가 힘들게 메모장에서 보고서를 쓸까요? 워드(Word) 이런 곳에서 작성하죠. 똑같습니다. 메모장에서 코딩도 할 수 있습니다. 다만 VS 코드(VS Code, Visual Studio Code), 이 도구를 사용하면 훨씬 쉬워집니다.


다음, 협업할 때를 볼까요? 내가 쓰는 코드가 있고, 다른 개발자가 쓰는 코드가 있습니다. 둘을 합쳐야 해요. 누구 컴퓨터를 기준으로 합칠까요? 애매하죠. 중앙에서 합치면 좋을 겁니다. 이게 깃허브(GitHub)라는 도구의 역할입니다. 


마지막입니다. 서버의 역할이 무엇이라고 했죠? 컴퓨터입니다. 서버가 2대 필요하다? 컴퓨터가 2대 필요한 거죠.

그런데 큰 회사들은 서버가 20대, 30대, 50대, 훨씬 넘게 필요합니다. 이 서버를 모두 사무실에 둘까요? 안 되겠죠.


그래서 요즘에는 이 서버를 인터넷에 빌려쓰는 기술, 클라우드 기술이 보편화되어 있습니다. 대표적으로 AWS가 있습니다. 우리 상품 구매할 때 미국에서는 아마존을 많이 쓰잖아요, 그 아마존과 같은 회사에서 만든 아마존 웹 서비스(Amazon Web Service, AWS)에서 이렇게 서버 컴퓨터를 빌려줍니다.

이를 이용해서 우리가 서비스를 만드는 거죠. 이해가 되시나요? 요약하면, VS 코드는 코드를 입력하는 도구, 깃허브는 코드를 저장하거나 관리하는 중앙저장소, 마지막 AWS는 코드를 실행하는 컴퓨터를 인터넷에서 빌려 쓰는 서비스, 이렇게 생각할 수 있습니다.




'문과생을 위한 IT 용어 해설' 강의를 통해 IT 업계와의 소통 방법과 코딩의 기초 개념을 살펴보았습니다. IT 지식이 점점 더 중요해지는 시대, 우리는 누구나 IT와 가까워질 수 있습니다. 어렵게만 느껴졌던 코딩도 실제로 마주해보면 그리 어렵지 않다는 사실을 알게 되었죠.

이 강의는 IT 지식을 통해 직장에서의 커뮤니케이션을 원활하게 하고, 나아가 업무 효율성을 높이는 데 큰 도움이 될 것이예요.


앞으로 이어질 강의 시리즈에서는 더욱 다양한 IT 지식과 실무에서 유용하게 활용할 수 있는 정보들을 다룰 예정입니다.

스파르타코딩클럽을 방문한 수많은 사람들이 가장 궁금해했던 질문들을 중심으로, IT 기초 상식부터 고급 지식까지 폭넓게 제공할 것이니 많은 기대 부탁드려요!



누구나 큰일 낼 수 있어

스파르타코딩클럽

강의 | 이범규 스파르타코딩클럽 대표

에디팅 | 신수지 팀스파르타 에디터

- 해당 콘텐츠는 저작권법에 의해 보호받는 저작물로 스파르타코딩클럽에 저작권이 있습니다.
- 해당 콘텐츠는 사전 동의 없이 2차 가공 및 영리적인 이용을 금하고 있습니다.
내용이 유익하셨다면? 공유하기
copyclip-blog-sharekakao-blog-sharefacebook-blog-share
다른 분들이 많이 읽은 글
코딩 가이드
문과생을 위한 IT 용어 강의② 코딩? 서버? 그게 뭔가요?
조회64·6분 분량
문과생을 위한 IT 용어 강의② 코딩? 서버? 그게 뭔가요?
코딩 가이드
문과생을 위한 IT 용어 강의① 나도 코딩을 알아야 할까?
조회87·5분 분량
문과생을 위한 IT 용어 강의① 나도 코딩을 알아야 할까?
copyclip-blog-share