안녕하세요 !
이번 기사는 프론트엔드 개발자(Front-End Developer, FE), 백엔드 개발자(Back-End Developer, BE) 를 소개하려고 합니다 !!
SSAFY 10기는 1학기를 수료하고 2학기에 접어들면서 곧 상반기를 맞이하고, SSAFY 11기는 이제 막 입과하면서 미리 큰 방향을 정하고 교육을 받으면 좋을 것 같습니다 !!
개발자가 선택할 수 있는 직무는 Web, App, Infra, Cloud 등등 정말 다양하지만 그중에서 가장 보편적으로 구분하는 기준은 프론트엔드 개발자와 백엔드 개발자로 나눌 수 있습니다 !!
특히 SSAFY 1학기 과정에서는 Front-End와 Back-End 과정을 모두 교육하기 때문에 학습하면서 자신이 어떤 직무와 더 적성에 맞는지 찾아갈 수 있습니다.
1. Front-End Developer (FE)
프론트엔드 개발자는 서비스 사용자와 상대적으로 가까이 있는 개발자로 사용자 눈에 보이는 화면을 제작합니다. 화면 구성은 모두 프론트엔드 개발자가 제작하며, 사용자와의 거리 상 앞단(Front)에서 작업을 해서 Front-End 개발자라고 불리는 것입니다. FE 개발자는 뒷단(Back)과 데이터를 주고받고, 디자이너와 밀접하게 협업을 하게 됩니다. 디자이너가 Mock-Up 등을 통해 모의 화면을 제작하게 되면 FE 개발자는 해당 화면을 보고 프로그래밍을 통해 실제 화면으로 구현하게 됩니다. 그렇기 때문에 FE 개발자는 사용자 경험을 가장 중요한 가치로 삼고 직관적이고 서비스 사용자가 사용하기 쉽게 UI(User Interface)를 설계해야 합니다.
- FE 개발자의 핵심 수행 업무
1. BE에서 받은 데이터를 디자인 형태로 시각화
2. 사용자 중심의 화면 조작
3. 생성된 데이터를 서버로 전송
SSAFY 에서는 FE 개발자 능력을 향상시키기 위해, HTML, CSS, JavaScript, Vue.js를 중점적으로 배울 수 있습니다. 만약 사용자와 가까이서 소통하고자 하고, 코드의 결과물을 바로 눈으로 확인하면서 작업하는 것이 편안하고 매력적이라고 느껴진다면, FE 개발자를 선택하는 것을 추천합니다 !!
2. Back-End Developer (BE)
백엔드 개발자는 FE 개발자보다는 상대적으로 사용자와의 거리가 멀고 뒷단(Back)에서 작업을 하기 때문에 Back-End 개발자라고 불립니다. 그래서 서비스 사용자의 눈에 바로 보이지 않는 로직을 코드로 구현하는 역할을 하게 됩니다. 화면으로 바로 보이지 않는 기능적인 부분을 구현해서, 데이터가 저장될 장소를 정하거나, 방대한 데이터를 신속하게 로딩시키는 기능 등을 만들어야 합니다. FE 개발자가 화면을 구성할 때, 화면을 채우기 위한 데이터는 전부 BE에서 제공되는 것이며, 이런 데이터들이 효율적인 비용을 통해 이동할 수 있도록 노력해야 합니다.
- BE 개발자의 핵심 수행 업무
1. 서버 구성
2. 성능 최적화
3. 데이터베이스 설계
SSAFY 에서는 BE 개발자 능력을 향상시키기 위해 다양한 알고리즘 해결 방법, Java, MySQL, Spring Boot를 중점적으로 배울 수 있습니다. 만약 눈에 보이지는 않지만, 복잡한 문제를 해결하는 데에 보람을 크게 느끼고, 도전과 많은 시간 고민하는 데에 두려움을 느끼지 않는 편이라면 BE 개발자를 선택하는 것을 추천합니다 !!