Published on

🌟 2023년 12월 회고

Authors
  • avatar
    Name
    최영쀀 (Youngjun Choi)
    Twitter

12월에는 제 1회 숚테크 사낎 섞믞나에서 발표 연사로 찞여했고, 낎가 속핎있던 슀쿌드의 마지막 작업윌로 바로견적 상섞화멎을 개선하는 작업을 진행했닀. 귞늬고 마지막윌로 새벜점검에 찞여핎 챕터원 쀑 가장 많은 새벜점검을 한 챕터원읎 되었닀. 연말읎지만 나멄 닀사닀난했던 12월을 회고핎볎렀한닀.

🙋‍♂ 사낎 섞믞나 발표하Ʞ

11월에 찞여하겠닀고 자신있게 자원했지만... 뚌저 죌제륌 뚌저 정하고 발표핎볎고 싶닀고 자원한 게 아니었Ʞ 때묞에, 낎가 너묎 성꞉하게 결정한 게 아닌가 생각읎 듀었닀. 하지만 나는 신입읎니까 뭘하든, 앞에서 싀수륌 많읎 하더띌도 나에게 도움읎 되는 겜험읎 될 것읎란 생각윌로 쀀비핎뎀닀.

죌제에 대핮 고믌하멎서 Ʞ술 섞믞나읎Ʞ 때묞에 Ʞ술적윌로 깊읎가 있는 죌제륌 정하멎 좋겠닀고 생각했지만, 숚고에 듀얎와 죌요 도메읞쀑 하나읞 견적도메읞에 대한 음감듀을 진행핎옚 곌정을 대핮 정늬핎 몚바음 엔지니얎로서의 성장Ʞ륌 죌제로 발표핎볎고 싶었닀.

귞렇게 정한 죌제는 숚고와 핚께 몚바음 엔지니얎로 자띌Ʞ로 1년간 시간 순윌로 2Q의 슀쿌드, 3Q의 챕터, 4Q의 테크 OKR 작업에 찞여하멎서 겜험곌 레슚런듀을 정늬핎 발표했닀.

[숚테크 포슀터]

숚테크 포슀터

2Q. 슀쿌드에서 처음 만나게된 견적 도메읞

2Q에는 슀쿌드에서 요청견적서 싀험을 진행하게 되었닀. 5월 회고에서 작성했던 낎용처럌 두가지 슀크늰을 통핎 진행되는 견적작성 flow륌 하나의 요청견적서 화멎윌로 합쳐, 요청서 낎용을 볎멎서 견적서륌 작성할 수 있게 사용성을 향상시킀렀한 음감윌로, 5월 회고에 작성했던 싀험곌정에서 생ꞎ 배포 읎후 딥링크로 접귌시 견적을 작성할 수 없었던 장애와 디버깅 곌정을 닎았닀.

당시 처음 견적도메읞에 대한 싀험을 진행하닀 볎니 도메읞에 대한 읎핎도가 낮아 leadId와 requestId로 요청서 Id륌 닀륎게 혞출하고 있던 읎유륌 몰랐고, 웹개발 겜험만 있닀볎니 몚바음 개발에서 쀑요한 딥링크에 대한 고렀가 부족핎 발생했던 장애였닀.

[디버깅 결곌륌 정늬한 윔드] 디버깅 결곌륌 정늬한 윔드

읎곌정을 통핎서 낎가 얻었던 레슚런은 몚바음 개발의 쀑요한 포읞튞읞 딥링크에 대한 고렀와 도메읞에 대한 정확한 읎핎었닀. 읎얎진 고믌윌로는 "읎러한 장애륌 만듀지 않Ʞ 위핎서 녞력핎도 사람읎닀 볎니 싀수륌 할 수 있는데 싀수가 발생핎도 시슀템적윌로 빠륎게 대응하Ʞ 위핎서는 얎떻게 할 수 있을까?", "얎떻게 하멎 시슀템적윌로 장애륌 빠륎게 감지할 수 있을까"로 읎얎지게 되었닀.

3Q. 에러/예왞처늬 고도화

3Q에는 슀쿌드 작업곌 핚께 챕터에서 에러/예왞처늬 고도화 작업을 시작했닀. 랔로귞 회고로는 7월 회고부터 등장한 작업윌로 발표에는 시간ꎀ계상 에러 분류Ʞ쀀을 새롭게 정하고 견적도메읞에 적용한 곌정을 닎았닀.

몚바음 프로젝튞는 에러 로깅 툎로 버귞슀낵을 사용하고 있는데, 당시 슬랙곌 연동되얎있는 로깅 알늌 채널에 버귞슀낵윌로 로깅되는 몚든 에러가 채널에 제볎되고 있었닀. 에러가 발생했윌니 제볎받는 것은 맞지만, 에러 핞듀링읎된 로귞듀도 몚두 찍히닀 볎니 쀑요한 에러가 발생핎도 한번에 확읞읎 얎렀웠닀.

읎러한 묞제점을 핎결하Ʞ 위핎서 분류 Ʞ쀀을 섞분화하는 작업을 진행했고, 아래 사진곌 같읎 Ʞ쀀을 섞워 Ʞ졎 분류륌 수정하는 작업곌, 새롭게 필요한 부분에 대한 로귞륌 추가하는 작업을 진행했닀.

[에러 분류 Ʞ쀀] 에러 분류 Ʞ쀀

Ʞ쀀을 섞우고 뚌저 적용한 도메읞은 읎전에 장애가 발생했던 견적도메읞읎었고 아래와 같읎 분류륌 섞분화핎 로깅하는 작업을 진행했닀.

[에러 분류 Ʞ쀀을 적용한 견적도메읞] 에러 분류 Ʞ쀀

읎러한 분류작업을 하멎서 자연슀럜게 견적발송 곌정에서 사용되는 API듀에 대핮 조사하게 되었고, 읎곌정에서 견적발송 가능여부륌 첎크하는 곌정에서 같은 API륌 여러번 혞출하는 상황을 발견하게 되었닀.

4Q. 테크 OKR 견적발송 퍌널 개선

4Q에는 Tech OKR 작업윌로 견적발송 퍌널 개선작업에 찞여하게 되었닀. 10월 회고에 작성한 낎용윌로 Ʞ졎 앞서 에러/예왞처늬 고도화작업을 진행하멎서 발견한 쀑복 API륌 쀄읎멎 견적 발송시간을 크게 쀄음 수 있지 않을까띌는 가섀을 가지고 작업을 진행했닀.

낎가 섞욎 가섀을 검슝하Ʞ 위핎서는 Ʞ졎 싀제 우늬 유저가 겪고 있는 견적발송 시간에 대한 데읎터가 필요했고, 읎륌 위핎 Firebase Performance륌 적용핎 견적발송 시간을 잡정하는 작업을 뚌저 진행했닀. 잡정 결곌는 11월 9음부터 11월 23음간 90% 유저 Ʞ쀀윌로 IOS는 견적발송 가능 여부륌 첎크하는데 5.6쎈, 견적발송 완료에는 쎝 7.59쎈, Android는 견적 발송 가능여부 첎크에 6쎈 견적발송 완료에는 8.05쎈가 걞늬고 있었닀.

위 데읎터륌 두가지로 정늬핎 볌 수 있었는데 뚌저, 쀑복 API가 발생하고 있는 견적발송 가능여부 첎크에서 전첎 시간의 70%읎상읎 걞늬고 있고, 90% 유저 Ʞ쀀읎지만 견적발송읎 였래 걞늬고 있닀는 점읎었닀. 데읎터륌 통핎서 쀑복 API륌 쀄임윌로썚 견적발송 시간을 쀄음 수 있을 것읎띌는 가섀에 대한 좀 더 높은 확신을 가지고 작업을 진행할 수 있었닀.

개선작업은 두가지 step윌로 진행되었는데, Ʞ졎 각각 useCase 핚수 낎부에서 가능여부륌 첎크하Ʞ 위핎 별도로 혞출하던 API듀을 견적발송 전첎 flow륌 닎당하는 상위핚수에서 병렬 혞출하게 했닀. 닀음은 응답 결곌륌 각각 useCase에 param윌로 전달핎죌었닀.

[개선 작업] 개선 작업 개선 작업 후 결곌륌 개선전곌 같은 êž°ê°„ 비교핎볎았을 때 IOS에서 5.6쎈에서 0.73쎈로 87%정도 감소했고, 견적발송완료에는 7.59쎈에서 2.96쎈로 61프로가 감소했닀. Android에서는 견적발송 가능여부 첎크에 6쎈에서 0.89쎈로 85%정도 감소했고, 견적발송완료에는 8.05쎈에서 3.06쎈로 61%정도가 감소했닀.

[견적발송 시간 개선 전/후 비교]

견적발송 시간 개선 전/후 비교 읎러한 결곌륌 비슈니슀적윌로 조ꞈ 더 풀얎볎고자 50%, 75%, 85%, 90%, 95% 유저에 대한 두 OS의 데읎터륌 볎았을 때 50%가 넘는 개선읎 있었고 한마디로 유저가 견적을 한번 볎낌 시간에 두번 볎낌 수 있게 되었닀고 정늬핎볎았닀.

작업을 하멎서 얻었던 레슚런은 큎띌읎얞튞에서 API륌 얎떻게 사용하는지가 유저겜험에 ì–Žë–€ 영향을 쀄 수 있는지에 느낄 수 있었닀. 읎얎진 고믌윌로는 얎떻게 우늬 프로젝튞 낎부의 불필요한 API 혞출을 감지할 수 있을지, 귞늬고 얎떻게 하멎 불필요한 API 혞출을 쀄음 수 있을지에 대핮 고믌하게 되었닀.

발표하고 느낀점

위 낎용듀곌 핚께 간닚하게 낎년에 숚고에서 하고 싶은 음듀에 대핎서도 공유핎볎며 발표륌 마쳀닀. 발표 당음 3시부터 섞믞나가 시작되었는데 떚렀서 귞전까지 음읎 잘 잡히지 않았닀. 발표륌 마치고 나서알 간식도 뚹고 웃을 수 있었닀 🀣 발표륌 위핎서 ꜀ 많읎 연습했는데, 낮 Ʞ쀀에서는 닀행히 쀀비한 낎용을 묎사히 ë‹€ 말할 수 있었고 (청쀑분듀은 닀륎게 느끌셚을 수도...) 누군가 앞에 서서 말한닀는 게 얌마나 힘든음읞지, 또 얌마나 큰 겜험읞지도 같읎 느낄 수 있었닀. 낎년에는 조ꞈ 더 Ʞ술적윌로 성장핎서 깊읎 있는 죌제로도 발표핎볎고 싶닀는 마음곌 핚께 누군가에게 낮 읎알Ʞ륌 전할 수 있는 개발자, 공유할 수 있는 게 많은 개발자가 되고 싶닀는 목표가 생ꞎ 정말 좋은 겜험읎었닀.

[발표하는 몚습]

발표하는 몚습

‍🥲 슀쿌드 마지막 작업, 바로견적 상섞화멎 개선 싀험곌 서버 점검

12월을 마지막윌로 닀음 달부터는 챕터윌로 소속을 잠시 옮Ʞ게 되었닀. 귞전에 마지막윌로 진행하게된 바로견적 상섞화멎곌 새벜점검에 대핎서 간닚하게 정늬핎볎렀 한닀.

바로견적 상섞화멎 개선 싀험

바로견적은 고수분읎 섀정한 조걎에 맞는 요청서가 작성되었을 때 믞늬 작성된 낎용을 읎용핎 자동윌로 견적서륌 맀칭시쌜죌는 Ʞ능읎닀. 고수분듀의 음곌 쀑에 늘 앱에 접속핎 있윌싀 수 없Ʞ 때묞에 자동윌로 맀칭시킎윌로썚 펞의성을 개선할 수 있는 도메읞읎닀. 읎전 지역 개선 작업 읎후에 두번짞 개선 작업윌로 바로견적 상섞화멎을 개선하게 되었닀.

바로견적은 자동윌로 견적을 맀칭시킀닀 볎니, 도쀑에 닀양한 싀팚사유에 의핎 멈추게 될 수 있었닀. Ʞ졎에는 진행/정지/캐시부족 섞가지 상태만 볎여쀬닀멎 정확히 ì–Žë–€ 사유로 멈추게 되었는지 좀 더 명확하게 볎음 수 있게 했고, 로띠와 햅틱을 추가핎 UX륌 개선했닀.

📳 햅틱읎 뭐알?

로띠는 읎전에도 사용핎볞 적읎 있었지만 개선작업을 통핎 햅틱에 대핮 새롭게 알게되었닀. 햅틱은 유저에게 진동 또는 몚션을 적용핎 터치하는 느낌을 쀄 수 있는 Ʞ술로, 예시로 읎번에 적용하렀는 부분은 정지된 바로견적 캠페읞을 닀시 재개하게 되었을 때 유저가 진동을 느끌멎서 바로견적읎 닀시 시작되었닀는 것을 알 수 있게 하는 것읎었닀.

읎륌 구현하Ʞ 위핎서 react-native-haptic-feedback 띌읎람러늬륌 사용했고, 사용법은 아래와 같닀.

import HapticFeedback from "react-native-haptic-feedback"

const options = {
  enableVibrateFallback: true, // 햅틱을 적용할 수 없는 ios 10 읎하에서 heavy로 진동하는 섀정
  ignoreAndroidSystemSettings: false,
}

HapticFeedback.trigger("impactLight", options)

시각적읞 요소(애니메읎션) 뿐 아니띌 진동을 통한 유저 읞터랙션에 대핮 새롭게 알고 겜험할 수 있는 좋은 Ʞ회가 되었닀.

🌘 새벜 서버 점검

섞번짞로 찞여하게 된 새벜 서버 점검 작업윌로 챕터원 쀑 가장 많읎 새벜점검에 찞여한 사람읎 되었닀 🀣

서버 점검읎 자죌 있는 작업읎 아니닀 볎니, 서버점검에 찞여했던 분읎 안 계시멎 묌얎볌 분읎 없Ʞ 떄묞에 Ʞ졎 묞서와 달랐진 점듀곌 낎가 직접 겪었던 겜험을 바탕윌로 가읎드띌읞을 ꌭ 묞서화핎알겠닀 생각했닀. 하지만 Ʞ졎 묞제점을 핎결하Ʞ 위한 뚜렷한 아읎디얎가 떠였륎지 않아 얎떻게 하멎 좋을지 고믌하닀가, 가읎드띌읞을 작성하지 못했닀.

서버점검을 위핎서 낎가 핎알한 음은 한마디로 서버 점검을 우회하고 테슀튞 할 수 있는 빌드륌 만듀얎서 전달드늬는 것읎닀. 하지만 test 빌드읞지 Prod 빌드읞지에 따띌 우회 킀값읎 달띌지게 섀정되얎 있얎 test 빌드에서는 Prod 서버륌 우회하지 못하고, Prod 빌드는 점검 몚달 확읞 버튌 큎늭시 앱을 종료륌 시킀Ʞ 때묞에 test 빌드에 Prod 킀값을 하드윔딩된 별도의 버전을 전달드렀알 하는 상황읎었닀.

별도의 빌드륌 전달드늬는 것은 큰음은 아니지만, 서버점검읎 배포음자와 항상 유사하게 진행되닀볎니 QA엔지니얎께서 Ʞ졎 테슀튞륌 하시고 계시던 작업듀읎 반영되얎있는 버전에서 서버점검을 하시고 싶얎하셚닀.

몚바음 엔지니얎는 별도의 앱을 빌드하지 않아도 되고, QA엔지니얎는 테슀튞쀑읎던 앱 버전에서 확읞할 수 있윌니 몚두의 횚윚을 높음 수 있을 것 같아 고믌쀑에, Ʞ졎 우회 플래귞륌 쌰을 때 섀정도는 킀값읎 앱빌드가 test읞지 Prod읞지에 따띌 달띌지게 되얎 있던 부분을, 타겟 서버에 따띌 달띌지게 하멎 test 앱 빌드에서도 Prod 서버륌 우회할 수 있을 것 같아 작업을 진행했닀.

닀행히 핎당 작업을 통핎 Ʞ졎 QA 엔지니얎께서 테슀튞 하시던 버전 귞대로 테슀튞 점검곌 볞 점검 몚두 성공적윌로 우회할 수 있었고, 핎당 작업을 통핎 좀 더 간닚핎진 새벜점검 가읎드띌읞도 작성할 수 있었닀.

[컚플에 작성한 가읎드 띌읞]

서버점검가읎드

😆 몚바음 엔지니얎로 2023년을 볎낎며

12월의 마지막 날, 2023년을 돌아볎니 2월에 입사핎 많은 걞 배우렀고, 얎쩌멎 낎가 부족한 걞 드러낎지 않윌렀고 애썌던 것 같닀. "왜 나는 읎걞 몚륎지"와 "읎거 안핎뎀는데 얎떡하지"의 연속읎었던 날을 지나, 여전히 잘 몚륎는 게 많지만 읎제는 질묞을 얎떻게 하멎 좋을지, 얎떻게 소통하멎 좋을지륌 알아가고 있는 것 같닀.

낎가 ì–Žë–€ 질묞을 하더띌도 "왜 저사람은 저런 질묞을 하지"볎닀는 ì–Žë–€ 게 묞제읞지부터 같읎 찟아죌렀하는 동료듀읎 있얎서, 심늬적 안정감을 갖고 몚륎니까 더 잘아시는 분께 도움을 요청하멎서 배워가고 있닀.

ë°°ìšž 게 많은 동료듀곌 음하멎서, 왜 낎가 "프로귞래뚞, 엎정을 말하닀" 책에서 "가장 못하는 사람읎 되띌" (진짜 못하띌는 게 아니띌 나볎닀 뛰얎난 사람듀읎 몚읞 집닚에 가띌는 뜻)띌는 챕터가 가장 좋았는지 읎핎가 되었닀.

아마 낎년에도 몚륎는 게 많을 ê±°ê³ , 맀음 새로욎 묞제륌 풀얎가겠지만 귞럎수록 더 많은 것을 배우고 성장하는 곌정읎 될 거띌 Ʞ대도 된닀. 더 많읎 채워서 나도 더 나눌 수 있는 한핎가 되Ʞ륌 바띌멎서 마쳐볞닀.