YOW! Melbourne 2023: A Two-Day Conference Recap

Jamie Wen
5 min readDec 5, 2023

--

In this write-up, I will share my key highlights and takeaways from the talks.

Day 1 Keynote: Creating a programming language for everyone

Felienne Hermans shared her experience of teaching kids how to program at school. Her findings are compilers ain’t a good teacher. It is pretty much a punishing experience and not beginner friendly. So she created Hedy to introduce concepts with minimal syntax initially and progressively refining it as progress.

Event Modeling from Beginner to Expert 🌟

Adam Dymitruk (website and YouTube) shared his awesome Event Modeling Approach is used by both stake holders and technical teams to automate modern systems, translating requirements into dependable, scalable, maintainable information systems. He explicitly said that simplicity is extremely challenging and keep your toolset and architecture to minimum. I can’t agree more. My takeaways:

Responsible Architecture

Why is Event Sourcing so good? It forces you to avoid DRY and excessive refactoring. now you can use the right abstraction for the job without tightly coupling to other semi-related concepts and you can leave code that works but may not be ideal without it being in the way as “technical debt”

Export Event Modeling

Stopped Caring About Code Quality / Use Al without worries. No Sagas or Middleware, no message bus. Reached Goals of DDD and other practices. Work on fixed costs

Advancements and Future Directions in AI-assisted Coding 🌟

Erik Meijer shared his perspective on AI. Humorously said “If we are the last generation of developers, let’s enjoy the last couple of hours”. It is a joke but I see the point.

Programming may evolve into a hybrid model: English prompts with traditional code. We may yell to the mode to generate great Python. We may beg the model to behave well. Most importantly, there is plenty of work for developers!

The Joy of Building Large Scale Systems

Hardware is so fast. Software hasn’t caught up. Suhail Patel shared his experience in building software that takes full advantage of hardware. Some tools he mentioned in his speech:

  • Seastar: open-source C++ framework for high-performance server applications
  • io_uring: a new asynchronous I/O API for Linux
  • PyO3 & maturin: build rust binaries as python packages

Don’t Trust Anything! Real-world Uses For WebAssembly 🌟

Katie Bell shared 3 use cases of WebAssembly beyond the browser

  1. Shopify is using WebAssembly to sandbox untrusted and potentially malicious code provided by 3rd parties. Read more
  2. CloudFlare Workers is using V8 Isolates to achieve 5ms start time. Read more
  3. Fastly Edge Cloud Platform. Read more

Building Modern Web Applications with Remix 🌟

Jake Ginnivan shared his experience with Remix. Some key features he mentioned during his speech that I like

  • Use flexible routing model base on file system
  • Use Await component to defer a slow api response, then stream the response to the client
  • Vite: opinionated super fast bundler
  • React Server Component

Day 2 Keynote: The Many Faces of Identity

Radia Perlman shared her thoughts on “the identity problem”. My key take aways:

What is identify? Is it name? Is it username? Is it unique? Can email address be the identity? What if an email share by multiple people or people have many emails? Website has a DNS name. Is the first search result always the one you are looking for?

She also talked about CA and DNS, but I got lost on the half way 😢

Secure Coding > Secure Development

Laura Main shared her understanding of how security fits into the Software Development Lifecycle. My key takeaways are

Understand Threat Modeling
Understand various ways of protection

Build Abstractions Not Illusions 🌟

Gregor Hohpe presented remotely. It was probably the most packed room over the 2 days.

  • See more dimensions thru different lens
  • Zoom in and out
  • Use models to make better decisions
  • Abstraction is multiple spectrum on multiple dimensions

Abstraction vs Composition

  • name a thing after composition is leaky abstraction
  • naming after the purpose not the implementation

His previous talk in Tech Lead Journal Podcast and shared 3 Tech Lead Wisdom

  1. Don’t lock yourself in with the technology.
  2. If you can’t explain what you’re doing and what you’re proposing to do in plain English, you just simply don’t understand it. There’s no excuse for confusing people. You need to make yourself understood. That way, you get buy-in for the decisions, and you best do that by shunning all the buzzwords.
  3. Complexity is your biggest enemy. So go, don’t be afraid to make some decisions. Reduce the complexities, you don’t fall victim to Gregor’s Law.

Layers of Leadership

Leadership concerns are people, delivery and operation. Lee Campbell shared his wisdom about leadership.

Coordinated Strategy to address leadership concern
system maturity
driver tree to link your initiatives to your OKRs

Final Thoughts

  1. Great conference but not as impressive as pre-COVID events
  2. Some really great presentations like Event Modeling, Build Abstractions
  3. It’s beeng great to explore and understand others’ thoughts over the two-day period.

--

--

Jamie Wen
Jamie Wen

Written by Jamie Wen

Software Engineer | Technical Lead | Engineering Manager https://justlearning.club

No responses yet