Product Hive Presentation

I was thrilled to join with the rest of my product team at work to share a case study of our process operating within constraints.


In my day job, I am an engineering manager and get to work closely with my product team—our product manager, our UX designer, and me. We recently gave a joint presentation on working within constraints, and how we have approached things with our current project. I am extremely fortunate to work with talented and capable people, and it was delightful to prepare and deliver together.


💮 Trying stand-up comedy

I have long nursed a secret desire to do stand-up comedy, although I have allowed my fears to hold me back from trying. I finally made the attempt as part of my OCD recovery, and enjoyed the experience.


As I got close to the end of my treatment at the OCD & Anxiety Treatment Center, I was pushing myself to do more activities in which I risked something. I have long wished that I was funny, but I have come to grips with my lack of natural humor. As I wrote earlier this year, I am not destined to become a stand-up comedian. And that’s ok. I decided that I should try stand-up comedy and risk not being the best. Since I was nearly guaranteed to not be the best, it seemed like a productive thing to risk.

At first, I just suggested to one of my co-workers that I could do my routine for him. He asked who else I was inviting, and I realized that inviting more people would definitely increase the risk level, which was the whole point. So I ended up inviting our entire I.T. department to come over lunch, but only about 20 people came. So the next week, I volunteered to do it again for a full department meeting. That meeting was recorded, so I have a record of my attempt. It went better than I feared, and I decided I would share the video.


💮 Health meters presentation

As I have had my own experience with mental health over the last year or so, I have found that looking at my own health in a more holistic way to be extremely helpful.


I have always loved public speaking. For a long time, I have wanted to start speaking at conferences more often, but I could never figure out exactly the right topic. Finally, I know.

Last summer, I had my first personal experience with mental health, and through that process have come to learn much more about myself and people around me. Nearly all of us are affected by mental illnesses of some kind, whether directly or through someone close to us.

A few principles and approaches have helped me tremendously in considering my own health, and I shared my first presentation about them at a local Cocoaheads meet up.

We had some technical issues, so the recording of the video is in two parts, and missed a small chunk of the presentation where I describe health meters and what they are. Hopefully what’s here is still useful, and I hope to improve and deliver this talk many more times.


🧪 UI-TDD with Xcode Part II

As I wrote about last month, I was able to speak at Cocoaheads on some work we have been doing with Xcode UI Testing. I am speaking again tonight at a different Cocoaheads group, which is exciting for me.

I had created a sample project for my presentation last month, but lost the project when my computer died and had to get the logic board replaced. I have recreated the sample project, and am happy to share it here:

UI Testing Example

And just in case you would like to download the slides for reference, here is a link to the PDF:

UI TDD Presentation (5 MB)

And you can view a recording of the presentation here:


🧪 UI-TDD with Xcode

Last week I had the opportunity to present at our local Cocoaheads meetup. At work, I have been focused on testing more as of late, and have been working to get our UI tests in much better shape.

I adapted an approach that our Test Engineering department has been taking with automated tests for our web apps. Essentially, we create a page object to represent each screen in the app, and include all of the elements, actions, and verifications needed for that screen. Then the actual UI tests just reference the page objects using the exposed API of actions and verifications. As an example, this has changed a call from this:

XCUIApplication().tables.children(matching: .cell).element(boundBy: 0).staticTexts["2018-07-03 20:45:14 +0000"].tap()

to this:

.tapOnCell(at: 0).

I have really enjoyed the productivity boost this has given us, along with the safety and security of good test coverage and wanted to share this approach with the community. Included below is a PDF of my presentation.

UI TDD Presentation (5 MB)

Update: The talk was recorded and can be viewed here: