DjangoCon 2011 Notes / docs / confessions_of_joe_developer.rst

Confessions of Joe Developer

  1. I'm stupid:
    • Can't figure things out
      • If I get stuck for more than 30 minutes:
        • Find libraries that do it for me.
        • Ask on Twitter for answers.
        • SO is good, but watch out for trolls.
        • IRC can be good, again, trolls.
    • Can't remember things
      • Documentation makes me look good.
      • Docstrings are awesome.
      • Learn you some REStructuredText
      • Write down even the slide bullets.
      • Sphinx makes me and my code look good.
    • Ask the dumbest questions

  2. I'm lazy:
    • Don't want to do anything twice
      • If I write the same code twice, I stick it in a method.
      • Then stick the function into a utils module.
      • Then I put it up on Github so I don't lose it.
    • Don't want to debug code that worked before
      • Manually testing code by watching it run is hard...

      • ... and boring ...

      • ... and hence is error prone.

      • Meaning you have to do more work.

      • Are you testing enough?
        • is great
        • django-coverage runs for Django
        • But you only want to test your own apps. Refer to code on Github for how.
        • Look at how he does INSTALLED_APPS
    • Don't want to upload ZIP files per documentation change

  3. Don't be smart and lazy

  4. Technical Debt
    • Postponed activities:
      • Documentation
        • unshared knowledge
      • Tests

      • attending to TODO statements

      • Code too confusing to be modified easily

A positive trait good tech leads often look for is the ability to ask questions.


  1. Do you try to understand the 3rd party code or isolate it?
    • Pip & Virtualenv to isolate it.