Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Purpose

This document serves to outline the main responsibilities and goals for Software.

Document Owner: Reid Chandler, Head of Software Solutions, chandler.r@northeastern.edu

Mission

Empower people through software.

Priorities

  1. Foster a supportive community that prioritizes growth, learning, and communication

  2. Maintain high quality and reliable applications

  3. Constant reflection and learning from our software projects and club processes

  4. 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- 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 for the professional world.

Responsibilities:

  • Attend weekly Software Solutions meeting

  • Attend Learning Sessions

  • Put forward their best effort and try hard to learn as much as possible

Goals

  • Understand the full architecture of Finishline and be able to explain it (e.g. in an interview)

  • Learn how to be an independent developer (debug, answer your own questions, use google)

  • Get comfortable using the technologies used in our app (React, Express, Prisma, Typescript, Git)

Tech Lead – (10 hrs / week):

Reports to: Head of Finishline

Tech Leads are responsible for mentoring newer developers. This means making sure they have appropriate tickets to work on, aren’t blocked, and review their tickets. A Tech Lead should also continue working on the project, contributing to more difficult tasks.

Responsibilities:

  • Attend weekly Software Solutions meeting (mandatory)

  • Attend weekly Software Leads meeting (mandatory)

  • Mentor their assigned developers and be able to walk through problems with them

  • Check in with developers at least once a week via Slack

  • Complete advanced coding tasks

  • Review PRs

  • Responsible for making sure members' work doesn’t get held up too long

    • If a high-priority ticket is stale for more than 2-3 weeks, the lead should either do the ticket themselves or ensure that it gets done by a reliable member

Goals:

  • Gain the ability to foster a sense of community in your tech lead group to maintain retention

  • Gain a more complete understanding of every aspect of the code base

  • Take ownership of the application (feel proud of the work and the website we make)

  • Learn how to write tickets and break out epics

Software Product Manager – (5 hrs / week):

Reports to: Head of Product Management

Responsibilities:

  • Attend weekly product meetings (mandatory)

  • Slacking and communicating with engineers and developers

  • Making epics

  • Designing new features

  • Conducting Design Reviews for their new features

  • 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

Goals:

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.

  • No labels