백엔드 개발자와 프론트엔드 개발자의 차이점이 뭔가요??

백엔드 개발자와 프론트엔드 개발자의 차이점이 뭔가요??

작성일 2019.11.14댓글 5건
    게시물 수정 , 삭제는 로그인 필요

백엔드 개발자와 프론트엔드 개발자는 일의 차이점이랑 같이 할 수 있는건지?  분야가 다른건지 궁금해요!!



profile_image 익명 작성일 -

프로그램을 만드는 일은 같습니다. 간단히 말하면, 만든 프로그램이 어디에서 작동하느냐입니다. 서버 시스템에서 작동하는 프로그램을 만들면, 백엔드, 개인용 컴퓨터나 스마트폰같은 클라이언트에서 작동하는 프로그램을 만들면, 프론트엔드라고 합니다. 프로그램을 만드는 방법과 절차는 같으므로 프로그램을 만들 수 있으면, 백엔드도 프론트엔드도 개발할 수 있어야 합니다.

백엔드든 프론트엔드든 개발하고자 하면, 프로그램을 만드는 일인 프로그래밍을 체계적이고 전문적으로 배워 창의적인 혹은 창조적인 문제 해결 능력과 프로그래밍 능력을 갖추도록 하세요. 그렇게 먼저 프로그래밍을 배우면, 어떠한 프로그래밍 언어라도 보다 쉽고 재미있게 효율적으로 배울 수 있습니다.

C언어나 자바는 프로그램을 만드는 일인 프로그래밍할 때 사용되는 도구로 프로그래밍 언어입니다. C언어나 자바같은 프로그래밍 언어를 배워야 프로그래밍을 배울 수 있다고 생각하십니까? C언어나 자바같은 프로그래밍 언어를 배우는 것이 프로그래밍을 배우는 것이라 생각하십니까? C언어나 자바같은 프로그래밍 언어를 배우면 프로그래밍할 수 있을 것이라 생각하십니까? 매우 잘못된 바보같은 생각입니다. C언어나 자바같은 프로그래밍 언어를 배운다고 프로그래밍할 수 없습니다. C언어나 자바같은 프로그래밍 언어를 배우는 것과 프로그래밍을 배우는 것은 별개 문제입니다.

프로그래밍이 무엇인지 간단히 봅시다. 프로그램으로 만들고자 하는 것을 전산(컴퓨터) 분야에서는 문제라고 합니다. 그리고 프로그램은 데이터와 명령어로 구성됩니다. 그래서 문제를 풀어 프로그램으로 만들고자 한다면, 문제 관련 데이터들을 어떠한 기억장치에 어떻게 저장하고 어떻게 쓰고 읽을지를 결정하고(자료구조 설계), 어떠한 명령어들을 어떠한 순서로 몇 번씩 실행시킬지를 결정하여(알고리듬 설계), 이렇게 설계된 자료구조와 알고리듬을 C언어나 자바같은 프로그래밍 언어로 문법에 맞게 변환하여(구현) 프로그램을 만드는 일이 프로그래밍입니다.

요약하면, 프로그래밍은 컴퓨터를 이용한 문제 해결 과정입니다. 그래서 프로그래밍을 배울 때는 체계적이고 전문적으로 배워 4차 산업 혁명 하에 살아야 하는 사람이면 반드시 갖춰야 하는 능력인 창의적인 혹은 창조적인 문제 해결 능력과 프로그래밍 능력을 갖춰야 합니다.

이러한 데 프로그래밍할 때 사용되는 도구들인 C언어나 자바같은 프로그래밍 언어를 배운다고 저절로 창의적인 혹은 창조적인 문제 해결 능력과 프로그래밍 능력이 갖춰 지겠습니까? 그렇지 않습니다. 프로그래밍을 보다 쉽고 재미있게 효율적으로 배우고, 백엔드든 프론트엔드든 개발하고자 하면, 프로그래밍을 체계적이고 전문적으로 배우세요.

"이렇게 하면 나도 프로그램을 잘 만들 수 있다(나프잘)" 시리즈 책들을 참고해 보세요. 나이, 성별, 학력, 전공과 상관없이 누구나 독학으로 프로그래밍을 체계적이고 전문적으로 배워 창의적인 혹은 창조적인 문제 해결 능력과 프로그래밍 능력을 갖출 수 있습니다. 카페 "프로그래밍을 배우자"에서 공부하는 방법도 배우고 멘토링을 활용하면, 보다 재미있고 효율적으로 프로그래밍을 배울 수 있습니다.

컴퓨터 앞에 놓고 C언어나 자바같은 프로그래밍 언어, API 라이브러리, Visual Studio, NetBeans, Eclipse같은 언어 프로그램들 같은 개발 도구 사용법만을 가르쳐 남이 시키는 일만 남이 만든 코드를 편집하는 노가다를 양성하는 학원이면, 차라리 독학하세요. 그렇지 않고 컴퓨터 없이 문제를 풀어 개발 도구들로 프로그램을 만드는 방법을 가르쳐 프로그래머를 양성하는 학원이면, 스스로 문제를 풀어 프로그램을 만드는 일인 프로그래밍을 체계적이고 전문적으로 배워 창의적인 혹은 창조적인 문제 해결 능력을 갖출 수 있어 많은 도움이 될 것입니다. 왜냐하면, 개발 도구들로 하는 일인 프로그래밍이란 컴퓨터를 이용한 문제 해결 과정이기 때문입니다.

프로그래밍을 공부하는 데는 공부하는 방법이 매우 중요합니다. 공부하는 방법부터 배우고 시작해 보세요. 그렇지 않지만, 우리나라에서는 대부분 C언어부터 배우고 자바를 배우라고 해서(자바부터 배워도 됩니다) C언어나 자바를 배우다 보면, C언어나 자바 책에 적힌 내용은 그럭저럭 이해되지만, 장마다 제시되는 문제를 풀어 C언어나 자바로 프로그램을 만들고자 하면, 어떻게 해야 하는지 모르겠고, 잘되지 않습니다. 그러면 답지를 구해 코드만 외우고 넘어 갑니다. 망하는 지름길입니다.

C언어나 자바 책에 적힌 내용은 C언어나 자바의 문법이고, 장마다 제시되는 문제를 풀어 C언어나 자바로 프로그램을 만드는 일은 프로그래밍입니다. 따라서 C언어나 자바의 문법만 배운다고 프로그래밍을 할 수 있는 것은 아닙니다. 그래서 C언어나 자바의 문법을 배울 것인지 아니면 C언어나 자바로 하는 일인 프로그래밍을 배울 것인지를 먼저 명확하게 하세요. 공부하는 방법이 다르기 때문입니다. 공부하는 목표에 맞게 공부하는 방법을 배워 공부하면 보다 쉽고 재미있게 배울 수 있습니다.

공부하는 방법도 설명드려 보겠습니다. 참고해 보세요.

C언어나 자바를 보다 쉽고 재미있게 배우고, 스스로 문제를 풀어 C언어나 자바로 프로그램을 만들고자 한다면, 먼저 프로그래밍을 배우세요. 문제를 풀어 프로그램을 만드는 일인 프로그래밍을 먼저 체계적이고 전문적으로 배우세요. 그래서 창의적인 혹은 창조적인 문제 해결 능력을 갖추도록 하세요. 왜냐하면, C언어나 자바로 하는 일인 프로그래밍이란 컴퓨터를 이용한 문제 해결 과정이기 때문입니다.

위쪽 프로그래밍의 정의에 의하면, 먼저 문제를 풀어 알고리듬과 자료구조를 만드는 방법을 배우세요. 그리고 C언어나 자바로 알고리듬과 자료구조로 프로그램을 만드는 방법을 배우세요. C언어나 자바로 알고리듬과 자료구조로 프로그램을 만들 때 필요한 C언어나 자바의 문법적인 기능을 이제 C언어나 자바 책에서 찾아서 읽어 보고 적용하는 방식으로 공부하세요. 난이도를 높여 가면서 많은 문제를 풀어 프로그램을 만들다 보면, 스스로 문제를 풀어 프로그램을 만들 수 있고, C언어나 자바도 머리로 기억하는 것이 아니라 몸으로 기억되어 있을 것입니다. 그래서 숨쉬는 것처럼, 걷는 것처럼 자연스럽게 C언어나 자바로 프로그램도 만들 수 있을 것입니다.

알고리듬과 자료구조를 만드는 방법을 배우라고 해서 시중에 출간된 알고리듬과 자료구조 책들을 사서 이미 만들어져 책에 실린 정렬과 검색 알고리듬, 연결리스트, 트리, 그래프, 스택, 큐들을 외우지 마십시오. 정렬과 검색 알고리듬, 연결리스트, 트리, 그래프, 스택, 큐들을 만들 수 있도록 알고리듬과 자료구조를 만드는 방법을 먼저 배우라는 것입니다.

인터넷에서 사용되는 논리가 "C언어를 알아야 프로그램을 만들 수 있으므로 C언어를 먼저 배우라"고 합니다. 이러한 논리가 우리나라 영어 교육이나 학습에서도 적용되었지요. 우리나라 영어 교육이나 학습은 영어의 문법부터 시작합니다. 그렇게 해서 중학교, 고등학교 심지어 대학교까지 똑같은 방식으로, 영어 문법을 외우는 방식으로 공부하게 됩니다. 그렇게 십 수년을 하지만 헤밍웨이의 유명한 소설 책 한 권 제대로 읽지 못하고, 두 세쪽 되는 에세이 하나 제대로 작성하지 못하고, 지나가는 외국인과 담소한 번 제대로 나눌 수 없지 않습니까?

"C언어를 알아야만 프로그램을 만들 수 있다"는 논리라면, 영어의 문법을 공부했다면, 영어 소설책도, 에세이도 회화도 가능해야 하지 않습니까? 어느 분야에서 성공하려면, 10000시간 정도 분야에 집중하면 된다는 이론이 있지 않습니까? 우리나라에서 영어 공부에서는 적용되지 않는 이유는 무엇일까요? 교육과 학습에 문제가 있다는 것입니다.

그래서 요사이는 영어 교육과 학습이 매우 실용적으로 바뀌고 있습니다. 문법을 암기하는 것이 아니라, 듣기와 말하기로 바뀌고 있습니다. 듣기와 말하기할 때 필요하면 문법을 공부하고 적용하는 방식으로 말입니다. 그래서 좋은 결과를 내고 있습니다.

프로그래밍 교육과 학습도 바뀌어야 합니다. 문법위주 교육과 학습보다는 문제 해결 중심의 교육과 학습으로 바뀌어야 합니다. 프로그래밍을 공부하는 방법을 배우세요.

C언어나 JAVA언어같은 프로그래밍 언어와 프로그래밍을 체계적이고 전문적으로 공부하는 방법도 설명드려 보겠습니다. 참고해 보세요.

프로그래밍은 우리가 생활하는 데 있어 부닥치는 복잡한 문제를 새로운 생각으로 풀어 프로그래밍 언어로 컴퓨터가 처리하도록 하는 프로그램을 만들어 보다 편하게 살 수 있는 세상을 만드는 일입니다. 그래서 어렵습니다. 그렇지만 내가 생각한 프로그램을 만들고 세상 사람들이 사용한다면 엄청난 성취감과 자부심을 느낄 수 있습니다.

이러한 프로그래밍을 하고자 한다면 다음과 같은 최소한의 능력을 갖추어야 합니다.

(1) 문제 해결 능력

(2) 프로그래밍 언어 구사 능력

(3) 개발 툴 사용 능력

이 중에서 가장 중요한 것은 문제 해결 능력입니다. 문제를 해결할 수 없으면, 프로그래밍 언어 구사 능력도 개발 툴 사용 능력도 아무 소용이 없습니다. 문제 해결 능력은 많은 문제를 풀어 프로그램을 만들어 봄으로 해서 나만의 문제 해결 방법을 만들었을 때 갖추어 지는 것입니다. 따라서 프로그래밍을 배우고자 한다면 체계적이고 전문적인 학습을 해야 합니다. 그러면 누구나 프로그래밍을 할 수 있습니다.

프로그래밍 언어나 프로그래밍을 배울 때는 C언어나 자바같은 프로그래밍 언어만 배우지 마시고, C언어나 자바로 하는 일인 프로그래밍을 먼저 공부하세요. 프로그래밍 언어만 배운 사람이면 프로그래밍 언어가 배우기 어렵다고 하고, 어려운 프로그래밍 언어를 한 권 내지 두 세권 책으로 공부를 마친 후에도 문제를 스스로 풀어 배운 프로그래밍 언어로 프로그램을 만들려고 하면 어디서 부터 시작하여 어떻게 해야 하는지가 막막하다고 합니다.

왜 그럴까요? 프로그래밍 언어 책에 적힌 프로그램을 이해하기 위해서는 프로그래밍을 배워야 하는데 그렇지 않고 프로그래밍 언어를 배우고자 하기 때문입니다. 프로그래밍 자체는 어렵습니다. 프로그래밍은 문제를 풀어 컴퓨터가 처리하도록 하는 프로그램을 만드는 일이기 때문입니다.

프로그래밍 언어 책에서는 문제를 풀어 프로그램을 만드는 것을 설명하지 않고, 문제를 풀어 해결책(알고리듬)을 만든 후에 컴퓨터가 처리하도록 하는 프로그램을 만들 때 프로그래밍 언어가 언제, 어떻게 적용되는지만을 설명합니다. 그래서 프로그래밍과 프로그래밍 언어를 재미있게 공부하고자 한다면 체계적이고 합리적인 학습을 해야 합니다.

프로그래밍 언어를 배우기 전에 프로그래밍 언어로 하는 일인 프로그래밍을 먼저 공부하세요. 프로그래밍이 무엇인지, 어떻게 하는지, C언어같은 프로그래밍 언어가 언제, 어떻게 사용되는지 그리고 프로그램이 어떻게 작동하는지를 공부하세요. 또한 이러한 개념과 원리를 바탕으로 문제를 풀어 프로그램을 만드는 절차를 배우세요. 이러한 내용을 배우고자 하면, 다음 책들을 참고해 보세요.

책들은 "이렇게 하면 나도 프로그램을 잘 만들 수 있다(나프잘)" 시리즈입니다.

이렇게 프로그래밍을 이해했다면, 프로그래밍 언어를 배우세요. 무작정 프로그래밍 언어 책을 사고 동영상강의를 보면서 책에 적혀 있는 프로그램을 아무 생각없이 입력해서 실행시켜 보고 머리를 끄덕이고 외우는 방식보다 쉽게 재미있게 프로그래밍 언어를 배울 수 있습니다. 왜냐하면 왜 프로그래밍 언어를 배워야 하는지를 명확하게 이해했고, 프로그래밍 언어 책에 나온 프로그램이 어떻게 작성되었는지를 이해할 수 있고, 마지막으로 프로그래밍 언어 책에 제시되는 문제를 풀어 프로그램을 만들 수 있기 때문입니다.

C언어를 공부하고자 한다면 다음 책을 참고해 보세요.

책은 "C를 배우면 함수를 잘 만들어야 한다"입니다.

문법만 설명하는 것이 아니라 문제를 풀어 프로그램을 만들 때 C언어가 언제, 어떻게 적용되는지를 설명합니다. 특히 책의 처음부터 끝까지 C언어를 배우면 반드시 만들 수 있어야 하는 함수를 만들어서 사용하는 방법을 설명합니다.

카페 "프로그래밍을 배우자"에서 게시글과 동영상강의로 프로그래밍이 무엇인지, 어떻게 하는 것인지 그리고 C언어나 JAVA언어가 언제, 어떻게 사용되는지를 확인해 보세요. 그리고 프로그래밍과 C언어나 JAVA언어를 어떻게 배워야 할지를 생각해 보고 시작하세요. 그래서 시행착오를 줄이세요.

독학을 하신다면 책을 읽는 방법을 바꾸세요. 책을 볼 때 바로 정독을 하지 마시고, 빠른 속도로 전체 내용을 훓어 보는 방식으로 여러 번 보고, 정독을 하십시오. 왜냐하면 모든 내용은 질문자 님에게 새로운 내용입니다. 따라서 어려울 수 밖에 없습니다. 그래서 최소한 책에 어떠한 내용이 담겨 있는지와 자주 사용되는 용어(혹은 개념)에는 익숙해야 정독을 할 수 있지 않습니까? 책의 줄거리나 용어에 익숙하기 위해서 빠른 속도로 전체 내용을 훑어 보는 방식으로 먼저 읽어 보시라고 권하는 것입니다.

좋지 않은 프로그래밍 공부 방법이지만, C언어나 자바의 문법만 배우고자 한다면, 책을 훑어보기로 처음부터 끝까지 빠르게 3-4회 읽어 어떠한 내용인지, 자주 사용되는 용어들에 익숙해 지도록 하세요. 내용이 파악되고, 용어들에 익숙해지면, 처음부터 책에 실린 코드도 컴퓨터에 입력해 보면서, 컴퓨터가 없으면 공책에 적어 보면서 어떠한 문법이 언제, 어떻게 사용되는지를 외우세요. 이때는 "왜 이렇게 할까", "어떻게 작동할까"라는 생각들은 하지 마시고, 외우세요.

profile_image 익명 작성일 -

안녕하세요 질문자님.

저는 IT진로/진학 상담사 준쌤입니다.

질문에 답변드리겠습니다.

프론트엔드와 백엔드의 가장 큰 차이점을 말씀드리자면

분야가 다르다고 말씀드릴 수 있습니다.

프론트엔드의 경우 거의 디자인 분야라고 생각하시면 되고

백엔드의 경우 IT기술을 이용하여 프론트엔드가 만들어놓은 웹페이지의 설정을 넣고

그 웹사이트가 잘돌아 갈 수 있도록 유지 및 보수를 하는 직업입니다.

프론트엔드의 경우 디자인을 위주로 하는 직업이기 때문에

정직원이 거의 없으며 보통 프리렌서로 일을 하는경우가 많습니다.

하지만 그에 반에 백엔드의 경우

지속적으로 웹사이트를 관리를 해야하기 때문에

정직원으로 채용이 되는경우가 많습니다.

그렇기 때문에 현재는 프론트엔드보다는 백엔드의 가망성을 더 높게 보고 있으며

이러한 문제점을 알고있는 프론트엔드 종사자들은 두가지를 동시에 할 수 있는

풀스텍 개발자로 전형을 많이 하고 있습니다.

그렇기 때문에 질문자님이 만약 웹개발자쪽으로 진로를 잡으신다면

우선 백엔드로 취업을 하여 실무능력과 경력을 쌓음과 동시에

프론트엔드의 실무를 배워 풀스텍 개발자로 취업을 하시는 방법을 추천드립니다.

만약 취업에 대한 정보나 취업을 위해 공부하시는데 있어

어려움을 느끼신다면 제가 많은 부분에서 도움을 드리겠습니다.

지금까지 IT상담사 준쌤이였습니다.

추가적으로 궁금하신 사항은 오픈채팅방으로

질문주시면 언제든 답변드리겠습니다^-^

또한 블로그에 다양한 정보가 있으니 방문하셔서

좋은정보 얻으시기 바랍니다.

감사합니다!

profile_image 익명 작성일 -

간단하게 말해서 프론트엔드개발자는 웹디자인을 하는 디자이너로 생각하시면 되고

백엔드 개발자는 웹개발자로 프로그래밍을 하는 전문가라고 생각하시면 됩니당!

profile_image 익명 작성일 -

안녕하세요 :-D

교육전문컨설턴트

봄실이 입니다.

질문에 대해 답변을 해드리겠습니다.

<웹 개발 관련으로 세부적으로 나뉘는 것>

ㆍ웹디자인 : 디자인만 하는 경우고, 포토샵을 주로 이용합니다.

ㆍ웹개발자 : 웹을 개발하는 사람이고 2가지 분류로 나뉩니다.

 -프론트엔드 :HTML,CSS 등을 다루어 홈페이지 제작을 하는 기술

 -백엔드 : 웹 서버 구축 및 DB(데이터 베이스)를 제어하는 기술

ㆍ웹퍼블리셔 : 디자인 + 프론트엔드를 같이 한다고 보면 됩니다.

ㆍ풀스택개발자 : 프론트엔드 + 백엔드 둘다 다룰수 있는 것입니다.

지금 많은 인재를 뽑는 것은 아무래도 풀스택개발자/웹퍼블리셔로 준비하는 것이 좋습니다.

처음 공부를 시도하신다면, C언어나 Python이라는 언어부터 공부를 한다음, JAVA,JSP관련으로 공부를 하는 것을 추천드립니다.

공부의 순서같은경우 프론트엔드와 백엔드는 조금 나뉘게 됩니다.

프론트엔드의 공부순서는 : html >css >javascript >//(여기부턴 다릅니다)→ J Query >Node.js

백엔드 개발의 공부순서는: java >jsp >안드로이드 >DB >Spring

진로의 방향에 대해서

준비 방법에 대해서 궁금한 점이 있다면,

아래 오픈카카오톡 & 폼과

아래 네임카드에 적힌 전화번호로 문의 주시면

1:1 상담도 무료로 받아 볼 수 있습니다.

필요한 자료도 무료로 제공해드리고 있으니

언제든지 문의 주세요 :-D

상태로 프론트엔드 개발자백엔드...

소마고를 준비하고 있는데 바로 취업했을때 대졸인 사람 연봉이 얼마인지 고졸인 사람 연봉이 얼마인지 궁금하고 프론트엔드 개발자백엔드 개발자차이점이...

프론트엔드부트캠프 소개 부탁드립니다.

... 백엔드 개발자와 프론트엔드 개발자 둘 다 취업이 잘 되나요? 2. 백엔드프론트엔드 간단한 차이점이 궁금합니다! 3. 프론트엔드부트캠프 선택할 때 고려사항 및 추천...

백엔드 개발자를 꿈꾸는 학생입니다.

... 백엔드 개발자가 하는일(자세하게) 질문4. 현실적인 직업의 전망 질문5. 프론트엔드와의 차이점 질문6. 취업 준비 방법 질문 말고도 더 가르켜 주시는 분들을 채택 해...

개발자랑 웹디자이너 차이

... 웹퍼블리셔 차이점 알려주세요 보통 실무에서는 웹기획자 웹디자이너 웹퍼블리셔 프론트엔드 백엔드 서버관리자 등으로 세부화 할 수 있습니다. 웹개발자라고 하면...

백엔드 개발자

... 데브옵스랑 백엔드 개발자랑 하는 일에 차이가 있나요? 3. 차이가 있다면 어떤 차이점이 있는지 알려주세요.... 말합니다 프론트엔드와 달리 데이터베이스와 서버...

개발자에 대해서

... 하는일은 뭔가요? 안녕하세요 코딩전문가입니다... 요즘은 프론트엔드, 백엔드 본인이 자신있는 주특기를 설정하여 나아가는 개발자보다는 두 기술을 모두 사용할...