Skip to content

Graduate Max Woolf to backend maintainer from trainee

Max Woolf requested to merge mw-backend-maintainer-application into master

Hey GitLab backend maintainers 👋

For those who haven't met me yet, I'm Max Woolf, a Senior Backend Engineer in the Manage::Compliance group. I have been a professional software engineer since 2012 and have worked at GitLab since April 2020.

I have been a trainee backend maintainer since 2020-06-30 (~10 months) but I have reviewed MRs since my first week of employment. I have been a user and an administrator of GitLab since 2018.

Since starting at GitLab, becoming a backend maintainer has been a target of mine. I really enjoy reviewing code, teaching and mentoring others and have a keen eye for detail. I see it as a step towards my goal of becoming a staff engineer at GitLab in the future.

Maintainers: Please either approve this MR, or provide feedback on things you feel I should address before you'd feel comfortable approving.

High level review stats

  • Reviews completed: ~110
  • Percentage merged with no further comments from maintainers (most of these were non-blocking comments): 56%

Maintainer level review examples

My trainee issue is full of links to reviews I have completed and I have added discussion to most of the interesting ones. 👉 #8135 (closed)

Some of the more interesting reviews are included here:

Feature development examples

  • I have authored around 90 merge requests that have been merged.

Some of the larger features I have been the primary engineer on are below👇

(Obviously all of these were a team effort, but these are ones that I had a significant hand in building.)

  • Custom Compliance Frameworks
    • Group owners can now define their own compliance framework labels that are available to all projects in that group and all subgroups. This is tied nicely in to the enforced compliance pipelines which force projects to run other CI jobs to ensure compliance within particular framework rules.
    • The implementation of this feature required input at all levels of the application from additions to the GraphQL API, new database tables and indices and I even turned my hand at writing some Vue.
  • Export Merge Requests to CSV
    • A fairly common requirement amongst compliance-minded organizations. This was an implementation identical to merge request CSV exports so I was able to encapsulate a lot of the shared logic in "Issuable" classes, rather than separate Issue and MergeRequest ones.
  • Various refactoring of Audit Events
    • Prior to this change, much of the data about audit events was stored in structured text, rather than database columns which caused issues with performance and made filtering and sorting audit events very difficult.
    • Much of this change was database-level.
  • External API approval gates (Incomplete)
    • Implemented a new set of approval rules that allows external services to approve merge requests.
  • PAT API endpoints
    • Added new REST API endpoints to administer personal access tokens.

Developer checklist

  • Before this MR is merged
    • Mention @gitlab-org/maintainers/rails-backend, if not done (this issue template should do this automatically)
    • Assign this issue to your manager
  • After this MR is merged
    • Request a maintainer from the #backend_maintainers Slack channel to add you as an Owner to gitlab-org/maintainers/rails-backend
    • Consider adding 'backend maintainer' to your Slack notification keywords

Manager checklist

Merge Conditions

  • 23 approvals from backend maintainers. Rails backend group currently has 46 members. 50% of that group is 23.
  • @djensen receives no blocking feedback before 2021-04-28
Edited by Max Woolf

Merge request reports