백엔드 개발자 공부 순서
프론트 엔드는 크게 JavaScript, HTML, CSS 정도만 알고 있어도 가능함
but, 백엔드는 다양한 언어를 가지고 있음
-> 그에 상응하는 다양한 프레임워크와 라이브러리가 있음
시스템 설계를 잘 알고 있어야함
좋은 백엔드 엔지니어가 되려면 무엇을 알아야할까?
백엔드 회사에서 요구하는 역량
1. 특정 언어 또는 프레임 워크 전문가
-> 빠른 일처리 능력을 가진 사람, 언어 또는 프레임 워크의 모든 복잡성을 깊이 이해하는 사람
-> 더불어 그 언어와 프레임워크로 빠르게 코딩해 나갈 수 있는 사람
-> 직접 전반적인 웹 애플리케이션 개발을 혼자 완료 하기위해서 백엔드를 공부한다며
-> 전반적인 백엔드에 대한 이해도와 호스팅하는 방법을 알아야함
2. 지식이 풍부한 후보자 ->대부분의 대기업들
-> 시스템 설계와 관련된 개념, 클라우드 밒 서비스 같은 확장성, 신뢰성에 대해 알고있는 일종의 시스템 설계 전문가
-> 하나 이상의 클라우드 플렛폼에 대한 실무 경험이 있는 개발자
Tools
-> 파이썬, django, Ruby, RAILS, Node, Express(JS), PHP, laravel, C#, JAVA, Go -> 모두 다 배울 필요x
-> 취업을 원하는 분야에 가장 많이 사용되는 프레임 워크가 무엇인지 조사해볼 필요가 있음.(하나를 진중하게 공부하는 것이 중요)
-> 도구일 뿐이다!!
가장 간단한 백엔드 애플리케이션을 생각해보자
구성
클라우드 또는 서버 어딘가에서, 즉 네트워크를 통해 접근 할 수 있는 서버 측에서 동작, 실행되는 일종의 응용 프로그램 -> 일반적으로 하는 일은 상태를 관리하는 것임 -> 어떤 종류의 데이터베이스에 그 상태를 저장하고, 일종의 API로 프론트엔트에서 접근할 수 있는 방법을 제공함
-> 이렇게 하려면 먼저, 데이터베이스를 이해하고 어떻게 사용해야 하는지 알아야함.
-> 또 많은 데이터베이스 중에서 어떤걸 어떨때 선택해야 하는지 알아야함
-> MySQL, mongo DB(대표적은 SQL 데이터베이스나 nosql 데이터베이스가 있음)
-> 또한 API를 설계하고 구현하는 방법을 이해해야함.
-> API도 우리에게 많은 선택권이 있음 -> 서버에서 제공할 수 있는 다양한 유형의 API가 있기 때문
-> Rest API를 제공할 수 있고, GraphQL또는 gRPC 같은 것들을 제공할 수 있음
작은 규모에서도 훌륭한 백엔드 엔지니어가되기 위해서는 도구와 프레임워크에 대한 지식뿐만 아니라 데이터베이스 설계, API 설계 관련 개념에 대한 지식이 필요함
그 외에도 백엔드를 보호하기 위해 인증 및 암호화와 같은 보안 개념을 이해해야함
Concepts -> 처음부터 모든 것을 배울 필요는 없음 / 실제 프로젝트를 하면서 많은 것을 배울 수 있음
하지만 이러한 개념들 중에서도 꼭 알아야 하는 중요한 것이 있음 -> 그러한 것들을 다른 개념을 공부하기 전에 먼저 배워야 함
-> AWS, 구글 클라우드, 컨테이너, 등등
과정
처음은 작업을 완료할 수 있는 언어 + 프레임워크로 시작함(코드 닌자가 될 때까지 마스터함)
그리고 기초를 공부함 (API디자인, 데이터베이스, 기본 보안과 같은 개념과 같은 것들)
그리고 거기에서 부턴 커리어 목표에 따라서 지식을 시스템 설계의 고급 개념으로 확장함
그렇게 시니어 백엔드 엔지니어의 세계에 들어가는 것임
'🕵️♂️Developer Preparation' 카테고리의 다른 글
개발자의 소양 (0) | 2021.07.30 |
---|
댓글