본문 바로가기

기타

20210301_개발공부 중 방향에 대한 고민들 (백엔드냐, 프론트엔드냐? 그리고 그외의 것)

  지금까지 개발 공부를 해오면서 여러가지 고민들에 봉착하였다.


  지금 까지 공부해온 내용들을 되짚어 보면 파이썬 기본 문법부터 시작해서 django 프레임 워크 사용까지 공부했고 더깊게는 아직 들어가지 않은 상태이다.


  그리고 최근에는 동적인 웹사이트 구성에 관심이 생겨 javascript, es6에 대해서 공부하고 실질적으로 dom요소를 제어해서 todolist라는 동적인 구성의 웹페이지를 구현해 보기도 하였다.


  지금 공부한 것을 보면, 백엔드 지식은 python, django 프론트엔드는 javascript로 조금 알아 보았는데 django에 대해서 더 깊이 공부해서 백엔드 위주로 갈까 아니면 react 등의 프론트 엔드 스텍을 더 배워서 프론트 엔드로 취업 목표를 잡을지 고민된다.




고민



1. python vs javascript

  • python의 범용성, javascript의 범용가능성(잠재적) 중에 어떤것이냐가 문제다.
  • python의 경우에는 다른 분야로에 대한 범용성이 넓다. 하지만 javascript는 웹에서의 범용성이 좋고 발전가능성이 높다.
  • 하지만, python의 경우 웹프론트엔드와 연관성이 없고 서버와 관련있다. 그런데 나중에 iot관련해서 스마트 팜 관련해서도 만져 보고 싶었는데 장기적으로 보면 python이 맞는 것 같기도 하지만 대부분의 취업자리를 보고 웹에 대한 취업 가능성을 볼때는 javascript를 제대로 배우면 node js(express)로 서버도 구현할 수 있다. 그런것을 또 보면 취업시장에서는 javascript가 유연하다.


2. 백엔드 : Django vs nodejs(express)

  • 자유도는 nodejs가 좋다.
  • 물론, 유지보수 및 환경이 모두 가쳐줘서 안정적이고 빠르게 개발 가능한 것은 Django 이다.
  • 하지만 node js는 강력한 v8엔진 기반의 빠른 속도와 실시간 구현에 좋다.
  • 그냥 전체적으로 js에 맘이 기우러진것 같기도 하다.


3. 백엔드 vs 프론트엔드

  처음에는 백엔드로 python공부를 시작했지만, javascript를 공부하면서 화면의 동적 기능 구현 (싱글페이지 어플리 케이션 SPA)에 좀더 관심이 가기도 한다. 내가 실제적으로 볼수있는 구현한 서비스를 만지는 것이 더 끌리는 것 같기도하다.


  이전에 이제막 코딩을 배워서 직접적인 작업전에 프토로타입으로 Adobe XD작업을 통해서 클라이언트 디자인? 기획안을 구성할때는 정말 잘 안맞는 요소 같았다. 생각해보면 CSS적 요소가 잘 안맞는듯 하다.


   하지만 실제로 todolist 프로젝트를 구성하면서 프론트엔드 개발자의 업무가 디자인만을 다루는 것이 아니라 클라이언트 단의 기능을 구현하는 것이 핵심 요소 같았다. 뭔가 창조적인 디자인을 만드는 것은 약하지만 결국에는 그런 업무자체는 디자인 팀이 따로 하는 것이 아닌가 싶기도 하다. 전문 디자인 팀이 어느정도 색감이나 형태 정도를 내어주고 프론트 엔드 개발자가 그것을 가지고 서버와의 통신을 통해서 기능을 구현하는 것이 아닌가 싶다.


  • 디자인적 요소보단 기능 구현적인 부분에서 나름 흥미를 느끼고 있었던 것을 깨달았다.



결론

뭐 아직 django를 통해서 기본적인 기능을 구현하는 정도 밖에 백엔드를 공부하진 않았지만, 내가 끌리는 대로 방향성을 잡고 공부해보자~ 경험해 보지않으면 모른다.


내가 개발자로 갑자기 방향을 잡은 것도 단순히 먹고살기 위해서 직업을 가지고자 하는게 아니었으니까.


좋아하는 대로 따라가보고 너무 성급하게 결정을 하지 말자! 해봐야 안다.


프론트 엔드쪽으로 가닥을 잡고 공부하고 나중에 백엔드에 관심이 생기면 nodejs를 통해서 시너지를 높이는 것도 좋은 것 같다. 그리고 python은 입문정도만 닦아 놨다고 생각하고 다른 것을 할때 사용할 수 있는 기틀을 다져놓은 것이라고 생각하자


공부해서 남주는 것은 없다. 언젠가 다 쓰이는 곳이 있을 것이다.
그리고 나중에 js가 더 발전해서 다른 분야 까지 커버가능해 질수도 있다.




공부 계획

  • 생활코딩 web 프론트 js, css, html를 조금 훑어 보면서 처음 보거나 잘 모르는 개념 정리하기
  • 정규표현식
  • nomadcoder로 React 공부하기 (reactjs 웹 영화서비스)
  • nomadcoder로 React 공부하기 (reactjs firebase 페이스북 클론코딩)
  • nomadcoder로 Reactnative 공부하기
  • 프론트엔드 관련 채용공고 확인하고 필요한 개념들 적어 놓기!
  • 프로젝트 만들기

'기타' 카테고리의 다른 글

블로그 다시 시작하기  (0) 2024.04.07
20210112_ Adobe XD, 프로젝트 기획,NRC  (0) 2021.01.13