Изучите настройку производительности Java
Один из навыков, это знание и понимание внутренних функций JVM, поведения GC и настройки производительности Java.
По мере роста вашего опыта Java, и вы станете старшим разработчиком Java с более чем 5-6-летним опытом, от вас ожидается знать как общую картину, так и небольшие подробности о фундаментальных принципах Java.
Если вы не можете профилировать приложение или не можете понять, почему он медленный или как сделать его быстрым, то вам следует прочитать хорошую книгу о внутренних функциях JVM и настройке производительности.
Ежедневное кодирование в течение 2 часов
Еще одна вещь заключается в том, что по мере роста вашего опыта вы тратите свое время на координацию, отвечаете на электронные письма, являетесь катализатором, устранением неполадок, наставничеством и, как правило, являетесь руководителем проекта.
То, что вы оставили, – это кодирование, которое является самым важным навыком для программиста.
Если вы чувствуете, что недостаточно выполняете кодирование, тогда принимайте решение для кодирования каждый день. По крайней мере, напишите что-нибудь, будь то в вашем проекте, в среде с открытым исходным кодом, в библиотеке или в утилите.
Поскольку начало является самым сложным делом, мы предлагаем, чтобы в любое время, когда вы чувствуете сопротивление, начинайте читать и делать рефакторинг кода для удовольствия. Вам это понравится, и в этом случае вы также будете писать код.
Улучшайте свои знания структур данных, алгоритмов и логики программирования.
Профилируйте Ваше приложение Java раз в месяц
В этой резолюции прилагается первая резолюция о чтении хорошей книги о внутренних компонентах JVM и настройке производительности. Просто прочтения книги будет недостаточно. Вы должны применить эти знания в своем живом проекте.
Предлагаем вам профилировать ваше приложение Java, по крайней мере один раз в месяц, и тратить много времени на понимание и анализ результатов.
Вы также можете взять кучу с вашего Java-процесса или, если у вас был кратковременный крах, взять эту кучу и выяснить, какой объект занимает большую часть вашей памяти. Есть ли утечка памяти в вашем приложении Java?
В чем причина? Что произойдет, если другие 100K новых клиентов получат доступ к вашему приложению? Если вы можете спокойно ответить на все эти вопросы, тогда вы в хорошей форме.
Участвуйте в проблемах с кодированием
Эта цель, опять же, связана с нашей второй резолюцией – писать код каждый день в течение 2 часов. Давайте посмотрим правде в глаза, иногда у вас нет достаточных шансов в вашем живом проекте для кодирования.
Если вы голодаете за сложный код, то нет ничего лучше, чем участвовать в программировании.
В Интернете есть много веб-сайтов, в которых есть проблемы с программированием и дается возможность проверить свои навыки, но
Изучение сетевого программирования в Java
Еще одна вещь, заключается в том, что разработчикам Java необходимо улучшить их программирование сокетов и основы сети.
Многие разработчики не могут ответить на большинство вопросов сетевого программирования Java.
Некоторые из них даже пытаются описать ключевые различия между TCP и UDP, которые, возможно слишком простыми, чтобы спросить любого
Если вы чувствуете, что у вас недостаточно возможностей изучать программирование сокетов на Java или что вам не нужно, потому что вы являетесь разработчиком веб-приложений Java, работающим с
Java 9
В 2017 году было выпущено несколько крупных релизов, а одним из них был
Тестирование устройства
Если вы хотите стать лучшим разработчиком, вам следует работать над навыками тестирования. И не только модульное тестирование, но и автоматическое тестирование в целом. Это также включает интеграционное тестирование. Вы можете изучить
Резюме
Если вы являетесь Java-программистом с опытом работы в пару лет, вы также можете вдохновиться этим списком, чтобы установить свою цель. Некоторые другие вещи, которые вы можете добавить в этот список, – это обучение
Это является простым и достижимым, потому что небольшие успехи приводят к большим успехам. Установка небольших целей и их достижение лучше, чем постановка больших, непрактичных целей и неудача перед стартом.