Функциональное 
программирование
    Парадигма программирования, в которой программы строятся из функций.
     Способность выполнять одновременно, то есть без предписанного порядка во времени, несколько параллельных задач — потоков.
    Система управления реляционными базами данных, в которых таблицы связаны между собой.
     Среда персистентности с открытым исходным кодом, которая упрощает реализацию доступа к базе данных в приложениях Java.
     Фреймворк для языка Java, предназначенный для работы с базами данных.
     Универсальный фреймворк с открытым исходным кодом для Java-платформы.
    Архитектурный стиль, используется для создания веб-служб, которые позволяют обмениваться данными между клиентами и серверами и API для их построения.
    Переработка исходного кода программы, чтобы он стал более простым и понятным.
    Комплекс программ, предназначенных для управления ресурсами компьютера и организации взаимодействия с пользователем.
    Семейство операционных систем, работающих на основе одноименного ядра. Есть множество дистрибутивов, выполняющих конкретные задачи.
    Взаимосвязанные вычислительные устройства, которые могут обмениваться данными и совместно использовать ресурсы.
    Протокол, по которому компьютеры обмениваются данными в интернете. Могут передаваться файлы разных форматов.
    Семейство нереляционных баз данных. В них разработчики отошли от использования традиционной табличной модели представления информации.
    Инструмент для хранения и управления репозиториями Git. Он дает возможность выполнять совместную разработку силами нескольких команд, обновлять код и откатывать изменения.
    Фреймворк для языка программирования Java, предназначенный для автоматического тестирования программ.
           Технология автоматизации тестирования и доставки новых модулей разрабатываемого проекта.