백엔드에서 어떤 것을 프로젝트 목표로 해야할까?

네트워크나 DB 역량의 초점

⇒ DB는 질의문, 네트워크는 데이터의 흐름. 웹 전반이 어떤 식으로 이루어져 있는지 ⇒ 면접 질문들을 한 Depth 더 들어갔을 때가 실제로 지원자 판단의 기준이 된다.

⇒ 프론트도 같을까요?

⇒ 프론트 / 백 모두 신입 때 요구되는 역량은 비슷하다. 기술이 다른 것일 뿐 역량은 비슷하다. 채용과정에서 백엔드는 알고리즘 테스트를 보는 경우가 더 많고, 프론트는 과제를 보는 경우가 더 많다.

팀 프로젝트 주제의 방향성도 전문성이 아니라 유지보수나 코딩 습관으로 정해야할까요?

⇒ 선택하기 나름. 팀 프로젝트에서만 할 수 있는 경험이 있다. 유지보수나 코딩 습관을 보여주기 위해 정할 필요는 없을 것 같다.

⇒ 프로젝트 볼륨이 커서 마감까지 빡빡하게 구현을 하는건 지양하는 것이 좋다.

⇒ 주제보다는 과정이 더 중요할 것 같다. 도메인을 어떻게 풀어냈는지, 어떤 고민을 했는지 보여주기.

역할 분담을 어떻게 하는게 좋을까요?

⇒ 보통은 큰 기능 단위로 나눈다. 그러나 한 사람이 하나를 작업하기 보다는 여럿이 작업(예를 들어 프론트 백엔드의 협업)해보는게 좋지 않을까 싶다.

프론트 / 백엔드가 협업할 때, 맞닿는 부분의 협의를 어떻게 하나요?

⇒ 상황에 따라 조금씩 다르다. 보통은 대략적으로 정해놓는다. 어떤 통신 규약을 쓰는지에 따라서도 다르다.

⇒ 주로 백엔드에 의해서 결정이 된다. 프론트에서 특정한 요구사항이 없다면 백엔드에서 개발해서 프론트에게 전달해준다.

⇒ 기능 의존성은 기능별로 해결해야하는 문제이다.

프로젝트 진행할 때 꼭 피해야 할 것

⇒ git 사용할 때, remote에 올라가는 코드를 rebase하고 push 하거나 force push 하면 안된다.

⇒ 작업하다가 pull 받으려고 했더니 엄청나게 꼬이게 된다. remote에 올라가는 코드는 rebase해서 하면 안되고, 새로운 커밋으로 만들어서 push 해야한다.