Getting to Know IntelliJ IDEA book cover

Getting to Know IntelliJ IDEA Book Launch!

On November 6th 2022, Trisha and I launched our book, Getting to Know IntelliJ IDEA. It’s taken us over two years to write, and it contains a wealth of information; in fact, it contains everything you need to get started using IntelliJ IDEA. We wrote the book because the tools we use matter, and being able to use them effectively improves our productivity and happiness. 

What’s in the book?

The book is over 350 tightly packed A4/US letter-sized pages. The eBook page count, of course, is much larger, at just under 1000 pages… That’s because there are plenty of:

…. annotated screenshots

Annotated screenshot from the book Getting to Know IntelliJ IDEA

… guided tutorials

Tutorial excerpt from the book Getting to Know IntelliJ IDEA

… helpful use cases

Helpful information from the book Getting to Know IntelliJ IDEA

… chapter introductions

Chapter introduction from the book Getting to Know IntelliJ IDEA

… chapter summaries

Bottom Line from the book Getting to Know IntelliJ IDEA

… and that’s before we get started on the Trisha Tips

Trisha Tip from the book Getting to Know IntelliJ IDEA

… and Helen Hints:

Helen Hint from the book Getting to Know IntelliJ IDEA

… plus much more!

How is the book structured?

The book is split into four parts, each of which has a different goal so that you can either read the book front to back, which I recommend if you’re new to IntelliJ IDEA, or you can dip in and out as you need to which more experienced users may want to do.


Part I lays the foundations of what IntelliJ IDEA is, what the key elements of the interface are, and how you can get the most from them. It also introduces the three guiding principles for IntelliJ IDEA:

  • Always Green – IntelliJ IDEA strives to keep your code compiling by flagging errors as they happen and assisting with keeping it syntactically correct.
  • Keyboard First – Using IntelliJ IDEA’s keyboard shortcuts speeds you up in your day-to-day tasks. You probably won’t learn them all, but learning the ones you use helps keep you focused.
  • In the Flow – We all know the feeling when you’re happily coding and don’t want distractions; we have provided lots of tips and tricks to help you stay in this zone while using IntelliJ IDEA.

Part II builds on the foundations laid in Part I for writing and reading code, which is a huge part of our daily jobs. It introduces some key features that help do the heavy lifting in IntelliJ IDEA so you can focus on doing what you do best – figuring out solutions to problems! There are many opportunities for you to try stuff out with the code snippets we have provided, which are all available on GitHub.


Part III takes it to the next level and uses guided tutorials to show you how to open, run, test, and debug real applications. These tutorials get you up and running quickly and introduce you to IntelliJ IDEA’s features so you can explore them at your own pace. Part III also discusses working with dependencies, build tools and version control; central components for real-world applications.


Part IV is where the book pivots to specific functionality you can use in your day-to-day workflow. This is where you can discover areas of IntelliJ IDEA that you might not be familiar with. We’ve included many features that can support you and introduced the “Frequently Asked Questions” element to answer your questions. The Table of Contents gives you clues as to what’s in here!

Header 1 Header 2 Header 3
IntelliJ IDEA essentials

Fixing errors and warnings

Refactoring your code

Formatting and rearranging your code Benefiting from multiple clipboards Using Run configurations effectively
Diving into debugging Expanding on testing Building on build tools
Doing more with dependencies Making version control work for you Viewing and applying local history
Running commands in the terminal Managing work todos Pairing with code with me
Working with plugins Understanding Java in IntelliJ IDEA Looking in your .idea folder
Changing IntelliJ IDEA settings What to do when things go wrong  

Where do I find out more?

You can check out Getting to Know IntelliJ IDEA today and learn how to get the most from your IDE!

Header 1    
 

 
     

How can you stay ahead of the curve as a developer?

Some days I feel like I’m sprinting down the tracks being chased by a high speed freight train that is labelled something like “changes in technology”. I can’t stop and change direction, and I have no choice but to eat on the run. Other days I’m staring at some shiny gem of technology in front of my face, and it’s glinting with iridescent beauty in the light. On those days, nothing else matters, not even the oncoming freight train. I want that shiny thing.

So how do we juggle these seemingly opposing needs?

Grabbing the shiny thing

We’ve all been there, staring at the beautiful gem dangling in front of our faces, drawing us in with its whispers of encouragement and beauty as well as its promises of how it will solve all of our problems. We just want to reach out, grab it, and study it. Nothing else matters. Of course, to do that, we have to make the space and time to learn about it. If we choose to do this, we are (at least to some people) staying ahead of the curve. To other people we are wasting our time and resources. As with anything in our industry, there is a compromise to be had with the ever useful saying of it depends. Let’s dig a little deeper.


Image by Colin Behrens from Pixabay

Image by Colin Behrens from Pixabay

Technology moves fast, we all know that, so how do we temper ourselves when it comes to the next big shiny thing, and, how do we stay ahead of the curve? Do we even need to temper ourselves or stay ahead of the curve? And whose curve is it anyway? It’s interesting that grabbing the next shiny thing has a negative connotation, and staying ahead of the curve has a positive one. I think that they’re tightly coupled; grabbing the shiny thing is often the precursor to staying ahead of the curve. Of course, if the shiny thing turns out to be ours, or the industry’s, kryptonite, you need to be able to drop it as fast as you grabbed it.

Being able to pivot our focus of intrigue quickly and efficiently is definitely a superpower.

Grabbing the shiny thing and subsequently staying ahead of the curve with our knowledge of it both allude to knowing more about that thing than most people. That can bring advantages to our career in a number of ways.

Of course, if we grab all the shiny things, we may find that we don’t know much about anything and are actively behind the curve, but let’s talk about that curve in more detail.

What does it mean to be ahead of the curve?

An excellent question and one I had to look up after drawing several bell curves on my notebook and coming up blank. All it really means is doing something faster than other people. Well, gee, that’s nice and broad!

Do you need to stay ahead of the curve?

Well, it depends. Many successful careers have been formed without grabbing any shiny thing or being ahead of any curve. We don’t need to know the latest and greatest technology to succeed, we can carve out a very successful role for ourselves specialising in technology that has been and gone. If that’s your happy place, you go for it!

However, many of us like shiny things, so I’m going to concentrate on how you can stay ahead of the curve in development specifically.

Whose curve is it anyway?

Technically it’s ours. It’s our learning journey as we’ve identified it. It’s the notion that if we’re ahead of the curve, we’re in the top x percentage of people that know about the thing. It’s where many of us aspire to be for a thing because:

  • we’re scared of being left behind
  • we’re scared of not knowing something
  • we’re scared of being the least informed person in the room

Our need to stay ahead of the curve is, at least in part, driven by fears. However, there are other drivers that apply a different force. Sometimes we aspire to be ahead of the curve in a thing because:

  • we want to earn more money
  • we want to retire early from the rat race
  • we want to be deemed successful by some metric
  • we get our kicks from the latest technology and enjoy learning it – “oooh look, shiny!”

These are all valid fears and valid motivators. There are many more you may have as well.

How do you know which shiny thing to pick?

We don’t. Well, we probably have an inkling, it’s potentially the one that will solve our problems. However, we cannot possibly examine them all and thus stay ahead of the curve in all our interactions and knowledge. That’s just crazy talk. So we need to pick our shiny thing wisely, especially in technology. Choose where we want to be ahead of the majority and focus on that with laser accuracy. We will need to focus our firepower, but we can always pivot direction as the winds change and the shiny thing we were ahead on falls out of technology favor.


crab-new-thing.png

Then we have a choice, stick with the shiny thing we chose, or jump to the next shiny thing we want to be ahead of the curve on. Which brings me on to my next point…

How do you stay ahead of the curve?

The clichè answer is, of course, with great difficulty. However, let’s break it down because there are some very real and tangible things we can do. These are the ones that work for me, your list may be longer or shorter.

We can often fit these around our existing schedule. We can:

  • Read blog posts
  • Watch videos
  • Listen to talks

All of these things are passive. Yes they take time but they’re passive. If we give them our time (instead of feeding our smart-phone addiction, maybe that’s just me), we pick up quite a few nuggets of useful information that will keep us ahead of the oncoming freight train. However, there’s more.

There are some more active tasks that we can do that will require more time from you, but arguably bring more tangible reward in terms of our understanding of the thing. We can:

  • Play with the thing
  • Create content
  • blog posts
  • videos
  • talks

All of these things are active. They require us to take the knowledge that we’ve learned and apply it to something in the real world. Playing with the thing is the first step. Questions such as:

  • What problems does it solve?
  • Whose life does it make easier (assuming it does)?
  • Where could it be applied in our world?
  • What are the competitors?
  • Where can it not be applied/does not work?

… will help you to poke it with a stick and come up with some thoughts about the thing you’ve been learning about. Creating content about the thing is, at least in my experience, one of the best ways to get ahead of the curve on that thing. It helps me to cement the knowledge in my mind, and it has the added bonus that it might help someone else in the community who is learning about the thing. For example, they might not want to be ahead of the curve on the thing, but they do want to learn about it and use it in their day to day.

How do you find the time to stay ahead of the curve?

Now, like anything that is vying for our time, it needs careful prioritisation and resources. We cannot expect to stay ahead of the curve in any of the things if we don’t make time for learning and give ourselves the opportunity. Of course all our time is very squeezed, but we can look for learning opportunities in both our professional and personal life.

Many employees are happy for us to spend a portion of our professional time learning about some new shiny thing, especially if it might benefit them longer term. This is a privilege, and we don’t all have it, but many companies are waking up to the fact that we need time to learn in a number of areas and failure to allow them time to do this will be detrimental to their workforce and potentially the company’s products.

We can also use our personal time for this endeavour. Should you? Only you can answer that one. If it personally benefits us and our career, perhaps that’s a strong use case. It’s a path well trodden that can bring substantial rewards.

Ultimately it’s up to us, our choice of shiny thing, and our schedule. We have got this!