Purpose
This document serves to outline the main responsibilities and goals for Software Solutions for the Fall 2022 semester.
Document Owner: Anthony Bernardi, Head of Software Solutions, bernardi.an@northeastern.edu
Mission
Empower people through software solutions.
Priorities
Foster a supportive community that prioritizes growth, learning, and communication
Maintain high quality and reliable applications
Constant reflection and learning from our software projects and club processes
Deliver innovative and useful features to our clients
Our Applications
FinishLine by NER (Web)
AKA PM Dashboard v3
React frontend, Express backend, Yarn workspace in Typescript
Project Management dashboard with goals to expand to finances in the Fall
PM Dashboard v2 (Web, Deprecated on August 15th, 2022)
Built in TypeScript, React, and serverless beginning January 2021 and launched in April, 2022, 24 weekly users
Interactive UI for viewing, filtering, reviewing, and implementing Change Requests, Projects, and Work Packages
Intended expansion to financial and logistical management features
PM Dashboard v1 (Web, Deprecated on April 30, 2021)
Built in Google Apps Scripts in July 2021, 24 weekly users
JS/TS-enhanced HTML-based UI with minor interactive features built on top of the Project Management Database Google Spreadsheet
PM Dashboard v0 (Web, Deprecated on March 14, 2020)
Built in Google Apps Scripts in November 2020, 6 weekly users
Email automation scripting to summarize projects behind schedule
Future Application Ideas
Mobile interfaces for PM Dashboard
Engineering club management software
Engineering lab / machine shop management software
Northeastern club management software
Roles and Responsibilities
Developer – (5-10 hrs / week):
Reports to: Tech Lead
A Developer is responsible for building and maintaining our full-stack web application using Typescript, React, Express, Prisma, etc. Developers should be passionate about coding and learning. The goals for a Developer are to learn web development and other skills that will prepare them professionally.
Responsibilities:
Attend weekly Software Solutions meeting (mandatory)
Complete at least 3-4 tickets per semester (mandatory)
Attend Learning Sessions (optional)
Put forward their best effort and try hard to learn as much as possible
Tech Lead – (5-10 hrs / week):
Reports to: Software Group Lead
Tech Leads are responsible for mentoring newer developers. This means making sure they have appropriate tickets to work on and aren’t blocked. A Tech Lead should also continue working on the project, contributing to more difficult tasks. The goals for a Tech Lead are to enhance their communication and mentoring skills, as well as their web development skills.
Responsibilities:
Attend weekly Software Solutions meeting (mandatory)
Attend weekly Software Leads meeting (mandatory)
Mentor their assigned developers
Check in with developers at least once a week
Complete advanced coding tasks
Software Group Lead – (8+ hrs / week)
Reports to: Head of Software
Software Group Leads are responsible for an entire team of Tech Leads and Developers. This team is responsible for a big set of features from the product roadmap, and the SGL should keep the team on track for completion. The goals for an SGL are to think long term and to foster an environment where their team can thrive.
Responsibilities:
Attend weekly Software Solutions meeting (mandatory)
Attend weekly Software Leads meeting (mandatory)
Lead development team and keep progress on track
Manage and mentor assigned Tech Leads and team members
Be an expert on the features for their team and contribute to their development
Software Product Analyst – (4-7 hrs / week):
Reports to: Software Product Manager, Head of Product Management
Same as Software Product Manager below but is in an apprenticeship role to one
Shadow your Assigned SPM to learn the NER product approach
Learn how to flesh out tickets and investigate features with users
Software Product Manager – (5-10 hrs / week):
Reports to: Head of Product Management
Attend weekly Software Solutions meeting (mandatory)
Responsible for bridging the gap between users and the development team
Understand and advocate for the users, their needs, and resolving pain points
Conduct user interviews to understand user behaviors and needs
Write user stories, flesh out tickets, and provide user insight on tickets
Track the application's features and build the application roadmap
Designer — (4-7 hrs / wk)
Reports to: Head of Product Management
Responsible for building user interface design sketches and wireframes
Design improvements to existing user interfaces and create new designs
Help communicate the visual aesthetic to developers to ensure users have a positive experience interacting with the application
Work with Software Product Managers / Analysts to develop features
Head of Product Management — (10-15 hrs / wk)
Reports to: Head of Software Solutions
Responsible for overseeing the overall vision and direction of Software Solutions products
Coordinate the work of Software Product Managers, Product Analysts, and Designers
Communicate software product roadmaps at least quarterly to club leadership
Ensure user pain points are documented, prioritized, and addressed appropriately
Head of Software Solutions – (10+ hours per week):
Reports to: Chief Business Officer
Pitching the group
Maintaining relationship with Khoury
Overall management strategy of the team
Responsible for process improvements and constantly upgrading the software solutions team
Goals
Universal Goals
Goals for every semester
Teach web development and other related skills in a way that will prepare members for co-op
Reflect on previous semester and revise accordingly
Fall 2022
Overall Goal: DELIVER ON FEATURES AND BUILD A COMMUNITY
Complete the features on the product roadmap in an organized and efficient manner
Implement revised learning curriculum and onboarding process to provide a better experience for new developers
Grow the product management and design teams, and allow them to focus more on bridging the gap between users and developers
Focus less on growth and more on retaining and developing talent
Be more efficient and deliberate with the meetings we have people come to
Hold more social events and workshops that build a community within the team
Summer 2022
Overall Goal: LOWER THE LEARNING CURVE FOR THE FALL
Complete the following features:
Risk Log
N-Proposed Solutions
Teams base feature
User Settings
Experiment with ticket requirement instead of hour requirement for devs
Lowering the learning curve:
Revise all onboarding and related documentation
Revise the learning curriculum for the Fall
Switch to v3 repo written in express
Recruit well for the Fall
Have a lot of good tickets ready for the Fall
Conclusion
If you read this far, thank you! You must care a lot about the software team to read a whole charter about it. If you have any feedback or questions, feel free to reach out to me through email or Slack.