본문 바로가기

DEV CONF

[ 컨퍼런스 후기 ] Spring Camp 2023

데보션에서  “🌱스프링캠프 2023🌱”에 참여할 수 있는 기회를 제공해주셔서 참여할 수 있었습니다! 간단하게 후기를 남기려고 합니다! spring camp held in spring!!(라임이 좋아서 넣어봤습니다 ㅎㅎ)



시험 2일 전이었지만, 이런 좋은 기회를 놓치고 싶지 않아 참여하게 되었고, 앞으로의 개발 방향성에 대해 깨달았던 소중한 시간이었습니다. 협업 개발자가 아니라 다 이해하지 못하는 건 아닐까 걱정을 많이 했습니다. 하지만 걱정했던 것과 달리, 강연자 분들께서 설명을 잘 해주셨고 중간 중간 재미있는 짤들이 있어서 긴 시간 동안 집중해서 잘 들을 수 있었습니다. (’개발자 역량에 유머도 있는건가?’ 싶을 정도로 재미있었습니다!)👍👍

기억에 남는 부분들을 공유하고자 합니다. 

✔️새로운 시스템을 구성할 때 다음의 3가지(Port And Adapter pattern, Event Driven Architecture, Domain Driven Design)를 고려하셨다고 하셨습니다. 이 중 Domain Driven Design 관련 설명이 인상깊었습니다. 저는 최근 DDD start 책을 읽으면서 도메인 주도 디자인에 대해 배우고 있었습니다. 책의 내용은 이해가 되었지만 프로젝트에 적용하는 데 어려움이 있었습니다. 먼저, 코드 관심사가 분리되어서 직관적으로 볼 수 없다는 문제가 있었습니다. 스피커분께서 이 문제에 대해 "코드의 직관성과 유연성은 trade-off 관계이므로 시스템의 유연성이 더 높은 가치이므로 유연성을 우선시하면서도 어느 정도 직관성은 필요하므로 패키지와 애플리케이션으로 역할과 책임을 구분하여 구현"하라고 말씀해주셨습니다. 이를 바탕으로 책임을 기반으로 구현 코드의 위치를 찾아가는 것이 가능해졌습니다. 두 번째로, 저는 도메인을 단순히 DB 스키마를 그대로 구성했었습니다. 하지만 이는 DB에 의존하게 되는 것이며, 추상화된 스키마를 결정하는 것이 좋으며 "[https://schema.org/]” 사이트를 소개해주셨고, 앞으로 프로젝트를 할 때 이 사이트를 참고하여 도메인의 내용을 구성해야겠다고 깨달았습니다.

✔️대규모 엔터프라이즈 시스템 개선 경험기를 들으며 신세계를 경험했습니다. 아직 대학생이라 대규모 시스템을 다룰 일이 없었고 레거시 시스템을 개선할 일도 없어서 이 부분에 대해서 공부해보지 않았습니다. 이번 세션을 통해 레거시 시스템을 점진적으로 마이그레이션하는 StranglerFigApplication이라는 개념과 적용한 방법을 들으니 마이그레이션이 정말 어려운 것이라는 것을 알았고 엄청 오래걸리더라도 문제가 발생하지 않게 진행하는 것이 인상깊었습니다. 

✔️저는 그동안 개발을 할 때 빨리 구현하는 것에 우선순위를 두었습니다. 그리고 많은 사람들이 선택하는 것을 따라하기만 할 뿐 “왜 그 기술을 많이 사용하는가?, 더 효율적인 방법은 없을까?”에 대한 깊이 있는 고민을 많이 하지 않았습니다. 하지만 이번 세션을 들으며 이것이 당장 오류가 발생하지 않더라도 대용량 트래픽을 만나면 문제가 드러날 수 있다는 것을 듣고 많이 반성하게 되었고 코드가 잘 돌아간다고 다음 단계로 넘어가는 것이 아니라 코드 한 줄 한 줄이 의미있게 고민해야겠다고 생각했습니다.

앞으로 오늘 스피커님께서 고치면서 성장한다고 말씀해주셨는데, 저도 "더 고치면서 성장하는 개발자"가 되겠습니다. 아직은 걸음마 수준이지만 여러 이슈들을 해결해 나가며 먼 훗날 Spring Camp에서 스피커로 세션을 진행할 수 있는 개발자가 되고 싶습니다. 이번 행사를 준비해주신 KSUG 분들께 감사의 말씀을 드리며, 부스를 열어주신 데보션, 현대자동차, 마이크로소프트, 인프런 관계자분들께도 감사드립니다.

참고로 오늘 컨퍼런스는 추후 영상으로 업로드된다고 합니다! 자세한 내용은 영상을 참고해주세요!