관리 메뉴

try anything chris!

편가르지 맙시다. 본문

he-story

편가르지 맙시다.

뭐든창하 2017. 7. 11. 21:10
728x90

대부분의 Framework이 MVC pattern을 더 쉽고 빠르게 적용할 수 있게 도와주도록 발전해 나가고 있습니다.


요즘 python+Django를 재밌게 해보고 있는데, 여기서는 MTV(Model, Template, View) pattern 이라고 불리웁니다. 개념은 비슷(이 글을 통해 야박하게 다른거다라고 가르고 싶지는 않습니다;;; 비슷하다고 개념잡고 시작해도 크게 문제 없으니까요..)하지요.



M(Model), V(View), C(Controller)의 구분을 통해 Controller를 중심으로 확장성있는 설계를 가져갔지만, 개발환경면에서는 Framework 초기에는 사용자에게 보여지는 화면(View)과 화면에 보여지는 정보(Model)간의 상호 의존성이 높은편이었다고 생각합니다.



기억을 떠올려보면, 예전에는 제품 설계 초기에 UI 설계의 비중이 높았던것 같습니다. UI설계서를 통해 각 화면에 보여지는 정보(Model)와 버튼의 동작(Controller)을 유추해 낼 수 있을 정도로 UI설계서가 상세하기도 했고 회의를 하기 위해 UI설계서가 필수였던적도 많이 있었으니까요.


요즘은 V(View)와 C(Controller)가 각자의 분야에서 전문화가 발전되어 front-end, back-end로 나뉘어지고, 각 분야 내에서도 MVC나 MTV같은 pattern이 사용되고 있습니다. 또한 각 분야에 사용하는 언어나 환경, 도구도 다양해지고 차이도 커졌습니다. (극단적으로 back-end 개발자는 UI설계서를 구경해보지도 못할수 있고, 제품이나 서비스 오픈시에 화면을 처음 볼 수도 있습니다;;;)




네이버에서 주최하는 Deview에서 front-end라는 용어가 사용된게 2012년도입니다.

2012년도에 어느정도 진행된 상태를 가지고 발표를 하기 시작했으니, 실제 현업에서 분야를 나눈건 그보다 1~2년정도는 앞서 시작되었으리라 생각됩니다. 특별한 일이 없다면 웹개발 분야의 대부분 개발 프로젝트는  

유사한 구성으로 진행될 것 같습니다. 다만 그것들을 여러사람이 나눠하던지, 한사람이 다 하던지(full-stack 개발자란 멋진 이름으로 칭하고 '너가 다해'라고 불리우는건 아닌가 싶기도 합니다;;) 하지요.


요즘 구인광고를 보면 단순하게 웹개발자 / 서버개발자 이런식으로 지원을 받기보다는 명확하게 front-end개발자, back-end개발자를 명시해서 구인을 하고 있습니다. 그러다보니 둘다를 해야만 하는 (외부로부터의) 조직 환경이나 (내부로부터의)본인 의지가 없이는 front-end / back-end중 한 분야에만 발을 담그고 있는 경우가 많아지고 있는 것 같습니다.



이러다보니 편가르기 습관이 튀어나오는건 아닌가 싶습니다.

그럼 어느 분야가 더 좋을까요? 아니 더 중요할까요?

.

.

.

.

이건 진짜 바보같은 질문이라 생각합니다.



back-end는 뭔가 핵심적인 로직이 있으니 더 중요하고, front-end는 그냥 html, javascript, css 조금 정도만 할줄 알면 되는거 아닌가...라던 옛적이 있긴 있었습니다만... 혹시나 아직도 그런 마인드로 개발자를 차별하는 개발부서가 있다면 좀 슬픈 환경이네요.

서비스가 사용자에게 사용되는 접점의 환경이 다양해짐에 따라 front-end가 단순치만은 않다는게 분위기를 넘어서 고정된 사고로 변화된지 오래되었습니다. 이런 변화에 따라 front-end 영역이 분리되고 관련된 기술들이 등장하고 구인분야도 생겨났으니까요.


또한 개발자라면 굳이 분야를 칼로 자르듯 나눠서, 구분짓고 무엇이 더 좋고 더 중요하다고 생각하는 것 자체가 잘못되었다고 얘기하고 싶습니다. 역할이 다를뿐 결국 같이 좋은 제품/서비스를 만들어 나가고자 하는 목표는 같고, 일을 진행하는데 있어 서로 이해관계자가 되기 때문에 내 분야가 아니면 나몰라라 할 수 없기 때문이니까요. 그리고 경력이 쌓이고 직급이 올라가면 자연스레 모든 분야에 대한 지식이 필요하게 되니까요.


개발환경의 영역이 분리되었다는 의식과 서로에 대한 입장차이가 있다는건 필요하겠지만, 굳이 누가 더 잘났고 더 핵심이고는 쓸데없는 사고인 것 같습니다.


저는 다행히(?)도 보안 솔루션을 개발하는 보수적인 개발환경을 가지고 있는 회사라, 초기 front-end / back-end의 명확한 분리개념이 없었던 시대부터 지금은 front-end / back-end 분리된 환경까지 다 접해볼 수 있었는데요.


혹시, 지금 이 앞길이 front-end / back-end를 선택해야 하는 갈림길에 서있으신 분이 계시다면, '어느것이 더 미래가 있고, 더 대우받고, 더 연봉이 높아질지' 비교하지 말고 일단 지금 더 재밌다고 느껴지는걸 해보라고 말씀드리고 싶습니다. 시간이 지나면 다 경험해볼 수 있는 기회는 언제든 있고, 원치않아도 경험해야 할 때도 있습니다.



아마도 편가르기보다 더 필요한것은...

* 어떻게 이 문제를 해결하는가에 대한 사고방식

* 그리고 그 사고방식을 이해관계자들에게 잘 설명하고, 논의하고, 설득하는 communication 더 중요한게 아닌가 생각됩니다.


728x90
Comments