Being on the Shoulder of Giants

Here’s my experience learning to code in an established project:

When working with the Research Data Management team (2023), I balanced:

  • Learning Django
  • Building a standalone app within existing infrastructure

This was manageable since I only needed to understand project setup and dependencies.

Moving to MDAP was more challenging - inherited a complex Django project with:

  • Advanced auth
  • RBAC
  • CMS
  • Testing pipelines
  • Multi-container setup
  • Django REST framework

My approach to navigate this:

  1. Requirements First - Instead of diving into code, I now:

    • Gather technical details
    • Question feature necessity
    • Consider future implications
    • Align with team before coding
  2. Strategic Learning Learn just enough to complete tasks, avoiding knowledge rabbit holes.

  3. Test-Driven Write tests before implementation - essential when working with unfamiliar code.

This workflow has helped me contribute effectively to complex codebases while maintaining quality.

– UTQ –

Posts in this series