Trisha is available to give these talks at conferences and events.
Coding, technology and process
- Developer Productivity Engineering: What's in it for me?
- Are Your Tests Slowing You Down?
- Reading Code Is Harder Than Writing It
- Code Review Best Practices
- Life Beyond Java 8
- Fully Reactive: Spring, Kotlin, and JavaFX Playing Together
- Boost Your Productivity With IntelliJ IDEA
- Level Up Your Automated Tests
Trisha is a software engineer, Java Champion and author. Trisha has developed Java applications for a range of industries of all sizes, including finance, manufacturing and non-profit, and she's a lead developer advocate at Gradle. She has expertise in Java high-performance systems and dabbles with Open Source development.
Trisha’s exceptionally passionate about sharing things that help real developers. That might be: getting them up to speed on the latest version of Java; teaching them tips and tricks to improve their productivity; or promoting healthy technical communities across the globe. Trisha values helping all developers level up their career and skills at every step of their journey.
Read more from Trisha in the books “Head First Java”, “Getting to Know IntelliJ IDEA”, “97 Things Every Java Developer Should Know” and “What to Look for in a Code Review”.
Short version: Trisha is a software engineer, developer advocate and author who is passionate about developer productivity and happiness. She has expertise in Java high performance systems and dabbles with Open Source development.
Developer Productivity Engineering: What's in it for me?
It may surprise you to learn that we developers are a patient, tolerant species. People pay us to do what we enjoy - write code and create working applications. In return, we will put up with all sorts of blockages and toil that get in the way of this - long build times, flaky tests, hard-to-debug toolchain failures and so on.
Is this truly the price we need to pay? Could there be a better world, where the build is as fast as it could possibly be? A world where problems that affect many developers are quickly identified and fixed?
Welcome to the world of Developer Productivity Engineering, where we can get computers to do what they’re good at (automation) to make developers’ lives easier, and make us more effective at our jobs. And while developer joy may be a difficult thing to sell to decision-makers, effective developers who are making the best use of their time, and their hardware, have a direct impact on an organization’s ROI.
In this talk, Trisha will explore what DPE is, give you some practical ways to get started, and discuss ways to help the leaders in your organisation to understand the enormous value DPE could unlock.
- 2023: Utrecht JUG, Amsterdam JUG, DevBCN
Are Your Tests Slowing You Down?
Testing is a Good Thing, right? Especially automated testing. But "Good things come to those who wait" is not something that's going to appeal to the§ busy developer. You want results, and you want them now. You're in The Zone working on a problem, and the last thing you want is to break your flow wrestling with your testing framework or waiting for the tests to finish running.
More code means more tests. More coverage means more tests. More tests mean more time. Time that you want to spend being productive, creative, innovative. How can you balance the need for quality with the need for speed?
In this talk, Trisha will identify issues that slow down developers when writing, running and debugging tests, and look at tools that can help developers with each of these problems. There will be live coding, analysis of social media poll results, an overview of solutions in this space, "best practice" recommendations, and machine learning will be mentioned at some point.
Life Beyond Java 8
Wasn’t Java 8 a fantastic update to the language? Lambdas and streams were a huge change and have helped to improve Java developers’ productivity and introduce some functional ideas to the language.
Then came Java 9, and although the module system is really interesting for certain types of applications, the lack of exciting language features and uncertainty around some of the structural changes left many applications taking a wait-and-see approach.
But now Java has a new version every six months, and by now Java 21 is here. We’re all still on Java 8, wondering whether we should move to a later version, which one to choose, and how painful it might be to upgrade. In this session we’ll look at:
- Which version to upgrade to
- Why upgrade from Java 8, including language features from Java 9-21
- What sorts of issues might we run into if we do choose to upgrade
- Mix of slides and live demo
Fully Reactive: Spring, Kotlin, and JavaFX Playing Together
Spring Framework 5 brought full reactive support to developers everywhere. What better way to demo reactive programming than to actually build something live? Trisha will live code an end-to-end application using Spring Framework 5, Spring Boot 2.2, Reactor, RSocket, Kotlin, JavaFX, and maybe even some MongoDB, all built using IntelliJ IDEA. During this session, we’ll see how these different components can work together really easily using Spring. What could possibly go wrong?
- Live demo
- This was also broken into a series of short (5-10 minute) video tutorials with blog posts for the IntelliJ IDEA blog
- This can be run as a tutorial/workshop instead of a talk
- I would like to update this with an Angular / web front end instead of JavaFX
- I’m open to updating this as the technologies change
- 2019: SpringOne Platform
- 2018: Oracle Code One (with Josh Long)
Reading Code Is Harder Than Writing It
It's funny that computer languages are the only languages where one learns to write before learning to read. It's actually not uncommon for people to never really learn to read code. This seems a little unbalanced given that we actually read code much more frequently than we write it. Even those who promote software as a craft sometimes fall into the trap of often talking about writing clean code that people can read, yet not placing much emphasis on the skill of reading the code. The ability to read code must also be a skill, and as such it must be something that can be learnt and practiced. In this presentation, we're going to look at: - The different reasons we might have to read code, and how that should impact our reading
- The problems we face when reading code (even our own!)
- Tips to bear in mind when we're reading code
- Tools we can use to help our understanding
- How and where to practice these skills At the end of the talk we will at least have considered whether we need to level up our "Reading Code" skill.
Code Review Best Practices
We know that Code Reviews are a Good Thing. We probably have our own personal lists of things we look for in the code we review, while also fearing what others might say about our code. How to we ensure that code reviews are actually benefiting the team, and the application? How do we decide who does the reviews? What does “done” look like? In this talk, Trisha will identify some best practices to follow. She’ll talk about what’s really important in a code review, and set out some guidelines to follow in order to maximise the value of the code review and minimise the pain.
Boost Your Productivity With IntelliJ IDEA
Summary: “Starting to code in IntelliJ IDEA is easy, but are there features you could use that you don’t know about?”
IntelliJ IDEA is designed to help developers to be really productive. It aims to help you “stay in the flow”, to automatically do as much as possible while also staying out of your way. To learn how to make the most of this, sometimes we need to see how others use the tool to understand what is possible and how it helps. In this session, Trisha will demonstrate how key features of IntelliJ IDEA help you to develop code more effectively. We’ll look at some simple navigation tricks to help us to get around the IDE faster; we’ll use code generation and live templates to create code more easily; we’ll see how inspections and intentions, refactoring and code analysis can help to improve the code we’ve written; and we’ll step through some testing and debugging scenarios to understand how these tools help us to create quality code.
- Live demo
- 2018: Devoxx Belgium
Keynote: Becoming A Fully Buzzword Compliant Developer
You’re at this conference to hear all about “best practices”, the latest trends in technology, and presumably to level up your own career. But it’s a tall order, learning to be a fully buzzword compliant developer, architect or lead, especially when What’s Hot changes on practically a daily basis. During this talk, Trisha will give an irreverent overview of the current technical landscape and present a survival guide for those who want to stay ahead in this turbulent industry.
Keynote: Career Advice for Architects
Any idea how to climb the ladder but remain technical? Or how to avoid being promoted away from what you love? Did you realise when you started your career just how important non-technical skills would be? What other skills would make life easier but are undervalued? How do you stay ahead of the curve? Stay relevant? In this session Trisha is going to share some lessons she learnt the hard way while managing her career as a developer / lead / technical advocate. She’ll give you tools for working out what your next steps are. And plenty of examples of what not to do!
- 2019: O’Reilly Software Architecture Conference, New York (keynote)
- 2018: O’Reilly Software Architecture Conference, London (keynote)
Keynote: Career Advice for Programmers
Summary: I’m no expert, but I have worked hard to steer my career. I have been responsible for CV-screening and interviewing candidates for developer positions, and I’m involved with mentoring developers. Here, I like to share stories of things I learnt the hard way.
Anyone ever give you advice on how to remain a programmer? To avoid being “promoted” into positions away from technology and code? Anyone ever tell you at school or university that you needed social skills to be a good developer? Did you know, without having had half a dozen different jobs, that all development roles are not created equal? Is it true that moving jobs a lot is a Bad Thing? In this session, Trisha is going to share some lessons she learnt the hard way while managing her career as a Java developer. She’s going to tell you secrets that others don’t want to share. And she’ll give you tools for working out what your next steps are. If nothing else, you’ll get to laugh at the (many) mistakes Trisha made in her search for The Perfect Job.
Keynote: Staying Ahead of the Curve
We all want to stay ahead of the curve - after all, that’s what you go to a conference for. But have you ever considered how being ahead of the curve might be dangerous? Using a new language before you understand it, putting a new technology into production so you can learn it, abandoning “old practices” before you’ve got the benefit from it… These things are common practice, under the guise of Progress and Keeping Up To Date. But while we shouldn’t be running around like headless chickens chasing the next Shiny New Thing, we do need to see to our Continuous Learning and, of course, we should Embrace Change. How do we balance these two extremes? And how do we see to our own growth and learning as developers and architects while meeting the needs of our project or team or organisation?
BoF: I’d like to speak at conferences, now what?
At this conference you’ve been inspired by speakers and/or decided that you would like to be up there on stage. Maybe you’ve thought “I could do that!”, or maybe you’ve thought “I don’t know if I could do that but I’d like to”. What’s the next step? How do you bootstrap a speaking career? What could you speak about? How hard is it? What do you need to know? What’s not as important as you fear? This session is open to everyone who’s even slightly curious about how to speak at conferences, and open to experienced speakers who would like to share their journey and their top tips.
- 2018: Oracle Code One
BoF/Tutorial: Public Speaking Clinic
Have people told you that public speaking will help your career? Are you being encouraged to present brown bags / tech sessions for colleagues? Or maybe you need to present something to management or to the team? Or speak at a user group? This session is aimed at inexperienced speakers - people who have never done it before, or have limited experience with presenting, who want to take that first step. We will cover the basics - give you some simple guidelines to help prepare you for your first presentation. The most important thing you should get out of this session is: how to deal with a sea of faces staring expectantly at you. Come to this session if: - You'd like to present at a user group event, but you're not confident enough yet
- You're wondering if you could present at conferences
- You want practical help getting started with public speaking
- Your job might need you to present something, even to a small audience
- Or you're simply curious about what it's like This is very much an introductory session, although more confident speakers are welcome. We will focus on your skills as a presenter, not the mechanics of building a slide deck or talk, and we aim to guide the session according to your questions and needs.
- Ladies Who Code, London; London Java Community; Oracle Code One
Level Up Your Automated Tests
Summary: “Why one Java team started writing their tests in Groovy. Did it help?”
Two years ago, we introduced Spock tests into the MongoDB Java driver. The decision could be considered controversial - the project used no external dependencies in production code, and was 100% Java. But there was a back door… with Gradle as the build system, there was a tiny excuse to use Groovy in the project, provided it wasn’t in the production code. That’s all the excuse we needed to start using Spock for unit and, later, integration tests. Groovy has a lot of advantages as a testing language, and with Spock’s mocking, stubbing, and data driven testing features, it might seem as if this is the perfect way to write tests. In this session, Trisha will cover some of the features that make Spock (and Groovy) compelling for writing tests. But in the interests of fairness, she’ll also discuss some of the downsides, and the times when Java was chosen instead.
- Real project
- Groovy syntax is nicer for things like maps but Groovy is a bit slower
- Easier to read
- Spock forces people to write BDD-style tests
- Some tooling limitations to writing tests first
- Data driven testing
- There’s a place for Java tests
There will be real code examples and demos of the sorts of tests that are possible in Spock, and which tests might be better in Java. Attendees will learn what the advantages of a Groovy testing framework like Spock are, and some of the costs to adopting this technology.