요즘IT
위시켓
최근 검색어
전체 삭제
최근 검색어가 없습니다.

IT 지식이 무엇보다 중요해진 요즘, 여러분은 어떻게 공부하고 있나요? 가장 먼저 눈길이 가는 건 다양한 IT 강의 영상일 겁니다. 강의를 제공하는 교육 기업들과 함께, 요즘IT에서 ‘IT 강의 시리즈’를 준비했습니다. 엄선한 교육 영상을 텍스트로 읽고 필요한 정보를 빠르게 가져가세요.

회원가입을 하면 원하는 문장을
저장할 수 있어요!

다음

회원가입을 하면
성장에 도움이 되는 콘텐츠를
스크랩할 수 있어요!

확인

개발

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

년차,
어떤 스킬
,
어떤 직무
독자들이 봤을까요?
어떤 독자들이 봤는지 궁금하다면?
로그인

IT 지식이 무엇보다 중요해진 요즘, 여러분은 어떻게 공부하고 있나요? 가장 먼저 눈길이 가는 건 다양한 IT 강의 영상일 겁니다. 강의를 제공하는 교육 기업들과 함께, 요즘IT에서 ‘IT 강의 시리즈’를 준비했습니다. 엄선한 교육 영상을 텍스트로 읽고 필요한 정보를 빠르게 가져가세요.

 

첫 강의는 ‘문과생을 위한 IT 용어 해설’입니다. IT 교육 기업 스파르타코딩클럽의 대표, 이범규 님이 강의를 진행합니다. 쉽고 재미있는 설명으로 IT 기업에서 개발자와 효과적으로 소통하는 방법을 다루죠. 전체 영상은 스파르타코딩클럽에서 확인할 수 있습니다.


문과생을 위한 IT 용어 강의 ① 나도 코딩을 알아야 할까?

문과생을 위한 IT 용어 강의 ② 코딩? 서버?

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

문과생을 위한 IT 용어 강의 ④ 실무에서는 무슨 일이 벌어질까?

 

앞서 2번째 강의에서는 코딩, 서버처럼 아주 간단한 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 기업들이 일하는 방식을 알아보고 개발자와 소통 오류가 생기는 대표적인 상황도 살펴볼게요.


원본 강의 보러가기 https://bit.ly/4b2nKLl *스파르타코딩클럽에서 무료로 신청할 수 있는 강의입니다.

[스파르타코딩클럽 강의 할인 이벤트]

요즘IT 독자를 위한 혜택을 준비했어요. 
모든 스파르타코딩클럽 유료 강의를 50,000원 저렴하게 들어 보세요.

특별 할인 코드: yozmitgood
사용 방법: 스파르타코딩클럽 로그인 > 마이페이지 (우측 상단) > 쿠폰 > 쿠폰 등록하기

 

요즘IT의 모든 콘텐츠는 저작권법의 보호를 받는 바, 무단 전재와 복사, 배포 등을 금합니다.

좋아요

댓글

공유

공유

댓글 0
스파르타코딩클럽
31
명 알림 받는 중

작가 홈

스파르타코딩클럽
31
명 알림 받는 중
코딩교육 1위 스파르타코딩클럽은 누구나 쉽고 재밌게 코딩에 입문할 수 있는 콘텐츠를 제공합니다.
나의 역량에 코딩을 더해 큰일 내보세요. :)
'누구나 큰일 낼 수 있어, 스파르타코딩클럽'

좋아요

댓글

스크랩

공유

공유

요즘IT가 PICK한 뉴스레터를 매주 목요일에 만나보세요

요즘IT가 PICK한 뉴스레터를
매주 목요일에 만나보세요

뉴스레터를 구독하려면 동의가 필요합니다.
https://auth.wishket.com/login