백엔드 개발 직군과 관련된 학습을 경험하셨다면 어떻게 프로그래밍 학습을 해왔는지 이야기를 들려주세요.
2022년 9월 SW 사관학교 정글 5기를 지원하면서 기초적인 수준의 풀스택 웹 서비스를 개발하고 AWS에 배포까지 하는 과제를 수행했습니다. 2주간의 자기주도적인 몰입환경과 7시간의 시험시간을 치르면서 데이터 CRUD를 할 수 있는 mongoDB, 웹 서버를 위한 Flask, 프론트엔드를 위한 HTML과 CSS, 비동기 통신의 편의를 위해 jQuery와 ajax를 활용하는 방법에 대하여 알게되었습니다. 클라우드 서비스는 평소에도 Azure 계정을 사용해 원격 워크스페이스를 구축해 SSH 서버로 연결해 사용할 정도로 익숙했기 때문에 큰 문제가 되지 않았지만, 가장 문제가 되었던 부분은 바로 각 서비스 간의 연결이었습니다. 특히나 프론트와 백이 만나는 지점이 매끄럽지 못했는데, GET, POST와 같은 HTTP 메소드에 대한 이해가 부족했기 때문입니다. api를 통해 통신을 하는 것은 우리가 단순히 웹 브라우저를 열어 URL을 작성하고 엔터를 누르는 행위와는 다르다는 것을 알았습니다. 백엔드에서 URL과 메서드에 대한 인터페이스를 열어두면 프론트엔드에서 목적에 따라 정해진 양식으로 백엔드에게 메시지를 보낼 수 있다는 것을 알게 되었습니다.
백엔드 개발 분야로 진출하고자 하는 이유가 무엇인가요?
이전 답변에 이어서 말씀드리자면, 결국 서비스나 코드 간에 데이터를 전송하거나 요청하기 위해선 합일된 규약이 필요합니다. 사실 이 개념은 전혀 새로운 것이 아닙니다! 왜냐하면 결국 프로그램은 사람이 작성하고, 프로그램이 소통하는 행위는 사람이 소통하는 것과 닮았기 때문입니다. 사람들 사이에 원활한 소통이 이루어지려면 같은 언어, 적당한 말투, 상대방이 제대로 알아들었는지에 대한 확인이 필요합니다. 코드도 마찬가지입니다. 반대편에서 나의 메시지를 이해하기 위해선 서로간에 공통된 규칙을 정하고 그것에 따라야만 합니다. 저는 이 통신규약에 집중하고 싶습니다. 모든 소통의 중심에 서서 시끄럽게 외쳐대는 코드들의 함성을 잠재우고 일관적이고 서로의 영역을 침범하지 않는 인터페이스를 설계해보고 싶습니다.
6. 본인의 현재 상태를 알려주세요.
취업 준비중입니다.