IntelliJ IDEA
IntelliJ IDEA – the Leading Java and Kotlin IDE, by JetBrains
Java Annotated Monthly – February 2020
Holy guacamole there’s a lot in February’s Java Annotated Monthly! And it’s not only because it’s almost two weeks late! It’s also because apparently I was either bored or stuck somewhere with just my phone and read a lot of stuff. Anyway now you have pages of things to read this Valentine’s Day.
Looking to 2020
- Contribute to the JetBrains Developer Ecosystem 2020 Survey! – and maybe win a prize
-
Staring Into My Java Crystal Ball 2020 – from Simon Ritter at Azul
-
What Java Programmers should learn in 2020? – an opinionated list. I certainly wouldn’t learn all of this, especially if you don’t need it for your job/career. But if you were thinking of improving your skills in any of these areas it seems like a reasonable idea to do so.
- Upcoming Software Testing Trends in 2020 – spoiler: AI/ML, integration and automation
-
Top 8 Technology Trends for 2020 and Beyond – not Java-specific
-
8 Ways to Work Smarter in 2020 – yes I am still desperately trying to find a magic cure to getting through my todo list
IntelliJ IDEA News
There’s a surprising amount of IntelliJ IDEA / IDE specific news this month, so it gets its own section.
- Free Tools and Editors devroom, FOSDEM – I helped to host this room together with Lars Vogel from Eclipse and Geertjan Wielenga from NetBeans. Videos from most of the sessions are available from this link
-
IntelliJ for Test Automation Engineers – well structured, step by step course. In fact the first 5 chapters aren’t specific to test automation engineers but are basically “getting started with IntelliJ IDEA”, and could be shared with junior engineers or seniors new to IntelliJ IDEA.
-
IntelliJ IDEA | Full Course – I haven’t had a chance to check out the full course, I’d love to hear what you think of it.
-
IntelliJ Live Templates – I’m always asked about Live Templates. In this blog post somone walks through creating one
-
IntelliJ IDEA best plugins – according to one developer. I happen to agree with some of these, and intend to try a couple more
Java News
- Overview of OpenJDK distributions – er, wow, there’s a lot of them!
-
Inline types and HashMap performance analysis – interesting look at performance for Inline types
-
Records Come to Java – I’ve been playing with records in IntelliJ IDEA 2020.1, and I love them!
-
Will Project Loom obliterate Java Futures? – includes the section “how Loom fibers compare to Kotlin coroutines/Scala fibers”.
- On this topic I saw a talk on Project Loom at FOSDEM that I found very interesting.
-
JVM Ecosystem Report 2020 – this shows the Eclipse IDE market share has dropped significantly, and Eclipse states the data does not support this conclusion.
Java Tutorials & Tips
-
How I once saved half a million dollars with a single character code change – quite a long piece covering why automated performance tests matter and what “micro-optimisations” might make a difference. On a personal note, the optimisation he used, I had to undo in a system I worked on as it adds overhead under other circumstances.
-
HotSpot JVM Performance Tuning Guidelines – I have not looked at this in any depth at all and cannot vouch for its effectiveness, but it seemed useful
-
RoaringBitmap Performance Tricks – Compressible replacement for BitSet
-
Be More Functional: Java’s Functional Interfaces – a reminder of the built in Functional Interfaces that we should use for method parameters if we want the caller to be able to predictably use lambda expressions
-
Java & Databases: Guide to JDBC, Hibernate and Spring Data – “At ~7,250 words…” OK I’ll admit it, I did not read this end to end. But it’s here in case you find it useful.
-
Real-World Software Development (book review)
-
Programming the GPU in Java – interesting to understand the differences between a GPU and CPU
-
Interfacing null-safe code with legacy code – this post uses Eclipse IDE in the examples, but don’t let that distract you from the topic
-
Java SE 11 Programmer I Certification Guide – the early access version of my colleague Mala Gupta‘s book is out now!
Languages, Frameworks, Libraries and Technologies
-
WebAssembly for Java developers – or, more accurately, JVM developers
-
Linked Lists — BaseCS Video Series – part of a course on Computer Science basics (not Java-specific)
-
I don’t want the best – or: the definition of the “best” tool is going to vary from case to case
-
Make Your Java Groovier – another 97 Things piece. The author, Ken Kousen, had a big influence on my decision to work with Groovy some years ago (and I still like it for testing).
- Kotlin Cookbook (podcast) – with Ken Kousen. He also likes Kotlin.
-
Introduction to the Kotlin Language – by now most readers of Annotated Monthly have probably either decided to Kotlin or not to Kotlin. However here’s another intro from the site I use regularly to teach me more about Spring.
- RxJava to Coroutines: end-to-end feature migration – step by step refactoring
-
Running Spring Boot apps as GraalVM native images – I watched a lot of stuff about GraalVM at FOSDEM this month and still don’t really understand it much. But if I keep pasting links in Annotated Monthly, I’ll learn something eventually, right?
-
What is Spring Framework? From Dependency Injection to Web MVC – a good introduction
-
Reactive Spring Flux data from a Pi – uses some examples from the Spring Boot tutorial and runs them on a Raspberry Pi
-
Monoliths are the future – or, you know, if you built something wrong the first time, a new technology ain’t gonna fix it next time around
Culture & Community
I read a LOT in January, apparently! I also read a lot of different things so this is even more than usual a dumping ground of “stuff I found interesting and potentially useful to engineers, developers, and other human beings”.
-
Rethinking how we interview in Microsoft’s Developer Division – because generally technical interviews suck and tell you nothing about a candidate’s suitability
-
Algorithms interviews: theory vs. practice – interesting point about how even if candidates can solve random algorithmic problems in interview, they tend not to use that knowledge in the day job even when it is relevant
-
I hired a wife. And my career took off – I wish I had a wife
- Help, I need somebody! – the second paragraph sounds like me. I’m hearing more about virtual assistants, and I’m wondering why the personal assistant went away in the first place. Is this something technology did away with?
-
Sex and/or gender — working together to get the question right – if you think the way to ask about gender is to have an input with two options, then you really need to read this.
-
Obligated to D&I – or: should I have to do Diversity and Inclusion work because I am a Woman of Colour? “Say that you want to become a powerful statement of the company’s commitment to D&I by being a Black woman who thrives and flourishes as a technical expert.” – i.e., no, just being good at your job is contributing to your organisation’s D&I
-
Young Men Embrace Gender Equality, but They Still Don’t Vacuum – I dunno what to say. No-one wants to do housework, why are men still doing less than women?
-
LinkedIn reveals recruiters are less likely to click on a woman’s profile when headhunting – and yet I hear countless stories of men who are not afraid to message women on LinkedIn to ask them out. Note: LinkedIn is not a dating site.
-
10 things we did to climb 261 places on Stonewall’s Equality Index – real actions a company can take to improve diversity and inclusion
-
How to build and maintain communities – interesting and useful
- In Search of the Shortest Possible Schedule – scientific studies show it is possible to reduce time required for a project by flinging money at it, but only by a maximum of 25%
- Work Is Work – very interesting article applying principles/equations from scaling computing to scaling organisations
- Goodbye, Clean Code – well, not really. But it is an example of “think carefully about what you’re actually doing”
- Real open source projects take mentoring seriously – actionable, specific advice on how to implement mentoring
-
Today’s Most Valuable Tech Companies Are Time Machines – or: how much is your time worth?
-
Group Chat: The Best Way to Totally Stress Out Your Team – (from Basecamp) “Tools encourage default behaviors, they dictate patterns and golden paths.” this article explores the pros and cons of chat, and some good advice for organisations or teams to get the most of out of chat and minimise the downsides
-
Reinventing Performance Management – this is an old piece (2015) about re-thinking performance reviews. Many organisations have either a pointless review system or no review system. This article explores another approach
-
The Performance Management Revolution – I guess a follow up from above (from 2016) examining why performance management has gone through different fashions, and the different purposes it serves.
-
Five Surprising Ways Exercise Changes Your Brain – I don’t know how this ended up on my reading list, but it’s a good read for those of you trying to fit exercise into your 2020 routines
-
BDD Without the Three Amigos: Maybe Talking To Yourself Isn’t So Bad – or: where does the value of Behaviour Driven Development come from?
And Finally
A chance to catch up on the other IntelliJ IDEA and JetBrains blog posts from this month.
- IntelliJ IDEA 2020.1 EAP is available, download it now, or install it via the Toolbox app.
-
Local History in IntelliJ IDEA May Save Your Code – and it really has for me
-
IntelliJ-based IDE Features Roadmap for 2020 – following on from IntelliJ Platform Roadmap for 2020
- Contribute to the JetBrains Developer Ecosystem 2020 Survey! – it’s so useful for us to understand what you’re really doing so we can help. Also, you can win prizes.
Also: we are hiring!! I’m looking for a Java/JVM Developer Advocate to join my team.
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.