Field Notes from CodeMesh 2019

Like every year for a few year now, i went to CodeMesh LDN, the 07th and 08th of November. I promised some friend in the organizing team to publish my thoughts on it, so here we go. After this introduction, i will talk of the session i went to. And then i will dive a bit deeper in some of the thinking i have.

But first a general feedback. CodeMesh sell itself as the “alternative tech conference” where people go to “help solve real-world problems using innovative, non-mainstream tech”. I tend to use the term “edge” to explain it. It is not always technology or ideas that are new but it is at least ideas that are not widely used. Over the past few years, the main themes for CodeMesh has been diverse. A track around the philosophy and history of programming. A slew of advanced type systems talks, a lot of talks around distributed computing. A lot of talks about artistic or less catered too research and creations.

This time around, my main feeling is disappointment. I feel like i am not really the target of CodeMesh anymore. And to be honest, it is a generic feeling i have about all tech conference. But I was used to that feeling for “mainstream” tech conferences. Feeling the same at CodeMesh makes feel like something is amiss. There were some good talks that i appreciated, but i really feel like i do not belong in tech conference anymore. I got some good conversation in the hallway track, and the organisation is as always doing a good job making everyone feel welcome (Thanks for the pronouns stickers, but not transparent next time). And the philosophy and history of computing track is definitely onto something. But the whole theme of the conference felt… disconnected from the problems i am dealing with at the edge.

The talks i went to

Literary Theory looks at Readable Code by Alvaro Videla

Alvaro always deliver good talks. His insights into linking Literary theory to code writing have been something i follow for a few years now. The talk was great. There are a lot of things in there that i can link to the work i look at in cognitive science and Resilience Engineering in general lately. Especially around the problematic linked to collaborative work and Joint Cognitive Systems.

What is a computer program ? Historical and philosophical reflections by Liesbeth De Mol

This was a great talk looking at the historicity of the definition of “computing” and of “software”. She advocates an a-disciplinary and quite “anarchic” view of the definition of the field, which i endorse. It reminded me of the kind of problems people trying to define “engineering” as a discipline encounters too. It exists and you know it when you see it. Finding a good, stable definition of it and of “engineering methods” seems far more elusive and not researched.

Capability Driven Requirements Engineering by Natalia Chechina

I have a lot of respect for Natalia, so i went expecting to get new ideas for generating requirements. I left after 10 minutes, not knowing what the talk was about at all. I can only encourage people interested to go watch the recording once it is released and make their own idea about it.

want don’t You consistency no stinking by Greg Young

This was a practical talk by Greg Young. It could have been done in 15 minutes and be as useful. I think there were some interesting lessons in there. CodeMesh is populated by people that should expect: or a bit more substance, or know about these kinds of techniques already. It is not a bad talk, but it felt out of place and stretched to fit the whole session.

Let’s get more women into computer science by Mary Sheeran

This was a great talk from Mary. The kind of talks i want to see more of. Mary took us on the journey she took at Chalmers when she decided it was time to increase gender equality. From how she got a budget to the lessons learned along the way, it was a deeply useful talk. I would like to see more talk like hers. Talks that concentrate on the journey and the steps taken, more than on a summary of the results. It is far more practical for people like me that are trying to act. I would advise everyone to watch it. It may seems empty at first glance, but the journey matter more than the outcome in that case.

AI for social responsibility: embedding principled guidelines into AI systems by Veronica Dahl

This was a good feminist look at how programming and AI systems could, and should, get better at promoting a better society. I do not agree with her reading of history, but i am pretty sure we would agree on the steps to take from where we are. And the goal to achieve. I am happy to see that people coming with different background, and reading of society, achieve the same kind of models of the future than i hope for.

Bourdieu’s social theory applied to tech by Romeu Moura

I had already seen a recording of that talk given by Romeu at the conference he helps organize. It had made me begin a reread of Bourdieu with my more adult view. I advise you to give it a watch. It is a good approachable vulgarization of Bourdieu, which is fairly relevant to us, as software people.

In defence of uncertainty by Abeba Birhane

A good talk. It felt to me as a 2 parts things. First with the defence of uncertainty. Then a display of case in which the research for a model embedded egregious systemic discrimination. I was the only one in the room knowing of all these cases, which is not surprising with how many of them they are. The number of people not knowing about these cases are probably an explanation of my feeling of disconnection, which i will talk about later. We need more talk like this one, and i advise everyone to go watch it, at the very least to learn about these case.

Misadventures With Terraform by Matthew Revell

This was a good entry talk on the lessons learned using Terraform. Probably useful, kind of, to developers that are not used to doing their own ops. Was a bit light on glossary, which i think lost some of the people in the room. I am happy to see more ops/devops stuff at CodeMesh.

Your Brain on Software Development by Fahran Wallace

This was a fun talk. Fahran ended up mostly listing a few cognitive biases and how they relate to software. She also offered some practices and tools we can use to reduce the risks of failing into the bad side of these biases. I am happy that we see more cognitive science in conferences. I am not happy that we use the Heuristics & Bias textbooks as the basis for it. But it is better to begin somewhere and extend with other views later.

Closing thoughts

So as i mentioned before, i felt really disconnected at this conference. I am used to be at the edge and to feel at home at CodeMesh. This year, it felt like i had outgrown it. The “History and Philosophy of computing” track was on point. And i had high hope for the “infrastructure” one. In the end, nearly every talk felt “entry level” to me. It is obvious it was not the case for the rest of the crowd that said.

If i had an advice to give to CodeMesh, it would be to really dig in their definition of edge. I would love to expand the infrastructure track into something wider, like “release engineering”. Something which is definitely an edge that help solve problems but is not looked into enough. Bring more cognitive science and philosophy. There were not really good talks on distributed system hard problems. It seems the field has slowly stopped thinking about them. They are just painful to do on Kubernetes, which is sweeping most of the hip crowd. Same for Type Systems. Most of the stuff presented this year were “fun projects”, not meant to solve “real-world” problems.

It also seems that most of the crowd was still mostly ignorant of the events that have shaken the data science world regarding ethics. We are dealing with equally problematic decisions in the rest of software engineering. Still most people had no deep ideas of the impact of software on people life. Things like software errors putting people in bankruptcy. Killing people. Perpetuating systemic racism. It seems there is a need for more talks pointing out these problems. Maybe a track dedicated to ethical problems could make sense next year ? It is not like the case to discuss are lacking.

I would also be interested in getting more talks focused on breaking new grounds. Or using less known tools to solve real world problem. And more philosophy and Cognitive Science. I never get enough of these.

All in all, the organisation is still one of the best i have seen for a conference. But the line up really felt disconnected with my expectations. I am probably not the target for CodeMesh LDN anymore.