25-28. 4. 2017

Budapest

27 workshops

 

6 stages

 

1964 attendees

21 meetups

 

65 speakers

 

46 countries

Day 1, workshop:​

Hypermedia hacking (Mike Amundsen - API Academy)

  • Write clients as games - you can’t control how the user interacts with them, but you need to cover "all" the cases.
  • Hypermedia is describing the actions/ providing instructions not in client code but in the messages.
  • Action logic lives on backend - no need to update client code, when changing a feature.
  • Non HTTP, domain specific actions (approve, reject, print ...) are problematic to implement with CRUD - we usually POST the action.
  • SIREN (https://github.com/kevinswiber/siren)

 

Day 2, workshop:​

Scaling technology and organisation together (Randy Shoup)

  • Practices he experienced while working at Google, eBay etc.
  • 3 phases of a company growth:
    • ​search phase (prototype architecture, rapid iteration, as little technology as possible),
    • execution phase ("just-enough", monolithic architecture, meet near-term, evolving customer needs as cheaply as possible),
    • scaling phase (stay ahead of rapidly growing business, keep the site up - scale technology and teams).

 

Day 2, workshop:​

Scaling technology and organisation together (Randy Shoup)

  • Big successful companies are successful, because they work as many successful smaller teams.
  • Team size might impact how system is designed (large team = monolith, smaller teams = "microservices").
  • 15 to 50 people on the team is hard to divide. But as you grow, teams of 4-6 can start to own their services.
    • ​full-stack teams
    • end-to-end feature ownership

TEAM CULTURE is the most important factor for success!

(collaboration, learning, quality discipline etc. )

Day 3, talks:​

Serverless Design Patterns with AWS Lambda: Big Data with Little Effort (Dr. Tim Wagner)

  • Pitch for different Amazon services.

 

Decisions Decisions (Dan North)

  • “Trade-offs are always happening and it is important to learn to navigate.”
  • When you know what you are trading off you can make informed decisions.

Day 3, talks:​

Tackling technical debt at scale (Yvette Pasqua - Meetup)

  • Designing a productive engineering culture:
    • design for reliability,
    • design for simplicity,
    • design for speed (build times, deployments etc.).
  • ​At Meetup they created platform teams with focus to satisfy the goals for engineering culture:
    • Not focused on product development.
    • Focused on “continuous product health” (Test coverage, reduce build times, refactor code, better performance).
  • ​Communicate the impact of cleaning/ refactoring work outside engineering team.

Day 3, talks:​

Tackling technical debt at scale (Yvette Pasqua - Meetup)

  • Low hanging fruits are not the best way to start the process. High impact tasks are much better (but harder).
  • 4 high impact criteria:

    • hard cost (cloud, vendors)

    • platform reliability

    • system simplicity

    • development speed

Day 3, talks:​

Scaling Lean: Principles over Process (Jeff Gothelf)

  • Principle #1: Customer value = Business value
    • use OKRs
  • Principle #2: Value learning over delivery
    • ​build momentum with pilot teams
    • sandboxes and constraints for pilot team to experiment
    • balance of learning/ delivery velocity
  • ​​​Principle #3: Radical transparency
    • transparency through rituals (e.g. “stand-ups”, “scrum-of-scrums”, “demo days")
    • access to customers
    • access to data (analytics, usage data etc.)

Day 3, talks:​

Scaling Lean: Principles over Process (Jeff Gothelf)

  • Principle #4: Humility in all things
    • It is impossible to know exactly how a feature will look at the end - there’s no “done” in software development.
    • Product discovery (don’t assume what to build, go discover it - with the least amount of work needed).
    • Small, agile teams that discover the product by themselves may not need managers, scrum masters etc.

    • Value prototyping.

 

Day 3, talks:​

Building Great Teams: Culture and Core Protocols (Richard Kasperowski)

  • Psychological safety - team members feel safe to take risks and be vulnerable in front of each other.
  • Teams protocol stack:

    • positive bias: non-negativity,

    • freedom (“I pass” when somebody doesn’t want to do something),

    • self-awareness about current emotional state,

    • connection -> check in or ask for help,

    • error handling.

 

Day 3, talks:​

Building Great Teams: Culture and Core Protocols (Richard Kasperowski)

 

In high-performing teams people act as they are friends.

 

Day 3, talks:​

Fun With Dead Languages (Damian Conway)

 

Day 4, talks:​

The danger of team safety (Katherine Kirk)

  • 3 characteristics of existence/ IT industry:
    • everything is in a constant state of change,
    • it's not about "the me",
    • we'll always battle dissatisfaction - nothing is perfect.
  • It is hard to live "continuousness" - continuous delivery, continuous innovation.

    • Continuous delivery = continuous consequences, responsibility for deployed code

    • Continuous delivery = Continuous interaction/ collaboration

 

"Don't bother with safety. We are part of the industry that is revolutionary. Now is the time for persistence, resilience, bravery."

Day 4, talks:​

Mutation Testing to the rescue of your tests (Nicolas Fränkel)

  • Code coverage should not be the only metric for test quality.
  • Mutation testing:
    • Mutate production code and run the same tests on it - tests should not pass.
    • Example: tools (mutators) that automatically transform operators in your code.

Day 4, talks:​

Machine Learning for Developers (Danilo Poccia)

  • Machine Learning 101
  • Image generation with 2 neural networks:
    • ​Learn by generating random images with one neural network and compare them to real images with another neural network.
    • Over time generated images are getting more "real".

Day 4, talks:​

Machine Learning for Developers (Danilo Poccia)

  • ​Camera for the blind

Day 4, talks:​

Better engineering via better discourse (Theo Schlossnagle)

 

​"Exceptional communicators can impart great influence and value

... even to bad listeners."

 

"Exceptional listeners can extract value

... even from bad communicators."

 

 

"Bias in operation/ crisis can help you react quickly."

"Bias in learning is what makes you stupid."

Thank you!

Questions?

CraftConf 2017

By George Byte

CraftConf 2017

  • 837