Post

첫 컨퍼런스, 2025 KSUG Spring Camp에서

첫 컨퍼런스 후기

첫 컨퍼런스, 2025 KSUG Spring Camp에서

개발자로 지내면서 여러 컨퍼런스가 열리는 것을 보았는데, 그동안 가보고싶다는 생각만하다 드디어 처음으로 다녀왔습니다. 처음으로 가는거라 설레이기도 했고, 못알아들을까봐 떨리기도 했던 2025 spring camp 후기 입니다.

가서 정말 재밌다고 느꼈던 부분과 놀라게 된 부분들 등 여러가지가 있었는데, 이 내용을 잊기전에 요약해서 적어볼께요! :)

난 spring에서 ml 서빙을 해봤어요 - 김수원

사실 신입 시절에 ML에 대해 정말 약간!.. 관심이 있어서 배워보려고 했던 적이 있었고, jvm위에서 실행?..을 하려고 도전했던 적이 있었습니다. 그때 제대로 기록해놓지 않았고 결과가 좋지 않아 흐지부지 되었지만, ML과 springboot를 연계하던 시도를 했던 부분이 잘 안되어서 무마되었던 걸로 기억하고 있습니다.

그래서 이 세션의 제목을 보고 놀랐어요. 사실을 가능했구나! 역시.. 내 능력이 부족했다!..

하지만, 입사 직후에 업무를 어떻게 해야하는지 몰라서 아무런 기록도 자료도 없으니 왜 안되었는지 기억도 안나고 “어렵다” 만 남았더라구요. 그리고 이후에는 백엔드도 직무를 바꾸게 되며, 더이상 ML은 기억하지 않을거고! 쳐다보지도 않을거야! 라는 생각에 한동안 잊고 지냈는데 김수원님이 발표해주시는 내용을 듣는데 너무 재밌고 흥미로웠습니다.

내용을 대략 요약하자면,

  • 파이썬이 아닌 JVM 을 선택하신 이유
  • JVM에서 어떻게 서빙하는지
  • 각각의 특징

이런 내용들을 이야기 해주셨습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
- 파이썬으로 서빙하지 않는 이유
  - 대규모 프로덕션 운영이 어려움이 있거나 난이도가 높아지는 제약이 있다.
    - GIL
    - 패키지 & 환경 관리 복잡성
    - 대규모 서비스의 운영 한계

- 추론 서버/엔진 이용시의 어려움
  - 구축 및 운영 복잡성
  - 벤더 종속성 및 기술지원 한계
  - 리소스 및 비용 부담

- Jvm에서 ML을 어떻게 서빙하지?
  - DJL(고수준): 하드웨어를 쥐어짤 수 없지만, 비교적 쉬움
  - 오닉스, tensorflow(저수준): 하드웨어를 쥐어짤 수 있지만, 비교적 어려움

ML을 모르는 백엔드 입장에서, 앞으로 서빙할 상황이 있을 수도 있는데 지금 spring에서 서빙한다면 어떻게 서빙해야하는지 각 특성과 사례로 들을 수 있어서 재밌게 잘 들었습니다.

무엇보다 설명을 정말 잘해주시더라구요!

함께 성장하기 - 변정훈, 박재성, 이경일

이 세션에서는 어떻게 내가 성장할 수 있고, 회사와 함께 성장하는 방법들에 대해 이야기 했습니다.

감명깊에 들었던 몇몇 내용은

  • AI 도입으로 인해 기술적인 깊이 보다는 도메인의 지식 전파가 중요하다.
  • 사내에서 무언가를 개선하려고 하는 자세가 좋고, 받아들여지지 않더라도 계속해서 도전하는 것이 좋다.
    • 다만 무언가를 개선하고 도입하려고 할 때, 주의하자
      • 먼저 작은 것부터 개선하며 신뢰를 쌓는 것
      • 무조건 바꾸려 하는 것은 거부감 유발
      • 조직 문화와 서비스의 특성을 이해하기
  • 개발문화가 세상에 완벽한 회사는 많지 않다, 이직보다 우선되어야하는건 완성되지 않은 개발 문화를 어떻게 개선할 수 있을지 고민해 보는것

사실 개발 문화나 이런 부분에는 시니어가 많은 영향력을 가질 수 밖에 없는데,
만약 내가 지금 시니어라고 가정하고, 지금 회사를 개선한다고 하면 어떻게 해야할지도 같이 고민해보게 되었습니다. 그러면서 어떻게 해볼 생각도 하지 않고, 무작정 다른 사람들이 이뤄놓은 곳에만 가고싶어한 게 아닐까? 라고 되돌아 보게 되더라구요.

또 심리적 안정감에 대해 같이 이야기 하며, 피드백을 주고받는 방식에 대해도 얘기해주셨습니다.

그러면서 여러 꿀팁을 듣게 되었는데,

  • 좋고 편하게 다양한 피드백을 주고 받기 위해서는 신뢰, 친밀도 등이 필요하다.
    • 그래야 수용 가능성도 높아지고, 편하게 얘기를 주고 받을 수 있다.
    • 주니어때부터 계속 노력해야하는 부분
  • 온라인 피드백보다는 오프라인, 온라인이어야만한다면 화상미팅도 잘 이용해보자.
  • PR시 변경점이 많을 떄에는 다이어그램을 같이 이용해, 어떤 내용인지 잘 설명하자.
  • 부정적인 피드백
    • 주고 받을 때에는 쿠션어를 이용하자
    • 칭찬 후 부정적인 피드백
  • 코드와 나를 일체화 하지 않기

실전! MSA 트랜잭션 개발 가이드 - 김용욱

MSA가 무엇인지 대략 알고 있고, 이 때 트랜잭션은 어떻게 처리하는게 좋을지 궁금했는데 김용욱님의 좋은 세션을 듣게 되었습니다. 작년에도 MSA 내용으로 spring camp에서 발표를 해주셨더라구요.

그런만큼 MSA에 대해, MSA에서의 트랜잭션을 어떻게 해야할지 알게되었습니다.

그리고 설명을 해주시며 같이 해주신 말씀이 있는데, “설명만 듣는다면, 두발 자전거를 못타는 사람에게 어떻게 타는지에 대해 글로 설명하는 것과 같다.”라는 말이었어요.

아무래도 지금은 전문가이시고, 또 설명을 잘 해주시는 용욱님께서 하는 발표라 금방이라도 이해가 되는 것 같은 부분들이 있었는데, 실제 서비스를 MSA로 변경하지 않는다면, 완벽하게 다 이해할 수도 없고 많은 경험이 필요하겠다는 생각을 했습니다.

기술 Talk - 이동욱, 안영회, 조영호

많은 이야기를 했는데 크게 기억에 남는 것은 두가지입니다.

  • 객체지향
    • 아무래도 객체지향과 관련된 유명한 책을 많이 쓰신 조영호님께서 오셔서 객체지향에 대한 얘기를 많이 했습니다.
    • 객체를 잘 정의하려면, class 부터 고민하는 게 아니라 1. 어떤 상황에서 2. 어떤 객체들이 3. 어떤 상호작용을 해야는지부터 잘 정리해야함
    • JPA 엔티티와 객체를 나누는 것의 고민은 트레이드 오프를 생각하며 적용
    • 하지만 처음 프로젝트를 설계및 진행을 할 때라면, 합치고 이후 분리가 필요할 때 하는것도 좋은 방법
  • 확장성 vs 오버엔지니어링: 항상 그때 필요한 내용만 가장 단순하게 작성하자.
    • 확장성을 고려한 일부 코드들이, 실제 그 방향으로 가지 않았을 때는 오히려 복잡도를 높이는 결과를 가져옴

빅뱅 방식으로 최선의 개발하기 - 김근수

마지막으로 들었던 세션의 내용이였는데, 김근수님께서 발표를 해주셨습니다.

최근 이직을 하게 되었는데, 이직을 한 것이 처음이라 어떻게 하면 빠르게 업무에 적응할 수 있는지에 대해 계속 고민을 하고 있었거든요. 그리고 어떤 부분을 이해야하는지도 같이 고민하고 있었습니다.

세션의 내용을 들으면서 도메인의 내용을 빠르게 이해하는 것이 중요하다고 생각이 들었고, 근수님께서 말씀해주신 도메인을 파일 구조로 정리하는 방법을 보고 바로 시도해봐야겠다고 생각했습니다.

마무리

예상치 못하게 참여하게 된 첫 컨퍼런스였지만, KSUG Spring Camp라는 좋은 기회를 통해 많은 것을 배우고 느낄 수 있었기에 더욱 의미 깊었습니다. 다음에 기회가 있다면 참여하고 싶습니다.

This post is licensed under CC BY 4.0 by the author.