패스트캠퍼스(Fast campus)

패스트캠퍼스는 “Life-changing Education” 을 비전으로 성인들의 평생 교육을 지향하는 기업입니다. 과거 워드프레스로 만들어진 홈페이지와 교육장에서의 오프라인 강의를 기반으로 시작했던 회사가, 사회의 변화와 사업의 기회에 발맞추어 온라인 강의 기반으로 달라졌습니다. 이에 장동수 CTO님을 중심으로 다수의 프로그래머로 이루어진 새로운 개발팀을 꾸려 홈페이지와 서비스를 개편하고 있습니다.

Company-in-company(CIC, 사내독립기업제)를 운영하고 있어, 패스트캠퍼스, 콜로소, 스노우볼, 패스트캠퍼스 랭귀지로 나누어진 서비스에 맞춰 개발팀도 4개의 파트로 나뉘어 관리, 운영되는 모습이었습니다.

과제

패스트캠퍼스의 홈페이지와 서비스들은 과거로부터 조금씩 개선되어 왔는데, 현재는 여러 개로 나눠진 서비스를 v2라 불리는 하나의 리포지터리에서 관리하고 있습니다. 각 서비스들은 개별적으로 실행, 배포될 수 있으며 이 과정에 Ansible을 사용하고 있습니다.

패스트캠퍼스의 서비스를 이용하기 위해서는 이메일로 회원가입을 하거나, 카카오계정을 통해 가입을 진행해야 합니다. 기존에 이런 방식으로 분리 운영되고 있던 계정을 5월 중순부터 통합하여 관리하게 되어 로그인 페이지에 알림 문구를 수정하는 것을 첫 번째 과제로 받았습니다.

FastCampus login page

이와 함께 인터넷 익스플로러의 점유율이 낮아짐에 따라 지원을 종료하기 위해, 해당 웹 브라우저 계열로 접속하는 경우에 다른 웹 브라우저 사용을 권고하는 페이지를 제작하기로 했습니다.

Web browser recommendation page in Figma

해결 과정

전체적으로 Mustache로 작성된 템플릿 위에 부분적으로 Vue 2를 사용하고 있는 페이지를 수정해야 했습니다. 디렉토리 구조와 설계가 오래되었음에도 불구하고, 어떤 위치에 어떤 코드가 있는지 비교적 쉽게 찾을 수 있었습니다. 웹 사이트의 대부분은 동적 콘텐츠로 패스트캠퍼스에서 자체적으로 제작한 “컴포저”라는 저작도구를 통해 여러 페이지의 본문을 프로그래머의 도움 없이 만들고 갱신할 수 있다고 합니다. 다만, 로그인 페이지와 같은 일부 페이지들은 여전히 코드에 직접 레이아웃과 문자열을 관리하고 있어, 이를 직접 수정해야 했습니다.

무척 간단한 과제였지만, 로컬에서 몇 가지 서로 다른 서비스를 도커로 띄워 테스트 환경을 구축하고 변경 사항을 확인하는 과정에서 겪을 수 있는 사소한 문제들을 발견하였고, 이를 개선할 수 있는 방안부터 제안하며 과제를 해결해나갔습니다.

두 번째 과제를 해결하기 위해 우선 접속한 사용자가 인터넷 익스플로러를 통해 접속했는지 알아내야 했습니다. 웹 브라우저는 프론트엔드에서 일반적으로 navigator.userAgent 값을 통해 구별하는데, 그 중 인터넷 익스플로러 11 버전은 이전 버전과 다른 형식을 가지고 있어, 이 부분을 고려하여 작업해야 했습니다.

Web browser recommendation page

더 알아보기

  • 패스트캠퍼스의 CTO 장동수 님은 대부분 자택이 있는 제주도에서 근무하고, 필요한 경우에만 강남의 사무실로 출근하고 있습니다. IT 관련 업계에서 자택 근무나 원격 근무는 더는 신기한 일이 아니지만, 그래도 화상 회의 중에 카메라로 보이는 제주도 풍경은 생경했습니다. Landscape of Jeju island

  • 효율적인 일감 관리를 위해 별도의 Jira 담당자가 있습니다. 해당 담당자는 이전 회사에서 Jira를 사용했던 경험을 살려, 패스트캠퍼스에 Jira를 도입하며 사내 교육과 프로세스 정립을 위해 꾸준히 노력하고 있으며, 덕분에 만났던 많은 개발자들은 일감 관리에 만족하고 있었습니다. 진행했던 이슈가 비교적 간단한 이슈였음에도 불구하고 이를 위해 기획, 디자인, 개발을 별도의 태스크로 분리하고 하나의 이슈로 묶어 각 단계에서 빼먹는 일이 없도록 잘 설정되어 있음을 확인할 수 있었습니다. Fastcampus Jira page

영상