User:CFloyd (WMF)/Apps Engineering Manager

 Who am I? 

I am Corey Floyd.

''' What do you do? '''

I am the The Apps Engineering Manger in the Reading vertical.

''' No, really - what do you do? '''

Ok - that is a pretty good question. In fact, it’s why I created this page. Partly to help those that I work with understand what I do, and partly so I understand what I do.

Below is pretty good layout of my goals, responsibilities and commitments. By writing this down I hope that anyone I work with will have clear expectations of what am doing day to day, and more importantly, how I can help them.

 Ahh… pretty interesting, but shouldn’t you be doing X? 

I’m glad you asked! it’s quite possible I should be doing something else. Or possible that I am doing something I shouldn’t be.

Like all wikis, this is a living document. If you see some gaps or overlap, let me know.

''' Ok, that’s great, can I just read it now? '''

Sure, just one more thing… if you need to reach me you can email me or find me on IRC. And thanks for reading! 👋

Goals

 * Increase collaboration of teams within Reading by working together on shared services and features
 * Establish and maintain collaborative relationships with other teams that develop and maintain the services and infrastructure on which we depend
 * Facilitate the adoption of new technologies developed by the WMF and the community into the Reading platforms
 * Align Technical and Product planning to improve the feature development process and reduce uncertainty
 * Reduce administrative and synchronization overhead of engineers allowing them to be more productive
 * Maintain and improve quality of apps

Technical Requirements

 * Gather product requirements from PMs and work with Tech Leads to generate technical requirements
 * Document technical requirements
 * Sync technical requirements across Reading platforms (Android/iOS/Mobile Web/Desktop Web) and with Reading Infrastructure
 * Sync technical requirements with external teams which share dependencies

Planning

 * Identify and manage dependencies across teams
 * Coordinate meetings to manage dependencies and sync requirements across Reading and with external teams
 * Identify and understand new technologies developed within WMF and the community
 * Distill and communicate new technologies with PMs to aide in product planning
 * Work with PMs to coordinate team meetings (like standups)

Scheduling and Road Mapping

 * Coordinate development and deployment schedules of services and product features among teams
 * Maintain Phabricator board of feature epics across Reading platforms linking and racking related work
 * Maintain a roadmap for services
 * Assist PMs in Quarterly planning (focused on features with service and/or external dependencies)

Apps Engineers

 * Aide in professional development
 * Make sure engineers maintain good quality of life and work-life balance


 * Hold 1-1s to discus these topics

Native Apps Quality
Coordinate with Tech Leads and/or PMs to ensure:
 * Technical debt is managed and planned
 * Regression testing is up to date and maintained
 * Tasks are automated when possible
 * Crash rates are maintained and reduced

Development

 * Code Review


 * Service development when as needed / when possible

Team Meetings

 * Android Iteration Review (bi-weekly)
 * iOS Product Planning (weekly)
 * Reading Infrastructure Team Weekly
 * Combined Apps Standup (weekly)
 * iOS Retrospective (bi-weekly)
 * Android Retrospective (bi-weekly)

Sync meetings

 * Revscoring Sync (Research, weekly)
 * Reading API/Services Sync (Services, weekly)
 * Reading Services Sync (Bernd, weekly)

1-1s

 * 1-1s with each Apps Engineer (every 1-3 weeks)
 * 1-1 with Apps PM (weekly)
 * 1-1 with Reading Engineering Director (weekly)
 * 1-1 with Reading Director (bi-weekly)

Principles
Below is a disparate list of things I think are important. Some are things I do well, some are things I aspire to do well. Hopefully
 * Facilitate people and teams talking and working together
 * Collaborate, include, listen
 * Don’t be afraid to make decisions
 * Be clear in communications and expectations
 * Get out of the way of good work
 * Know the answer or help find someone does
 * Make sure we are asking the right question
 * Have fun
 * Don’t have more meetings than needed
 * Don’t invite more people to meetings that don’t need to be there
 * No agenda, no meeting
 * Fill in the gaps
 * Don’t be redundant or waste people’s time
 * Gratuitous use of gifs, emoji, and movie quotes are always encouraged