Jay Hayes

(Stitch Fix)

Jay has been programming professionally for over 10 years. A few years ago, he fell in love with Ruby and began developing a deep interest in good software design, appropriate levels of testing, and other programming paradigms. For the first time since falling in love with Ruby, he has discovered another language with the same charm: Elixir. Jay has worked as a consultant and instructor at Big Nerd Ranch. More recently he joined Stitch Fix to be a part of a larger team working on a product. When he's not speaking or teaching, he works remotely from (sweet) home in Alabama. Remote is a perfect working situation as it allows him to do what he loves while being close to the people he loves, his beautiful wife and 2 sons. He has spoken at a number of conferences, including but not limited to: - ElixirConf 2016 - RailsConf 2017 (TDD workshop) - OSCON 2017 - (Other, regional conferences and meetups.)

Past Activities

Jay Hayes
Code BEAM SF 2018
15 Mar 2018
11.35 - 12.20

Metaprogramming: Programs that Write Programs

Programs that write programs are called metaprograms. They occupy the space between your problem and its solution. When used haphazardly the results can be confusing and cryptic. But when used wisely, they simplify that space and make it possible to solve hard problems in elegant ways.

Elixir embraces metaprogramming. In fact, it's fundamental to the implementation of the language itself.

This talk will answer questions for you such as:

  • "When should I write a macro?"
  • "What is quote and unquote and when do I use them?"
  • "When and where does this macro code execute?"
  • "Macro.prewalk?
  • What does this have to do with macros?"

Along with some practical examples.

What's more astonishing is how approachable (and safe!) Elixir makes this complex subject. With this solid foundation, your code will be writing itself in no time!


Articles: 1

Metaprogramming: Programs that Write Programs - SLIDES - Code BEAM SF 2018

Article by Jay Hayes

Slides from Jay Hayes's talk "Metaprogramming: Programs that Write Programs" - Code BEAM SF 2018


Videos: 1