First talk on DevEx & DevRel

At the WordPress 31st Skopje Meetup, my friend and I presented on the topic of DevEx & DevRel.

Here is a brief summary of some of the stuff we talked about:

  • There is no single definition of DevEx/DevRel. Our take is that it’s like a tourist guide that spreads the word (company culture) across.
  • It can be seen as an engineering intersection with one or more of {HR, Marketing, Product, Community, Content}
  • The three pillars Product+Community+Content are useful fictions and a lot of stuff overlaps between these
    • Community: meetups, conferences, workshops, hiring, mentorship…
    • Content: blogging, documentation, tutorials, podcasts, talks…
    • Product: coding examples, integrations, collecting and applying feedback, tooling, processes…
  • Developers by nature are skeptical folks * – we can achieve much more by doing “indirect marketing” (things such as mentorship, bottle pickup, content writing, etc.) with the hope they follow along and improve – more specifically, they see “by example” why some things are useful doing and they eventually start doing it themselves. This approach is in contrast with e.g. “let’s actively teach you [X] so that you will be better at [Y]”, where I think this will repel more than attract.
  • DevEx exists because of the intersectional voids between engineering and [X]. Building relations/partnerships helps fill these voids.
  • Measure success in terms of lifetime value rather than OKRs – you can measure how many fishes someone fished but you can’t really measure how you taught someone to fish.
  • Why DevEx/mentorship: Third perspective argument – developers get easily stuck in a cycle when programming (focused work) and it is easy to “forget” the big picture.

* This argument is of the form “Everybody is a skeptic” – you either agree with it, or you don’t, which proves the point in any case. One can argue it’s an unfair argument πŸ™‚

Writing your third program with Budge-TP

In a previous blog post, we showed an implementation of a subset formal system of Peano’s axioms that could represent numbers and the addition operator. In a blog post before that, we showed and implemented a formal system that could represent numbers and the addition operator at a more basic level.

This blog post will show yet another way to represent numbers and arithmetic operations such as addition, subtraction, multiplication, and division. Finally, we’ll extend this system to also support complex arithmetic operations (combining the previous basic operations).

Continue reading “Writing your third program with Budge-TP”

Write a mathematical proof generator for AoC 1-1 2022

For last year’s AoC, I decided to use 20 different programming languages. For the year before that, I used Haskell. This year I decided to not participate as I’m already busy with other stuff, but I thought I could try something different.

So the first task of AoC day 1 is essentially giving you a list of lists, and you need to sum each element and find the max. Here’s a one-liner in Python:

max([ sum(x) for x in L ])

But I thought to myself, why write code in a “normal” programming language to solve an easy problem? Why not complicate things a little bit and write a code that generates mathematical proof in Budge-TP? In this post, we will write a Python script that will solve AoC 1-1 by generating Budge-TP code.

Continue reading “Write a mathematical proof generator for AoC 1-1 2022”

GEB: An EGB overview (Part II)

This post is a follow-up to the first part.

However, before proceeding with the usual format as in the previous post, I will make a small comment.

I was very amazed by the first part of the book, so before starting the second part I viewed the book’s references. One book caught my attention: “What is the Name of this Book?”. So I ordered it and I read it. I found the book’s author’s style to be very similar to GEB’s style: puns, self-references, discussions about meaning, and paradoxes. So if you follow GEB’s references, you can almost see how GEB’s author’s style came to be.

Continue reading “GEB: An EGB overview (Part II)”