Reading Code Is Hard, and tips to improve

We spend more time reading code than writing it

This week's video for Dave Farley's Continuous Delivery YouTube channel is me ranting about why reading code sucks, and offering some advice on how to improve.

"Every programmer occasionally, when nobody’s home, turns off the lights, pours a glass of scotch, puts on some light German electronica, and opens up a file on their computer. They read over the lines, and weep at their beauty…."

https://www.stilldrinking.org/programming-sucks

The original idea for this video is from my presentation Reading Code Is Harder Than Writing It, which I only got to present twice. I feel like I never quite got the hang of what I was trying to say in the talk, but honestly that's normal for any presentation I've given less than three times.

Continue reading "Reading Code Is Hard, and tips to improve"

Are Developer Productivity and Developer Joy opposites?

A few glasses of fizzy were consumed during the JetBrains party at Devoxx Belgium last year:

Holly: You do presentations about productivity, and about developer happiness, and I do presentations about developer joy. We should do a presentation together!

Me: Yes! What a fantastic idea! Two titans of the London Java Community co-presenting on a topic that excites us both!

This is the story of how that went

Continue reading "Are Developer Productivity and Developer Joy opposites?"

Flaky tests are poisoning your productivity

Picture of Trisha's face frowning and the title "Flaky Tests"

I freaking HATE flaky tests.

The first time I worked in an environment that had real Continuous Integration with Actual Automated Tests that Actually Ran, it was like... freedom. We literally got the green light that our new code was working as expected, and that any changes we made hadn't broken anything. And refactoring... before then, I don't think I had ever really refactored anything. Even a simple rename was fraught with danger, you never knew if reflection or some sort of odd log-file parsing was dependent upon specific class or method names. With a comprehensive suite of unit, acceptance and performance tests, we had this blissful safety net that would tell us "Everything Is OK" after we'd done simple or extensive refactoring.

Except.

Continue reading "Flaky tests are poisoning your productivity"

What could possibly go wrong? (GOTO Chicago)

At GOTO Chicago, I was given the chance to chat a bit about the presentation I was giving, which happens to be the same one I’m giving at a number of conferences this year (although of course I’m evolving it as I go along).

The presentation leaves very little time for anything other than coding, as it’s quite challenging to create a full app in 50 minutes, so it was great to have the chance to talk about the motivations for the demo

<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe src="https://www.youtube.com/embed/sZee7lRAUF4&#34; style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allowfullscreen title="YouTube Video">

The video of the actual talk is also available now:

<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe src="https://www.youtube.com/embed/kmVnhyWqozA&#34; style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allowfullscreen title="YouTube Video">

At the beginning it doesn’t clearly show the screen, but it does improve. You can see an earlier version from the Joy of Coding as well, so if something’s not clear on one of the videos, hopefully it’s better in the other.

The code for the Chicago version is on Github, and if you look through the history you can see how it builds up, the same as it does in the demo.

Career Advice for Programmers (YOW 2013)

Since I have a tendency to bang on every now and again about how we, as developers, could do better in managing our careers (for example, by creating CVs that don't suck, and by staying ahead of the curve), Dave Thomas asked me to speak for a mere 50 minutes on the subject at GOTO Aarhus, a talk I wasn't enormously happy with as there was no way to cover a lifetime of hard-fought experience in such a short time. Dave seemed to like something in it though, as he gave me the opportunity to present the topic again at YOW last December, and this time I think I managed to distill the important points into the (still ridiculously short) time allotted.

Please give me any feedback you have.

I recognise there are many many more topics I could cover, so I'd better start making a list. Suggestions?

First presentation at the Virtual JUG!

Yesterday I had the privilege of presenting the very first session for vJUG, a new virtual Java User Group that allows us to span geographies when sharing talks and stories. I'm really interested in the vJUG idea, especially now I'm not in London - if we can find good ways to share knowledge without having to travel, that will help us reach people who don't normally go to conferences or don't have a local user group to go to. Not to mention cutting travel costs and saving the environment.

Continue reading "First presentation at the Virtual JUG!"