슈코데이는 해외 개발자 채용 플랫폼인 슈퍼코더에서 ,
한두달에 한 번씩 IT 업계 최고 전문가분들을 모시고 최신 기술 동향과 인사이트를 공유하는 세미나 자리라고 한다.
이번에는 네카라쿠배당토 시리즈 세 번째로 "토스" 여서 이건 가야한다!! 하고 신청해서 다녀오기ㅎㅎㅎ
퇴근하고 후다닥 갔는데 에그드랍 샌드위치랑 음료 제공이어서 먹으면서 필기하면서 듣기😎😎

첫 주제는 "개발부터 분석까지 1주일이면 끝나는 반자동 시스템"이라는 주제로 토스뱅크 프론트엔드 엔지니어 김선진님이 발표해 주셨다.
1주일 만에 빠르게 제품 만들기가 가능했던 이유는 간략하게 크게는 제품 특성, 자동화된 도구, 개발 환경이라고 하였다.
토스 어플을 자주 사용하는 사람들이라면 한 번쯤 봤을 법한 브랜드콘 뿌리기 이벤트 이것을  일주일 만에 개발완료했다고 하였다.
뭔지 알아서 이게 일주일만에??? 이런 생각을 하면서 이후에 내용을 들었었다.

자동화된 도구 중 하나는 toss useFunnel 라이브러리를 말했는데 이것으로 선언적 흐름을 관리한다고 하였다.
또 하나는 상태에 따른 복잡한 화면을 분기처리하는 UI 마크업도 자동화 툴이 있다고 한 것 같다.
개발 환경에서는 자동화된 도구들의 도움을 받아서 PR리스트를 지속적으로 작성하고,
휴먼 에러를 막기 위해 git actions로 배포 전에 많은 에러를 예방할 수 있었다고 하였다.
이외에도 라이브러리 사용시에 bundle 사이즈를 줄이면서 로딩 시 오래 걸리는 것을 체크하면서,
API의 경우 Swagger를 사용해서 테스트해 보면서 개발하였다고 하였다.
Swagger로 테스트하는거 이건 나도 쿼리 조회인 거 API조회로 기능개선할 때 써봤어서 아는거 나와서 좋았다ㅋㅋㅋㅋㅋㅋ

두 번째 주제는 "원장시스템 C에서 Java로 전환하기"라는 주제로 토스증권 서버 챕터 리드 박영섭님이 발표해 주셨다.
위의 이미자와 같이 전환에서 처음 3가지 전환, 검증, 배포 측면에서의 고민을 하였다고 했다.
하나씩 더 살펴보면 전환에 있어서는 분석을 해 보니 호출 flow는 프로그램 > 모듈 > SQL 이구나를 찾아서,
그럼 각 도메인별로 패키지르르 나누고 Service, Component, Repository로 전환화면 될 거 같다 생각을 하였다고 했다.
하지만 이게 순탄하게 된다면 좋겠지만 객체지향이 아닌 것을 객체지향으로 바꾸는데 한 번에 되기란...또륵...
여기서의 어려웠던 점은 다양한 축약어들의 의미를 파악하는 것, 에러처리를 글로벌 변수에 세팅한 거를 Java Exception으로 맞게 바꾸는 것, 날짜 표시 형식도 다양한 것, 데이터가 없으면 null이 아니라 공백처리 된 것 등등 이거 말도고 많았다.
규모로 따지자면(??) 기능으로는 1000개 이상에 SQL로는 2만 개 이상의 규모를 전환해야 했다고 하였다.
이 과정에서 전환 전 코드를 너무나도 바꾸고 싶은 코드도 많았지만 우선 "전환" 그 자체에 집중해서 전환했다고 하였다.

그런데 전환의 산을 넘었더니 그다음은 이제 검증의 시간도 결코 쉽지 않은 시간이었다고 하셨다.
자동화된 검증기로 검증을 하고, QA팀과 소통하며 지속적으로 시나리오 테스트를 하면서 검증의 기간을 거쳤다고 하셨다.
성능테스트에서 API는 K6 + Micrometer로 테스트하였다고 했는데 처음 들어 보는 것들이었지만 글 쓰면서 찾아보니 서버사이드 쪽 테스트할 때 자주 사용하는 도구들인 거 같다.

배포에서는 점진배포와 한 번에 배포 두 가지 방식을 혼용해서 배포하는 중이라고 하셨다.
배포 중이라 했던 거는 여전히 전환 중이라고 하시면서 관심 있는 사람들은 토스증권에 지원하라고 하셨기 때문에😶
외부연계나 배치 같은 경우 점진배포의 어려움이 있어 한번에 배포를 하는 편이라고 하셨고,
리스크가 가장 작은 것들 먼저 점진적으로 배포한다고 했는데 가장 리스크가 큰 건 주식매매 쪽이라고 말해주셨다.

전환을 하면서 배운 저 마지막의 "일단 행동하고 여러 번 수정하는 것이 낫다"라는 말이 뭔말인지 완벽하지는 않지만 어느정돈 이해가 갔다.
현재 회사에 입사해서 그래도 3번째 프로젝트를 하면서 요즘에는 내가 느끼기에도 되게 개발하는데 과감해졌다해야하나?
약간 일단 해보고 수정해야하면 수정해아지 뭐 우짜겠어 라는 마인드가 생겨가는 과정중이라고 생각이  들기 때문이당
또 하나는 지금 하고있는 기능구현 하면서 DB설계랑 1차 화면설계는 해줬는데 이후는 나에게 완전 맡겨보려서랄까나,, 
이러케 슈코데이 세미나 후기는 끄으으으읕👏👏