스텁
772
2017-12-26 09:32:41
27
2388

중급의 언어 선택 고민


Q&A에 올렸다가 좀더 일반적인 얘기에 가까운거 같아서 다시 올립니다. 

논란의 여지가 많은 분야이지만 개인적으로 계속 고민중인 부분이라 조언을 구하고자 질문 드리니 대결구도나 특정 언어를 비난하고자 함은 아니니 양해 부탁드립니다.

먼저 결론부터 말하면 앞으로 자바와 자바스크립트 중 어떤것을 할지  두개 사이에서 고민중입니다. 현재 제 상황은 대형 엔터프라이즈 사이트에서 SM을 몇년 했습니다. 기술 스택은 JEE(스프링 아님) 기반의 각종 유료솔루션들(오픈소스 전혀없음)에 규모가 크다보니 업무도메인에 특화되어 개발을 했습니다. JEE나 자바의 장점인 타 모듈을 신경쓰고 개발하지 않아도 된다는 점 때문에 업무 도메인의 깊이는 자부하나 자바/스프링의 깊이는 부족합니다. 대형 사이트는 이미 퇴사를 한 상황이며 해외로 눈을 돌리고 있습니다. 영어/서류는 이미 충족을 했고 거의 완료되어 곧 넘어갈 예정입니다. 그러면서 일자리를 알아보니 자바가 물론 대세이긴 하나 대형사이트에서만 사용하는것 같으며 스타트업이 활성화 되어 있는데 스타트업에서는 특성상 자바보다는 트렌드를 많이 따라가는것 같습니다. 즉 자바외의 기술로 전향해도 일자리는 부족한 상황은 아닌것으로 보입니다. 여기까지가 현상황이구요

고민인 부분은 자바던 자바스크립트던 기초까지는 아니더라도 시니어 레벨로 가려면 다시 스터디를 좀더 해야 하는 상황입니다. 그래서 자바와 자바스크립트 둘다 하고 있는데 둘다 하면 좋겠지만 아무래도 낭비라고 느껴져서 이중 하나를 버려야 할거 같고 자바를 버려야 하는쪽으로 기울고 있습니다. 스터디를 하다보니 자바스크립트 대비 자바의 강점중 하나가 Type Strong이기 때문에 소스 규모가 커질수록 관리가 효율적이다. 대규모 모노리스 서비스에서 모듈들을 분리해서 서로 모듈의존도 없이 개발이 가능하다가 가장 큰 장점인것 같습니다. 그런데 이런 관점에서 봤을때 최근에는 마이크로서비스가 대세로 가고 있기 때문에 기존에는 모노리스 서비스 안에서 모듈을 분리하려던 시도가 이제는 아예 서비스 자체가 분리되어 가고 있는거 같으며 자바스크립트는 타입스크립트 및 ES6/7, 모듈화등 이 나오면서 어느정도 큰 규모의 서비스를 개발할수 있는쪽으로 가고 있습니다. 또한 풀스택을 선호하는 일자리들이 많기 때문에 프론트까지 하는게 취업에도 더 유리해보이는데 자바스크립트를 하면 프론트+백을 한번에 커버 할수 있기 때문에 자바스크립트에 치중하는게 더 좋아보입니다. 또한 자바/스프링도 아직 고수가 아닌 상황에서 고수로 가기 위해서 시간투자를 하는게 가성비가 안나오는거 아닌가 생각입니다. 이런 방향으로 고민이 흘러가고 있는데요 이 고민에 치명적인 오류만 없다면 자바스크립트쪽으로 가고 싶습니다. 자바의 장점 및 국내 사정상 한동안 자바로 갈거라는 점은 잘 알고 있는데요 이 점 외에 혹시 자바스크립트로 완전히 전향했을때 치명적인 문제점이 있을런지요? 반대의견도 좋고 찬성 의견도 좋고 좋은 의견 부탁드립니다. 감사합니다.

0
0
  • 댓글 27

  • 7i
    1k
    2017-12-26 09:37:43 작성 2017-12-26 09:38:13 수정됨


    요즘 Vue.js 뜨고 있지 않나요

    0
  • 니플
    31k
    2017-12-26 09:39:06

    왜 두 가지 언어로 하면 안되죠?

    웹은 자바스크립트를 버리면 안된다고 생각이 듭니다.

    가지고 가야하죠


    그리고 백엔드인가요?

    그렇다면 자바스크립트를 깊이 파지않아도 된다고 생각이 듭니다.

    1
  • 스텁
    772
    2017-12-26 09:43:54 작성 2017-12-26 09:48:04 수정됨

    7i / 뷰도 뜨고, 리액트가 대세인듯해요. 저는 앵귤러2+로 하고있었는데 리액트 다시 해야 할듯해요 ㅠ

    // 두가지 다 하면 좋은데요 시니어 레벨로 일단 가야 연봉을 잘받더라구요 그러려면 언어/프레임웍의 숙련도를 높여야 하니 우선 하나에 집중해야 할거 같구요 프론트가 거의 기본옵션이라 자바스크립트는 하는게 유리 하고, 백쪽은 자바/파이썬/고/루비/자바스크립트 등 선택지가 많기 때문에 그럴거면 노드로 하는게 시간단축이 된다고 생각했거든요. 백엔드면 왜 자바스크립트는 안파도 된다고 하신건지는..여쭤봐도 될까요?

    0
  • 7i
    1k
    2017-12-26 09:49:49
    백엔드하고 프론트엔드를 동시에 깊이한다는게 어려울듯한데요
    저는 지금까지 1 ~ 2명 본거 같은데


    0
  • 니플
    31k
    2017-12-26 09:50:14

    백엔드이면 깊이 안 파도 된다고 한거죠 ㅎㅎ

    파지말라고 한것이 아니라


    자바스크립트로 하게 되면

    웹팩이라던지 npm을 사용하게 되는데

    이를 깊이 사용안해도 된다는 말이였습니다.


    노드하고 자바스크립트언어하고 다릅니다.ㅎㅎ

    서버와 클라이언트언어라서 그렇습니다.

    0
  • 스텁
    772
    2017-12-26 09:53:13

    7i / 아 풀스택으로 수요가 많더라구요. 대형 엔터프라이즈는 프론트백이 거의 나뉘는데 서비스 위주의 스타트업은 아무래도 풀스택을 더 선호하는거 같아요. 그래서 풀스택이 편한 자바스크립트를 더 생각중이고, 리액트등의 프론트 + 노드 조합으로 수요가 꽤 있는거 같았습니다. 

    0
  • 스텁
    772
    2017-12-26 09:56:17

    // 음...노드는 Node.JS 말씀드린거였는데...이 노드 맞으신가요?

    0
  • 니플
    31k
    2017-12-26 09:56:58

    네 그 노드 맞습니다.

    0
  • 스텁
    772
    2017-12-26 09:59:52

    // 헛..그 노드 맞으면 노드는 자바스크립트인데요......;;;;  노드 엔진을 말씀하시는건가요;;; 엔진은 제가 손댈일이...ㅎㅎ

    0
  • LichKing
    13k
    2017-12-26 10:03:34

    자바스크립트의 그런 동적타입을 보완하기위한것들도 여러가지가있고요. 대표적인건 타입스크립트겠죠.

    전 자바스크립트 공부는 나름 좀 했지만 타입스크립트는 만져본적이없어서... 그런데 타입스크립트 해본사람들은 정적타입에서 오는 그 안락함때문에 순수 자바스크립트로 돌아가기싫어진다고 하더라고요 ㅎㅎ

    자바스크립트쪽으로 많이 생각하고계신거같은데 타입스크립트도 한번 훑어보시는게 좋을것같아 말씀드립니다. 건승하세요.


    0
  • 니플
    31k
    2017-12-26 10:08:32

    엔진 말고

    Node.JS언어요 ㅎㅎ

    0
  • 스텁
    772
    2017-12-26 10:08:59

    LichKing/ 나쁜 선택은 아니라고 생각하시는거라면 좀 안심이네요. 감사합니다. 타입스크립트를 별도로 공부하진 않고 앵귤러 하면서 자연적으로 쪼금 했는데 이 역시도 사실은 노력의 분산아닌가 생각중이여요 ㅠㅠ 어차피 써드파티 라이브러리 가져다 쓸일이 많아서 자바스크립트는 더 파야 하는데 거기다가 또 타입스크립트를 추가해야 해서요. (둘다 하면 좋은것은 맞는데, 일단 해외 취업전에 빠른 시간내에 한가지라도 수준을 시니어로 끌어올리고 싶어서 그렇습니다. 나중에는 다 해야죠 ㅠ)

    0
  • LichKing
    13k
    2017-12-26 10:10:47
    '깊게 판다' 라는 관점에서 접근하면 타입스크립트를 하든 뭘하든 일단 자바스크립트에 대한 기반은 탄탄해야하니 너무 조급해하지마시고, 자바스크립트부터 해 나가시면 될것같습니다. 자바만해도 공부할건 산더미인데 차근차근해나가듯이^^;


    nodejs랑 자바스크립트가 다르다는건 저도 어떤 말씀인지 좀 궁금하네요

    1
  • 스텁
    772
    2017-12-26 10:11:22

    // 아..조금 잘못알고 계신거 같아요 Node.JS는 자바스크립트에요 ㅠ 끝에 JS가 자바스크립트라서 JS라는...

    0
  • 초코쪼꼬
    6k
    2017-12-26 10:12:57

    자바스크립트는 꿀잼이라 공부할맛이 나죠. 꿀잼!!

    0
  • 스텁
    772
    2017-12-26 10:13:14

    LichKing/ 아 감사합니다. 자바를 놓친다는 불안감 때문에 요즘 좀 갈팡질팡 했는데 마음좀 편하게 먹고 자바스크립트 공부 더 해야 겠어요. 감사합니다 ㅠㅠ

    0
  • 니플
    31k
    2017-12-26 10:17:20

    Node.JS가 서버언어라서

    기존의 자바스크립트 언어와 다른 문법을 가집니다.

    기본적인 것은 같지만 선언하는 과정이 다른 서버 사이드 스크립트인

    php, 자바와 다른 형태입니다.


    클라이언트에서 사용하는 언어와 구분하기 위해

    노드라고 부르기도 합니다.

    자바스크립트라고 한다면 구분이 되지않기 때문이죠


    http://d2.naver.com/helloworld/12864


    이 글을 읽어보시면 좋을 것같습니다.


    js로 끝난다고 자바스크립트 언어라고 한다면

    라이브러리나 프레임워크처럼 되어야합니다.ㅎㅎ



    0
  • 스텁
    772
    2017-12-26 10:18:29

    초코쪼코/흥미로운것들이 점점 많아져서 더 그런거 같아요. 정신없기도 하지만 분야가 점점 넓어지니 할것도 많아서 재미있는..

    0
  • LichKing
    13k
    2017-12-26 10:32:09

    nodejs는 브라우저에서만 돌던 JS를 브라우저바깥에서 돌리는걸 말하는거지 문법이 다른건 없을텐데요.

    브라우저에서 제공하는 DOM API, window 객체같은게 없다는건 다르겠지만 이걸 문법적 차이라고 표현하기엔 힘들고요.

    1
  • 스텁
    772
    2017-12-26 10:35:35

    // 고민글에 관심주시고 의견주신거 감사합니다. 근데 조금만 말씀드리면 노드는 자바/스프링의 톰캣 또는 JVM에 해당한다고 하면 맞는 비유인지... 모르겠네요. 고민에 대해 의견주신것 감사해요. 

    0
  • 협군
    5k
    2017-12-26 10:51:11

    언어 문법에 얽매일 필요는 없습니다.

    어느 정도 수준을 벗어나면 언어 문법이 아니라 시스템에 대한 이해가 필요한 것이죠.

    node.js 와 웹 클라이언트언어로서 js 를 비교하면 분명히 문법은 같지만 다루는 것은 다른 것이 되겠죠.

    마찬가지로 같은 자바를 사용하더라도 응용프로그램을 만들거나 TCP 서버를 만드는 것과 웹 어플리케이션을 만드는 것은 다릅니다. 안드로이드 앱도 마찬가지고요.

    언어 선택을 고민할 것이 아니라 아키텍쳐 설계에 대해서 고민해보시는 것은 어떨까요?


    0
  • 스텁
    772
    2017-12-26 12:03:13 작성 2017-12-26 12:05:16 수정됨

    협군/ 막간에 잠깐 영업을 하자면 JS는 웹앱, 안드/아이폰등의 모바일앱, 데스크탑앱을 거의 동일한 환경/라이브러리로 제작 가능하답니다. (로 알고 잇습니다 ^^. 데탑/모바일앱은 실제 만들어보진 않아서.......)

    흠..그리고 프론트/백이 JQuery/Ajax시대에는 달랐지만 지금은 거의 유사한 구조/구성이라고 생각했는데 특히 프라미스나 옵저버블 같은 리액티브 사용하면 전혀 다를게 없이 개발 가능하다고 생각되는데 이부분은 다른분들의 의견도 궁금하네요. 

    아키텍쳐 설계는 좀더 설명 부탁드립니다. 어떤점 말씀이신지 잘 안와닿네요. 업무 리팩토링 잘된 프로젝트 스트럭쳐인지 스케일 아웃 잘되는 구조, 도커나 서버리스 같은 인프라 말씀이신지..요즘 스터디를 많이 하고 있어서 좋은 실마리를 주시면 이것도 스터디 하겠습니다. 관심 주셔서 감사합니다.

    0
  • 개발놀이
    587
    2017-12-26 13:41:07

    저도 회사에서 프론트할일이 있어서 Vue.js 공부하면서 ES6를 처음 접해봤는데요 신세계네요

    Java, Spring, SpringBoot, JSP, Jquery 만 다루다가 이건뭐 엄청 나네요

    둘다 잘하기는 정말 힘든 것은 확실하고요 프론트엔드에 완벽히 집중하시는게 좋을 것 같습니다 ㅎㅎ

    저는 욕심이 있어서 백엔드는 놓지는 않을 거고 다만 당분간 프론트엔드 쪽에 치중해서 공부해볼 생각입니다.

    1
  • 아스키
    9k
    2017-12-26 16:25:40

    글쎄요..node.js 가 자바스크립트가 아니라는 건 좀..

    개발해보니..node.js는 확실히 javascript을 잘 알아야 합니다.


    0
  • 아스키
    9k
    2017-12-26 16:34:20

    아래사이트 ES6 문서 참조하기에 좋습니다.

    http://es6-features.org/#Constants

    https://developer.mozilla.org/ko/docs/Web/JavaScript/New_in_JavaScript/ECMAScript_6_support_in_Mozilla


    0
  • 심심한사부
    960
    2017-12-26 19:54:53

    js는 흰개미랑 비슷하게 자바가 만든 시장을 뒤에서 조금씩 갉아먹는 형국 입니다.

    미래가 어떻게 될지는 아무도 모릅니다.


    저희 회사 개발자들은 파이썬 django로 지덜 마음대로 정해서 개발하고 있습니다.




    0
  • 유닉스파워툴
    792
    2017-12-27 09:35:14

    만약에 우리나라에서 자바의 대체제 가 무엇이 될꺼라고 물어본다면

    제 짧은생각과 경험으로는 자바스크립트가 될꺼라고 생각되네여 



    0
  • 로그인을 하시면 댓글을 등록할 수 있습니다.