백엔드 개발자가 되기 위해서는 어떤 기술들을 공부해야 하는지 알아보도록 하겠습니다. 꽤 많은 것들을 숙지하고 있어야 하는데요. 개발자로 계속해서 성장해 나가고 싶다면 각자 자신의 목표를 설정하고 로드맵을 구축해 나가야 합니다. 아래는 백엔드 개발자가 알아야 하는 필수항목입니다.
1. 인터넷
– 인터넷 작동 원리
– HTTP는 무엇인가
– 브라우저 작동 방식
– DNS란 무엇인가
– Domain Name
– 호스팅은 무엇인가
2. 개발 언어
– Java
– C#
– PHP
– Javascript
– Python
– Ruby
– Rust
– Go
3. 소스 관리 시스템
– Git
4. 소스 관리 서비스
– GitHub
– GitLab
– Bitbucket
5. OS와 사용툴
– 터미널 사용법
– POSIX
6. 관계형 데이타베이스
– PostgreSQL
– MySQL
– MariaDB
– MS SQL
– Oracle
7. NoSQL 데이타베이스
– Document DB
– Time Series
– Realtime
– Column DB
– Key-Value
– Graph DB
8. DB 기술
– ORM
– ACID
– Transactions
– N+1 Problem
– Nomalization
– Failure Modes
– Profiling Perfor.
9. Scaling Database
– Database Indexes
– Data Replication
– Sharding 전략
– CAP Theorem
10. API
– HATEOAS
– Open API Specs
– Authentication
– REST
– JSON API
– SOAP
– gRPC
– GraphQL
11. Caching
– Client Side
– Server Side
– CDN
12. 웹 보안
– Hashing Algorithm
– API Security Best Practices
13. Testing
– Integration Testing
– Unit Testing
– Functional Testing
14. CI/CD
소프트웨어 디자인
- 개발 원리
– GOF 디자인 패턴
– Domain Driven Design
– Test Driven Development
– CQRS
– Event Sourcing
2. 아키텍처
– Monolithic Apps
– Microservices
– SOA
– Serverless
– Service Mesh
– Twelve Factor Apps
3. Message Brokers
– RabbitMQ
– Kafka
4. Containerization vs Virtualization
– Kubernetes
– Docker
– LXC
5. GraphQL
– Apollo
– Relay Modern
6. WebSockets
7. Server Sent Events
8. Web Servers
– Nginx
– Apache
– Caddy
– MS IIS
9. Building for Scale
– Graceful Degradation
– Throttling
– Backpressure
– Loadshifting
– Circuit Breaker
– Instrumentation
– Monitoring
– Telemetry
백엔드 개발자가 되기 위해서 공부해야 하는 것들이 상당합니다. 하지만 해당 기술 스택에 대해 하나씩 공부하며 실무에 적용해 가면 됩니다. 그리고 서비스 성격에 따라 사용해야 할 기술 스택이 다르니 각각 장단점을 알고 있는 것이 향후 개발방향을 잡는데 중요합니다.