프론트엔드 (Frontend)
프론트엔드는 사용자와 직접 상호작용하는 부분으로, 웹 애플리케이션 또는 웹 사이트의 시각적 부분을 담당한다.
특징
- 사용자 인터페이스 (UI): 프론트엔드는 웹 페이지의 레이아웃, 디자인, 색상, 텍스트, 이미지, 버튼 등 사용자가 보고 상호작용하는 모든 것을 처리한다.
- 웹 브라우저에서 실행: 프론트엔드 코드는 주로 HTML, CSS, JavaScript를 사용하며, 이 코드는 클라이언트 측에서 웹 브라우저에서 실행된다.
- 사용자 경험 개선: 프론트엔드는 웹 애플리케이션의 사용자 경험을 향상시키는 역할을 한다. 사용자가 쉽게 탐색하고 상호작용할 수 있도록 설계되어야 한다.
주요 업무
- 사용자 인터페이스 (UI) 개발
- 웹 페이지 레이아웃, 디자인 및 스타일링 작업을 수행하여 사용자 경험을 개선
- 사용자 경험 설계
- 사용자가 웹 사이트 또는 애플리케이션을 쉽게 탐색하고 상호작용할 수 있도록 설계
- 클라이언트 측 로직
- 웹 페이지에서 사용자 입력을 처리하고, 이벤트 처리 및 상호작용 기능을 구현
- 웹 보안
- 기본적인 웹 보안 원칙을 이해하고, 사용자 데이터의 안전을 보장하는데 기여
적합한 성향
- 창의적이고 시각적인 관심: 프론트엔드 개발은 사용자 인터페이스 및 디자인을 다루므로 창의성과 시각적 감각을 가진 사람에게 적합
- 사용자 중심 접근: 사용자 경험을 개선하고 사용자 피드백을 반영하는 데 관심이 있는 사람들에게 적합
- 프론트엔드 기술 업데이트: 웹 기술이 빠르게 진화하므로 새로운 웹 기술과 프레임워크에 대한 관심과 학습 능력이 필요
- 디테일에 민감: 레이아웃, 디자인 및 사용자 경험의 세부 사항에 민감한 사람들에게 적합
- 피드백 수용 가능: 사용자 및 디자이너의 피드백을 수용하고, 변경 사항을 빠르게 반영하는 능력이 필요
백엔드 (Backend)
백엔드는 웹 애플리케이션의 뒷단에서 동작하는 부분으로, 프론트엔드가 보여주는 내용과 기능을 지원합니다.
특징
- 데이터 처리: 백엔드는 데이터베이스와 상호작용하여 데이터를 저장, 검색 및 조작하는 역할을 한다. 예를 들어 사용자 정보, 게시물, 주문 기록 등을 처리한다.
- 비즈니스 로직: 웹 애플리케이션의 핵심 비즈니스 로직을 실행하며, 예를 들어 회원 가입, 결제 처리, 권한 관리 등을 포함할 수 있다.
- 서버 측 언어 및 프레임워크: 백엔드 코드는 서버 측에서 실행되며, 다양한 언어와 프레임워크로 개발된다. 이 코드는 데이터의 유효성 검사, 보안, 인증 및 권한 부여와 같은 중요한 기능을 수행한다.
주요 업무
- 데이터 관리
- 데이터베이스를 설계하고 구축하며, 데이터의 생성, 읽기, 갱신 및 삭제 (CRUD) 작업을 처리
- 비즈니스 로직 구현
- 웹 애플리케이션의 핵심 비즈니스 로직을 개발하고 유지 관리 (e.g. 회원 가입, 로그인, 주문 처리, 결제 처리 등)
- 서버 측 로직
- 웹 서버를 설정하고 관리하며, 요청을 받아 처리하고 클라이언트에 응답
- 보안
- 웹 애플리케이션의 보안을 유지하고 사용자 데이터를 안전하게 저장하고 전송
- 인증 및 권한 부여 시스템을 구현하여 사용자 및 데이터 보호를 강화
- 성능 최적화
- 웹 애플리케이션의 성능을 개선하기 위해 데이터베이스 쿼리 최적화, 캐싱 및 스케일링 작업을 수행
적합한 성향
- 논리적이고 문제 해결 능력: 백엔드 개발은 데이터 처리와 비즈니스 로직에 중점을 두므로 논리적 사고와 문제 해결 능력이 필요
- 데이터와 보안 관심: 데이터베이스 설계, 데이터 처리 및 보안에 관심이 있는 사람들이 백엔드 개발자로 적합
- 서버 측 기술 이해: 서버 측 언어, 프레임워크 및 서버 운영체제에 대한 관심과 이해가 필요
- 안정성과 성능 강조: 웹 애플리케이션의 안정성과 성능을 향상시키기 위해 고려사항을 고려하고 해결하는 능력이 필요
- 팀 협업 능력: 백엔드 코드는 프론트엔드와 함께 작동해야 하므로 팀 협업 능력이 중요
프론트엔드와 백엔드 개발에 대한 역할이 명확하게 구분되지 않는 경우도 많다. 따라서 프론트엔드에 해당하는 부분이 백엔드에도 해당할 수 있고 백엔드에 해당하는 부분이 프론트엔드에도 해당할 수 있다.
백엔드 개발자가 되고 싶은 이유
코딩을 접하게된 이유
처음 사회에 들어섰을때 Plumbing 설계를 시작했다. 이 시절에는 내가 하고 싶은 일이 무엇인지 몰랐고 그저 돈을 벌어야겠다는 생각뿐이었다.
설계를 위해 AutoCAD 프로그램을 사용하고 엑셀을 사용하여 끝없는 반복작업 업무를 수행했다. 어느 날 결막염에 걸렸고 그제서야 내가 일하는 방식이 잘못되었다는 것을 깨달았다. 그래서 "자동화"를 키워드로 어떻게 하면 조금 더 편하게 효율적으로 업무를 진행할 수 있을까 찾아보고 고민했다. 고민한 결과가 바로 코딩이다.
처음은 Python 언어를 시작해 조금씩 업무에 적용하기위해 무작정 개발해보고 사용해보았다.