나는 front-end 개발자 일까? back-end 개발자 일까?


IT관련 일을 해보신 분들은 많이 들어본 이야기 일것 같다.

왜 FE(front-end) 와 BE(back-end) 를 나누어 놓았을까?

개발자로서의 기술적 능력의 높고 낮음을 구분하고 싶어서 였을까?


다른 분류 방법을 제외 하고 단순 FE 와 BE 만을 가지고 이야기 하고자 한다.

FE 와 BE 개발자는 조금씩 다른 언어로 개발을 한다고 생각한다.


일반적으로 다음과 같이 통용된다.

FE : html, css, javascript

BE : server side scripts(asp, php, jsp ..),  java 


이런 분류법이 꼭 맞는건 아니다.

다만 내가 경험해본 IT 쪽 사람들이 자기는 FE 개발자고 BE 개발자라고 말하는 사람들의 개발 언어를 살펴본 내용을 바탕으로 정리를 해본 것이다.


과거에는 FE 라 하면.. 크게 기술을 요하지 않는다고 생각을 많이들 했었다고 생각 한다.

(논란이 있지만 사실이기도 하다. UI적인 대부분은 플래시가 담당하고 있었고, 레이아웃은 소위 말하는 '테이블 코딩'이 

모든걸 해결해주고 있었다.)

BE 는 특정한 기술을 요구하고 또한 개발하는데 어려움이 많다고도 여겼던게 사실인것 같다.


그럼 지금은 어떤가?

지금은 개발자간 기술의 벽이 많이 허물어 지고 그 차이도 크지 않다고 생각 한다.

이제는 프론트엔드의 영역이 웹 표준과 접근성에서부터 dynamic UI/UX에 web Application까지 다양해지며
프론트 영역이 결코 만만한 부분이 아님을 다들 인정하는 분위기다.

다만  FE 와 BE 를 구분짓고 나는 BE 개발자이니 FE 는 내가 알바 아니다 라고 얘기 하는 사람, FE 개발자이니 BE 는 내가 알바 아니다 라고 얘기 하는 사람이 있다면 당장 생각을 고쳐 먹어야 한다고 생각 한다.

적어도 IT 에서 일을 하는 사람이라면 말이다.


서비스를 만드는데 FE 가 어딨고 BE 가 어딨겠는가.

서로 서비스에 대한 needs 와 requirements 를 잘 이해하고 user interaction 에 잘 부함되는 서비스가 될수 있도록 상호 긴밀한 협동을 해야 하는게 아닌가.


분야의 다양성과 각자의 능력에는 차이가 있다는것은 분명히 인정하는 부분이다.

하지만 같은 서비스를 만들면서 FE 니 BE 니 설왕설래 하는건 에너지 낭비며 web2.0 시대에 개발자가 가져서는 안되는 정신 같다.


서로 같은 분야에 종사하며 개발자로서의 삶을 살아 간다면 다 같이 win win 하는 그럼 마음 가짐을 가졌으면 좋겠다.