안녕하세요. 3년차 자바 웹 백엔드 개발자 유경호입니다.
최근에는 클라우드 네이티브와 마이크로서비스, 컨테이너 가상화 기술과 더불어 Jenkins를 활용한 CI/CD 구성, Kotlin과 같은 다양한 기술들에 관심을 갖고 학습 하였습니다.
특기인 기술로는 Java와 Spring으로 웹 애플리케이션을 개발하는 것을 즐깁니다. JPA(Spring Data JPA와 QueryDSL을 함께 사용)를 활용하여 개발하는 것을 즐깁니다.
혼자서만 잘 개발하는 것이 아닌 문제와 해결을 팀원들과 함께 나누는 것을 즐깁니다.
주어진 요구사항에 대한 개발 업무만 잘 수행하는 것이 아닌 해당 작업의 필요성을 검토하고 사용자 입장에서 필요한 새로운 feature를 제의하는데도 소질이 있습니다. 이를 주변 동료들도 인정해 주었습니다.
기술적 요약
- java8 & Spring Boot 2.x 활용한 웹 백엔드 개발 능력 보유
- OOP 패러다임에 대한 이해도가 높게 있으며, 이 능력을 활용한 객체지향 설계 능력 보유와 스프링 생태계 내부 동작 원리를 이해할 수 있는 능력 보유
- JPA & QueryDSL & Spring Data JPA를 활용한 Persistence layer 개발 능력 보유
- 전 우아한형제들 리드 개발자 출신 강사의 JPA 관련 인터넷 강의를 21년도에 모두 수강하였으며 이를 3년간 활용하였음.
- Spring Security를 활용하여 Spring Boot 애플리케이션에 토큰기반 인증&인가를 적용할 수 있음.
- Spring Cache Abstraction과 Redis를 결합한 캐싱 활용
- 관계형 데이터베이스(RDBMS)에 대한 이해도 및 ERD 설계 능력 보유
- Leonard Richardson의 Maturity Model (성숙도 모델)에 따른 REST API Level 2 수준의 설계 경험 및 능력 보유
- 2년간 javascript & vue2 기술을 활용한 프론트엔드 개발 경험 보유
- Jenkins와 클라우드 가상화 기술(aws), 컨테이너 가상화 기술(docker)을 활용한 서버 배포 능력 보유
- ComdCommit(AWS의 Git 기반 원격 레포지토리 시스템) + Jenkins + ECS를 활용한 CI/CD 파이프라인 구축 경험
- AWS 클라우드 환경에서 개발&배포 경험 보유
- EC2, ECS, ECR, Fargate, RDS 등을 활용한 운영 환경 구성
- HTTP, WebServer, WAS에 대한 이해도 보유와 활용 능력
- 주어진 요구사항이나 업무에 대해 더 나은 프로세스로 개선해본 다수의 경험이 있음.
- Jira 및 Slack, Mattermost를 활용한 업무 협업 경험
MSA와 관련한 개인적인 기술 경험 영역; 실제 프로덕트에 적용해보진 못했으나 개인적으로 경험해본 것들을 기술합니다.
- Spring Cloud 생태계를 활용한 MSA 구축
- Service Discovery(Eureka), API Gateway, Configuration Server & Spring Cloud Bus, RabbitMQ, Resilience4j, Sleuth & zipkin
- 개인 PC에 kafka 클러스터 구축 및 kafka connector를 활용하여 Spring Boot 웹 애플리케이션, postgreSQL DB에 데이터 동기화
- prometheus & grafana를 활용한 Spring Boot 웹 애플리케이션에 대한 모니터링 시스템 구축
- Kotlin 언어 학습
- Jenkins + Ansible(IaC) + Kubernetes 클러스터를 활용한 CI/CD 파이프라인 구축