This is continuation of the previous post about We Are Developers. I was a bit late on day two and missed Brenda Romero’s talk about how not to fail as a game developer, but I still got to see some amazing stuff.
DOOM’s Development: A Year of Madness by John Romero
I’m so happy I got to see Romero talk again after I saw him in 2017. I love to hear stories about the prehistoric days of (game)development, and Romero tells them like no other.
John recounted how the original DOOM was developed in 1992. The talk was actually the same as DOOM: A Classic Game Post-Mortem which you can watch on Youtube, so I’m not gonna repeat its contents here. Just do yourself a favor and watch it.
What you can not find on Youtube is John’s answer to the audience question “What is the single most important ingredient to every successful game you made?”: A great team that loves to play the game themselves. If you don’t love to play the game yourself, it will never be a great success.
We also got a short answer to what John thinks about the 2005 movie: “No” :)
Storytelling in Development by Christina Hauk and Thomas Goldberger
I was really looking forward to this talk, as the summary made it sound exactly like my cup of tea. I think that stories are an important asset for expressing meaning in many situations, especially in software development.
Christina and Thomas talked about what story telling itself means, and how stories are easier to process for us humans than number. They also touched on Behaviour Driven Development, which relies on this fact.
Sadly, this talk didn’t live up to my expectations. Its not like there wasn’t enough interesting content, but the delivery unfortunately made it very hard to follow. Both speakers were pretty nervous (which I totally get) and that certainly was detrimental to the whole experience.
Successful, Accomplished, Depressed - A Talk About Performance, Perfectionism and Burnout in IT by Dennis Traub
Lets start this one with a tweet by Miha Rekar:
So this talk was highly anticipated, and oh boy, did Dennis Traub kill it. In my opinion this was single best talk of the entire conference.
Dennis Traub started his talk by delving into the human psyche and why we often feel that we need to show to everyone how successful we are. We try to tell each other stories about ourselves and “the most important stories are those we tell ourselves about ourselves”.
Experiences from our childhoods shape the way we think about ourselves, and are often responsible for us telling ourselves that we might not be good enough. As Dennis put it: “Everyone has their story, so ask yourself, what is YOUR story?”. So basically, when you doubt yourself, ask what early experience this feeling of doubt may be tied to.
The questions of “Am I good enough?” often boil down the self worth, and Dennis sees one of the main reasons why engineers often struggle in that regard in the fact that what we create is often ephemeral. On many days we might not feel like we have created anything, and that we did not move forward at all. We might even feel that we got worse at what we do.
This feeling of failure is only amplified by a society that teaches us that our worth is tied to our performance (“Love must be earned through performance”).
Dennis also touched on the topic of procrastination, and how we often procrastinate in order to fabricate an excuse for failing. If we failed an exam, we only failed because we did not learn enough. If we wanted to succeed, we could have if we tried, and so forth.
This type of weaseling around is not the only trick our brain plays on us. Imposter syndrome and pluralistic ignorance, which Dennis explained beautifully, are common not only among developers and engineers. People suffering from these phenomena include people such as Meryl Streep and Mike Meyers.
The talk concluded with some tips on how to avoid these mental traps. First, ask yourself whose voice it is in your head that tells you that you need to do something. Secondly, what would you say? Third, what is the worst thing that could happen if you tried something? And fourth, what if you succeeded?
Finally, the talk went full circle and Dennis closed with “Success is never having to say: I wish I had…”. Deservedly, Dennis got a couple of minutes of standing ovations. Absolutely amazing.
How to Hustle Your Codebase by Mars Julian
Mars talked about how refactoring a code base may be compared to playing a game of pool. The whole talk was based on her experiences when redesigning the Netflix sign up procedure.
There were some great insights into the way Netflix engineers work to be had. For example, Netflix will often not shy away from rewriting something shortly after it has been created in order to improve it.
The main takeaway of the talk were the parallels between pool and refactoring. According to Mars both pool and refactoring boil down to the following steps:
- Choose your lineup: Before you approach a project you should make sure you have the right people on board.
- Walk around the table: Try to get a feeling for the code base, and how all the parts fit together. At this stage, you should find out what you want to accomplish with the refactoring, and where the code base is headed.
- Find your way out: After figuring out what your ultimate goal is work back from there. Try to separate everything into steps that you can execute to reach your goal. Also take into account your skill level when planning these steps.
- Take your shot: From all the steps you identified previously pick one that seems right for you and execute it.
- Repeat: Repeat all of the above and learn from your mistakes until you are done.
A Rube Goldberg Machine by Ada Rose Edwards
At this point I really felt like I’ve had enough of front talks, but the title of this one intrigued me, so I went there. Glad I did.
Ada presented some awesome new features relating to CSS, Web Components and Web Animations. I feel like this is the one talk where I learned the most technology wise, and it really made me want to play around with some of the things she presented.
You can find the whole talk on Ada’s website, ada.is, check it out.
Engineering Management for Early Stage Startups by Andreas Klinger
The last talk of the day was held by Andreas Klinger, who is the former CTO of producthunt.com, now working at Angelist. It was incredible dense, so I’ll not even try to summarize it here.
Luckily Andreas posted his whole presentation on Slideshare. Something that stuck with me about this talk was Andreas’ pragmatic approach to leadership, which aligns with my own. Some things I can cite him on: “If the team is slow its a prioritization issue. Its never a matter of bandwidth”, or: “She who codes decides, everyone else is free to add opinions, but the final decision rests with her”. And of course: “Make meetings efficient. If you are not needed in a meeting, leave”. Nice talk.