New World

[회고 #0]프론트엔드와 백엔드 차이 - 백엔드 개발자가 되고 싶은 이유 본문

Self-Study/Study

[회고 #0]프론트엔드와 백엔드 차이 - 백엔드 개발자가 되고 싶은 이유

hyeovi 2023. 3. 17. 00:13
728x90
반응형

프로그램의 구동되어가는 과정

1. 프론트에서 html과 CSS를 통해 브라우저에 그림을 그려준다.

2. 브라우저에 그림을 그려준 후, 필요한 데이터를 백엔드에 요청한다. (request)

3. 백엔드에서 필요한 데이터를 프론트에 맞게 가공하여 전달해준다. (response)

4. 프론트엔드에서 javascript 처럼 백엔드가 보내준 데이터를 통해 구동을 완료해준다.

 

위와 같은 과정이 프로그램의 한 페이지마다 존재한다. 이러한 일을 한번에 해주기는 어려워 일을 세분화하여 진행한다. 이 일 중 1과 4는 프론트, 2와 3은 백엔드에서 해준다.

 

다시 말하자면, 프론트와 백의 차이로는 대체로 눈에 보이는 것과 눈에 보이지 않는 것이라고 할 수 있다.

 

프론트엔드는 사용자가 볼 수 있는 화면, 즉 사용자 인터페이스(User Interface, UI)를 말한다.

따라서 유저들이 웹 애플리케이션을 쉽게 사용할 수 있도록 기술적으로 구현해야 합니다. 사람들이 많이 사용할 것이고, 많이 사용하는 서비스가 곧 시장에서 경쟁력 있는 서비스가 되기 때문입니다. 프론트엔드 개발자는 웹 애플리케이션의 사용자 인터페이스와 사용자 경험(User Experience, UX) 최적화에 초점을 맞추어 서비스를 개발해야 합니다.

 

백엔드는 웹 애플리케이션의 사용자가 보지 못하는 영역인 서버나 데이터베이스를 관리하는 기술입니다.

실질적으로 사용자들이 원하는 정보를 제공할 수 있도록 데이터를 관리하거나 서버를 운영하는 일을 합니다. 백엔드는 프론트엔드에 있는 사용자들이 하고자 하는 행동을 처리하는 것입니다. 따라서 백엔드 개발자는 시스템 컴포넌트 작업, API작성, 라이브러리 생성, 데이터베이스 통합 등 다양한 개발 활동을 하게 됩니다.

 

백엔드 개발자가 되고 싶은 이유

내 진솔한 이야기를 풀어쓰는 것이기 때문에 일기에 작성하듯 작성하려 한다. 이하 본문을 읽을 때, 참고 부탁드립니다.

 

 인셉션이라는 영화를 아는가? 아직도 명작이라고 다양한 곳에서 이름이 알려지고 있다. 그 영화를 처음 보고 드는 생각은 어떻게 하면 저런 생각을 할 수 있는가, 였다. 그런 영화의 스토리를 찾아보면서 무언가 파헤쳐보고 알아가려고 노력하게 되었다. 고등학교 시기에는 공부 못하는 이미지를 벗어나보기 위해 늘 여러 문제를 풀어가며 새로운 난관에 부딫혀보았다. 그 시절에 열심히 공부를 즐겨가는 방법을 알게 되었고 성장하는 내 모습을 보는 것을 좋아하게 되었다. 성적표를 받았을때의 뿌듯함이 아직도 생생하다. 그 성장에 대한 보상으로 느껴졌달까? 어른이 되어도 새로운 난관에 부딪혀가며 나날이 성장할 수 있는 일을 하고 싶어졌다.

 

 그러던 도중, 친오빠가 컴퓨터 공학과로 진학한다는 것을 알게 되었다. 컴퓨터? 중학교 시절에 내 단짝이나 다름 없던 전자기기라 그 학과에서 무엇을 배우는 지 궁금해졌다. 다양한 학교의 컴퓨터 공학부를 서치하면서 제일 많이 만나게 된 문구가 있었다.

 

" 죽을 때까지 공부해야하는 직업."

 

이런 문구를 본 사람들이라면 계속 공부를 해야한다는 의미에 관심이 떨어질만도 한데 나에게는 흥미진진한 문구였다. 이 문구로 개발이라는 것이 내가 원하던 일과 비슷하다고 느껴졌다. 스무살이 되어 프로그래밍을 배우고 싶어 컴퓨터 정보공학과로 진학하게 되었다. 그저 개발자가 된 자신의 모습을 그리며. 대학교를 2년제로 나왔기 때문에 다른 사람들보다 생각할 시간이 적었다. 예를 들면, 개발자로 취업하려는 길도 웹, 앱, iOT 등 다양하다는 것을 모른 채 있었다. 그러니 프론트와 백에 대한 개념이 제대로 잡혀있지 않은 상태였다. 개념이 제대로 잡힌 것은 대학생 4학년 때였다. 졸업과제를 진행했을때 아무도 백에 대해 하고 싶다는 말을 하지 않았기에 내가 그 일을 맡게 되었다.

 

 처음 알게 된 백에 대한 존재, 말 그대로 충격적이었다. 내가 하드 코딩한대로 나오던 것과 달리 서버와 프론트 사이에서 정보를 찾고 가공해서 주는 일은 눈에 제대로 보이지는 않는 과정으로 내가 작성한 코드들이 움직인다는 것에 대해 신기함과 그 값을 제대로 가져와 프론트에 노출되었을때 뿌듯함이 느껴졌다. 마치 사람 많은 학과 강의실에서 교수님이 낸 문제를 강의실 맨 앞 칠판으로 가지 않고 자기 자리에서 칠판에 문제를 푸는 느낌? 보이지 않는 곳에서 보이는 곳에 노출되게 해주니 초능력을 사용한 느낌이었다. 이게 내가 프론트가 아닌 백을 선택하게 된 계기가 아닐까.  프론트의 일은 눈에 보이기에 직관적으로 처리가 가능하나 백은 눈에 보이지 않는 일을 처리하여 프론트로 전달해주니까.

 

결론 : 새로운 난관에 부딪히며 성장하는 것을 원하는 나, 뒤에서 서포트하는 것에 흥미를 느껴 백엔드를 택하게 되었다.

반응형

'Self-Study > Study' 카테고리의 다른 글

[Zero-base #03] 배열  (0) 2023.03.15
[Zero-base #02] 큐  (0) 2023.03.15
[Zero-Base #01] 스택  (0) 2023.03.14
[개념 정리 #12] 나중에 다시 정리할 것들  (0) 2022.10.27
[개념정리 #10] Database  (0) 2022.10.26
Comments