← Back to Skills Library

IntelliJ IDEA

Information Technology > Development environment

Description

IntelliJ IDEA is a powerful Integrated Development Environment (IDE) used by developers for coding in Java and other languages. It offers features like code completion, debugging, testing, version control, and refactoring tools that help streamline the coding process. Advanced users can customize the user interface, use the plugin ecosystem, and integrate with external tools. The IDE also includes database tools, build tools, a profiler, and a memory analyzer. With its ability to create custom live templates and manage plugins, IntelliJ IDEA provides a comprehensive platform for efficient and effective software development.

Expected Behaviors

✎
LEVEL 1

Fundamental Awareness

At the fundamental awareness level, users are expected to understand the basic layout of IntelliJ IDEA and know how to create and manage projects. They should be familiar with the basic file and directory structure within the IDE.

🌱
LEVEL 2

Novice

Novice users should be able to use code completion, run tests, and navigate through the codebase. They should also understand how to use the debugger and version control systems, as well as refactor code.

🌍
LEVEL 3

Intermediate

Intermediate users should have proficiency in using advanced refactoring techniques, live templates, build tools, and database tools. They should also understand how to configure the IDE settings and use the profiler.

⭐
LEVEL 4

Advanced

Advanced users should be able to customize the user interface, use the plugin ecosystem, and use the terminal within the IDE. They should also have proficiency in using structural search and replace, inspection tools, and the memory analyzer.

🏆
LEVEL 5

Expert

Expert users should be able to create custom live templates, create and manage plugins, and customize the IDE's behavior. They should also have proficiency in optimizing the IDE for performance, using advanced debugging techniques, and integrating with external tools.

Micro Skills

✎
LEVEL 1

Fundamental Awareness

Recognizing the project view
Understanding the packages view
Familiarity with the files view
Identifying the Scratches and Consoles view
Understanding the tab layout
Familiarity with the gutter area
Recognizing the status bar
Identifying the breadcrumbs
Understanding the project structure from the navigation bar
Recognizing the search everywhere feature
Identifying the run and debug buttons
Familiarity with the VCS operations popup
Recognizing the file structure tab
Understanding the favorites tab
Identifying the problems tab
Understanding the memory indicator
Familiarity with the quick access to settings
Recognizing the notifications area
Identifying the background tasks popup
Choosing between Java, Kotlin, Groovy, Scala
Understanding the difference between empty project and template project
Understanding how to download and install a new SDK
Recognizing the default project SDK
Choosing a suitable name for the project
Understanding the base directory
Recognizing the .idea directory
Understanding the role of the .iml file
Navigating to the project directory
Understanding the recent projects list
Recognizing the close project option
Understanding the effect of closing a project
Using the window menu to switch projects
Understanding the role of the next project window and previous project window options
Navigating to the reopen closed project option
Recognizing the src directory
Identifying the test directory
Understanding the role of the out directory
Familiarity with the contents of the out directory
Understanding the role of the .idea directory
Recognizing the workspace.xml file
Familiarity with the modules.xml file
Recognizing the .iml file in the project structure
Understanding the contents of the .iml file
🌱
LEVEL 2

Novice

Knowing where to use code completion
Understanding when to use code completion
Understanding different types of breakpoints
Knowing how to manage breakpoints
Knowing different types of test configurations
Understanding how to manage test configurations
Understanding different ways to clone a repository
Knowing how to manage cloned repositories
Knowing different ways to rename symbols
Understanding how to manage renamed symbols
Understanding different ways to navigate
Knowing how to manage navigation results
🌍
LEVEL 3

Intermediate

Knowing what refactoring is
Differentiating between various refactoring techniques
Applying refactoring techniques in practice
Understanding what live templates are
Using existing live templates
Creating custom live templates
Managing live templates
Sharing live templates with team
Connecting to a database
Running SQL queries within the IDE
Viewing and editing data
Managing database connections
Using the database schema diagram
Configuring the build process
Using the 'Make Project' feature
Using the 'Rebuild Project' feature
Using the 'Compile' feature
Managing dependencies
Customizing the editor settings
Managing plugins
Customizing the appearance and behavior settings
Configuring the version control settings
Managing the project structure settings
Starting and stopping the profiler
Interpreting the profiling results
Using the CPU profiler
Using the memory profiler
Using the threads profiler
⭐
LEVEL 4

Advanced

Understanding how to change themes
Knowing how to modify editor colors and fonts
Ability to customize tool windows
Understanding how to configure the status bar and navigation bar
Knowing how to install and uninstall plugins
Understanding how to update plugins
Ability to manage plugin settings
Understanding how to develop custom plugins
Knowing how to open and close the terminal
Ability to execute commands within the terminal
Understanding how to configure the terminal settings
Knowing how to use the terminal for version control operations
Understanding how to create search templates
Knowing how to perform a structural search
Ability to perform a structural replace
Understanding how to save and reuse search templates
Knowing how to run code inspections
Understanding how to interpret inspection results
Ability to fix detected issues using quick-fixes
Understanding how to configure inspection settings
Knowing how to start a memory analysis
Ability to interpret memory analysis results
Understanding how to find memory leaks
Knowing how to optimize memory usage
🏆
LEVEL 5

Expert

Understanding the syntax for creating live templates
Knowing how to use variables in live templates
Ability to test and debug live templates
Understanding how to share live templates with others
Understanding the IntelliJ IDEA plugin architecture
Knowing how to set up a development environment for plugin creation
Ability to write, test, and debug plugins
Understanding how to publish and distribute plugins
Knowing how to change keymap settings
Ability to customize code style settings
Understanding how to modify editor settings
Knowing how to adjust project and IDE settings
Understanding how to manage memory settings
Knowing how to optimize indexing
Ability to manage CPU usage
Understanding how to troubleshoot performance issues
Understanding how to use conditional breakpoints
Knowing how to evaluate expressions during debugging
Ability to use the memory view during debugging
Understanding how to use the thread view during debugging
Knowing how to configure integration with build tools
Ability to integrate with version control systems
Understanding how to integrate with database tools
Knowing how to integrate with cloud services

Skill Overview

  • Expert3 years experience
  • Micro-skills131
  • Roles requiring skill1

Sign up to prepare yourself or your team for a role that requires IntelliJ IDEA.

LoginSign Up