🌐 인터넷
전세계 컴퓨터들이 서로 연결되는 하나의 거대한 네트워크
디지털 데이터를 기존의 아날로그 통신망을 활용하여 전달
🕸 웹
인터넷 네트워크를 이용하여 통신되는 정보의 집합
Tim Berners-Lee가 최초의 웹브라우저인 WWW 개발
웹 (서비스) ⊂ 인터넷 (기능)
🐥 1세대
🐓 2세대
🦢 3세대
SPA (Single Page Application) 는
하는 방식으로 동작 → FE
이로인해 웹 브라우저는 서버와의 통신하여
만 수행하면 되도록 분리됨 → BE
웹의 발전과 함께 복잡성 증가
→ 많은 동접자수와 커진 데이터양을 처리할 방법이 필요해짐
✨ 새로운 아키텍쳐로 극복
🎁 Product
클라이언트 (웹 브라우저, 모바일, 클라이언트 API, 기타)
프론트엔드 서버
백엔드 서버 (API 게이트웨이, API 서버들, Database)
⚙️ Dev System, Hardware
🎁 Product
PM (Project Manager)
기획자. 개발하고자 하는 제품을 정의하고 기획함 (비즈니스 로직 중요)
디자이너
사용자가 사용하는 제품을 보기 좋게, 만족감을 주도록 디자인
UI (User Interface) | UX (User Experience)
Scrum Master
프로젝트 매니저. 일정과 출시 관리를 담당
scrum 방법론에 맞춰 scrum process를 관리하고 코칭함
Tester
QA (Quality Assurance) : 직접 테스팅을 실행하는 직무
Software Engineer in Test / Test Automation Engineer : 자동 테스트 시스템을 만드는 개발자
🦄 Frontend
Frontend Developer
HTML, CSS, Javascript로 프론트엔드 시스템을 구현
클라이언트와 가장 가까운 개발자
Publisher
HTML, CSS만 담당하는 직군
🚀 Backend
Backend Developer
서비스의 백엔드 시스템을 개발
⚙️ System & Data
DevOps (Development Operations)
개발 뿐만 아니라 시스템 운영까지 담당하는 역할
SysOps (System Operations)
시스템 인프라의 구현과 관리, 운영을 담당하는 직군
실제 하드웨어 다룸 (data center 등) → 클라우드 서비스 증가로 DevOps 개발자로 흡수되는 추세
Software Architecture
큰 규모의 시스템의 전체 구조 디자인을 담당하는 직군
오랜 경력의 개발자들이 담당
Data Engineer / Data Scientist
엔지니어는 데이터를 정리하는 시스템을 구현함
사이언티스트는 데이터 분석에 필요한 알고리즘, 모델링을 구현
→ 로우 데이터로 새로운 정보와 가치 창출