Methods of Engagement
Examples of ways in which our center might partner with your research project.
These items are ordered from highest potential for impact to least potential for impact.
1) Prototyping
Create solutions that demonstrate system capabilities.
- Examples:
- We create a Minimum Viable Product (MVP) to demonstrate a technique to be enhanced with additional funding (grant, etc.).
- We enhance existing software to solve a new or related problem.
2) Partnering
Augment a team’s existing capabilities by working side-by-side for a predetermined set of time.
- Examples:
- The SSE team works with you to define the goals/outcomes of the engagement and what will be delivered during that time. We then deliver those software artifacts according to the agreed upon schedule.
3) Guiding
Periodic interaction with existing teams to increase the likelihood of a successful project.
- Examples:
- Meet with your team once a week to discuss progress, identify bottlenecks, suggest areas of improvement, and propose a path forward when obstacles are encountered.
4) Mentoring
Periodic interaction with team members to help them grow in their role.
- Examples:
- Weekly meetings customized to individual team members where we discuss problems they have encountered and identify opportunities to improve their skills.
5) Consulting
One-time engagement to address specific concerns about a project.
- Examples:
- One-off meeting to discuss system architecture or user experience
- One-off meeting to review code associated with a critical component of your system
- One-off meeting to review your project plan and identify potential risks
6) Profiling
Scoped engagement (likely 1-2 weeks) to identify and propose resolutions to performance bottlenecks.
- Examples:
- Extract profile data for your project, identify hotspots, evaluate your source code, and propose changes to address any bottlenecks encountered. This process may be repeated multiple times within the scoped engagement.
7) Curriculum Development and Training
Develop and present curriculum that is broadly applicable to industry and academia.
- Examples:
- CI/CD Best Practices with GitHub
- Effective Code Reviews
- Getting Started in an Open-Source Project
- Establishing a Strong Team Culture
- Automated Testing for Python Proje cts
Skill Profiles
Each engineer on the team is an expert in one of the following profiles; most on the team excel in multiple areas.
Software Engineer
Write code and apply best-of-industry practices to solve problems and automate processes and repetitive activities.
Software Architect
Design software, infrastructure, and technology stacks that help propel a team forward.
Product Management
Apply lean software principles to validate hypotheses and introduce minimum viable products (MVPs).
Program Management
Ensure successful outcomes by introducing practices that detect issues before they derail progress.
UI/UX
Create user interfaces and experiences that are efficient, engaging, easy to use, and require little to no training.
Technical Writer (Long term)
Introduce prose that communicates complicated software ideas and product details to broad audiences.