Role Outline + Expectations
Senior Software Engineer

SSWE: Role Outline + Expectations

Quality Work, United Efforts

Start of the Semester

Understanding Context

Research and deeply understand the tech stack and make high-level decisions regarding the project’s technical implementation (ex: use XY packages, YZ APIs)

This includes general development workflows: code reviews, maintaining a clean Git commit history, handling merges, etc.

Technical Set Up

  • Set up foundational functionality of the app for SWEs to build upon (GitHub repo, webapp layout, database connections, etc.)
    • README from the starter projects does a phenomenal job of explaining how to:
      • Setup the local environment
      • Understand the stack
      • Set up basic CI/CD for your repository (GitHub Actions, automated code checks, etc.)
      • Deploy your app (should do this early)

Organization

  • Create a weekly workflow, communicate how to set up the project, and establish expectations for SWEs
  • Attend 2-on-1s to get to know SWEs and what they hope to get out of the org

Week to Week

Writing deliverables for SWEs

  • Deliverable: a high-level description of an implementation task that includes high-level guidance and all the necessary resources for accomplishing the task
  • Writing weekly deliverables - this will require a fair amount of time (40 - 50 minutes per deliverable)
  • When writing deliverables have clear chunks for when PRs are expected. For example, if you have a 1-3 week deliverable, then it may have 2-5 PRs that are expected. These chunks will be easier to review
    • Delineate lower-level strategies for high-level tasks in weekly deliverables (ex: create these functions in the codebase, use this library to connect with the API)

Code reviews

  • Whenever a PR is due, code reviews (ideally) should be finished within 24-48 hours
    • This will create a fast enough feedback loop that gives SWEs enough time to read the comments made and adjust accordingly

Office Hours

  • Have a regular 2-hour time and place for SWEs to be able to request help
    • Make sure this time is 2-4 days after the meeting to give SWEs time to try doing the deliverable before coming to office hours
  • Providing regular async outside help to SWEs as needed by providing documentation, tutorials, peer programming, etc.