안드로이드 뜻밖의 역사 본문

Programming

안드로이드 뜻밖의 역사

halatha 2022. 10. 24. 16:04

비와 마이크로소프트 웹티비 팀에서 일했고 나중에 안드로이드 엔지니어링 팀을 관리한 스티브 호로위츠는 말했다. "그게 이 세계에서 중요한 부분이죠. 성공보다 실패에서 더 많은 걸 배울 수 있습니다."

 

  • 내용은 중요한 게 없지만, 오타가 있어서. 당시 삼성 무선사업부 사장은 이기태이다. 동백아가씨를 좋아했었다.
  • 삼성에 300명의 자체 OS 개발 인원이 있었다고 하지만, 아마 당시 시기를 생각하면 타이젠이 아니라 pSOS였을 것이고, 자체 개발이 아니라 이 역시 피쳐폰 개발을 위해 타사에서 사왔었다. realtime OS였기 때문에 일반적으로 이야기하는 OS와는 많은 부분이 달랐고, 현재의 스마트폰같은 개념은 절대 구현할 수 없는 상황이었다.

  • 구글 역시 알려진대로 초기에는 학벌을 많이 봤다. 특히 스탠포드 출신을 선호했는데 창업자들을 생각하면 당연한 일인 듯 싶다.

  • 역시 내용은 중요한 게 없지만 정말 오랜만에 본 OMAP. 이 칩에서 돌아가는 거 만드느라 많은 시간을 보냈었다.

  • 하드웨어와 밀접하게 일하는 경우 흔히 볼 수 있는 모습. 20년 전에 내가 보던 사람들의 모습과 별 차이가 없다. 07년이니 시기적으로 차이가 별로 없어서 그럴 수도.

 

  • 테스트를 위해 어디까지 할 수 있는지를 보여주는 대단한 사진이란 생각이든다.

내가 커피를 흘릴 확률은 내가 움직이는 속도에 비례한다. 실행 속도에는 그만한 절충이 따른다.

 

 

 

안드로이드가 개발 과정에서 세부 사항을 놓친 다른 예들도 있다. 모두가 매우 빠르게 내달렸고 그냥 돌아가게만 만든 것도 많았다. 다행히도 플랫폼은 시간이 지나 팀이 다시 문제를 고칠 수 있을 때까지 오래 살아남았다. 적어도 우리가 아는 플랫폼으로 말이다.

  • 루트 관련된 버그가 원래부터 존재했기에 수정하는데 그렇게 오랜 시간이 걸렸다는 게 이해가 간다. 또한 비즈니스에서는 품질보다 적기가 더 중요하다는 점도 흥미롭다.

마이크가 했던 주요 업무 한 가지는 전원이 어디에 쓰이고 있는지 알 수 있도록 시스템에 계측 instrumentation 기능을 추가한 것이었다. 이렇게 하기 전에는 배터리가 바닥나는 걸 봐도 무엇 때문에 그렇게 되는지 알 수 없어서 근원적인 문제를 찾아 고칠 수 없었다. 문제가 어디에 있는지 알게 되자 그 문제를 해결할 수 있었다.

  • monitoring의 중요성

  • 유닉스 관련 용어들의 spelling 관련한 흥미로운 이야기. 극한의 메모리 절약은 당연히 생각했던 이유였지만 여기에 게으름이 추가로 포함될 거라고 생각은 못했다.

데바짓과 마이클은 네트워크 팀과 자주 만나서 안드로이드에 가상 IP를 달라고 설득했다. 이러한 토론은 마이클에게 새로운 일이 아니었다. "내 업무 중 많은 일이 지메일, 캘린더, 주소록 팀원들과 어울리면서 이 일이 구글에 중요하고 그 부서들에서 엔지니어링과 SRE Site Reliability Engineer 지원으로 우리를 도와야 한다고 설득하는 것이었습니다."

  • Communication의 중요함

다른 회사들은 사람들이 한 일을 보고 채용하고 그 일을 더 하라고한다. 구글은 어떤 사람인지 보고 채용하고 그들에게 필요한 일은 뭐든 하라고 한다. 그 사람들이 과거에 한 일은 그들이 무엇을 할 수 있는지 보여 주는 훌륭한 예이지만, 구글이 보기에는 그들이 할 수 있는 일로 그들을 제한할 필요는 없었다.

보드 지원 패키지

  • BSP. 이거 때문에도 많이 힘들었었다.

 

"구글은 당시 학벌을 매우 중시했어요. 구글 입장은 '학위가 없잖아요. 그 사람을 채용할 수 있을지 확실하지 않군요'였죠. 그런 이유로 그들은 히로시를 채용하는 데 크게 반발했어요."

  • 구글이라고 채용을 처음부터 잘 했던 건 아니란 증거

호로위츠의 큰 업무 한 가지는 다양한 하부 팀 사이의 차이점을 잘 다루는 것이었다. 데인저 출신 엔지니어들과 비-판소스 웹티비-마이크로소프트 출신 엔지니어들 사이에는 매우 강한 분열이 있었다.

“다른 팀들처럼 안드로이드에서도 그랬죠. 개성을 잘 엮는 일이었어요. 엄청나게 재능 있는 사람들로 구성된 작은 팀이 큰 팀을 이길거라는 점이 누군가에게는 확실히 교훈이 됐을 겁니다. 의심할 여지가 없죠. 그리고 우리가 안드로이드에서 해낸 일이 바로 그거죠. 그러나 재능과 에너지가 있으면 대인 관계와 아키텍처에서 충돌이 날 수 있습니다. 그 부분을 내가 잘 중재했죠."

"한 회사가 그처럼 많은 기기를 만들고 그것들을 모두 지원할 수는 없습니다. 특히 제품이 다양할 때 그렇죠. 사람들마다 원하는 기기, 가격대, 구성, 모든 게 다릅니다. 거대한 다양성이죠. 오픈 소스로 개발하고 그걸 지원하는 한 가지 스택을 만들고 협력사들이 이를테면 터키 등 여러 나라의 네트워크 같은 서로 다른 요구 사항을 충족하는 제품을 제조하게 하면, 한 회사가 전부 떠맡을 필요가 없어요. 지역마다 요구 사항이 다르니까요. 우리는 여러 회사가 그걸 선택하고 떠맡도록 함으로써 규모를 확장했습니다."

  • 다양성을 통한 규모 확장은 구글같은 회사도 혼자 할 수 없다

  • 구글과 안드로이드 부서의 차이. 테스트도 없다는 건 정말 충격적이다. 그럼에도 성공했다는 건 더 신기한 일

 

  • 애플의 구글에 대한 당시의 시선

제품과 마케팅의 중요성

전통적인 협력 관계에는 시간 지연이 있습니다. 가속 페달을 밟고 나서 엔진 출력이 목표치에 도달할 때까지 시간 지연과 비슷하죠.

"아뇨. 300명으로는 안 돼요. 20명이 필요해요. 그렇게 큰 팀이 잘 운영될지 여부는 기본적으로 합의를 이룬 개인들이 코드와 실천법을 어떻게 구축했느냐에 달려 있어요. 초기에 의사소통과 조정이 ・・・ 아무튼 큰 팀으로 시작하면 시간을 전부 토론하는데 쓰고 말 거예요.".

시기 timing가 가장 중요하다. 이는 코미디뿐 아니라 삶 전반에도 적용되고 안드로이드의 성공에도 확실히 적용된다.

그러나 '성공'은 사실 정확한 낱말이 아니고 정확한 개념도 아니다. 어느 프로젝트에서나 성공은 절대 보장되지 않는다. 어떤 순간에 뭔가가 아무리 대단해 보여도 상관없다. 기술 세계에서는 더 그렇다.하드웨어, 소프트웨어, 유행, 소비자 관심, 수많은 것이 변화하며 성공적으로 보이는 제품을 거의 하룻밤 사이에 진부한 제품의 싱크홀로 밀어 넣는다. 현장에서는 많은 게 너무 빨리 바뀌어서 결코 '해냈어! 라고 느끼기보다는 어깨 너머로 여러분 뒤의 누군가가 여러분을 얼마나 빨리 따라잡을지 보면서 다소 불안해 하며 '우리 아직 괜찮아!라고 하거나 좀 더 의심스러워하며 '우리 아직 괜찮나? 하게 마련이다

Comments