회사 선배들 중에 CTS 개발자(퀄컴, 인텔, 엔비디아 기술 지원)로 일하는 분을 만나면 제조사 개발자들와 의사소통을 하는데 많은 시간을 보낸다고 합니다. “재현 경로는 뭔가요? 로그를 좀 더 추가해서 재현시켜 주세요. 공장에만 재현이 된다고요? 시에틀에서만 재현이 된다고요?” 사실 칩셋 벤더(퀄컴, 인텔, 엔비디아0에게 기술문의를 할 때는 영어로 칩셋 벤더가 만든 사이트에 문제를 업로드해야 합니다. 그런데 사실 제조사의 개발자들은 영어를 못하죠. 또한 아예 글을 쓰는 능력이 떨어지는 경우가 많아 명확히 이슈에 대한 설명을 못하는 경우가 많습니다.
그런데 가끔 자신의 책임을 전가하기 위해 일부러 재현경로를 다르게 칩셋벤더에게 공유하는 것을 본 적이 있습니다. 한국에서도 재현이 잘되는 이슈인데 보름 정도 놀면서 이슈를 썩혀 놓았다가 칫셉 벤더(퀄컴, 인텔 등등)에게 이슈를 문의합니다. 한국에서는 절대 재현이 안된다고 적습니다. 사실 100% 재현이 되는 데 말이죠. 미국에서만 재현이 된다고 합니다. 보름 동안 난 한국에서 재현을 시키느라고 고생을 했다고 이런 저런 가짜 정보를 적습니다.
이런 거짓말을 하는 이유는 사실 대부분 임베디드 관리자들이 칩셋 벤더 기술 문의 즉 이슈 tracking site 메일의 cc로 등록된 경우가 많기 때문입니다. 한국에서 100% 재현이 되는 이슈인데 보름 후에 칩셋 벤더에게 기술 문의를 한 것을 부서장이 알 수도 있죠. 결국 시간이 지나면 부하 직원이 일을 안하고 먹고 놀았다는 것 알게 되는 것이죠. 물론 관리자들이 이 사실을 알면 개박살을 내겠죠. 발길질에. 욕설에. 나가 죽어라, 소새끼 말새끼, 밥도 먹지 말아라 등등.
그래서 퀄컴에 기술 문의 사이트(Service Request)를 통해서 문의를 하면 대부분 퀄컴 CTS(Customer Technical Server)엔지니어들은 뭐 문의 내용에 답신은 하지 않고 RAM DUMP 달라고 합니다. RAM DUMP없다고 하면 이러 저렇게 하면 RAM DUMP 추출을 할 수 있으니 문제를 재현시켜서 RAM DUMP를 뽑아서 달라고 하죠. 퀄컴 개발자들은 RAM DUMP 없이는 거의 움직이지 않습니다. 왜냐하면 RAM DUMP에는 문제가 발생하였을 시에 snap shot을 그대로 뜬 것이라(어떤 문제가 생겨서 특정 프로세스에서 abort 즉 crash가 발생할 경우 그 코어의 handler에서 다른 프로세스에 irq를 바로 trigger하여 다른 각 프로세스를 suspend시키고 바로 cache를 flush시킴), RAM DUMP만 보면 어떤 이유로 타겟(폰 혹은 디바이스)에 문제가 발생 하였는지 바로 파악할 수 있기 때문이죠. 당연히 쓸때없이 서로 메일을 주고 받거나 전화 통화를 하는 시간을 줄일 수 있습니다. 램 덤프로 모든 디버깅 정보를 다 볼 수 있기 마련이죠.
제조사의 개발자가 SIM이 없는 상태였다, SDCARD가 없는 상태라고 거짓말을해도 RAM DUMP를 보면 다 나옵니다. Airplane 모드였다라고 뻥을 쳐도 디버그 용 변수를 까보면 다 들통이 나죠.
이렇게 일하는 것을 보면 칩셋 벤더가 제조사 개발자로부터 참 많이 골탕을 먹은 것 같습니다. 칩셋 업체에게 있는 그대로의 디버깅 정보를 공유하는 것은 상식인데 말이죠. 같은 개발자로써 기본적인 자존심과 지켜야 하는데 말이죠.
'리눅스 시스템 개발 스토리 > 임베디드 에세이' 카테고리의 다른 글
개발자 사내 정치의 중요성 (0) | 2023.05.07 |
---|---|
광을 내는 개발자의 능력 (0) | 2023.05.07 |
훌륭한 임베디드 관리자 및 부서장이 되기 위한 조건(1) (0) | 2023.05.07 |
[공유] 시스템 소프트웨어(시스템 반도체, 전기자동차) 관련 유데미 강의(Arm 프로세서) 할인 쿠폰(50%) (0) | 2023.05.05 |
[IT] 개발자로써 자기계발을 하기 어려운 이유 - 1 (0) | 2023.03.24 |