Vision
home
CLASS101 Vision
home

CLASS101 기술 현황 및 개발자로 합류하면 좋은 점

CLASS101 기술 현황

팀에 도움이 되는 기술이 있다면 적극적으로 채택하는 편이며, 어느 누구나 이를 주도할 수 있는 환경을 제공합니다.
React, GraphQL, Apollo, TypeScript, Kotlin, Spring Boot, MSA, K8s, MongoDB 등을 채택하여 제품에 적용하고 있습니다.
배울 의지만 있다면, 기술을 사용한 경험이 없어도 괜찮습니다. 온보딩을 통해 익힐 수 있는 환경입니다.
현재 기술 현황
프론트엔드
React와 React Native로 웹과 모바일 앱을 각각 개발합니다. 웹과 네이티브 환경을 동시에 지원하는 디자인 시스템을 개발해 통일된 개발 환경을 만들기 위해 노력하고 있습니다.
TypeScript를 적극적으로 사용합니다.
Nx를 사용해 모노레포를 관리하고 있습니다. Nx의 다양한 기능을 활용해 엔터프라이즈 환경에서 빠르게 개발하고 쉽게 유지보수 할 수 있는 구조로 프론트엔드 애플리케이션의 아키텍쳐를 변경하고 있습니다.
GraphQL & Apollo의 장점을 최대한 활용해 클라이언트의 복잡한 상태 관리 로직을 줄이고, 필요한 데이터를 쉽고 효율적으로 전달하기 위해 노력합니다.
Next.js 등 성능 개선에 도움을 주는 프레임워크나 라이브러리들을 적극적으로 사용해 기능 구현에만 집중할 수 있는 환경을 만들고 있습니다.
백엔드
MSA
k8s
결함내성과 도메인 간에 복잡도를 낮게 하기 위해서 MSA로 전체 시스템을 구현 하고 있습니다. K8s를 도입하였고, istio 같은 기술도 고려하고 있습니다. presentation layer의 데이터 aggregation 을 유용하게 하기 위해서 Graphql을 쓰고 있습니다.
Spring Boot
Kotlin, Java
JPA, QueryDSL, JOOQ
Gradle
MariaDB
Spock, JUnit, Mockito
Node.js Back-end (Apollo-Server)
TypeScript, GraphQL, Apollo, TypeGraphQL, Typegoose
MongoDB
Docker, K8s
DevOps
AWS

개발 환경

개발자의 경험을 개선하는 플랫폼팀이 개발자의 생산성과 개발 환경을 개선하기 위해 노력하고 있습니다.
품질을 보증하는것이 아닌 만족할 만한 수준의 품질을 유저들에게 전달하고 있습니다.
AWS를 이용하여 인프라를 구축하고 있습니다.
컨테이너 오케스트레이션은 아마존 EKS를 활용합니다.
로그 수집 및 분석은 데이터독을 활용합니다.
배치 스케쥴링은 에어플로우를 활용합니다.
배포 프로세스
Trunk Based Development 전략을 따릅니다.
배포는 Drone CI를 활용 합니다.
지속적인 배포을 위해 우리는 모든 코드의 변경사항을 최소한으로 합니다. 변경을 최소한으로 만들면, 주위 개발자가 리뷰하기 쉽고, 코드를 병합하는데 비용이 적습니다. 리뷰하기 쉬운 코드는 결함을 발견할 확률이 높아집니다. 결함이 없는 클린 코드는 배포하기도 쉽고, 고객의 경험을 개선한다고 믿습니다.
담당 태스크를 모두 개발한 경우 PR을 생성하고, 생성된 PR을 동료 개발자들이 리뷰합니다. 리뷰를 반영한 후에 작업사항이 QA가 필요한 작업인지, 당장은 필요없는 작업인지에 따라 바로 배포되는 프로덕션 브랜치 or QA브랜치에 각각 들어갑니다. 바로 배포되는 프로덕션 브랜치에 들어갔다면 구축되어있는 CI/CD 환경에 의해 자동으로 프로덕션 배포됩니다. QA 브랜치에 들어간 경우 이때부터 QA 엔지니어가 요구사항을 QA하고, 고쳐야할 태스크를 만들어 전달해줍니다. 전달받은 QA태스크를 진행하고, 완료되면 프로덕션 배포가 진행됩니다.

CLASS101 개발자로 합류하면 좋은 이유

저희 개발팀이 지금 대한민국 최고의 개발팀인건 아닌 것 같아요.하지만, 회사가 개발팀을 그렇게 키울 의지가 있습니다. 사실은 그렇게 하기 위해서 굉장히 많은 할 일들이 있겠죠. 개발 문화도 그렇고, 실제로 개발하는 코드 베이스도 그렇고. 개발자 데려오는 개발자들도 그렇고. 이 개발자들이 어떻게 협업해야 하는지 어떻게 다른 팀과 협업해야 하는지 아니면 어떻게 이 안에서 협업해야 하는지 이런 많은 문화들과 규칙들과 만들 것들이 있잖아요. 그런 거를 직접 만들어볼 수 있을 것 같아요. 저희 회사에 오셔서 어떻게 해야 개발자 10명이었는데 30명으로 갈 때 이게 어떻게 하면 좀 더 효율적으로 일할 수 있고 어떻게 바뀌어야 하는지를 경험해볼 수 있을 것 같고요. 지금은 이제 3~40명이니까 아마 지금 들어오시면 100명까지 성장할 때 우리가 어떤 식으로 개발팀을 운영해야 하는지. 개발팀이 어떤 방향으로 나아가야 하는지. 어떤 식으로 협업을 해야 하는지 이런 것도 되게 많이 배울 수 있을 것 같고요. 보통은 이런 경험이 있는 사람이 다른 회사에 가면 헤드가 되잖아요. 개발팀을 성장시켜본 경험이 있는 사람. 그래서 그런 커리어적인 측면으로 많이 도움 될 것 같고요. 그런 경험들이 어디서도 할 수 없는 경험인 것 같아요. 정말 중요한 자산이 될 수 있을 것 같습니다. -Engineering Manager, Hero-
다양한 도메인을 경험해 볼 수 있는 환경입니다. 비디오 인코딩 등 영상 스트리밍 기술부터 복잡도가 높은 커머스까지 다양한 기술과 도메인을 경험할 수 있습니다.
글로벌 제품을 만들며 글로벌 고객에 대한 이해도와 개발자로서의 관점을 넓힐 수 있습니다. 클래스101은 처음부터 글로벌 회사를 목표로 성장해왔습니다. 그래서 초창기부터 미국과 일본 시장에 문을 두드렸고, 지금도 꾸준하게 성장중에 있습니다. 미국, 일본 각각 법인이 설립되어 있으며, 미국 시애틀에도 오피스가 있습니다.
클래스101 제품에 적용되어 있는 다양한 기술들을 써보면서 학습할 수 있으며, 새로운 아키텍쳐도 제안하고 도입할 수 있는 환경입니다.
개발에 집중할 수 있도록 지원을 아끼지 않습니다. 성장하기 좋은 환경입니다. 자유로운 환경입니다.
최신 장비를 지원하고 있습니다.
4K 모니터 2대까지 지원
맥북(Macbook 16')‘(RAM 32GB) 지원 (현재는 수급문제로 14인치를 제공하지만, 추후에 교체해드립니다.)
컨퍼런스 참가비 지원받기, 스터디 만들기, 관심주제 연사 초청 세미나 요청하기 등등 팀원들이 회사와 함께 성장하면서 오랫동안 함께할 수 있도록 다양한 복지들이 마련되어 있습니다.
클래스101은 성공에 어떤 방정식이 있다고 생각하지 않습니다. 각자 개인이 잘하는 방식으로 실험하고 실패하고, 또 다시 실험하는게 좋다고 생각합니다. 그렇기 때문에 파트 별로 독립성을 보장하고, 개인에게도 많은 권한을 위임합니다.
유연 근무제로 자유롭게 출근 가능합니다. 매일 다른 시간 출근도 가능합니다. 출근 스트레스를 줄이고, 개발에 더 집중할 수 있습니다.