Engineering
Perf Culture
이도운
2016. 7. 14. 13:55
Google IO 2014의 세션 중 하나로, 퍼포먼스 문제를 개발 문화로 만들어야 한다는 이야기를 하고 있다. 그래서 제목이 Perf(ormance) Culture이다. 인상깊게 본 것들이 많아 여기에 주요 포인트를 메모하고자 한다. 동영상은 아래에서 볼 수 있다.
https://www.google.com/events/io/io14videos/711a595b-70ca-e311-b297-00155d5066d7
퍼포먼스에 대해 항상 주목해야 할 세가지 주제
Web 개발에 대해 포인트를 맞추고 이야기하지만 Android app에서도 동일하게 생각해볼 만 하다. 사용자가 접하는 것은 비슷하기 때문이다.
Traffic stats
devices, geography, user journey : 다양한 기기, 사용자들의 물리적 위치, 사이트 내에서의 이동 경로를 알아야 한다
Load stats
total load time and perceived load time : 페이지가 로딩되는 총 시간과 사용자에게 인지되는 시간을 측정해야 한다
Render stats
Memory usage, fps, jank : 화면이 그려지는 동안 성능에 대해 알 수 있는 지표
인상 깊은 주요 문구들
- Change is constant and it is good.
- 변화를 두려워 해서는 안된다.
- The Tools You Need To Succeed.
- 툴을 잘 다루는 것이 무척 중요하다.
- Invest in a device lab.
- 동영상의 18분 쯤에 나오는데, 기기들이 랙에 꽃혀있고 일부는 충전 중 상태로 된 모습을 볼 수 있다.
- Make time for real testing
- Embrace responsive
- Add perf to build tools.
디스플레이 되는 시간과 사용자와의 상관관계
- + 200MS delay : 0.3% loss in engagements
- 3초가 넘으면 40% 사용자가 떠난다,(Cable, 3G는 5초)
정리
- Gather data : 데이터를 축적하고 분석하라
- Get VIP buy-in : VIP에게 공유하고 이해시켜라, 사용자들이 어떤 진짜 경험을 하는지
- Educate your team
- Surface the data daily
- Celebrate your victories : 기여자들을 칭찬하고 상을 주라 (24분 35초 쯤 상장..프린트한것 같은 것을 주고 있다)
아래 문구와 함께 마지막 정리를 하고 있다.
We are in a period of dramatic CHANGE. Build performance culture
개인 감상
- Memory, 진입 시간, FPS 등의 중요성은 최근 성능 스터디 한 것들과 일맥 상통한다.
- 배운 것이 팀 내 녹아들었을까? 함께 진행한 멤버들 정도에 그치지 않았을까 싶다.
- User journey에 대한 부분은 관심을 가지지 못했던 부분이다.
- 모든 사람들이 함께 노력해야 하며 이를 개발 문화화 해야 한다.
- 그러나 개발 문화만으로는 안되고, 개개인의 실력을 높이는 것이 중요하다.
- 개발 능력 + 툴 사용 능력 + 분석 능력.. 할게 많다.
- 우리는 상을 주고 Hero를 만드는 문화가 없는 것 같다.