ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 자율주행 관제로 정신없었던 2025년 회고
    개발 일기장/직장 생활 2026. 1. 13. 01:24

    블로그를 계속 쓰는게 맞을까?

    GPT처럼 LLM 서비스가 발전해서 블로그는 멸종하지 않을까란 생각이 든다. 

    하지만 기술적인 얘기는 찾지 않더라도 사람의 경험을 듣고싶은 블로그 글은 계속 존재하지 않을까란 기대를 가져본다.

     

    2024년 회고를 건너뛰었다.

    2024년 회고 글을 따로 작성하지 않았다. 2024년에도 쓸 이야기가 없었던건 아니지만 고도화가 어느 정도 완료된 서비스, 회사에서 관심도가 떨어지고 요구사항이 없는 서비스가 되어 스스로 일을 만들어서 했다. 그렇다해도 자동차검사 예약 담당자들(기획, 디자인, 프론트)과 으쌰으쌰해서 차량 데이터 확보가 목적이었던 서비스를 기대보다 훨씬 높은 매출을 만들어내는 서비스로 만들었다. (런칭 당시 일일 예약 100건이 안되었지만, 마지막 확인했을땐, 일 평균 예약이 700건이었다.)

    당시 여유가 될때마다 테스트 커버리지를 높이는 일에 집중했었다. 테스트 커버리지 100%라는 영상을 보기도 했어서 개발자에게 어느정도의 안정감을 주는지 궁금하기도 했다.

    자동차검사 예약 서비스의 테스트 커버리지를 100%로 만들진 못하고, 70% 정도까지 높였다. 스스로 커버리지를 지키도록 유닛 테스트만 실행할 땐 60%, 통합 테스트까지 돌릴땐 70% 커버리지가 안되면 빌드를 실패하게 만들었다. 코드가 추가될때마다 사이드 이펙트와 버그를 빠르게 검증할 수 있었고 마음에 안정감을 주는건 확실했다.

    그럼에도 2025년에는 테스트 코드를 거의 작성하지 않았다. 아마 신규 서비스를 개발하면서 코드 크기가 작다보니 테스트의 복리효과를 느끼지 못한것 같다. 테스트 코드를 작성하는 시간보다 기능 개발을 하는게 더 낫다라 생각할만큼 밀려들어오는 일에 마음이 조급했다.

    TDD에 익숙하지 않고 못한다는 증명일 것이다. TDD를 제대로 수행하는 개발자는 테스트 코드를 작성한다고해서 업무 속도가 느려지지 않는다고 하니까.

     

    도메인 전환

    2025년 시작전부터 쌩뚱맞은 업무를 맞게 되었다.

    자동차검사 예약 서비스를 2년 가까운 시간을 유지보수하다보니 서비스에 대한 사내의 관심도가 떨어지고 새로 기능을 추가하기도 제한적인 상황이라 권태로움이 큰 상황이었다. 지나서 쓰는 이야기지만, 2024년 하반기 즈음, 2025년 상반기에는 이직을 해야겠다고 생각했다.

    그런 와중에 2024년 11월 말이였던지 12월 초였던지 재택근무를 하고 있었는데, 당시 조직장님(직책이 높으신..)에게서 전화가 왔다. 전화올 일이 없는 분이라 '장애가 났나?' 란 생각으로 얼른 전화를 받았었다. 

    휴대폰 너머로 듣게된 이야기는 '자율주행쪽에 관심있냐'고 물어보셔서 '네? 갑자기?' 란게 내 반응이었다. 자율주행쪽에 기한이 정해진 프로젝트가 있는데 일손이 필요하다고 했다. 길게 생각할 필요없이 '할래요'라고 대답했다.

    그렇게 자율주행 관련 업무를 맡게 되었다. 정확히는 자율주행 플랫폼과 관제 업무를 맡았다.(자율주행 기술을 개발하는 팀은 따로 있다)

    실제로 작업하는 차다.

     

    2024년 연말에는 서포트 형식으로 프로젝트를 돕다가 2025년 연초에 새로운 팀이 만들어지면서 자연스레 팀을 이동했다.

    새로운 팀은 자율주행 원천기술 외의 소프트웨어 개발을 수행했는데, 주요업무는 자율주행 관제 시스템 개발이었다. 주요업무가 그랬지만, 자율주행차량 내부에서 필요한 서버도 우리 팀에서 직접 개발해야했다.

     

    밀도 높았던 2025년

    개발자 커리어 동안 지난 1년은 가장 많은 언어, 기술 그리고 하드웨어를 다룬 한해였다. 언어와 프레임워크에 대해 깊이있게 공부를 하면서  작업을 하진 못했다. 그럴만큼 일정이 주어지지 않았다.

     

    그..그만해

     

    소프트웨어: ROS2, MQTT, WebSocket(STOMP), Grpc, Python, Golang, Java, C++(사용하진 않고 읽어야했지만 올해는 쓰는 일도 생길 것 같다), Jetson Ubuntu(Nvidia에서 개발한 ubuntu)

    하드웨어: 자율주행차량에 탑재된 PC(Nvidia Orin PC), RSE(Rear Seat Entertainment), L2 스위치

     

    커리어 내내 클라우드 서비스에서 제공해주는 여러 서비스(서버, DB 등), Java, Kotlin, Spring으로만 개발한 내게 해결해야할 문제들은 새롭고 어려웠다. AI가 없었다면 일정 내에 완수하지 못했을거라 확신한다.

    자율주행차량에 설치된 서버 작업을 하는게 큰 고역이었다. 처음 자율주행차량을 봤을 땐 설렜지만, 클라우드 서비스로 딸깍하면 되던 것들을 직접 처리해야했다. 사무실 pc에선 잘되었지만, 차량 pc에선 안될 때가 많아서 좁은 차 안에서 몇시간씩 박혀서 디버깅을 하는 경우도 잦았다.

    차 안에서의 작업

     

     

    os 설치부터 이더넷 포트들 각각 목적에 맞게 고정 ip 설정, 네트워크 통신 테스트, 여러 필요한 스크립트 작성(배포 파이프라인, systemd service, 리눅스 패키지 설치, 초기 세팅) 등이었다. 덕분에 OS, 네트워크, 하드웨어를 부딪혀보며 배우는 기회였다.

    PC에 이더넷 포트에 랜선을 꽂아서 RSE와 통신이 잘되는지, 자율주행 메인 pc와 통신이 잘되는지 체크했다. 서버 개발자면서 초짜 인프라 엔지니어처럼 일했다.

     

    자율주행 관제를 개발하면서 겪었던 에피소드들

    몇가지 에피소드가 있었다. 차량의 pc만 껐다켜면 배포 스크립트를 통해 배포가 잘되는데, 시동을 껐다켜면 배포가 되지 않는 이슈가 있었다. 이 이슈를 구분해내는데도 시간이 걸렸다.

    결국 찾은 원인은 시동을 껐다켜면 LTE 라우터보다 PC가 먼저 켜질 경우, 배포 스크립트 중에 인터넷을 통해 체크하는 로직이 실패해서 배포가 안되는 것이었다. PC만 껐다켜면 배포가 잘 되는 이유는 이미 LTE 라우터는 켜져있기 때문이었다. 이건 백엔드 개발자가 상상하기 어려운 원인이라 '와.. 이걸 찾은 것도 다행이다'란 생각을 했다. (로그도 인터넷이 안된게 아니라 권한 인증 실패라 뜨니 짐작하기 어려웠다)

    Orin PC와 RSE 연결 과정 중에 pci express로 확장된 이더넷 포트로 L2 레이어는 인식하지만 실제 통신이 이뤄지지 않았다. 혹시나해서  메인 이더넷 포트로 테스트 해봤더니 통신이 되는 경우도 있었다.

    Orin PC의 와이파이가 작동하지 않아서 온갖 삽질을 다해가면서 소프트웨어 레벨에서 원인을 분석했는데, 와이파이 모듈의 전선이 끊겨있었다.

     

    빠르게 2025년 업무 훑기

    연말 셀프 리뷰를 작성하면서 한해 수행했던 일들을 몇가지 기록으로 남겨본다.

    1. 시스템 안정성 확보
      1. 개발환경, 운영환경 클러스터 분리 및 EOS된 클러스터 마이그레이션
      2. 인프라 마이그레이션(클러스터, DB 등)
      3. Sentry, Newrelic 적용(Observability 확보)
    2. 차량 Edge 서버(자율주행 차량 내 서버) 구축 및 CI/CD 파이프라인 적용
    3. 관제 시스템 개발(주로 실시간 모니터링을 위한 소켓 서버)
    4. 주행 데이터 시뮬레이터 개발(테스트 때마다 매번 실제 주행을 할 수 없어서 만듦)
    5. 이전 팀 리소스 부족으로 하반기 시작까지 자동차검사 개발 겸직

    자율주행차량 내에 세팅해야할 하드웨어와 소프트웨어 개발은 대부분 혼자해야했다. 왜냐하면 팀에서 해야할 업무들이 그외에도 많았기 때문에 각자 맡은 업무들이 있었다. 온실 속에 자란 개발자인(?) 내게 모르는 기술이 많고 지식이 모자라 AI로도 해결되지 않을때면 머리를 쥐어짜야하는 하루가 잦았다.

    그렇다고 돈 받는 직장인이 '나 못하겠어요 모르겠어요' 할 수 없으니 기대에 부응하기 위해 1년 동안 야근을 많이했다.

    작년 연말에 신규로 입사한 팀원이 계셔서 올해는 작년보단 덜 외롭고 일이 수월하지않을까 기대해본다.

     

    2025년 처음으로 관제 시스템 구축을 시작했기 때문에 아직 부족한 부분이 많고 갈 길이 멀다. 

    올해 상반기는 실시간 영상 스트리밍, 영상 비식별화 처리, 원격제어가 큰 미션인데, 잘 해낼 수 있을까 걱정이 들지만 열심히 해보는 수밖에.

    예상치 못한 도메인 전환이라 고됐지만, 만족스러운 한해였다.

     

    AI 물결

    AI 물결 속에 허우적 거렸다. 전사적으로 AI 활용을 적극 권장했기 때문에 모른척하고 내 일만 하기 어려웠다. 틈틈이 LLM 원리 공부, 뉴스를 스크래핑해서 슬랙으로 보내주는 MCP 서버 구축, RAG 활용 등을 해보았다. 코파일럿의 instruction.md를 작성해서 답변의 질, 코드 퀄리티를 높이고 커밋 메시지도 팀 컨벤션에 맞게 생성하도록 활용했다. 팀 내 필요한 github app이나 임시용 배치 같은 것들을 코파일럿으로 뚝딱 만들기도 했다.

    공부할게 너무 많아서 압도될 것 같지만, 최대한 스트레스 받지 않으려고 천천히 공부해보는 중이다.

     

Designed by Tistory.