THE SUMMARYAI-generated
Key Concepts:
- Google Wallet development process
- Product Requirements Document (PRD)
- Engineering Design Document
- Code review process (Changelists)
- Testing (QA, Googler testing)
- Release process
- Rollback strategy
- Architecture decisions
- Burnout management
- Google's hiring process
- Delegation and Mentoring
1. Introduction and Guest Speaker
- Edson Yanaga hosts the Google Wallet live stream from Cary, North Carolina.
- This is the only live stream in May due to Google I/O later in the month, where Google Wallet will have a session to announce new features.
- Gokmen Goksel, a Tech Lead (TL) in the passes team for Google Wallet, is the guest speaker, streaming from East Bay, California.
2. Gokmen's Background and Role
- Gokmen is a computer engineer who joined Google in 2018 and has been with the same team since.
- He works in the passes team, which focuses on features like loyalty cards, event tickets, boarding passes, transit cards, gift cards, health insurance cards, and COVID cards.
- He has 20 years of experience, starting with hardware and transitioning to software.
- He previously worked on open-source projects.
- The passes team provides APIs for issuers to integrate with Google Wallet.
3. Feature Development Process
- The process starts with an idea or requirement from product managers or engineers.
- Product managers create a Product Requirements Document (PRD) detailing the feature's expectations, conditions, and use cases.
- The TL works with the product team to assess technical feasibility and timelines.
- The PRD goes through an approval process involving the team and related teams.
- A lead engineer creates an Engineering Design Document explaining how the feature will be implemented, potential changes to the stack, and alternative solutions with pros and cons.
- The Engineering Design Document includes context, options, pros and cons, and a schedule.
- The Engineering Design Document also undergoes an approval process.
- Implementation involves code changes (changelists) similar to GitHub pull requests.
- Metrics are provided to assess the feature's performance.
- Alerts are set up to monitor for issues.
4. Feature Development Timeline
- The timeline depends on the scope and location of the changes (API vs. application).
- UI changes in a specific area (e.g., gift cards) can take about a month.
- A new vertical like COVID cards took six months from idea to launch.
- The process is slower than in startups due to the need for precision and high quality for a large user base.
5. Time Allocation in Development
- Planning takes about 30% of the time.
- Development takes about 60% of the time.
- Testing takes about 10% of the time.
6. Testing Procedures
- Google has a QA testing team that tests products before release.
- Google also uses Googlers (internal employees) for testing and feedback.
- QA ensures accessibility standards are met.
7. Google Wallet Updates
- Google Wallet receives frequent updates.
- Updates are announced on the Google Developers blog and in live streams.
- Major updates are coming at Google I/O.
8. Optimization vs. Functionality
- If a feature is frequently used, optimization is prioritized.
- Part of the functionality is also performant.
- For less frequently used features, functionality may be prioritized first, with optimization as a follow-up.
- Resource usage (fonts, CPU, battery) is a key consideration.
- Postmortems (non-blame) are written when things go wrong to learn from mistakes.
9. Joining Google
- Check the career page (career.google.com) for roles and requirements.
- Apply with a CV.
- Recruiters will contact potential candidates.
- The interview process may include phone screenings and in-person or GVC interviews.
- Interviews may cover programming, system design, and behavioral aspects.
- Mock interviews are available.
- The book "Software Engineer at Google" (Red Flamingo Book) is recommended for understanding Google's engineering practices.
- Interviews are generic and not specific to the applied role.
- Candidates can use any language they are comfortable with.
- Knowledge of data structures and algorithms is essential.
10. Architecture Decisions
- Architecture decisions are driven by the expected outcome and product definition.
- The architecture should be reusable for similar implementations.
- The architecture should minimize refactoring in different places.
- Stakeholders need to agree on the architecture.
- The architecture should be scalable to support a large user base.
- The architecture should align with Google standards and internal tools.
11. Proudest Project
- Gokmen is most proud of the COVID cards project due to the tight timeline, user needs, and positive impact.
- He also mentions the Wear OS passes implementation, particularly the QR code rendering and scanning solution.
12. Personal Achievements
- Gokmen shares a story of using Google Wallet exclusively (loyalty card, tap to pay, transit card, event ticket) on his watch for an entire day.
13. Horror Story
- Gokmen recalls a time when a change he made could have affected millions of devices, but he was able to revert it in time.
14. Dealing with Burnout
- Gokmen follows the Inbox Zero principle.
- He handles tasks that take 2-3 minutes immediately.
- He uses the Postpone feature in Gmail to group related tasks.
- He avoids context switching.
- He uses the divide and conquer principle for large projects.
- He delegates tasks to mentor others.
15. Career Growth at Google
- Engineers can grow in their careers without becoming TLs or managers.
- It's better to be open to different technologies and contexts.
- Google values engineers who can add more value as engineers than as managers.
16. Handling Real-Time Issues
- Precautions are taken for new features to ensure easy rollback.
- Rollback strategies are documented in the Engineering Design Document.
- On-call personnel monitor for issues and can revert changes based on the documented strategy.
17. Conclusion
- The live stream provided insights into Google Wallet's development process, engineering culture, and career opportunities.
- Gokmen's experiences and advice offered valuable perspectives for aspiring and current software engineers.
AI summaries can miss context or contain errors. Check important details against the original video.