Java Middle – это соль земли от мира информационных технологий. В статье самые полезные материалы, которые помогут прокачать навыки.

Помните правило Парето? Так вот, Middle-разработчики – это люди, которые сделали те самые 20% усилий, и теперь имеют 80% результата. Это не переджуниоры и не недосеньоры. Это отдельная категория программистов.

Что должен знать Java Middle программист?

Начать нужно с анализа требований к мидлу. Для этого подойдет семинар от Александра Марченко. Тут хорошо разграничены требования к Middle и Junior. По-крайней мере, с наиболее распространенной точки зрения. Для самопроверки полезно познакомиться с рынком: посмотреть на требования в вакансиях Java Middle и походить на собеседования.

Фреймворки

Очевидно, что Java Middle-разработчики используют какой-либо фреймворк. Например, Spring или что-то из Java EE. Полезно иметь свой pet project на непривычном для себя стеке и прокачиваться в нем.

Есть два шикарных канала, каждый из которых посвящен одному из этих фреймворков.

Spring

Микросервисы, SpringOne, облачные решения и многое другое в формате лекций, вебинаров и proof-of-concept-ов от лучших зарубежных разработчиков, команды SpringSourceDev.

Java EE

Канал от разработчика Adam Bien, который, согласно его блогу, является Java Champion, NetBeans Dream Team Founding Member, Oracle ACE Director, Java Developer of the Year 2010. Человек фрилансит на стеках Java EE с 1995-го года и до сих пор не уехал кукухой. Заслуживает уважения, тем более что и материал на его канале емкий и наглядный. Адам демонстрирует в формате скринкастов, каким симпатичным и легким для понимания может быть код на Java EE.

Hibernate и JPA

Взаимодействие с данными – важная область, в которой постоянно будет вариться любой Java Middle. Канал «Thoughts of Java» несколько раз в неделю публикует короткие видео. В каждом дается готовый рецепт по той или иной проблеме, связанной с persistence level вашего приложения. Как мапить “Y” и “N” в булевы значения в БД? Как запилить кастомный генератор идентификаторов? Можно ли распарсить EntityGraph из строкового представления? Все это и многое другое расширит опыт и пополнит ваш арсенал программиста трюками на каждый день.

Конференции

Чтобы постоянно качать свой скилл в программировании, нужно держать руку на пульсе. В этом помогут конференции. Они исключительно полезны и как источник знаний, и как компас в мире языка Java. Разработчик, который смотрит исключительно в свой проект, открытый в IDE на рабочем компьютере – умирает как профессионал.

Есть также хорошие зарубежные каналы такой же тематики, один из лучших – Devoxxx.

Наша подборка для Java Middle начинается не с технической книги, а с классики тайм-менеджмента. Это неслучайно. На мидлов ложатся непривычные для них ранее обязанности, а справляться с ними они еще не привыкли. Поэтому создается лишний стресс, который легко может разрушить work-life баланс и привести к выгоранию.

Какой смысл в любых знаниях и навыках, если вы только и будете залипать в монитор, искать мотивацию и бороться с усталостью? Чтобы не столкнуться с выгоранием, нужно осваивать дисциплину и эффективно организовывать работу. К счастью, это обычная наука, такая же, как программирование. И эта книга поможет стартовать в нужном направлении.

Большая подборка книг, видео и статей для Java Middle

Классика шаблонов проектирования от “банды четырех”. Есть и другие отличные книги по паттернам, но эта – основной мастрид. Важно погружаться в подобные архитектурные штуки уже сейчас, потому что мидл – это самостоятельный программист. Ему рано или поздно придется писать что-то с нуля. И тогда навыки хорошего стиля в архитектуре поспособствуют более эффективной работе с полученным заданием.

Большая подборка книг, видео и статей для Java Middle

Библия программной инженерии, книга от опытнейшего разработчика компании IBM. В ней в виде очерков раскрываются важные нюансы управления проектами. Это как “Совершенный код” Макконнела, только про проекты. И это куда важнее кода. Мидл-программист должен уметь трезво смотреть на окружение, в котором он работает. Потому что понимание процессов и проблем, с которыми сталкиваются команды разработчиков каждый день, позволит генерировать правильные идеи и стать ценным сотрудником.

Большая подборка книг, видео и статей для Java Middle

Книги по сертификации

Сертификация Oracle – важный майлстоун для каждого Java Middle developer’а. Не потому, что важна какая-то корочка. На самом деле на нее редко кто смотрит, это скорее имиджевая штука. Хотя, бывает, без нее и на крутой проект не попасть. Но крайне редко.

Просто важно уметь аккумулировать знания и получать их объективную оценку. Да и книги, посвященные подготовке к сертификации, раскрывают важные нюансы Java Core. Ещё они предлагают практику в виде примеров тестов с разбором ошибок. На таком стыке углубленной теории и интересной практики изучение Java пойдет как по маслу. Ну и бумажку красивую получите, заламинируете и маме покажете 🙂

Большая подборка книг, видео и статей для Java Middle

Многопоточность

Если вы Java Middle и конкретно встряли, то встряли вы на многопоточности – к гадалке не ходи. Если еще не встряли, то не мидл еще встрянете. Чтобы избежать таких неприятных ситуаций, нужно учить матчасть по многопоточности на берегу. Для этого пригодится любая специализированная книга по Java Concurrency. Наш выбор остановился на представленной, Java 9 Concurrency Cookbook от Хавьера Гонсалеса как на более свежей. Но можете обратиться и к классике.

Вы пропустили

AEGIS Algorithms Android Angular Apache Airflow Apache Druid Apache Flink Apache Spark API API Canvas AppSec Architecture Artificial Intelligence Astro Authentication Authorization AutoGPT AWS AWS Aurora AWS Boto3 AWS EC2 AWS Lambda Azure Babylon.js Backend bash Beautiful Soup Bento UI Big Data Binary Tree Browser API Bun Career Cassandra Charts ChatGPT Chrome Extension Clean Code CLI ClickHouse Coding Codux Combine Compose Computer Context Fusion Copilot Cosmo Route CProgramming cron Cryptography CSS CTF Cypress DALL-E Data Analysis Data science Database dbt dbt Cloud deno Design Design Patterns Detekt Development Distributed Systems Django Docker Docker Hub Drizzle DRY DuckDB Express FastAPI Flask Flutter For Beginners Front End Development Game Development GCN GCP Geospatial Git GitHub Actions GitHub Pages Gitlab GMS GoFr Golang Google Google Sheets Google Wire GPT-3 GPT3 Gradio Gradle Grafana Graphic Design GraphQL gRPC Guidance HMS Hotwire HTML Huawei HuggingFace IndexedDB InfoSec Interview iOS Jackknife Java JavaScript Jetpack Compose JSON Kafka Kotlin Kubernetes LangChain Laravel Linux LlaMA LLM localStorage Logging Machine Learning Magento Math Mermaid Micro Frontends Mobile Mobile App Development mondayDB MongoDB Mongoose MySQL Naming NestJS NET NetMock Networks NextJS NLP Node.js Nodejs NoSQL NPM OOP OpenAI OTP Pandas PDF PHP Playwright Plotly Polars PostgreSQL Prefect Productivity Programming Prometheus Puppeteer Pushover Python Pytorch Quarkus Rabbitmq RAG Ramda Raspberry Pi React React Native Reactor Redis REST API Revolut Riverpod RProgramming Ruby Ruby on Rails Rust Scalene SCDB ScyllaDB Selenium Servers Sklearn SLO SnowFlake Snowkase Software Architecture Software Development Solara Solid Spring Boot SQL SQLite Streamlit SudoLang Supabase Swift SwiftUI Tailwind CSS Taipy Terraform Testing Transformers TURN TypeScript Ubuntu UI Design Unix UX UX Design Vim Vite VSCode Vue Web Architecture Web Components Web Development Web Frameworks Web Scraping Web-разработка Webassembly Websocket Whisper Widgets WordPress YAML YouTube Zed Наука о данных Разное Тренды

Современный подход к разработке с использованием Next.js