- 질문 게시판입니다.
Date | 20/01/18 16:25:01 |
Name | aquarosa |
Subject | 개발자를 목표로 하는데 공부해야 할게 뭐가 있을까요? |
백엔드 개발자가 되고 싶은데요. 일단 할 줄 아는게 nodejs랑 js를 약간 쓰는 정도예요. python을 공부하는게 도움이 될까요? 아니면 DB를 공부하는게 좋을까요? 0
|
요새는 백엔드 개발자의 범위가 꽤 넓습니다. 클라우드 서비스가 많이 일반화 되어서요.
보통 백엔드에 가장 기초적으로 필요한 조건은 어느정도의DB 지식(SQL 이든 No-sql이든)과 서버 프로그래밍이 가능한 언어들입니다(C++, JAVA, Nodejs 같은). 여기에 서버를 다룬다는 특성상 리눅스나 윈도우서버운영체제에 대한 지식도 아예 없어선 안되고.. 배포나 로깅시스템에 대한 이해도 좀 요구되는 편이긴 합니다.
백엔드 개발자만 신입으로 뽑거나 하는 경우는 드물고, 백엔드 개발자는 프론트엔드를 주로 다루는 사람에 비해 ... 더 보기
보통 백엔드에 가장 기초적으로 필요한 조건은 어느정도의DB 지식(SQL 이든 No-sql이든)과 서버 프로그래밍이 가능한 언어들입니다(C++, JAVA, Nodejs 같은). 여기에 서버를 다룬다는 특성상 리눅스나 윈도우서버운영체제에 대한 지식도 아예 없어선 안되고.. 배포나 로깅시스템에 대한 이해도 좀 요구되는 편이긴 합니다.
백엔드 개발자만 신입으로 뽑거나 하는 경우는 드물고, 백엔드 개발자는 프론트엔드를 주로 다루는 사람에 비해 ... 더 보기
요새는 백엔드 개발자의 범위가 꽤 넓습니다. 클라우드 서비스가 많이 일반화 되어서요.
보통 백엔드에 가장 기초적으로 필요한 조건은 어느정도의DB 지식(SQL 이든 No-sql이든)과 서버 프로그래밍이 가능한 언어들입니다(C++, JAVA, Nodejs 같은). 여기에 서버를 다룬다는 특성상 리눅스나 윈도우서버운영체제에 대한 지식도 아예 없어선 안되고.. 배포나 로깅시스템에 대한 이해도 좀 요구되는 편이긴 합니다.
백엔드 개발자만 신입으로 뽑거나 하는 경우는 드물고, 백엔드 개발자는 프론트엔드를 주로 다루는 사람에 비해 CS에 대한 지식을 조금 더 요구할 수 있습니다. 운영체제의 동작원리나 메모리구조나 복잡도에 대한 것들이나 대용량처리의 문제같은것들 때문이죠. 특히 서버는 부하관리가 중요하고 DB와 사용자를 이어주기 때문에 어느정도의 기초지식을 갖길 원합니다.
최근에는 여기에 클라우드 시스템이 도입되면서, 각종 클라우드 경혐 및 대용량 로그시스템 활용경험(ELK 스택같은)을 요구하기도하고, docker와 같은 컨테이너 활용 지식도 요구합니다. 그러다보니 백엔드의 영역이 점점 인프라+서버+DB가 합쳐지면서 소위 DevOps + DBA에 가까운 포지션이 되어가고 있는 것 같아요. 이마저도 서버의 자동화가 빨라지다보니 일정 규모 이하의 서비스에서는 백엔드 전담 포지션이 점점 줄고있지 않나..싶습니다. 물론 필요가 없는건 아니지만 사람이 여럿 필요했던 백엔드 작업의 여러부분이 간편해지다보니..
저도 최종적으로는 백엔드 포지션을 가고 싶긴 합니다만, 과거에 비해 백엔드 개발자에 대한 요구사항이 높아지는 반면 포지션은 줄고 경력자선호가 강한 포지션이라고 생각합니다. nodejs를 깊이있게 잘 다루실 수 있다면, 이걸 활용해서 nodejs를 사용하는 포지션을 DB 같이 공부하면서 지원해 보시는게 어떨까요. 파이썬은 제 생각에는 백엔드를 준비할때 일부러 배워야 하는 언어는 아닌 것 같습니다. 물론 파이썬과 쟝고를 활용한 서버 포지션도 꽤 있을텐데.. nodejs를 다룰 줄 아는 상황에서 파이썬을 새로 배운다고 백엔드 포지션에 대한 경쟁력이 생기는가..하면 약간 의아하지 않나 조심스레 생각합니다.
보통 백엔드에 가장 기초적으로 필요한 조건은 어느정도의DB 지식(SQL 이든 No-sql이든)과 서버 프로그래밍이 가능한 언어들입니다(C++, JAVA, Nodejs 같은). 여기에 서버를 다룬다는 특성상 리눅스나 윈도우서버운영체제에 대한 지식도 아예 없어선 안되고.. 배포나 로깅시스템에 대한 이해도 좀 요구되는 편이긴 합니다.
백엔드 개발자만 신입으로 뽑거나 하는 경우는 드물고, 백엔드 개발자는 프론트엔드를 주로 다루는 사람에 비해 CS에 대한 지식을 조금 더 요구할 수 있습니다. 운영체제의 동작원리나 메모리구조나 복잡도에 대한 것들이나 대용량처리의 문제같은것들 때문이죠. 특히 서버는 부하관리가 중요하고 DB와 사용자를 이어주기 때문에 어느정도의 기초지식을 갖길 원합니다.
최근에는 여기에 클라우드 시스템이 도입되면서, 각종 클라우드 경혐 및 대용량 로그시스템 활용경험(ELK 스택같은)을 요구하기도하고, docker와 같은 컨테이너 활용 지식도 요구합니다. 그러다보니 백엔드의 영역이 점점 인프라+서버+DB가 합쳐지면서 소위 DevOps + DBA에 가까운 포지션이 되어가고 있는 것 같아요. 이마저도 서버의 자동화가 빨라지다보니 일정 규모 이하의 서비스에서는 백엔드 전담 포지션이 점점 줄고있지 않나..싶습니다. 물론 필요가 없는건 아니지만 사람이 여럿 필요했던 백엔드 작업의 여러부분이 간편해지다보니..
저도 최종적으로는 백엔드 포지션을 가고 싶긴 합니다만, 과거에 비해 백엔드 개발자에 대한 요구사항이 높아지는 반면 포지션은 줄고 경력자선호가 강한 포지션이라고 생각합니다. nodejs를 깊이있게 잘 다루실 수 있다면, 이걸 활용해서 nodejs를 사용하는 포지션을 DB 같이 공부하면서 지원해 보시는게 어떨까요. 파이썬은 제 생각에는 백엔드를 준비할때 일부러 배워야 하는 언어는 아닌 것 같습니다. 물론 파이썬과 쟝고를 활용한 서버 포지션도 꽤 있을텐데.. nodejs를 다룰 줄 아는 상황에서 파이썬을 새로 배운다고 백엔드 포지션에 대한 경쟁력이 생기는가..하면 약간 의아하지 않나 조심스레 생각합니다.
윗분들 말씀대로 웹에서 백 프론트 구분이 많이 없어졌습니다. 프론트엔드 엔지니어가 백엔드 흉내는 다 내야하는 시대라서요.
서버/네트워크 엔지니어의 역할도 점점 다분화(클라우드 아키텍쳐링)되고 새로운 포지션도 계속 나오기때문에 많은 공부를 해야할 겁니다.
기회가 된다면 프론트든 풀스택이든 일단 다 도전해보세요. 좋은 선배를 찾으면 등골 뽑는다는 생각으로 베끼고 원리를 익히세요.
연차가 차면 백/프론트/네트워크/devOps 전 필드에서 유연하실수 있어야 경쟁력이 되니, 일단 오픈 마인드로 전부 공부하시면 됩니다.
일례로 no... 더 보기
서버/네트워크 엔지니어의 역할도 점점 다분화(클라우드 아키텍쳐링)되고 새로운 포지션도 계속 나오기때문에 많은 공부를 해야할 겁니다.
기회가 된다면 프론트든 풀스택이든 일단 다 도전해보세요. 좋은 선배를 찾으면 등골 뽑는다는 생각으로 베끼고 원리를 익히세요.
연차가 차면 백/프론트/네트워크/devOps 전 필드에서 유연하실수 있어야 경쟁력이 되니, 일단 오픈 마인드로 전부 공부하시면 됩니다.
일례로 no... 더 보기
윗분들 말씀대로 웹에서 백 프론트 구분이 많이 없어졌습니다. 프론트엔드 엔지니어가 백엔드 흉내는 다 내야하는 시대라서요.
서버/네트워크 엔지니어의 역할도 점점 다분화(클라우드 아키텍쳐링)되고 새로운 포지션도 계속 나오기때문에 많은 공부를 해야할 겁니다.
기회가 된다면 프론트든 풀스택이든 일단 다 도전해보세요. 좋은 선배를 찾으면 등골 뽑는다는 생각으로 베끼고 원리를 익히세요.
연차가 차면 백/프론트/네트워크/devOps 전 필드에서 유연하실수 있어야 경쟁력이 되니, 일단 오픈 마인드로 전부 공부하시면 됩니다.
일례로 node를 사용하신다고 하셨는데, node는 프론트만큼 백엔드에서도 많이 사용 되는 도구이며, 네트워크 레이어가 섞인 어플리케이션의 경우 '비동기'라는 강력한 기능으로 병렬 처리를 할 수 있어 웹레이어 개발에서 매우 강력한 무기입니다. promise await async에 대해 이해하시고, npm에서 흥미가 있는 큰 라이브러리를 끝까지 파보시는걸 추천드립니다. 그러다보면 node는 풀스택이 가능한 엔진어가 되는 좋은 지름길이 됩니다.
python도 사용하신다고 하셨는데, 노파심에 말씀드리자면 node는 항상 'use strict'를 사용하는 버릇을 들이면 참 좋습니다...
기술은 많이 찾아보셨을 테니 어떤 공부를 하셔야되는지에 대해 자격에 대한 이야기로 조금만 풀어본다면
풀스택/프론트엔지니어는 Computer Science 학위 요구가 느슨하지만, 소프트웨어 엔지니어링의 경우 CS 학위가 minimum인 경우가 많습니다.
빅데이터/AI/데이터사이언티스트/데이터엔지니어의 경우도 마찬가지로 CS 학위 필수인 포지션이 많으며, 대표적인 '신입 없는' 필드입니다.
최근 이거 뚫으려고 대학원 가시는 분들도 많습니다. 이 방향도 (가능하다면) 추천드립니다. 한국은 석사 학위 도전이 비교적 쉬운 나라입니다.
이런 학위 공부에 관심이 없으셔도 기본적인 OS,병렬 컴퓨팅,전산 및 알고리즘 지식 등을 체득하셔야 소위 '백엔드'의 자질인 최적화 설계가 가능해집니다. 모르는게 무엇인지 아실테니 차근차근 공부해가며 실무와 이론을 체득하신다면 학위 그 이상의 실력을 뽐내는 경력을 얻으실 수 있을 겁니다. 어차피 이 바닥 잘하는 사람도 잘하려는 사람도 적어 낭중지추거든요. 건투를 빕니다!
서버/네트워크 엔지니어의 역할도 점점 다분화(클라우드 아키텍쳐링)되고 새로운 포지션도 계속 나오기때문에 많은 공부를 해야할 겁니다.
기회가 된다면 프론트든 풀스택이든 일단 다 도전해보세요. 좋은 선배를 찾으면 등골 뽑는다는 생각으로 베끼고 원리를 익히세요.
연차가 차면 백/프론트/네트워크/devOps 전 필드에서 유연하실수 있어야 경쟁력이 되니, 일단 오픈 마인드로 전부 공부하시면 됩니다.
일례로 node를 사용하신다고 하셨는데, node는 프론트만큼 백엔드에서도 많이 사용 되는 도구이며, 네트워크 레이어가 섞인 어플리케이션의 경우 '비동기'라는 강력한 기능으로 병렬 처리를 할 수 있어 웹레이어 개발에서 매우 강력한 무기입니다. promise await async에 대해 이해하시고, npm에서 흥미가 있는 큰 라이브러리를 끝까지 파보시는걸 추천드립니다. 그러다보면 node는 풀스택이 가능한 엔진어가 되는 좋은 지름길이 됩니다.
python도 사용하신다고 하셨는데, 노파심에 말씀드리자면 node는 항상 'use strict'를 사용하는 버릇을 들이면 참 좋습니다...
기술은 많이 찾아보셨을 테니 어떤 공부를 하셔야되는지에 대해 자격에 대한 이야기로 조금만 풀어본다면
풀스택/프론트엔지니어는 Computer Science 학위 요구가 느슨하지만, 소프트웨어 엔지니어링의 경우 CS 학위가 minimum인 경우가 많습니다.
빅데이터/AI/데이터사이언티스트/데이터엔지니어의 경우도 마찬가지로 CS 학위 필수인 포지션이 많으며, 대표적인 '신입 없는' 필드입니다.
최근 이거 뚫으려고 대학원 가시는 분들도 많습니다. 이 방향도 (가능하다면) 추천드립니다. 한국은 석사 학위 도전이 비교적 쉬운 나라입니다.
이런 학위 공부에 관심이 없으셔도 기본적인 OS,병렬 컴퓨팅,전산 및 알고리즘 지식 등을 체득하셔야 소위 '백엔드'의 자질인 최적화 설계가 가능해집니다. 모르는게 무엇인지 아실테니 차근차근 공부해가며 실무와 이론을 체득하신다면 학위 그 이상의 실력을 뽐내는 경력을 얻으실 수 있을 겁니다. 어차피 이 바닥 잘하는 사람도 잘하려는 사람도 적어 낭중지추거든요. 건투를 빕니다!
윗분들이 말 안하신 것중에선 영어 공부하세요
https://codereview.stackexchange.com
https://softwareengineering.stackexchange.com 즐찾 추가
https://codereview.stackexchange.com
https://softwareengineering.stackexchange.com 즐찾 추가
목록 |
|