Summer Reading 2023

View from a beach restaurant

I'm about to jet off on my sunny* summer holidays, so it's a good time to leave you with my recommended reading and learning. Are they all my books and content? Yes. But I do have discounts and deals for them, so that's something, right?

Working With Code in IntelliJ IDEA (Online course)

I've just released a Brand New online course on LeanPub, Working With Code in IntelliJ IDEA. If you want to step through the most helpful features for writing code with IntelliJ IDEA, this is the course for you. We have a special introductory price if you click on this link:

If you're already a subscriber (reader or author) of Leanpub, it's available to you for free.

If not, but you already own the IntelliJ IDEA book, I can give you a link to get the course for free, contact me.

Getting to Know IntelliJ IDEA (PDF, eBook & paperback)

If you follow me on Twitter, or literally anywhere else, you'll know that Helen Scott and I released this book on IntelliJ IDEA at the end of last year. We're currently doing a limited-time-only offer where if you buy the book, you get access to our first IntelliJ IDEA course, Working With Code in IntelliJ IDEA, for free. You have to buy it before 6th August to qualify. Do it now!

If you want an e-version (eBook or PDF), I recommend getting it directly from Leanpub. It's also going to be much easier for me to confirm your purchase in order for me to issue you a discount.

If you want the paperback version (and let's be honest, it's nice to have these things physically in your hands at times) it's available on Amazon.

After you've bought the book, contact me and I'll give you a link to get the course for free.

Descubre IntelliJ IDEA

The IntelliJ IDEA book is also available in Spanish. It's feature-complete, we're just working through all the feedback from reviewers. While we're still doing that process, you can get the book at a discounted price on Leanpub. We also welcome feedback from readers.

Head First Java (Third Edition) & 97 Things Every Java Programmer Should Know

Head First Java is, of course, a classic, which is why I jumped at the chance to help update it to its current third edition. This version covers features all the way up to Java 17, so even if you're a Java expert, there will be some new stuff in here for you. I also modernised the concurrency chapter and added so much modern concurrency stuff that we had to split it into two chapters.

97 Things Every Java Programmer Should Know was released in 2020, and with everything else that was going on at the time I didn't really talk as much about this book as I would have done. I'm very proud to have been able to edit this and for this to be the first book that had my name on the front cover. It's got a huge number of tips and wisdom in it, whatever stage you're at in your career, there's something in there for you.

I have a link for a 30-day free trial for O'Reilly Learning. If you sign up with this link, you can read these two books for free: You just have to finish the books in 30 days!

Modern Software Engineering - David Farley

At last! A book I didn't write! Although... Dave did very kindly ask me to write the foreword, which I was very excited to do because I loved this book so much. I read this book in less than a week when I was on summer vacation back in 2021, and I highly recommend it as summer reading. It covers a whole bunch of topics that qualify as "Software Engineering", but it's not stuffy or academic, and Dave's writing style makes it clear why these things matter. You can buy it on Amazon, or, if you used the 30 day free trial above, you can read it on O'Reilly Learning.

O'Reilly Playlist

Oh OK, I should recommend some other stuff I didn't write. I actually curated an "Expert Playlist" on the O'Reilly platform called Becoming a Better Programmer. So, you can use the 30-day free trial link to check out that playlist.

More Learning

I'm hosting my first online training for Gradle next week. I'll be teaching Gradle Enterprise for Developers. Note that this is not about the Gradle build tool. In fact, Gradle Enterprise works for Gradle and Maven, and also has functionality for Bazel. You can attend virtually to find out more.

I'm also presenting at the Manchester Java User Group and the London Java Community in August, and Madrid Java User Group in September. If you're local to any of those areas, keep an eye on those websites and sign up when my events are published.

And Finally

As you can see from this blog, I have quite a few projects and ideas in progress or brewing. I've been investigating using substack to publish news and updates. There's nothing there right at this second, but if you are interested in receiving news about new or updated books, courses, events, and even blog posts, subscribe here.

Happy summer learning!

* I'm going to England. It's definitely not going to be sunny.

Speaker Tips – Bootstrapping Conference Speaking

Photo of Trisha and Daniel presenting at Devoxx

I have loads of advice for aspiring speakers, which is lucky because I get asked about how to get started (or how I got started) all the time. I found an email I sent to someone absolutely years ago (2014) and thought it useful enough to dust off and post. It's interesting to see my mindset back then because now I've largely forgotten what it was like in the early days.

The timing is not great, since in these Coronavirus times no-one's going to or presenting at conferences, but I firmly believe that with all these virtual events and conferences there's a much lower barrier to entry to speaking, and that now is exactly the right time to start presenting if it's something you've ever had on your wish list.

"I was hoping I could get some advice off you as I'm starting to look at ways to get out and speak a little bit more at events. Would you have some insights from how you started?"

Continue reading "Speaker Tips – Bootstrapping Conference Speaking"

Speaker Tips – What to Wear

For years I’ve avoided talking about the topic of what to wear when presenting. I didn’t want to cover it because I didn’t want people to think that I only worried about this topic because I was a woman. I also didn’t want other women to inherit any of my neuroses around deciding what to wear. I’m the sort of person who always enjoyed thinking long and hard about what to wear the next day at work, and I know that’s not how everyone works.

Continue reading "Speaker Tips – What to Wear"

Speaker Tips – Wearing a Roaming Mic is More Complicated Than I Realised

Photo of Trisha presenting at Devoxx

I realise I have a bunch of experience and advice for speakers and potential speakers that I simply haven’t written down or shared. Here’s the first piece on things to consider that you might not have thought about.

Note: as usual, my advice is from the point of view of a woman (me) and is aimed mostly at women, but also as usual it’s probably useful for others to know too.

Continue reading "Speaker Tips – Wearing a Roaming Mic is More Complicated Than I Realised"

Improving Speaker Diversity

Last month at Devoxx I was in a session discussing what we can do to encourage more diversity in our speakers (specifically, although not limited to, increasing the number of women speakers).

I’m going to outline the things I remember being discussed, although as usual we did not find the answer to the problem, only identify some issues and explore some options.

This is a very chaotic blog post, because if I don’t post it now I’ll never post it, and it’s better if my thoughts are scrawled down and posted than if this all goes to die in my drafts folder.

Firstly, what stops people from stepping up to speak?

I don’t have anything to say
This is the very first thing any developer says when you ask them why they haven’t thought about presenting at conferences or user groups. Turns out, you always have something to say. For example, our most popular sessions at the Sevilla JUG and MUG are “Introduction to…". You hear from plenty of experts who have travelled the whole road to some pinnacle of excellence, but what many developers need is simply someone a couple of steps ahead of them to lead them forwards.

You always know more than someone, you don’t need to know everything, and you don’t need to know more than everyone

Why should I be role model?
So many women feel this, and I’m completely sympathetic to this view point: I’m a woman developer, getting along, happy in my job, happy being a programmer, why the hell should I have to stand up and present and blog and be a role model for other women? Men don’t have to do that. Men can just be developers.

In addition, there’s the fear that if you do stand up, become a role model, that somehow people will think you’re representing all women developers. You’ll be worried because you can only represent who you are, what you do, you can’t represent a whole gender in a single presentation or a single interview. And the pressure! What if I mess up? What if I say something my gender does not agree with? What if I say something that causes my whole gender to be judged?

Totally understandable fears. Totally true that many people will ask you to be the woman developer, to answer for all women. Well, that’s why I’m asking more women to stand up, to be role models - if we all step up, it will no longer just be me, and you, and that other one over there. There’ll be more of us, more differing voices, we’ll stand out less. But we have to stand up first. And in the meantime it’s us and our points of view they’re listening to. Wouldn’t you rather voice your opinion than have someone else speak on your behalf? Especially when very few people really can represent you, who you are and what you want.

What if I can’t answer the questions?
You’ll be surprised at what you do know, so people who present run into this less than you’d think, even if you’re just beginning, but just in case here are some tips:

  • Repeat the question, paraphrasing. Firstly, this ensures you’ve actually heard the question correctly. Secondly, it allows the whole audience to hear it, and thirdly, but most importantly, it buys you time to think.
  • Be honest - say you don’t know, and move on. If you know somewhere that might have the answer, point the person to that resource. But a technical audience actually values the answer “I don’t know” more than you think. Especially the person who asked the question, it makes them feel really smart!
  • If you don’t know, but you think the audience might know, throw it back to them. Either to the person who asked the question, if that feels appropriate (especially if this is one of those “look how smart I am” questions), or to the audience as a whole. In conferences in particular, there’s a good chance someone there knows the answer.
  • If you’re genuinely terrified of all questions, say at the start of the presentation that you won’t take questions in the talk. Offer an alternative, like via Twitter or e-mail, if you can.

What can conference organisers do?

Specifically invite the people you want presenting
Don’t just wait for them to submit. If you want more women, more diversity, invite them. And invite them early…

Secure your women presenters early.
Recognise that there are relatively few women presenters on “the circuit”, and understand that everyone wants them to speak at their conference. This rare breed, the female technical presenter, gets booked up well in advance. They’re probably as in-demand as your keynote speakers, and can probably devote less time to appearing at conferences than those who have made it to keynote-standard (I’m making a sweeping generalisation that your techy women have day-jobs as developers and your keynote speakers are either professional presenters or at least can argue presenting as a critical part of their job).

So, you have a limited resource (experienced women presenters) that’s in high demand. You need to reach out directly to them, invite them, and secure them well in advance of your conference. Many big conferences, for example JavaOne and QCon, will invite speakers six months in advance. If you give women speakers a month’s notice before your conference or event, they simply are not going to have the space in their schedule at that late notice.

Showcase your diversity on your website
If you haven’t already heard of microaggressions, go and read what that means before you get any further. There’s a very simple thing you need to do with your website, whether you’ve opened for CFP or you’re trying to get attendees to register - make sure the photos on your website show the type of diversity you want to encourage. Only yesterday I was looking at the website of a big conference, who I know for a fact are working really hard to ensure diversity, not just with gender but race, age, and where possible in less physically obvious dimensions. The conference is many months off, so the only photo they have on the website is a background photo of the exhibition hall from some previous year, crammed full of attendees - white, male attendees, as far as it’s possible to tell. It’s extremely subtle. You might not even notice, as the photo is behind the headers and text of the site. But I noticed. And you can be sure the subconscious of every person who went to the website to either submit a proposal for a talk, or is considering asking their employer to pay for the registration, also noticed. The conscious mind might be able to shrug it off. But the subconscious of a non-white and/or non-male person notices and plants the subtle seed of “this conference is not for me”.

So, conference and event organisers - if you want more women applying to speak at your conference, show more women on your website. If you want a more diverse audience, show more diverse faces. If you’ve invited your women presenters early and secured them early, show their photos on the site - this sends a strong message to other women that their talk proposals will be taken seriously.

Run warm up nights to try out new speakers
I know conference organisers get lots of submissions, and I know it’s hard to tell which are going to be good speakers, especially if they’re new speakers or don’t have a video. If you’re genuine about improving the diversity of your speakers, run free nights to a) promote your conference and b) try out new speakers. Probably a good idea to have a new speaker and a known speaker to attract the crowd and give newbies a chance.

Don’t be so damn picky

  • New speakers need to be encouraged. Find a way to see their content without just discarding an unknown name.
  • Existing speakers might not have the luxury of creating new content. Many conferences want genuine practitioners, not just evangelists, but those people have day jobs and can’t be creating a new talk just for your conference.

Leave space for new speakers
…and don’t just have 7 slots for a pro speaker

Look at your swag
Not just guys t-shirts. One conference gave out cupcakes for example. But it doesn’t just have to be handbags and high-heeled shoes, just take a quick look and see if your swag is generally useful for techies, or if it leans towards men only. Men only swag (men’s t-shirts, bottle openers, subtle things like that) subliminally says “you don’t belong here” to the women.

Give feedback
You can’t tell every individual why they were rejected, but you could look at all the rejected submissions and give broad indications of the type of CFPs that didn’t make it. Maybe write a blog post explaining which sorts of talks didn’t make it and why. This will help speakers create content that better fits your conference.

Be specific about what you’re looking for
If you have tracks you’re finding content for, put them on the website/CFP, so people know what the topics are. If you have an idea that you want 30% beginner material and 30% very advanced, make that clear too. Especially if you want only beginner or only advanced. People will submit more appropriate talks.

Have a beginner’s track
…not just for the speakers, for the content too. Beginner speakers may be more comfortable presenting “Introduction to…” talks.
Having a beginners track, whether it’s for content or speakers, will make newbies feel more included.

What other things can we try?

User groups can grow talent

  • Practice writing CFPs
  • Help each other
  • Presentation skills
  • Lightning talks, book club, different meetup styles (like fishbowl)
  • Run an open conference to encourage new speakers

Women’s user groups are instrumental
So here’s something interesting. I’m sceptical of all-women user groups as I feel it separates us from the communities we should be contributing to. But women’s user groups can help us to integrate better. For example, Duchess France helped and encouraged its members to submit talks to Devoxx, gave feedback on CFPs before they were submitted, and provided a safe place for the women to practice presenting beforehand. I think this is exactly the sort of thing women’s user groups could be fantastic for.

Advice for budding speakers

  • Just Do It
  • The more you do it, the more comfortable you’ll be
  • If you’re a speaker, it can make you feel less of an impostor at a conference - you’re not just a woman developer, you’re a speaker!
  • Everyone’s afraid, it’s not just you
  • Every developer wants to learn
  • The audience is on your side
  • Start Small (user groups)
  • Be technical. But you don’t have to be super smart
  • Bootstrapping is hard - you haven’t presented so you can’t get into conferences. Again, user groups can help with this.
  • Pair. Ask a more experienced presenter if you can co-present with them.
  • Ask for mentors
  • Ask for feedback
  • “I don’t know” is perfectly acceptable.

I appreciate there is so much more I could have covered, and many topics deserve more depth. But this is the brain dump from the Devoxx session, and maybe one day things will be expanded into their own topics.