개발자로 참여하면, 하이브리드 클라우드 환경에서 멋지고 탄탄한 서비스를 만들어갈 거예요. 우리는 모노레포로 시작해서 MSA로 확장하며, 최신 기술을 고민하고, 때로는 작은 문제를 해결하며 함께 성장할 팀원을 찾고 있어요. 우리는 하나의 언어와 프레임워크만 사용하지 않아요. 현재 상태의 최고의 효율을 고민하고, 그 서비스에 맞는 언어와 프레임워크 혹은 라이브러리를 선택해요.
또한, 우리는 개발에 경계를 두지 않아요. 즉, 프론트엔드, 백엔드 등 구분을 짓지 않고, 모두 개발할 수 있는 Full stack 을 지향해요.
우리 팀에 오면 이런 역할을 맡아볼 수 있어요.
✅ 역할 및 책임
1.
서비스 아키텍처 설계 및 개발
a.
Nginx 필수!
i.
요청과 트래픽을 똑똑하게 라우팅하고, 로드밸런싱 및 리버스 프록시로 서비스를 최적화해요.
b.
bare metal 기반 VM 환경에서 시작해요. 트래픽이 많아지면 Public cloud로 살포시 넘겨줄 거예요.
c.
RESTful API와 GraphQL! 이 둘 중 어떤 게 우리 서비스에 더 맞을지 고민하고 구현해요.
d.
WebSocket과 비동기 처리를 활용해 실시간으로 빠르게 소통하는 기능을 만들어요.
2.
데이터베이스 설계 및 연동
a.
MariaDB, PostgreSQL, Redis, MongoDB, SQLite! 상황에 맞게 고민하여 최적의 사항을 선택해서 사용해요.
b.
ORM으로 데이터베이스 작업을 깔끔하고 효율적으로 처리해요.
i.
Spring Boot: MyBatis, Spring Data JPA, QueryDSL
ii.
NestJS: TypeORM, Prisma
iii.
Django: Django ORM
3.
CI/CD와 모니터링
a.
Jenkins, Argo CD, GitLab CI(Runner)! 자동화 배포로 개발자들의 시간을 절약해요.
b.
서버 상태를 모니터링하고, 성능 테스트를 진행해요.
4.
인증/인가와 보안 설계
a.
JWT, OAuth 2.0, Session, Cookie! 사용자 인증을 안전하게 설계해요.
5.
웹 프론트엔드 설계 및 구현
a.
Typescript 기반으로 ReactJS, NextJS 혹은 VueJS, NuxtJs를 활용해 웹 애플리케이션을 개발해요.
b.
반응형 디자인과 크로스 브라우징을 고려해 다양한 디바이스에서 최적의 UI를 제공합니다.
6.
3D 인터페이스와 퍼블리싱
a.
Three.js와 같은 라이브러리를 사용해 웹 기반 3D 애플리케이션을 개발해요.
b.
퍼블리셔 능력을 활용해 UI를 세밀하게 구현하고 최적화해요.
7.
데이터 통신
a.
Restful API와 GraphQL을 사용해 데이터를 효율적으로 주고받아요.
b.
인증/인가 구현 경험이 있다면 최고! (SSO, JWT, Session, Cookie 등을 활용).
8.
보안 고민 같이 해요
a.
JWT와 OAuth 인증에서 생길 수 있는 취약점을 체크하고 보안을 강화해요.
b.
최신 비밀번호 정책으로 사용자들의 습관을 고려하며 암호 안전성을 추구해요.
c.
OTP(일회용 비밀번호)를 외부 서비스에 맡기면서도, 안전하게 신뢰할 수 있도록 설계해요.
d.
시큐어 코딩 노하우를 통해 OWASP Top 10 보안 취약점을 보완하여 개발해요.
9.
AI 서빙 환경 구축 (AI 필요 서비스 구축 시)
a.
AI 모델을 서빙하고, 이를 통해 더 똑똑한 서비스를 만들어봐요.
🛠️ 어떤 능력이 필요할까요?
기술적 역량
•
하나 이상의 언어와 프레임워크를 자유자재로 다룰 수 있는 능력 (Typescript, Java, Kotlin, Python 중 하나)이 있어야 하며, 다른 언어와 프레임워크를 공부하고, 적용할 의지가 있어야 해요.
•
System, Application Architecture를 고려하고, 구성도를 그릴 수 있어야 해요.
•
개발할 서비스와 주어진 환경에 맞는 최적의 기술 스택을 고려할 줄 알아야 해요.
•
ORM 사용 경험 (Spring Boot JPA, QueryDSL, Django ORM 등)
•
RESTful API, GraphQL 상황에 맞게 선택하고 구현할줄 알거나 공부하여 적용할 의지가 있어야 해요.
•
SSO, JWT 같은 인증 방식의 경험이 있거나 공부하여 적용할 의지가 있어야 해요.
•
메시지 큐(RabbitMQ, Kafka)와 WebSocket을 다뤄본 경험이 있거나 공부하여 적용할 의지가 있어야 해요.
•
비동기 프로그래밍을 다뤄본 경험이 있거나 공부하여 적용할 의지가 있어야 해요.
•
Websocket과 같은 기술 스택을 다뤄본 경험이 있거나 공부하여 적용할 의지가 있어야 해요.
•
Typescript와 함께 ReactJS, NextJS, 혹은 VueJS, NuxtJS를 다룰 수 있거나 공부하여 적용할 의지가 있어야 해요.
•
Typescript 기반 React Native, Dart 기반 Flutter를 다룰 수 있거나 공부하여 적용할 의지가 있어야 해요.
•
Electron, Three.js 같은 추가 기술 스택에 대한 경험이 있거나, 공부하여 적용할 의지가 있어야 해요.
•
퍼블리싱 능력 (HTML, CSS, SCSS, 반응형 디자인 구현 능력)이 있으면 좋아요.