Fundraising tech/Roles and Responsibilities
Appearance
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)
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 processes. 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.
Does NOT:
- Prioritize or estimate work
- Write specifications or user stories
- Serve as admin for Stakeholders, Product Owner or Team
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 the rest of Fundraising 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
- Train peers to ensure that knowledge of each component is spread across engineers, and retained. https://www.mediawiki.org/wiki/Fundraising_tech/Training
- Attends regular team meetings and events
- Participate in the coordination of team activities and goals (meetings, Phab tasks, IRC, etc.)
- Read and respond to emails addressed to fr-tech team and specific engineers.
- Engage in team development such as team building, check-ins, etc.
- Mentor students and participants in outreach programs who contribute to our codebases.
Site Reliability 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
- Communicates with the rest of Fundraising about maintenance / emergencies
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.