IntelliJ IDEA
IntelliJ IDEA – the Leading Java and Kotlin IDE, by JetBrains
Java Annotated Monthly – April 2020
Well, what can I say? For much of the world it has been a terrible month (and let’s be honest, we have not shown enough empathy for our friends in Asia who suffered this before us), and I’m not super optimistic about the next month or two. As usual, I’m compiling this newsletter from Spain, which you’ve probably read in the news is not doing well right now.
Not surprisingly, a lot of this month’s content is around remote working, but honestly work is the last thing on many people’s minds right now, and rightly so.
Stay safe. Stay home if you can.
Java News
The main Java news this month, of course, was the release of Java 14. Although not a Long Term Support release, it’s an exciting one because of all the interesting new preview features (don’t use in production code, APIs may change).
-
The Arrival of Java 14! – Oracle’s release blog post
-
Java 14 Arrives with a Host of New Features (Oracle’s Java Magazine)
-
Java Flight Recorder and JFR Event Streaming in Java 14 (Oracle’s Java Magazine) – you might also be interested in reading about IntelliJ IDEA Ultimate’s profiling capabilities.
-
Java 14 and IntelliJ IDEA – an excellent post from my colleague Mala Gupta, plus video overview. It’s not just about the Java 14 features supported by IntelliJ IDEA, it’s much more than that
-
Pattern Matching for instanceof in Java 14 – in this article Mala takes a closer look at the new Pattern Matching
-
Hands on with Records in Java 14 – A Deep Dive – here Mala goes into detail about using Records.
-
JSR 389: Java SE 14 – API Differences between Java SE 13 (build 33) & Java SE 14 (build 36)
-
Transition from Java EE to Jakarta EE – the TL;DR of where Java EE is today
-
The InfoQ eMag – Recent Innovations in the Java Platform (PDF) – including my article on migrating from Java 8
Java Tutorials & Tips
-
Getting started with Java on the Raspberry Pi – LeanPub book (purchase required). Full disclosure – I’m featured in an interview in the book and I reviewed the section on IntelliJ IDEA
-
Multiline String literals with Java Text Blocks – this feature really does make code more readable
-
The Black Magic of (Java) Method Dispatch – another in-depth (and very long, very detailed) article. It’s not new but it’s great to read if you want to understand what goes on under the covers
-
Invokedynamic – Java’s Secret Weapon – another older article (from Java 7 era) and again interesting for those who want to peek into the JVM
-
Making Your Code Faster by Taming Branches – “Rewriting your code with fewer branches leads to code that has a more consistent speed.”
-
Matrix Multiplication Revisited – whenever I see performance articles like this I immediately want to run the code on my own machine and take a look at the results
-
Java Regular Expressions Cheat Sheet (Regex Java) – I reckon 97% of developers need this cheat sheet printed out and visible from wherever they work
-
Java mod examples – This looks like the kind of gotcha that’s useful to know for interview stupid questions
Languages, Frameworks, Libraries and Technologies
Otherwise known as the “other stuff that’s Java-ish” section.
-
Running a “Copy Cat” Server in AWS – here’s where I have to admit a secret: I don’t know anything about running stuff “in the cloud”. This was a useful starter.
-
International Women’s Day Special – Idiomatic Kotlin (podcast) – don’t listen to it “just” because it’s got four women experts on. Listen to it because it’s good.
-
Why Use Mocks? – nice overview (with examples using Mockito/ JUnit 5) of the value mocking and stubbing brings
-
Developer webinar series 2020 – Red Hat webinars, past and upcoming
-
Nashorn removal: GraalVM to the rescue! – I have zero experience in this area, but if Nashorn is something you rely on you need to be looking for alternatives now
-
STOP!! You don’t need Microservices – a list of things to consider if you were thinking of moving to a microservice architecture
-
How to open files in IDEA from a browser – interesting. Maybe even useful.
-
IntelliJDeodorant : Plugins : JetBrains – a plugin for detecting code smells. I’m desperate to give this a try
-
Meeting CI/CD Requirements: Key Factors in Test Automation We Must Consider (video) – this is on my personal “to watch” list
-
What is Spring Boot? Autoconfigurations In-Depth – long and Quite Interesting. Don’t forget we have our own Spring Boot tutorial.
Working From Home
Not surprisingly most of the tech world was talking about tips to work from home given the current situation. Of course those of us who can work from home are fortunate for so many reasons, not least of which is having a job. This aside, we need to understand that strongly encouraged / enforced remote work during a global pandemic is a very different situation to optimal working-from-home conditions. I’ve been working from home for seven years, I’m well set up for it and used to it, and I’m down to about 25% productivity. And that’s not just because the kids are here too.
Working from home top tip: this is NOT normal. Those of us who’ve been doing it for years were not productive last week, not because working from home is less efficient, but because these are Interesting Times.
— Trisha Gee (@trisha_gee) March 16, 2020
-
Work in the Time of Corona – “It’s ok to feel bad”. Lots of good advice here. Not all is possible if you’re in lockdown, but all points are worth considering.
-
What I Learned After Working Remotely for a Year – useful tips for remote work in normal times
-
7 Weird Ways To Help Combat ‘Hermit’ Habits As A Remote Worker – good tips here, although some need some social distancing/lockdown workarounds.
-
The Best Advice For Remote Work Success From 10 Global Teams [Free PDF Guide] – tips from companies that have remote workers, includes tooling ideas. Particularly liked the discussion of chat vs video.
-
The Art Of Working Remotely: How To Ensure Productivity Vs. A Time Suck – bit of repetition but also different useful stuff
-
How To Work From Home – completely agree with all these tips. Except that these aren’t normal times and if you find yourself failing to apply them, it’s not your fault
-
Working From Home? 12 Guides To Help Navigate The Remote Life – a summary of all the posts from Trello on the topic
- Panel on tips for remote working (video) – slightly fiddly to register/view this video, but I’m including it because I was one of the panelists!
-
How to do effective video calls – excellent tips here, I’ve noticed these are pretty much all things that experienced remote workers do
-
Going Virtual, Part 2 : dylanbeattie.net – tips on hosting virtual events
-
11 ways employers can support working parents during COVID-19 – not only are many of us working from home, we’re are also doing full-time childcare. Please read this if you work with anyone who is a parent. It’s really, really hard right now.
-
Creating predictability and stability in times of rapid change – OK not about working at home. But Read This Now.
Thanks again to some of the stars of the @ljcjug – @sjmaple @karianna @spoole167 and @trisha_gee – More online LJC events coming soon! pic.twitter.com/F1WKk13dI5
— Barry Cranford (@bcrecworks) March 19, 2020
Culture & Community
There’s a bunch of stuff from International Women’s Day, since the last Java Annotated Monthly came out before the day itself. I’ve also included a couple of covid-19 articles but only because they seemed particularly relevant. Feel free to skip if it’s all too much.
Happy (belated) #InternationalWomenDay! As part of our skills-sharpening practice, we graphic recorded @codermeow Crystal Martin’s wonderful @TEDxStLouis talk. It is paramount that women get the recognition and space they deserve, let’s do what we can for true inclusivity.❤️ pic.twitter.com/QoZK6WKG5i
— Idea Ink (@_ideaink) March 9, 2020
-
#EachForEqual Celebrating our Advocates on International Women’s Day – Oracle highlights a variety of women techies around the world
-
The State of Women in the Programming World. Female developers talk about sexism – for which I was interviewed (reluctantly actually, I dislike answering these same questions again and again).
-
Also please note The Problem With Calling Women ‘Females’ (warning: contains some nasty words sometimes used to refer to women in a derogatory way – see 6 Reasons You Should Stop Referring To Women As “Females” Right Now for something easier to digest and work-safe)
-
3 Ways To Support Women In Tech – “Women in tech are tired. They want to code and build cool applications like you. The extra burden of educating men on the issues women face and what they can do is exhausting.” This is exactly what I was referring to above.
-
A Retrospective for Men in Tech – what to stop doing, start doing, and continue doing
-
One two-piece suit and three points of bias – I really liked this article pointing out an example of unconscious bias and what can be done
-
My White Boss Talked About Race in America and This is What Happened – diversity isn’t about gender of course. We should all be doing much more.
-
Not a ‘math person’? You may be better at learning to code than you think – “Many barriers to programming… are centered around the idea that programming relies heavily on math abilities, and that idea is not born out in our data”
-
Questions for our first 1:1 – I’m reading The Manager’s Path at the moment and it pointed me to this excellent advice.
-
Software Development Trends 2020: Latest Research and Data – apparently 31% of companies weren’t looking to allow remote work in the next 12 months…
-
Technical Writing – free courses from Google. I haven’t tried the courses but I highly recommend working on writing skills if you’re interested in leveling up as a developer or moving into something like developer advocacy
-
What I learned about COVID-19 from Acute Myeloid Leukemia – a personal story from a Java Champion. I hope we realise by now that social distancing etc is not about you or me, but about everyone else
-
Concurrent Programming Using The Disruptor – SkillsMatter videos are back online, which should make a lot of London User Group presenters happy, so I thought I’d include a link to my first full length presentation, for a laugh.
We’re back! 🎉
We are thrilled to announce that https://t.co/Jicp5jTIO8 — including the SkillCast library — is back online!
Thank you all very much for your patience and all the support you have shown us over the past few months. pic.twitter.com/STZSnI69Rs
— Skills Matter (@skillsmatter) March 26, 2020
And Finally
A chance to catch up on the other IntelliJ IDEA and JetBrains blog posts from this month.
Have you been thinking about learning a new programming language or further developing your existing skills?
Join the #JetBrainsAcademy30dayCodingChallenge, which starts today! Sign up and meet some fellow programmers in our Discord Channel: https://t.co/XukAtJhVzU pic.twitter.com/mOK8S7MNOY— JetBrains Educational Products (@JetBrains_Edu) March 23, 2020
- Software Development the JetBrains Way: Dogfooding (video) – a bit of an insider look at JetBrains and how we do stuff
-
Space 2020 Roadmap – Space is our most recent product and is currently an EAP. This article outlines our plans for this year and the release.
-
Profiling Tools and IntelliJ IDEA Ultimate – I mentioned this above but I want to highlight it again
-
Look Inside Compiled Code with Java Bytecode Decompiler – I love these how2pro blog posts. I love them because I find them so useful as an IntelliJ IDEA user, and I love them because I wish I’d written them!
-
IntelliJ IDEA 2020.1 Goes Beta, and here’s the video overview. I don’t know what I started doing right, these videos used to get 3-4000 views. What’s so great about the last few What’s New videos?
We are hiring! I’m currently interviewing candidates for the Java/JVM Developer Advocate role in my team but it’s not too late to apply. I’m interested in talking to developers who are thinking of switching into an advocacy career, i.e. you don’t need to be an experienced speaker/blogger to apply. Want to work in a fully remote, remote-first team? That’s us!
If you have any interesting or useful Java / JVM news to share via Java Annotated Monthly, leave a comment or drop me a message via Twitter.