티스토리 뷰
소프트웨어 애플리케이션은 빙산과 같다. 일반적으로 사용작에게 드러난 부분보다 사용자가 보지 못하는 영역이 더 크다. 보일 듯 보이지 않는 이 신비한 영역이 바로 '백엔드(back-end)'다.
애플리케이션 코드는 대부분 사용자 인터페이스와 관련이 없다. 복잡한 시스템의 백그라운드에 온갖 로직이 들어있다. 시스템을 작동시키는 건 그런 로직이다. 데이터를 저장하고 가져와야 한다. 비지니스 로직과 규칙을 따르고 결과를 계산해야 한다. 이 모든 일은 막후에서 일어난다. 백엔드 개발자의 역할은 이 모든 작업이 잘 돌아가게 하는 것이다.
| '백엔드 개발'이란 정확히 무엇인가? |
저자는 사용자 인터페이스를 만들어내는 코드 작성과 관련 없는 모든 개발을 가리켜 백엔드 개발이라고 하겠다고 한다. 하지만 여기에는 API 작성, 라이브러리 제작, 사용자 인터페이스가 없는 시스템 컴포넌트 다루기뿐 아니라 심지어 과학적 프로그래밍도 포함된다. 현실에서 대부분의 영광을 가져가는 건 프론트엔드 개발이다. 하지만 세상에 존재하는 코드 대부분은 (어쩌면 가장 유용한 부분은) 최종 사용자가 볼 수 없는 백엔드 코드일 것이다. 간단히 말해 백엔드 개발은 보이지 않는 영역에 있는 코드를 작성하는 것이다.
| 백엔드 개발자는 어떤 일을 하는가? |
백엔드 개발자가 하는 일은 작업 중인 애플리케이션의 크기와 범위에 따라 크게 달라진다. 웹 개발을 하는 백엔드 개발자는 대체로 애플리케이션 뒤에서 작동하는 로직을 만드는 일에 관여한다.
Ex) 프론트엔드 개발자가 만든 사용자 인터페이스가 작동하도록 백엔드 개발자가 코드를 작성
백엔드 개발자는 시스템 아키텍처에도 깊게 개입해서 시스템이 정상적으로 작동하고 수월하게 유지보수되도록 로직을 조직하는 일을 한다. 백엔드 개발자는 프론트엔드 개발자에 비해 알고리즘을 적용하고 문제를 해결하는 데 더 많은 시간을 쓴다.
| 백엔드 개발 기본 기술 |
SQL, 데이터베이스와 관련이 있는 기술을 배워야 한다. 웹 개발을 하는 백엔드 개발자는 자신이 쓰는 기술 스택에 맞는 서버 측 언어를 능숙하게 쓸 줄 알아야 한다. 마지막으로 애플리케이션 아키텍처를 제대로 알아야 한다.
∵ 애플리케이션의 아키텍처와 내부 설계를 대게 백엔드 개발자가 담당하기 때문이다.
좋은 백엔드 개발자가 되려면 다양한 프레임워크와 라이브러리의 활용법, 프레임워크와 라이브러리를 애플리케이션에 통합하는 방법, 시스템을 유지 보수하기 쉬운 방식으로 코드와 비지니스 로직을 구조화하는 방법을 알아야 한다.
※ 풀스택에 대한 저자의 의견
기술 스택 전반에 대해 일반적인 지식을 갖추되 일부 영역에 대해 전문성을 갖는 게 현명하다. 그 정도면 자신을 '풀스택'이라고 부를 수 있을 뿐만 아니라 팀에서도 훨씬 더 높은 가치를 인정받을 것이다.
'도서 리뷰' 카테고리의 다른 글
Career Skills_P3 - Ch32. 디버깅 (0) | 2021.07.31 |
---|---|
Career Skills_P3 - Ch31. 지속적 통합(Continuous Integration) (0) | 2021.07.30 |
Career Skills_P3 - Ch30. 소스 제어 (0) | 2021.07.29 |
Career Skills_P3 - Ch28. 테스트와 QA 기초 (0) | 2021.07.27 |
Career Skills_P3 - Ch21. 프로그래밍 언어 개요 (0) | 2021.07.22 |