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 email me or find me on IRC (fjalapeno). And thanks for reading! 👋

Goals

edit

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

edit

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

Planning

edit
  • 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

edit
  • 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

edit
  • 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

edit

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

edit
  • Code Review as needed / when possible
  • Service development as needed / when possible

Line Manager Responsibilities

edit

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

edit

Below are the meetings I regularly attend:

Team Meetings

edit
  • 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

edit
  • 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

edit
  • 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)