본문 바로가기
그냥 코딩글

0006. 코딩의 분야와 웹프로그래밍

by 보초코더^_^;; 2023. 2. 3.
반응형

1. 여의도의 Front와 Back

필자는 금융업에 종사하고 있다. 금융업에서도 Front, Back이라는 말이 자주 등장한다. 주로 고객과 가까울수록 Front라는 말을 쓰고, 고객과 멀리 있으면서 Front와 Middle을 지원하는 것이 Back이다. 즉, 고객과 맞닿는 최전선에서 영업하고 돈을 벌어오면 Front Office고, 고객과 멀리 떨어져서 Front를 지원하는 역할을 하는 것이 Back Office라고 보면 된다.

 

 

고객과 가까이 있을수록 Front, 멀수록 Back이다.

 

최근 여의도의 많은 회사들이 복장을 자율화하기 시작했다. 그러면서 점점 정장 중심이었던 여의도룩이 사라지고 조금씩 다양해졌다. 하지만 아직도 과거의 유산은 많이 남아있다.

 

하나는 판교룩이고 하나는 여의도룩이다. 판단은 여러분의 몫이다.

여의도에서 사람들이 정장을 입고 딱딱한 복장이 많았던 것은 다 이유가 있었을 것이다. 또한, 판교룩이 알록달록한 것도 이유가 있다. 아무리 간지 난다고 해도 정장은 매우 불편하다. 특히 여름철에는 넥타이만 풀어도 죽다 살아날 것 같은 기분이다. 그런데 왜 여의도 사람들은 이렇게 불편한 정장을 입고, 판교의 사람들은 자신의 개성대로 입을까?

 

이유는 고객 때문이다.

수십억, 수백억, 수천억이 움직이는 여의도에서는 오래된 문화와 예절이라고 부르는 것이 아직도 많이 남아있다. 내가 바뀌고 싶어도 상대방이 그런 구시대적 마인드를 갖고 있다면 맞춰야 하는 것이 프런트의 숙명이다. 따라서, 프런트는 고객에게 맞추기 위해서 불편한 정장을 차려입는 것이다. 실용적인 것보다 보이는 것을 택했다고 볼 수 있다.

 

정장 입는 개발자는 상상 속의 동물이라고 했다.

이유는 개발자는 고객을 만나는 빈도가 없거나 낮을뿐더러, 만난다고 해도 여의도의 세일즈맨과 같은 입장은 결코 아니다. 따라서, 눈에 보이지 않는 곳에서 많은 일을 하기 때문에 보이는 것보다는 실용적인 것을 택하는 것이다.

 

여기서 우리가 생각하는 프론트의 개념과 백의 개념이 나온다.

Front Office는 고객을 마주하기 때문에 갖춰 입고 예의를 차린다.
Back Office는 고객을 직접 마주하는 일이 적기 때문에 예의보다는 효율을 챙긴다.

 

개발도 마찬가지다.

Front-end는 고객이 직접 보이는 곳이기 때문에 유저에 맞추고 쉬운 디자인을 강조하고
Back-end는 고객이 안 보이는 데서 일을 하기 때문에 디자인보다는 효율을 추구한다.

아래의 사진을 보면 알 수 있다.

 

Front-end vs Back-end

눈에 보이는 곳은 보는 사람 기준으로 깔끔하게 디자인하고, 눈에 보이지 않는 곳에서는 복잡한 일을 처리하며 효율적으로 만드는 것이 바로 Front-end와 Back-end라고 볼 수 있다.

 

2.  좀 더 구체적으로 설명해드립니다.

우리가 대부분 접하는 서비스의 화면은 Front-end이다.

다음과 같이 로그인 페이지가 있다. 이건 우리가 직접 접하는 화면이 프런트엔드라고 할 수 있다. 그런데, 이메일을 입력하거나 비밀번호를 입력한다면 누군가가 로그인이 성공/실패했음을 알려줘야 하지 않을까? 아이디가 존재하고, 비밀번호가 아이디와 맞다는 것을 증명하는 작업이 필요할 것이다. 만일, 틀리다면 로그인 실패 여부를 판단하여 유저에게 알려줘야 할 것이다. 다음과 같이 말이다.

충분한 정보를 입력하지 않거나, 로그인에 실패하면 메시지가 뜬다.

즉, 우리가 로그인 정보를 프런트엔드(웹 브라우저)에서 입력하면 입력한 정보가 로그인 정보가 있는 백엔드(서버, 사용자 정보가 있는 데이터베이스)로 날아가서 맞는지 틀린 지를 검증한다. 그리고 결과를 다시 웹 브라우저로 넘겨주는 것이다.

 

즉, 고객과 맞닿아 있는 일은 프런트엔드에서, 그 이면의 일은 백엔드에서 한다고 보면 된다. 그래서 개발자들이 자신의 분야를 이야기할 때, "저는 Front-end 개발자입니다"와 같은 말을 할 수 있는 것이다. 그리고 드물지만 Front-end에서 Back-end까지 모두 커버하는 개발자를 Full-Stack 개발자라고 한다.

물론 풀스택 개발자가 되기는 매우 어렵다.

백엔드나 프론트엔드 둘 중 하나를 커버하는 것도 매우 어려운 일이기에, 제대로 된 풀스택 개발자는 많지 않다는 것이 대부분 통용되는 이야기이다.

 

 

3. 요약

1) Front-end : 고객의 접점에서 고객이 사용하는 서비스를 개발

2) Back-end : 프런트엔드가 잘 돌아가도록 처리해 주는 역할

3) Full-Stack : Front부터 Back까지 모두 커버

반응형