점핏 2023 개취콘 백엔드편 후기

nayu1105·2023년 8월 27일
0

2023년 8월 27일, 점핏 2023 개취콘 백엔드를 참여하였다.

광고를 통해서 개취콘이 열린다는 걸 알게 되고, 찾아보니 현직 BE 개발자분들이 책 추천과 함께 40분의 강연을 해주셔서 들으면 유용하겠다고 생각되어 신청을 하였다.


신청은 온라인, 오프라인 모두 가능했다.

서울에 살지 않아 오프라인 참석이 어려웠고, 유튜브 라이브를 통해 온라인으로 강연을 들었다.

강연 중에 온라인으로 질문한 내용도 답변 해주셨다.


강의는 총 4세션으로, API 설계와 커뮤니케이션, 토스뱅크의 기업문화와 성장하는 주니어 BE 특징, 코틀린 언어의 특징과 장점, 쿠버네티스에 대한 내용을 다루었다.


점핏 2023 개취콘 강연소개

💊섹션 1. 중요한 건 인터페이스야

강의 내용

백엔드 개발자가 API(application programming interface)를 개발할 때 중요하게 고려해야 할 점, 원활하게 다른 부서와 협업해야 하는 이유를 다루었다.

백엔드 개발자가 API를 개발할 때 다른 부서와 협업 과정에서 겪는 어려움이 나왔다.

예를 들어, 실컷 API 설계 후 개발까지 완료했더니 클라이언트가 "그렇게 만들면 저희가 사용하기 어려운데요" 라고 하거나, 디자이너가 "제가 원하던 동작이 좀 다른데요?" 라고 하는 경우 혹은, 디자이너가 디자인은 마친 후 개발자들에게 주었을 떄 "개발이 힘든데요?"라고 하는 경우였다. 또한 고객에게 결과물을 주었을 때 "제가 원하던 제품이 아닌데요?" 라고 할 수도 있다.

개발을 모두 마친 후 이런 상황이 발생하면 이를 수정하기 위해 많은 비용이 들었다.

개발을 모두 마친 상황이라면 수정을 위해 더욱 더 많은 비용이 들었다.

이런 상황을 피하기 위해 BE 개발자들은 개발하기 전, 혹은 개발을 하며 끊임없이 클라이언트, 디자이너, 고객과 소통하고 검증해야 했다.


클라이언트와 소통

  • 서버 개발을 하기 전에 클라이언트 개발자와 같이 API를 설계한다.
  • 변경해야할 가능성이 낮아진다.
  • 각자 병렬적을 작업하고 나중에 맞춰볼 수 있다.

디자이너와 소통

  • 모든 구성원이 자신의 전문성을 활용해 함께 기획한다.
  • 모든 구성원의 제품에 대한 이해도를 높인다.
  • 변경해야 할 가능성이 낮아진다.

고객과 소통

  • 고객과 나의 생각은 다르다.
  • 제품을 만들기 전 고객이 정말 원하는 것이 무엇인지 파악한다.

이러한 애자일한 방법은 비용을 줄일 수 있고, 좋은 성과로 연결될 가능성이 높다.

물론 case by case 이니, 100% 좋다는 것은 아니다.

현재 많은 기업들이 이런 방법을 추구하고 있고, 앞으로 좋은 개발자가 되기 위해 애자일한 방법을 배우면 좋을 것 같다고 소개해주셨다.



추천 책 : 클린 애자일

클린 애자일 소개 보러가기

애자일에 대한 소개와, 왜 애자일을 추구해야하는지, 애자일 방법 등에 대해 설명하는 책이다.

강연 내용에서 우리가 만들고자 하는 서비스가 어떤 고객들이 사용할 것이지, 고객들이 어떻게 사용할 것인지, 수요가 많은지에 대해 최대한 적은 비용으로 판단하기 위해서 Pretotyping ( Pre + Prototyping )을 소개하였다.

이런 방법도 모든 서비스를 다 개발하지 않고 최소한의 구현으로 개발-디자이너-고객까지 빠르고 효율적으로 피드백을 받을 수 있는 방법이라 생각해서 나는 애자일하다고 생각했다.

그래서 아마 이 책을 추천해 주신 것 같았다.

이 책을 읽으며 애자일의 가치에 대해 정리하면 좋을 것 같다.



배운 점

처음 인터페이스에 대해 소개해주신다길래, 자바의 Inteface를 말씀하시는 것인가 라고 생각했다 ㅎㅎ.. 예상과는 완전히 달랐다.

강연 내용이 API 개발에 대해 주로 다뤘지만, 생각해보면 제목이 인터페이스 인것을 보면 애자일을 결국 소개해주고 싶으셨던 것 같다.

자바로 예를 들어, 객체를 보지 않고, 인터페이스만 보더라도 이것이 어떻게 동작하는지를 알고, 이를 보고 모두와 소통하는 방법에 대해 말씀해주신 것 같다.


특히, Pretotyping 에 대해 소개해주시며 종이 스마트폰에 대해 이야기해주셨던 게 인상깊었다.

실제로 스마트폰 제품을 개발할지 말지에 대해 테스트하기 위해 하드웨어, 소프트웨어적으로 100%인 제품을 만들어 테스트한다면 그 비용은 어마무시할 것이다.

그 후 제품이 좋지 않다고 판단되어 결국 생산하지 않는다면 그 비용은 손해가 된다.

그래서 종이 스마트폰 모양을 가지고 우리는 어떤 고객이 타겟이며, 어떤 동작을 수행할 것인지 미리 테스트 한다는 것이 신기했다.

실제로는 아무 동작도 하지 않는 스티커 붙인 나무판이지만, 이걸 들고 다니며 상상하며 행동했을 때 100% 제작하지 않은 스마트폰이 어떤 효과를 줄지 예상할 수 있었다.

실제로 개발 할 때도, API를 100% 설계 후 클라이언트 팀에게 주었을 때 어렵다고 해서 이미 개발을 마친 API를 수정한 적이 있었다.

앞으로 개발을 모두 완료하여 주기보다, 개발 전에 함꼐 소통하고, 피드백받으며 이런 비용을 줄이려 노력해야겠다.




📈섹션 2. 토스뱅크 기업문화와 성장하는 주니어 BE 특징

강의 내용

이전에 BE는 현재 DevOps, DBA가 하는 일까지 모두 하였다.

그러나 회사의 규모가 커지면서 팀이 분리되고, 각자 하는 역할과 범위, 책임이 달라졌다.

모든 DB를 BE가 관리하던 이전과는 달리 현재는 BE 개발자가 어떤 버그를 수정하기 위해 DBA 팀에게 수정을 요구할 때 "그렇게는 좀 어려운데요"라고 하거나 "저희 쪽의 OKR과 맞지 않습니다" 라고 하는 경우가 있을 수 있다.

이유는 BE 버그를 수정하기 위해 DB를 고쳤다가 OKR 달성이 어렵거나 전체 장애로 번질 수 있는 확률 등의 여러 이류로 DBA 팀에게 손해를 줄 수 있기 때문이다.

그러나 DB의 수정으로 OKR가 달성하지는 못하더라도, 전체 시스템의 기능, 또는 고객의 요구와 맞다면 어떤 선택을 해야할까


토스뱅크는 각 팀의 목표가 아닌 조직 전체의 목표에 초점을 맞추었다.

토스뱅크 조직 OKR 인센티브를 받으며, 원팀의 목표, 같은 인센티브를 가졌다.

위의 예로, BE팀의 요구로 DBA 팀이 수정해서 팀의 OKR이 손해를 보더라도, 조직 전체의 목표 OKR과 같아 성과를 낸다면 인센티브를 받을 수 있었다.

이것이 각자의 팀들이 조직의 하나의 목표를 보며 뭉칠 수 있고 협업을 더 잘할 수 있게 했다고 하셨다.



추천 책 : 클린 소프트웨어

클린 소프트웨어 소개 보러가기

애자일에 대한 소개와 방법, 다양한 디자인 패턴에 대해 알 수 있는 책 같았다.

나는 싱글톤 패턴, 팩토리 패턴을 활용해보았지만 옵저버 패턴, 비지터 패턴 등 다른 디자인 패턴을 통해 개발한 적은 없었다.

다음 번에 공부할 때 읽으면 좋을 것 같았다.



배운 점

토스 뱅크는 개발자들이 자신의 역량을 마음껏 뽐내고, 같이 성장할 수 있는 환경이 잘 주어졌다고 평소에도 생각했지만, 이번 강연을 듣고 같은 원 목표를 향해 팀들이 모두 단합한다고 하니 정말 개발자들이 꿈꾸는 이상향에 가까운 기업이 아닌가 라는 생각이 들었다.

개발보다 놀라운 건 이런 원 목표를 향해 같은 인센티브를 받도록 구조를 경영한 토스 뱅크 경연진분들...

위의 예시로 각자의 R&R이 있으니 어떤 책임 소재를 회피하고, 또는 제약이 생기기 분명한데,

이런 인센티브 구조를 만들어 모두가 하나의 목표를 향해 각자의 최선을 다하고, 협력하도록 했다는 것이 놀라웠다.

강연 말미에 개발자는 끝까지 파고는 자세를 가져라 라고 하신 것도 마음에 와닿았다.

프로젝트를 하다보면 시간에 쫓겨서 코드를 짜다보면 확장성과 성능 고려를 후순위로 두기도 한 적이 있었다.

이런 말을 들으며 이전의 나를 반성하기도 하며, 이전에 적어놨던 코드들을 그대로 두기보다 이제라도 리팩토링하고 개선해야지 라는 생각이 들었다.

끝까지 파고들어 개발을 하면 성공하든 실패하든 내가 배우는 점이 있을 것이라고 믿는다.




✍️섹션 3. 알아두면 쓸 데 있는 코틀린

강의 내용

코틀린의 안정성, 간결성, 코루틴, 멀티플랫폼 등 특징들을 설명해주셨다.



추천 책 : 프로그래머의 길 멘토에게 묻다

프로그래머의 길 멘토에게 묻다 소개 보러가기

초보 프로그래머들이 참고할 여러 가지 조언을 패턴이라는 형식으로 엮어 내, 구체적인 상황을 제시하고 어떻게 대처해야하는지에 대한 설명이 있다고 한다.

기술적인 책보다는 앞으로 개발자로서 어떻게 살아갈지 멘토가 조언해주는 느낌의 책인 것 같다.



배운 점

먼저 강사님이 스프링러너 활동을 하신다고 했는데, 스프링 러너에 대해 처음 들었다.

스프링 러너란 스프링 기반 애플리케이션을 개발하는데 필요한 지식과 경험을 쌓을 수 있도록 돕는 오프라인 트레이닝 팀이다.

스프링 러너 깃헙

기본적인 스프링에 대해 알고 싶으면 보면 좋을 것 같았다.


요근래 코틀린을 배워볼까 생각하고 있었는데, 강연에서 강의와 책을 추천해주셔서 참고하면 좋을 것 같았다.




🐋섹션 4. 컨테이너 인프라의 필요 배경, 왜 지금 배워야 하는가?

강의 내용

서비스가 점점 커지면서 도커 컨테이너들이 점저 많아지고, 그 규모가 커지고 있었다.

쿠버네티스는 이런 많은 컨테이너들을 효율적으로 다루게 해준다.

Argo CD 는 GitOps 스타일의 배포를 지원하는 CD 도구로, 쿠버네티스 리소스들의 현 상태를 사용자가 원하는 상태로 유지하려고 하는 지속적인 배포를 도와준다.

Argo CD를 활용하여 배포하는 환경도 보여주셨다.



추천 책 : 컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커

컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커 소개 보러가기

도커, 쿠버네티스에 대해 배우고 싶으면 읽으면 좋을 것 같았다.

지인이 이 책을 읽는 것을 본 적이 있었는데 여기서 봐서 반가웠다 ㅋㅋ

인프라에 대해 공부할 때 보면 좋을 것 같다.



배운 점

사실 인프라에 대해 겉핥기만 해서 잘 알지 못했는데 이번 세션을 들으며 인프라도 공부해야지 라고 다짐했다.

인프라에 대해 알면 백엔드 개발을 하며 고려해야하는 사항의 시야가 넓어질 것 같다.

추천하신 책을 보면서 공부를 차근차근해봐야 겠다.

0개의 댓글