Reading/Roles and responsibilities/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 [mailto:cfloyd@wikimedia.org email] me or find me on IRC (fjalapeno). And thanks for reading! 👋

Goals
These are the high level goals I would like to accomplish:
 * Align Technical and Product planning to improve the feature development process and reduce uncertainty
 * 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
 * Reduce administrative and synchronization overhead of engineers, allowing them to be more productive
 * Maintain and improve quality of apps

Technical Responsibilities
The following are the responsibilities that generally make up my day to day activities:

Planning

 * Identify and manage dependencies across Reading 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
 * Communicate benefits and costs of new technologies with Reading product managers to aide in product planning
 * Work with product managers to coordinate Reading team meetings
 * Develop technical plans to support and maintain services and infrastructure to support Reading platforms

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 tracking related work
 * Maintain a roadmap for Reading maintained services
 * Assist Reading product managers in Quarterly planning (focused on features with service and/or external dependencies)

Technical Requirements

 * Gather product requirements from Reading product managers and work with Reading 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 (e.g. Services, Research, Discovery)

Code Quality
Coordinate with Tech Leads and/or product managers to ensure:
 * Technical debt is managed and prioritized
 * Regression testing is up to date and maintained
 * Tasks are automated when possible
 * Crash rates are kept below acceptable levels

Development

 * Code Review as needed / when possible
 * Service development as needed / when possible

Line Manager Responsibilities
In addition to my technical responsibilities, I also work with the Engineers on the Apps Team to accomplish the following:
 * Aid in professional development
 * Make sure engineers maintain a healthy work-life balance
 * Provide Performance Reviews
 * Hold 1-1s to discus these topics

Regular Meetings
Below are the meetings I regularly attend:

Team Meetings

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

Sync meetings

 * Revscoring Sync (Research, weekly)
 * Reading API/Services Sync (Services, weekly)
 * Reading Services Sync (Bernd, weekly)
 * Apps Product Manager Sync (iOS product manager, Android product manager, bi-weekly)

1-1s

 * 1-1s with each Apps Engineer (every 1-3 weeks)
 * 1-1 with Apps Product Manager (weekly)
 * 1-1 with Reading Engineering Director (weekly)
 * 1-1 with Senior Director, Head of Reading (bi-weekly)