Fundraising tech/Roles and Responsibilities

From MediaWiki.org
Jump to navigation Jump to search

The Team[edit]

Director[edit]

Focus on the success of the department.

  • Understand the overall goals of the foundation, and how departmental goals fit into the bigger picture. Use that perspective to help the department navigate possible priorities.
  • Help create and prioritize realistic departmental goals.
  • Negotiate for resources and personnel. Represent the department at the foundation level.
  • Understand larger challenges and help drive change at the Product level that would potentially benefit the department

Manager[edit]

The Fundraising Tech manager is responsible for leading the people on the team:

Focus on the success of the team and the individuals in it.

  • When there is a job opening, coordinate hiring people that can do the work while enhancing beneficial team dynamics.
  • Understand departmental goals, and how team priorities fit into the bigger picture. Use that perspective to help the team navigate possible priorities.
  • Create and maintain a productive environment for the team to work in
  • Make sure everyone has an understanding of the expectations around their role
  • Reinforce healthy collaboration, ownership, and beneficial team dynamics
  • Pay attention to morale and burnout, support individual team members through emergent issues
  • Identify and address destructive team dynamics
  • Handle performance issues with direct reports, and help keep the team accountable for the goals we have all agreed on
  • Remove blockers, when possible
  • Own the team’s budget
  • Work with direct reports on their personal development
  • Talk through potential career paths with direct reports
  • Help direct reports set individual goals which actively progress toward career goals, or encourage the exploration of options
  • Make sure that the team is communicating appropriately with the outside world. This includes working with other teams that contain stakeholders in a timely manner, reporting to upper management, and publicizing as appropriate to the rest of the world. (Note: I’m not saying the manager does the communication. Just make sure someone is, when it needs to happen)
Zaganianie kaczek 4p.jpg

Tech Lead[edit]

The Fundraising Tech Lead is responsible for guiding and representing engineering process and goals.

  • Maintains a cohesive picture of what Fundraising Tech does in order to align team around tech goals and overall direction.
  • Makes sure that the technical direction for all Fundraising code is sound and does not jeopardize any overall team goals.
  • Keeps the team on track with foundation guidelines and best principles, including making our work useful and inviting to the open source community.
  • Engages in technical conversations with the team and has final say when tech decisions start to go the way of the bike shed.
  • Unblocks issues with other engineering teams, and ensures continued momentum of projects and goals.
  • Distributes knowledge of the systems across the rest of the team
  • Onboarding genie
  • Rectify single points of failure in terms of product knowledge
  • Accountable for negotiating with Product Manager and stakeholders (i.e. scoping work and helping to make feature choices)
  • Be aware of the intersection of team dynamics and the expected workflow on specific tech projects
  • Note that you're doing some software engineering, but will have to prioritize "tech lead" responsibilities above all that.

Does NOT:

  • Need to be the first responder on every issue
  • Make decisions about fundraising campaigns.
  • Make decisions about new payment product integrations (though can veto for technical reasons).
  • Perform any personnel management
  • Take ownership of projects that already have a "leader"/owner
    • Anyone who takes on a project would be considered the "lead" of that project

Product Manager[edit]

The Product Manager is responsible for Fundraising Tech product development.

  • Defines and owns the roadmap for all user-facing Fundraising Tech products.
  • Is accountable for prioritizing the tasks involved in the product development process.
  • Serves as the last word on whether a feature is complete or needs further refinement.
  • Wrangles and solidifies requests from stakeholders before they get to the tech roadmap.
  • Writes requirements around features that make it easy and clear for engineers to implement, in collaboration with stakeholders and engineers.
  • This may also include UI or sourcing designs from others as needed
  • Communicates team progress and achievements to stakeholders and manages expectations

Does NOT:

  • Write requirements for tech work specifically the backend systems of tech projects.
  • Provide admin assistance or serve as a messenger between Fundraising and Fundraising Tech.
  • Is dedicated to the "what the team does" description and proactively helps

Scrum master[edit]

The Scrum Master is the primary owner for the team's process. They support the Development Team and Product Owner in execution and planning.

  • Ensures the Development Team adheres to the Agile Manifesto and the tenants of Scrum
  • Serves as coach and facilitator through the process, helping with meetings and communication.
  • Supports the Team's execution by protecting the team from interruptions, removing impediments and coordinating with other teams.
  • Supports the Product Owner in the maintenance of the backlog.
  • Pursues constant improvement in the Team's process and execution.

Mountain goat definition

Does NOT:

  • Prioritize or estimate work
  • Write specifications or user stories
  • Serve as admin for Stakeholders, Product Owner or Team

UX Designer (Per project, not full time)[edit]

The UX Designer is responsible for internal and external user-facing user interface design and development.

  • Is present at beginning (design) stages of user-facing products to guide the experience from an interaction as well as software design perspective.
  • Continues to support product development as the project evolves and iterates.
  • Designs app frameworks, forms, and UI flows with mockups, visual and (where needed) lightweight prototypes.
  • Pushes user experience across all front-end features to be better.

Does NOT:

  • Do graphic design.
  • Make things "pretty" or "shiny".
  • Design banners.
  • Make product decisions.

Software Engineer[edit]

Software Engineers on the Fundraising Tech team are full-stack developers and generally are responsible for the following:

  • Keeping the donation pipeline online and functional by 'technically' addressing emergent issues that adversely affect uptime in addition to maintaining confidentiality of donor PII
  • Troubleshoots clunky code, bugs and other issues.
  • Communicates with fr-online about maintenance / emergencies
  • Designs and builds reliable, maintainable, secure and reusable code for our tech projects: Donation Interface, Central Notice, Dash, CiviCRM, and internal tools.
  • Designs and builds usable front-end components.
  • Improves test coverage of code and quality of code
  • Works towards open sourcing our components
  • Collaborates with others that use the tools and/or same codebase (internally or externally - e.g CiviCRM or CentralNotice)
  • Participates in team code reviews and design discussions.
  • Works collaboratively with teammates, other teams and technical volunteers to debug, design, build, fix, and deploy code, and coordinate APIs and production setup.
  • Documents software for others to learn from and understand.
  • Continuously learns about new or useful technologies.
  • Coordinates with payment processor technical staff to ensure interoperability
  • Proactively attends regular team meetings and events
  • Read and respond to emails addressed to fr-tech team and specific engineers.
  • Engage in team development such as team building, check-ins, etc.
  • Take main responsibility, individually or with part of the team, for one or more codebases.
  • Participate in the coordination of team activities and goals (meetings, Phab tasks, IRC, etc.)
  • Mentor students and participants in outreach programs who contribute to our codebases.

Operations Engineer[edit]

  • Deals with fundraising cluster systems (civicrm, banner log collection, payments systems, development, reporting)
  • Systems architecture, procurement, build, maintenance, scaling
  • System monitoring, on-call duty
  • Fundraising database administration
  • Operations oriented tools for deployment, etc
  • Operations aspects of PCI and other compliance
  • Maintain logs, backups, configuration
  • Interface with Tech Ops for the stuff we use which that group maintains
  • Developer and fundraising user support

Director of Pundraising[edit]

The Director of Pundraising is responsible for pun leadership throughout Fundraising Tech.

  • Encourages puns, focusing on the more groan-worthy.
  • Ensures that people are either laughing or rolling their eyes at least 10% of their working life.
  • Maintains the Pundraising funds for beer purchases.