Skip to content

Social Human Architecture for Beginners and the Flip Side of Dependency Injection - PHPUGHH

Where

Social Human Architecture for Beginners

General

By Sebastian Schürmann (@sschuermann) (scrum master)
PHP Benelux
Works at mytaxi.de

People

  • introversion vs extroversion (thinking is internal or externalized)
  • nobody is one at all (just introvert for thinking or feeling)
  • talk to you team about it (try to express everybody on a scale to get better understanding)
  • take a look to "Maslows hierarchy of needs"
    • self actualization
    • esteem
    • love/belonging
    • safety
    • physiological
    • internet ;-)
  • try to create your own needs of hierarchy
  • use "non-violent communication" (Marshall Rosenberg)
    • observation (just the facts)
    • feelings (just feeling good or bad won't cut it, try to express yourself)
    • needs (we all have them, feeling bad? need is not fulfilled)
    • honest request

Groups

  • psychology of programming by Gerald Weinberg
  • egoless programming
  • stages of group development
    • forming
    • storming
    • norming
    • performing
    • storming [...]

Motivation

  • engagement can be reached by
    • autonomy
    • mastery
    • purpose
  • let people get into the flow state
  • try a fed-ex day (people can do what they want)

The Flip Side of Dependency Injection

General

Do Not

  • do not add to much dependecies (thing is doing to much)
  • do not hide dependencies by using a container (it's like throwing in "the config")

Do

  • all dependencies must be in code
  • separate object creation from usage
  • there must be the ability to choose the actual implementation on runtime

How to Get There

  • use a factory with explicite API (instead of "get('Foo')", do "getFoo()")
  • avoid injecting factories, try to use locators (locators are returning "FooInterface" and using factories for instance creation)