Содержание

Специальность Java developer, обязанности Java разработчиков

Java Developer – это специалист, основной задачей которого является создание сложных корпоративных систем для обработки данных. К таким системам можно отнести настольные приложения, веб-сервисы, облачные хранилища данных, веб-приложения, а также сложные банковские системы.

Java – объектно-ориентированный строго-типизированный язык программирования с С-подобным синтаксисом, который наиболее близок к C++ и C#. В Java есть как свои преимущества, так и недостатки. Учитывая тот факт, что для запуска Java-приложений используется специальная виртуальная машина, то приложения запускаются медленнее, чем в случае с C++, но эта виртуальная машина позволяет запускать приложения на той операционной системе, где она установлена, что обеспечивает независимость от платформы. Java имеет огромное количество библиотек и фреймворков, которые позволяют разрабатывать собственные приложения быстрее.

Java-программисты востребованы в тех областях, где используют проекты с многопользовательской обработкой данных и высокими требованиями к уровню безопасности. Java-программист обычно разрабатывает архитектуру приложения, бизнес-логику приложения, поддерживает и сопровождает проект и пишет техническую документацию.

Java-разработчик должен обладать уверенными знаниями объектно-ориентированного программирования, уметь писать простой читабельный код с применением шаблонов проектирования, чтобы разработчик с которым он работает в команде мог разобраться в его коде, знать алгоритмы и структуры данных, так как для многопользовательского приложения важна скорость выполнения и приходится искать самый эффективный алгоритм, знать базы данных, так как очень часто приходится выполнять сложные запросы и выборки из нескольких таблиц. Java имеет множество библиотек и фреймворков. Разработчикам нужно знать их не только на уровне использования, но и понимать, как эти библиотеки и фреймворки устроены внутри.

Для легкого старта в изучении языка Java ITVDN рекомендует пройти курсы Java Starter и Java Essential. Java разработчику не обойтись без глубоких знаний баз данных (SQL), а также алгоритмов и шаблонов проектирования. После этого можно переходить к уровню Java Professional.

Требования к Java Developer:

  • Глубокие знания языка программирования Java
  • Уверенные знания ООП и шаблонов проектирования
  • Уверенные знания алгоритмов и структур данных
  • Знания баз данных (MySQL или PostgreSQL)
  • Знания JDBC и базовые знание Hibernate
  • Знания систем тестирования приложений (TDD)
  • Знание веб-сервисов таких как XML и JSON
  • Базовые знание фреймворка Spring
  • Английский язык на уровне чтения технической документации (углубленные знания будут преимуществом)

Java разработчик может занимать такие должности:


Trainee Java Developer

Junior/Middle/Senior Java Developer

Программист Java

Java Team Lead

Java Solution Architect

Lead Java Engineer

itvdn.com

С чего начать изучение Java программирования

Язык Java

Java — не просто язык программирования, а целая программная платформа с широкими возможностями. Основными составляющими блоками этой платформы являются:

  • Базовые инструменты для написания и запуска программ на Java.
  • Библиотеки и классы — ядро языка. Они обеспечивают основные функциональные возможности программирования на Java: обработку исключений, многопоточность, коллекции, логирование, рефлексию, безопасность, работу с сетью, работу с XML, сериализацию, регулярные выражения.
  • Инструменты для развертывания и автоматического запуска приложений.
  • Инструменты для создания фронтенда (GUI, интерфейса пользователя). Это классы библиотек JavaFX, Swing и Java2D.
  • Библиотеки, для работы с базами данных, удаленно по сети, такие как JDBC, JNDI, RMI и Java RMI-IIOP.

Если вы хотите узнать больше о классах и инструментах Java, прочтите документацию Oracle — там есть всё.

Первая версия Java JDK 1.0 включала «всего лишь» несколько сотен классов. Зато в настоящее время их число увеличилось до нескольких тысяч. За время жизни языка авторы внесли огромное количество изменений, которые повышают его безопасность, функциональность и переносимость. Благодаря постоянному совершенствованию и поддержке языка со стороны его разработчиков, Java всегда шла в ногу с развитием IT-технологий. Так что в настоящее время перед нами — современный язык, основными характеристиками которого являются:

  • Невысокий порог вхождения.
    Изучать Java проще, чем большинство языков с Си-подобным синтаксисом.

  • Объектно-ориентированность.
    Программы в Java строятся на основании объектов и их взаимодействии, что позволяет задействовать все преимущества ООП.

  • Переносимость.
    Благодаря использованию интерпретатора — виртуальной машины Java, — программы переносятся на различные платформы и устройства.

  • Платформенная независимость
    Программа, написанная на Java для одной платформы, компилируется в промежуточный байт-код, который может запускаться на других платформах благодаря интерпретации с помощью JVM под каждую платформу.

  • Развитая многопоточность.
    Средства Java позволяют управлять выполнением нескольких потоков, что позволяет создавать многопоточные приложения.

  • Безопасность.
    Благодаря встроенной в JVM верификации байт-кода, отсутствии в Java ручного управления памятью, слежением за переполнением стека, а также наличию различных API, которые позволяют контролировать безопасность, на этом языке можно создавать действительно безопасные приложения.

  • Отказоустойчивость.
    Механизм исключений как при компиляции, так и во время непосредственного выполнения повышает отказоустойчивость программ и снижает количество ошибок.

  • Интерпретируемость.
    Java-интерпретатор может выполнять байт-коды Java на любой машине, на которой имеется JVM и JRE.

  • Распределенность.
    У Java есть инструменты для создания распределенных приложений.

  • Производительность.
    Использование JIT (Just-in-time)-компилятора обеспечивает высокую скорость работу приложений, сопоставимую по скорости с языками С и С++.

Как начать программировать на Java?

Чтобы начать изучение Java с нуля, желательно разобраться с основными понятиями: что включает в себя язык Java, что такое программа на Java и как происходит ее выполнение. Затем — переходить к синтаксису языка, его основам, изучению библиотек. После прочтения пары статей о языке Java, можно браться за его основы.

Последовательность шагов наглядно демонстрирует эта схема эта блок-схема:

Что нужно для программирования на Java?

Для начала вам нужно установить программное обеспечение для разработки и запуска программ — JDK (Java Development Kit). После этого настройте JDK на компьютере, скачайте и установите одну из IDE (Integrated Development Environment) — это среда для разработки программного обеспечения. Самая популярная IDE — IntelliJ IDEA. Альтернативы — Eclipse, NetBeans, JCreator и даже обычный блокнот.

Установка Java на компьютер

Как мы уже выяснили, когда мы изучаем Java с нуля, первый шаг — это установка JDK. Для этого вам потребуется проделать несколько простых операций:

  1. Перейти на сайт Oracle.
  2. Выбрать и скачать установочный файл в зависимости от вашей операционной системы.
  3. Выполнить установку, следуя рекомендациям программы-установщика.
  4. Настроить переменную окружения, если вы используете Windows.

Вот, например, описание установки JDK и переменной окружения для операционной системы Windows.

Основные определения

Если вы только начали изучать Java, непременно встретите следующие термины:

JVM (Java Virtual Machine) — виртуальная машина Java. Это программный модуль, зависящий от платформы, который служит для интерпретации исходного байт-кода в машинный код и его исполнения.

JRE (Java Runtime Environment) — среда выполнения Java. Включает в себя реализацию JVM для конкретной платформы и набор библиотек, необходимых для выполнения программ на Java.

JDK (Java Development Kit) — набор инструментов разработчика, необходимых для написания программ на Java. Включает в себя компилятор, JRE, набор стандартных библиотек Java, документацию, различные утилиты.

Исходный код — текстовый файл на языке Java, имеющий расширение .java

Байт-код — машинно-независимый низкоуровневый код, представляющий собой набор инструкций для JVM.

Машинный код — набор машинных инструкций в двоичном формате, которые непосредственно выполняются процессором.

Компиляция — преобразование исходного кода в байт-код.

Интерпретация — преобразование байт-кода в машинный код.

Платформа — программно-аппаратная среда, в которой происходит выполнение программ и приложений. Наиболее популярными платформами являются Microsoft Windows, Linux, ОС Solaris и Mac OS.

Эта схема поможет лучше ориентироваться в понятиях JVM, JRE и JDK:

Жизненный цикл программы

Жизненный цикл программы на языке Java начинается с написания исходного кода в текстовом формате. Обычно для этого используются специальные среды для разработки — Integrated Development Environment (IDE), но простые программы можно набирать и в текстовом редакторе, даже в Notepad, который поставляется с любой редакцией ОС Windows. Исходный код необходимо сохранить в файл, имеющий расширение .java.

Пример программы HelloWorld.java:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("This is my first program");
    }
}

Прежде, чем выполнить этот исходный код, его необходимо скомпилировать в байт-код с помощью компилятора. Компилятор — это утилита, которая является частью JDK. В результате его работы мы получим файл с расширением .class. Он содержит байт-код — инструкции для JVM, формат которых напоминает язык ассемблер. Наша программа HelloWorld.java будет скомпилирована в файл HelloWorld.class. Платформа Java не предусматривает инструментов для редактирования байт-кода, но возможность просмотреть его все же есть. Чтобы посмотреть, что представляет собой байт-код программы на Java, можно воспользоваться утилитой дизасcемблера javap, которая входит в состав JDK. HelloWorld. class будет содержать такой байт-код:

Compiled from "HelloWorld.java"
public class HelloWorld {
  public HelloWorld();
    Code:
0: aload_0
1: invokespecial #1 
4: return

  public static void main(java.lang.String[]);
    Code:
0: getstatic #2
3: ldc       #3
5:invokevirtual#4
8: return
}

Теперь наша программа хранится в скомпилированном виде в файле HelloWorld.class. Для ее выполнения на любой из платформ необходима установленная JRE. Возможность переносимости Java-программ на любую платформу обеспечивается за счет использования JVM.

Исполнение программы — это выполнение байт-кода виртуальной машиной Java. Выполнение программ производит утилита java, которой необходимо указать имя скомпилированного файла. Выполнение происходит в следующей последовательности:

  1. В оперативной памяти компьютера запускается JVM. По сути это программа, которая служит для выполнения написанных нами Java-программ.
  2. С помощью начального загрузчика классов JVM загружает и инициализирует наш класс в памяти компьютера. В нашем примере это класс HelloWorld.
  3. Далее в нашем классе JVM ищет метод public static void main(String[]).
  4. Выполняется код метода main. Если это необходимо для выполнения программы, производиться загрузка и инициализация других классов.
  5. После выполнения кода производится уборка мусора — очистка памяти и закрытие программы JVM.

При выполнении всех этих действий JVM интерпретирует (преобразовывает) байт-код в машинную инструкцию для процессора с учетом операционной системы, на которой она выполняется.

Схематично жизненный цикл Java-программы можно представить так:

Выбор и установка среды разработки

Чтобы быстро и эффективно программировать на Java, вам понадобится среда разработки — приложение для написания программ на Java.

Наиболее популярными IDE среди разработчиков на Java являются:

  • IntelliJ IDEA
  • Eclipse
  • NetBeans

Согласно обзору популярности инструментов Java-разработки, который подготовила компания RebelLabs, в 2017 году лидером стал IntelliJ IDEA, второе место занимает Eclipse, а на третьем месте со значительным отставанием от пары лидеров расположился NetBeans. Доля остальных IDE невелика и не превышает в общем объеме 3%.

Хороший сравнительный обзор этих IDE можно посмотреть здесь. Для новичков вполне достаточно установить IntelliJ IDEA Community Edition. Во-первых, вы получите все плюсы современной IDE, такие как: подсказки, проверка кода, возможность отладки кода, удобная интеграция с БД, серверами и поддержка многих инструментов и технологий разработки. Во-вторых, вы сделаете первый шаг в освоении профессионального инструмента разработки, используемого большинством разработчиков.

Инструкция по установке IntelliJ IDEA приводится в начале третьего уровня обучающего онлайн-курса JavaRush.

За сколько можно выучить Java?

На изучение основ Java и выработку навыка программирования, скорее всего, уйдет от 6 до 12 месяцев, в зависимости от интенсивности вашего обучения. Чтобы сделать этот процесс систематическим, составьте план обучения, соберите необходимые источники и выделяйте несколько часов в день на занятия. Не забывайте о том, что ключевое в обучении программированию — это практика.

Заключение

Когда мы изучаем Java самостоятельно, на деле это оказывается проще, чем в теории. Для этого вполне достаточно знаний на уровне пользователя персонального компьютера. Чтобы эффективно начать изучать Java, проделайте несколько простых шагов:

  1. Установите Java на компьютер
  2. Изучите основные понятия
  3. Установите среду разработки
  4. Напишите и запустите свою первую программу.

English version of this post: How to start learning Java on CodeGym

javarush.ru

Программист Java: требования и необходимые знания


Создает сложные приложения, используя язык Java.


Программист Java – это сложная и интересная профессия, основой которой является разработка продвинутых приложений на одноименном языке программирования. Услуги представителей данной специальности востребованы при создании сайтов электронной коммерции, так как java-приложения способны оперативно и корректно собирать информацию о посетителях интернет-страницы. Спектр обязанностей программистов java также включает в себя улучшение функционала сайта и программное редактирование его дизайна.

Специфика профессии


Работа java-программистом имеет ряд ключевых особенностей, которые являются своеобразным ситом, просеивающим неподходящих кандидатов.

  1. проектирование архитектуры модулей приложений, а также программной логики;
  2. проведение тестов и отладка созданных программных продуктов;
  3. внедрение приложений в работу с последующим техническим сопровождением.


Java – это один из самых популярных языков программирования не только в нашей стране, но и во всем мире.

Программист Java: профессиональные навыки


Требования к java-программисту предъявляются достаточно серьезные, ведь истинный профессионал должен обладать минимальным набором навыков:

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


Java-программист без опыта может работать удаленно, «прокачивая» свои способности до уровня, необходимого для устройства в крупную компанию.

Обучение программированию на Java


Ответ на вопрос «как стать java-программистом?» имеет два варианта. Первый – это получение фундаментального высшего образования в области программирования и информационных технологий с последующим самостоятельным изучением языка. Второй – получение соответствующих знаний и навыков на онлайн-курсах и видеоуроках.

info-hit.ru

Обучение программированию на Java / Habr


Я собираюсь переучить на Java-программистов миллион человек.
Я собрал команду и сделал обучающий сервис, которым могу гордиться.
Рад сообщить, что теперь стать программистом легко, независимо от образования и опыта.

JavaRush — изучение программирования на Java в виде онлайн-игры

Как насчет совсем нового подхода к изучению программирования и образованию вообще? Не похожего ни на что из того, что вы видели раньше. Как насчет обучения, где есть цель, средства и результат?

Рад представить вам новые онлайн курсы обучения программированию на Java.

1 Обучение сделано в виде онлайн-игры

Вы берете задание, выполняете его и получаете награду. Думаю вам это и понятно и привычно. Задачи будут самые разнообразные: чтение кода, решение задач, видео-уроки, просмотр Футурамы, исправление ошибок в коде, добавление новых фич и многое другое.

Возможно, вам даже придется писать программы для своего робота, чтобы сражаться со своими друзьями на «арене» или что-нибудь еще.

2 Только самое необходимое

Чтобы курс не растянулся на 5 лет, я выкинул из него все полезное и оставил только самое необходимое. Я проанализировал десятки вакансий на рынке труда. В курс включены все темы, которые нужно знать новичку Java Junior Developer, чтобы устроиться на работу.

3 Я основательно подошел к вашему обучению

Полный курс содержит 900 мини-лекций и 2500(!) практических задач. Задачи небольшие, но их много, очень много. Как раз тот минимум, выполнив который, вы получите столь ценный опыт.

Также есть работа в парах, различные игры, большие задачи, реальные проекты и другие виды практики.

4 Вы не можете пройти игру до конца и не стать программистом

Курс разбит на 80 уровней. Вы можете перейти на следующий уровень, только если решили большую часть задач текущего уровня. Начиная с маленьких и легких, и заканчивая большими и очень полезными. Каждый, дошедший до конца, получит 500-1000 часов практического опыта. Серьезная заявка на победу. И на работу.

5 Целенаправленная подготовка к собеседованию

Последние 10 уровней посвящены написанию резюме, подготовке к прохождению собеседования и навыкам работе в команде. Будут добавлены видео-записи собеседований и их разбор. Ну и, конечно, типичные вопросы на собеседованиях с ответами.

Также вам пригодится «план развития программиста на 5 лет» и «карта дальнейших возможностей программиста» на следующие 5 лет.

6 Задачи можно решать прямо на сайте


Это очень удобно и эффективно. Только что в лекциях вы разбирали новую задачу, а теперь прямо тут же должны сделать свою по аналогии. Для тех, кто хочет решать задачи в IDE, есть плагин, который позволяет получить задачу за два клика, а сдать на проверку — за один.

Лекции, разбор примеров, решение задач прямо на сайте, решение задач в IDE – разрыв между теорией и практикой тонок, как никогда.

7 Мгновенная проверка задач (меньше секунды)

Знакома ли вам ситуация, когда вы сдали задачу/работу на проверку, а результатов пришлось ждать неделю, т.к. проверяющий занят?
В JavaRush вы узнаете результаты компиляции и проверки задачи меньше чем через секунду, после нажатия кнопки «Выполнить/Проверить»

8 JavaRush любит, когда вы сидите в ВКонтакте во время учебы

В ВКонтакте есть группа посвященная проекту. В ней вы можете обсудить задачи, поделится достижениями с друзьями, посмотреть видео-уроки или попросить помощи.

9 Охват материала

В лекциях есть много ссылок на различные сайты, где вы можете почитать объяснения других лекторов. Моя цель, чтобы вы поняли материал, а не слушали только меня.

10 Для того чтобы стать программистом вам нужны только мозги и компьютер

Это займет у вас от 3 до 6 месяцев, в зависимости от того, сколько времени вы будете уделять практике.

Каждому уровню соответствует отдельная солнечная система на звездной карте. Лекциям внутри уровня – планеты солнечной системы. Каждая открытая лекция – это перелёт на очередную планету. Когда все лекции открыты, корабль перелетает к следующей звездной системе.

За решение практических задач, просмотр мультфильмов и многое другое вы получаете награду – несколько единиц «чёрной материи».


Вы можете сравнивать продвижение себя и ваших друзей на одной общей карте. Люди сравнивают свои успехи с успехами друзей и решают больше задач. Этого мне и надо.

Лекции

Лекции я постарался сделать небольшими, интересными и наглядными. Вот пример одной из них:

Практические задания

Написать программу – это практическое задание средней сложности. Для его выполнения вы должны написать программу на Java. Для вашего удобства, а также упрощения проверки программы, код стоит писать только в месте, отмеченном комментарием «напишите тут ваш код»

Также, в случае успешной компиляции, программа автоматически будет протестирована – правильно ли решена поставленная задача.

Домашние задания нужно решать в Intellij IDEA. Я написал специальный плагин для IDEA, который даст вам возможность мгновенно проверять вашу программу на правильность. Он состоит всего из двух кнопок:

Левая — показывает список доступных для вас задач:


Правая – отправляет задачу на сервер на проверку:


Также вы можете зарабатывать «черную материю» просматривая на сайте серии Футурамы:


С остальными типами заданий вы можете ознакомится в самой игре, если, конечно, решите ее пройти. Также можно почитать полное описание игры. 

Чему вы учитесь


Первые 40 уровней вы изучаете Java Core. Следующие 40 – основы таких технологий как JSP, Servlets, Hibernate, Spring. Изучение Java Core – очень детальное, все остальное — в той минимальной версии, которая может понадобиться Java Junior при устройстве на работу.

Если в вашем городе есть крупные IT-компании, после 40 уровня можно попробовать устроиться к ним на стажировку. Если их нет или вам недостает опыта, вы можете продолжить изучение технологий Java, пока не дойдете до 80 уровня.

В конце много времени будет уделяться составлению резюме, разбору типичных вопросов на собеседованиях и рекомендациям по работе в команде.

Курс в разработке (сделано 25%)


В настоящий момент курс находится в разработке. Уже сделано около 25% всей работы. Вполне достаточно, чтобы примерить на себя роль Java-программиста, оценить и свои силы и JavaRush. Пробуйте, может быть с этого маленького события и начнется череда волшебных изменений в вашей жизни.

Планы на будущее

Многие фичи уже сделаны, над многими еще идет работа, а остальное — скромно ждёт своей очереди. Будет добавлена анимация, обучающие игры, нелинейный сценарий развития. Полный курс будет включать 80 уровней, 900 лекций и две с половиной тысячи практических занятий. А также видеозаписи собеседований и их разбор. Образцы составления резюме и удобный сервис для этого.

Многое будет зависеть от ваших отзывов и от посещаемости сервиса.

Почему Silverlight?

Игра написана на Silverlight. Обучающий курс изначально проектировался именно в виде онлайн-игры: много анимации, встроенные мини-игры, видео, мультфильмы и еще много чего. Так что выбор тут был между Silverlight (в котором у меня хороший опыт) и Flash (в котором опыта гораздо меньше).

Простые задачи решаются на сайте, для всего остального есть MasterCard Intellij IDEA.

Программирование – это просто и интересно.

Оплата

Сейчас сервис бесплатен. В то же время, для его успешного развития нужны средства. Законченный сервис лучше, чем заброшенный.

Образовательные гранты

Очень бы не помешали. Надеюсь, мое видение образования, описанное в статье «правильный университет» найдет свой отклик в сердцах единомышленников.
Также, надеюсь на ваши отзывы. Чем больше восторженных отзывов получит проект, тем больше шансов, что какой-нибудь хороший фонд, заинтересованный в развитии образования, даст нам грант на развитие.

Модель Freemium

При этом подходе основной функционал сервиса — бесплатен. Развитие же сервиса осуществляется на доходы, которые получены с дополнительных платных услуг. Это могут быть личные консультации, наборы специально написанных задач, более глубокое обучение ключевым темам. Еще, например, видео лекции, видео уроки, написание резюме, подготовка к собеседованию.

Или я слишком оптимистичен или слишком наивен, или одно из двух.

В же чем прелесть эры онлайн-курсов?

Они уничтожат индустрию, которую по ошибке называют высшим образованием. 

Чтобы устроиться на работу новичком Java-программистом, надо хорошо знать Java Core, основы базовых фреймворков (Hibernate, Spring, JSP, Servlets) и иметь опыт программирования хотя-бы несколько месяцев.

Формально многому из этого вас в вузах и учат. По факту – почти ничему из вышеописанного.

Все вузы разные, поэтому я, для простоты, сравню средний технический вуз со средней вакансией на Junior Java-программиста и напишу своё видение полученной ситуации. Не стоит воспринимать эту схему как истину в последней инстанции, скорее как упрощённый взгляд на вещи, с целью внести хоть какую-то ясность.

Java Junior Developer

Так, скорее всего, обстоят дела, когда вы уже закончили вуз и только ищите работу:

Все, чему вас не научил вуз, но что нужно в работе, вам придется выучить самому. Скорее всего по книжкам месяцев за 6-12. Если у вас есть друг-программист, который готов быть вашим наставником, этот срок можно сократить в 2-3 раза.

Также очевидно, что в вузе вы учили много всего, что не нужно вам при первом устройстве на работу. Возможно большая часть этих знаний не нужна вам сразу, но понадобится в будущем. Вот как изменится ситуация лет через 5.

Java Senior Developer

Есть мнение, что чтобы стать специалистом в своем деле, нужно потратить на него около 10,000 часов. В году чуть более 2000 рабочих часов, так что это примерно 5 лет.

А вот так будут обстоять дела у Java-программиста с 5 годами опыта работы:

Многие цифры неточны. Сложно привести какие-то конкретные цифры, ведь так много разных вузов, так много разных вакансий. Но общая тенденция верна.

Процентов 80 из того, что вы учите в вузе, вам не пригодится никогда. Так, разминка для мозгов. Как шахматы, кроссворды или логические игры.

Очень много придется учить самому. Люди ленивы. Если не будете лениться – будете зарабатывать $3К-$4К к пяти годам работы программистом.

Вуз – хороший

Объективность требует сказать, что вуз, на самом деле, неплохое место. Там можно расти над собой, заниматься интересными вещами, гулять, пока молодой. Это все тоже надо.

К тому же вуз дает диплом, что может помочь при трудоустройству в гос. контору или при получении рабочей визы заграницу. Хотя наши негосударственные ИТ-компании обычно не обращают внимания на диплом. Не стоит забывать и про отсрочку от армии.

В целом ситуация с вузом выглядит не так уж плохо. Не идеально, но и не плохо.

Единственное, чего вуз вам скорее всего не даст – это профессию. Поэтому я и создал JavaRush – сервис онлайн обучения программированию на Java.

Еще год назад такого сервиса не было даже в планах, и мне приходилось обучать одновременно всего по несколько человек. Сейчас JavaRush пользуются больше тысячи человек и где-то треть из них занимается каждый день.

Так что, имеющие желание, но не имеющие возможности – пробуем.

Повторюсь. В настоящий момент курс находится в разработке. Сделано около 25% всей работы (20 уровней из 80). Вполне достаточно, чтобы примерить на себя роль Java-программиста, а также оценить и свои силы и JavaRush.

Всегда ваш, General

P.S.

Запрос прав при авторизации ВКЛичные данные и друзья
Надо для того, чтобы отображать на карте звездного неба прогресс вас и ваших друзей.

Ваши аудиозаписи и видеозаписи

Серии Футурамы залиты в ВК. Я показываю их прямо оттуда.

(Чтобы не сильно нагружать мой сервер раздачей видео)

Работа со стеной

Чтобы вы могли приглашать друзей изучать Java вместе с вами.

(Это можно сделать в разделе «Друзья» )

И ничего более.

Проверял работу только под Windows

Похоже, что под Linux с Moonlight не работает.

Под MacOSX еще никто не отписался.

Сервис расчитан не на программистов

Основная аудитория — это люди, которые хотят быть программистами, но которым еще не попался хороший учитель.

Если у вас есть линукс и аккаунт на гитхабе, то вряд ли вам пригодится курс джава-джуниора.

Почему выбран Silverlight1 Нет никакой связи между тем, какой язык мы учим и на чем написано приложение для занятий
Если бы я писал обучающее приложение для iPad, я написла бы его на Objective C, а не на Java
Если бы я обучал SQL, я тоже не стал бы писать клиента на SQL

2 У каждого языка/фреймворка есть свое преднозначение

У Java — это Android и Enterprise.

А для RIA-приложений лучше всего подходят Flash & Silverlight

3 У меня много опыта на Silverlight

Из всех технологий, которые я знаю, я выбрал самую подходящую для онлайн-игры.

Если бы я не знал Silverlight, но хорошо знал Flash, клиент был бы на Flash.

4 На хабре много тру айтишников, которые принципиально используют Linux и не используют ВК.

Если вы тру айтишник и у вас только Linux, возможно вы уже переросли курс джава-джуниора.

5 Надо бы писать все на Java!

Не слишком ли много требований для проекта, который начинался просто как желание помочь людям и хобби?

6 Увидел что Silverlight и сразу закрыл

Если технология используемая для создания клиента перевесила для вас все преимущества проекта, то может быть не очень то и хотелось?

Кто хочет — ищет возможность (и я ее предоставил), кто не хочет — ищет причину.

У кого проблемы с авторизацией — первый раз заходим по этой ссылке.

habr.com

Программист Java — БудуГуру

Программист Java — БудуГуру

Java представляет собой язык программирования и платформу вычислений, которая была впервые выпущена Sun Microsystems в 1995 году. Он используется для разработки корпоративных приложений и видеоигр, веб-приложений с использованием JSP (Java Server Pages), а также родных Android-приложений для смартфонов и планшетов.

Java – один из самых востребованных языков программирования не только в России, но и в мире. В рейтинге, который составил софтверный портал TIOBE, в апреле 2015 года Java занял первое место по популярности Знание Java требуется почти в 14% программистских вакансий — это довольно внушительная доля. А значит Java стоит выучить каждому программисту.

Обязанности

Проектирование и разработка

Главная задача Java-программиста — это создание c помощью одноименного языка разработки приложений и модулей, их архитектуры и логики. При этом программист должен уметь составлять технические задания (ТЗ) и разбираться в специальной терминологии.

Тестирование и внедрение

В задачи Java — программиста также входит сопровождение проекта по созданию приложений или модулей: их тестирование, отладка (в том случае, если обнаружатся ошибки) и, наконец, внедрение — запуск в работу.

Сопровождение

Еще одна обязанность программиста — разработка инструкций по работе с приложениями или модулями, а также оформление необходимой технической документации.

Что нужно знать и уметь

    Личные качества
  • Способность к самообучению;
  • Системное мышление;
  • Умение работать в команде;
  • Аккуратность;
  • Внимательность;
  • Самостоятельность;
  • Инициативность;
  • Ответственность.
    Основные навыки
  • Знание английского на уровне чтения технической документации.

Отрасли, в которых востребована профессия

Рынок профессии

«Диапазон зарплат» (Москва)

Количество вакансий в динамике

Конкурс на место
Спрос по регионам
Половое соотношение
Возрастное соотношение

Популярные образовательные курсы

  • Онлайн-курс

    Разработка веб-приложений на Java

    ИТ-архитектор, Программист, Тестировщик ПО, Программист Java

    Курс о разработке веб-приложений на языке программирования Java, включающий изучение сбора и анализа требований, разработки технической спецификации, разработки и отладки приложений.

    Узнать больше

  • Онлайн-курс

    Основы HTML, CSS И JavaScript

    Веб-дизайнер, Программист Java

    Курс о создании гипертекстовых страниц с применением актуальных технологий в области веб-разработки.

    Узнать больше

  • Онлайн-курс

    История ЭВМ и программирования

    Программист, ERP-консультант, Программист Java, Программист PHP, Программист Ruby, Программист 1С, Программист C++, Программист Python, Программист Perl, Системный программист

    Этот курс посвящен истории развития ЭВМ и программирования в Советском Союзе в контексте задач, для решения которых они требовались.

    Узнать больше

  • Онлайн-курс

    Java для школьников

    Программист, Программист Java

    Данный курс поможет вам изучить основы программирования на языке Java.

    Узнать больше

Все возможности для обучения профессии, литература, онлайн и офлайн курсы, ВУЗовские программы…

Больше курсов


Подписка
на материалы

Мы присылаем интересные материалы и ничего больше



создатель проекта
#

При реализации проекта используются средства государственной поддержки,
выделенные в качестве гранта в соответствии с использованием гранта Президента Российской Федерации на развитие гражданского общества,
предоставленного Фондом президентских грантов

buduguru.org

Как искать Java-разработчика: пособие для начинающих

Я занимаюсь подбором ИТ-специалистов более 7 лет, за это время я получила обширную экспертизу в этой области. Думаю, данный материал будет интересен как рекрутерам с опытом работы с данными специалистами, так и тем, кто только знакомится с миром ИТ, поэтому информацию постараюсь дать максимально просто.

При подборе Java-программиста, как и любого другого айтишника, нужно учитывать специфику данной сферы. IT-специалисты могут изначально показаться необщительными, крайне прагматичными и заносчивыми особами на контрасте с кандидатами с другой специализацией, но в целом, если хорошо изучить рынок, его особенности и на базовом уровне иметь понятие о технологиях, перед вами откроется очень интересный и разнообразный мир.

Java-программист или Java-разработчик (не путать с JavaScript) занимается разработкой программного обеспечения (ПО) обычно в команде программистов. Написанный программный код программист сохраняет в специальном хранилище, которое называется системой контроля версий (Git и тп) . Кроме того, он должен исправлять свои ошибки в написанном коде, уведомление о которых поступает ему от тестировщиков.

Хороший программист (если мы нанимаем специалиста с опытом) имеет знания и практический опыт в технологиях  Java, пишет качественный код, допускает не критичное количество ошибок, постоянно в курсе новых технологий и методов разработки, потому что он непрерывно занимается самообразованием.

Основная проблема оценки любого программиста в том, что  профессиональные навыки кандидата не могут быть проверены рекрутером, это оценивается техническим специалистом.

Особенности:

  1. Айтишники в основном более интровертны и обычно любят говорить по делу. Предпочитают общаться по электронной почте и не любят, когда им звонят. Отчасти потому, что квалицированному специалисту постоянно названивают рекрутеры и отвлекают от работы, отчасти потому что они лучше воспринимают информацию и гораздо эффективнее общаются по переписке.
  2. Программист обычно сосредоточен на конкретной задаче, над которой он работает не отвлекаясь.
  3. Уровень интеллекта у айтишников  в среднем достаточно высок, так как они получили хорошее математическое образование.
  4. Айтишники любят более неформальное общение и неформальный подход к работе.
  5. Они в основном совы и предпочитают работать с 11:00. Также многие достаточно свободолюбивы, не любят дресс-код итд. В таких условиях они обычно достигают лучших результатов.

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

На рынке ИТ, в том числе и Java-разработчиков, даже в кризис правила игры определяет соискатель. Предложений достаточно для того, чтобы средний кандидат мог найти работу за 1-2 недели, выбирая между несколькими предложениями о работе. В среднем, на одну вакансию в сфере ИТ претендует 3 кандидата (из исследования hh.ru).  Тем не менее, Java не является редкой технологией, эта платформа достаточно популярна у программистов, поэтому найти нужное количество кандидатов для собеседования возможно, но потока по этой вакансии у вас не будет.

При снятиии потребности у заказчика (работодателя) необходимо сразу получить полное описание вакансии, так как составить её самостоятельно без технических знаний в данной сфере рекрутер не сможет.

Обычно требования к джависту состоят из следующих блоков:

–       Требование к образованию – чаще всего необходим кандидат с высшим техническим образованием.

–       Знание и опыт коммерческой разработки на языке Java (не менее определённого количества лет), то есть студенческие и личные проекты работодателя не интересует.

–       Часто указывается знание паттернов проектирования, но не всегда. Обычно успешный разработчик их знает и умеет применять.

–       Знание определённого набора фреймворков (Hibernate, Spring итп.)  и библиотек (например, JQuery). В каждой компании они требуются свои. Важно в этом пункте сразу уточнить у работодателя, что является обязательным, а что будет плюсом.

–       Знание баз данных, например – MS SQL, Oracle и так далее.

–       Владение английским языком требуется часто, но не всегда. Обычно, хороший программист постоянно читает много книг по нужным технологиям, в том числе на английском, поэтому так или иначе владеет языком на уровне чтения технической литературы.

–       Наличие сертификатов по технологиям Java и другим – требуется редко. Сертификаты в данной сфере не показатель профессионализма, более того, если кандидат в первую очередь хвастается ими, а не своим опытом и знаниями, это обычно тревожный звоночек.

Обязательно уточните у работодателя следующее:

  1. Какой график предусмотрен для кандидата, есть ли переработки, имеется ли возможность график сдвигать?
  2. Присутствует ли дресс-код и насколько строгий?
  3. Где будет располагаться рабочее место кандидата, будет ли это опен спейс или в компании кабинетная система, будет ли он находиться среди коллег-айтишников или среди коллег из других подразделений?
  4. В вопросе компенсации важно иметь четкое представление, что есть оклад, что есть премия и бонусы, белая ли зарплата.
  5. Обязательно узнать обо всех аспектах соц. пакета, он обычно у айтишников очень широкий: кроме ДМС это может быть компенсация фитнеса, бесплатная столовая, 100% оплата больничного, и даже игровые приставки в офисе.
  6. На каком проекте или каких проектах будет работать данный сотрудник, сколько человек в команде, и вообще, лучше честно и прямо спросить: «Чем эта вакансия может заинтересовать кандидата, что мы можем рассказать кандидату, чтобы он загорелся». Это очень хороший вопрос, и адекватный нанимающий менеджер охотно расскажет про все преимущества.
  7. Подразумевается ли профессиональный и карьерный рост на данной позиции?
  8. Какие знания и навыки из описания вакансии обязательные (без которых резюме не будут смотреть) и какие желательные. Например, «знание Java – от 2 лет опыта работы и знание Spring.MVC – обязательно”. Уточните у заказчика, может ли кандидат не указать каких-то из этих ключевых слов в резюме.

2. Как представлять вакансию соискателям (нюансы и правила создания презентации вакансии).

Здесь нужно исходить их трёх основных мотиваторов айтишника:

  1. Интересные проекты.
  2. Технологии, с которыми он будет работать (например, ему уже надоела та платформа, на которой у него большой опыт, но ему очень хочется работать только с Java).
  3. Повышение своего дохода. Этот пункт может быть заменен на комфортность работы (дорога до офиса, удобство графика, наличие столовой, хорошего места для питания, парковки) или команду (насколько хороший микроклимат в команде и насколько она профессиональная).

В описании вакансии для публикации на ресурсах и в соц сетях обязательно хорошо распишите условия, избегайте казённых и шаблонных фраз. В заголовке достаточно написать «Программист Java” или “Ведущий Java-разработчик».

Составьте шаблон письма кандидату, где вы представляетесь, сообщаете, что у вас есть позиция и сразу пишите, что это Java-программист, далее описание вакансии и информация о компании. И, конечно, здесь распишите все преимущества компании, вакансии и проекта, которые вы ранее получили у заказчика (см. выше).

Кандидату лучше сначала высылать письмо, и потом звонить: “Я высылала вам письмо с вакансией” работает лучше, чем внезапный звонок.

Вакансию лучше подавать с позиции технологий, проекта, компании (чем она занимается, если можно назвать имя, обязательно озвучить его). Кандидат может попросить подумать, договоритесь о том, когда вы ему перезвоните.

3. Где размещаться (источники поиска, в том числе специальные и нетривиальные).

По статистике всё-таки больше кандидатов на Java находится на hh.ru, а лучшие приходят по рекомендации коллег-программистов.

Источники:

  1. hh.ru (и активный , и пассивный поиск).
  2. LinkedIn (лучше заранее работать над своей сетью контактов в тех сферах, где вы ищете и будете искать людей).
  3. Рекомендации других сотрудников-айтишников.
  4. Профессиональные форумы sql.ru и rsdn.ru, vingrad. Периодически появляются новые, теряют актуальность старые. Поэтому постоянно ищите новые ресурсы.
  5. Другие источники: ITMozg, Brainstorage, Programmersforum,  Javatalks, Github.
  6. Facebook, Twitter, Вконтакте, жж-сообщества по программированию.
  7. Корпоративный сайт компании или агентства.

4. Стратегия поиска (отклики, активный обзвон, соцсети, объявления и т.д.).

1. Размещение вакансии на hh.ru, сбор откликов и активный поиск.

Для эффективного поиска лучше создать автопоиск на основании ключевых слов, которые соответствуют обязательным требованиям заказчика, например если это опыт в Java и фреймворк Hibernate, наш запрос будет выглядеть как

Java and Hibernate

Количество лет опыта мы будем определять уже по резюме.

2. Публикация объявления о вакансии со ссылкой на описание в соцсетях и на LinkedIn. В зависимости от соцсети преамбула может быть более или менее формальной и должна быть привлекательной и интересной. Попросите своих знакомых сделать репост ваших публикаций.

3. Публикация объявления на профессиональных форумах. Обязательно сначала прочитайте правила форума и раздела «Работа» или «Вакансии». За невыполнение требований вас забанят, а вакансию удалят. Например, на sql.ru публикацию нельзя редактировать, обязательно нужно указать оклад, название компании или агентства и город.

 5. Как проводить первичный отбор по телефону (важные правила переговоров  и критерии отбора).

По телефону первичный отсев не требуется, за исключением случаев, когда вам еще на телефонном этапе важно прояснить какие-либо мотивационные моменты и отсеять кандидата, если его ожидания не соответствуют возможностям заказчика.

Также, ваша задача  – максимально дружелюбно и лаконично передать основную информацию, чтобы привлечь кандидата и чтобы он согласился на встречу. Хорошо, если у вас на первом очном интервью сразу будет присутствовать технический специалист, обязательно в таком случае упоминайте, что интервью будет техническое. К HR-интервью и агентствам айтишники относятся с осторожностью и некой опаской, это факт.

6. Особенности очного общения и оценки кандидатов.

Для айтишников не рекомендуется использование психологических тестов, так как они во-первых, показывают свою невалидность, во-вторых, в данном сегменте рынка труда психологические тесты и вопросы могут вызвать негативную реакцию.

В процесс оценки по желанию заказчика может включаться выполнение тестового задания или предоставление примеров программного кода разработчика.

Если вы подбираете кандидата в свою компанию, обычно HR-интервью совмещается с профессиональным (техническим) интервью, так как рекрутер лишь предоставляет информацию о компании, условиях работы, важных моментах (например, серая зарплата или переработки), выясняет для себя организационные моменты , оценивает мотивацию и адекватность кандидата. Профессионально оценить кандидата сможет только технический специалист.

Если вы подбираете Java-программиста для компании-заказчика, вам нужно будет развёрнутое интервью, чтобы собрать необходимую информацию для заказчика о кандидате.

В таком случае советую разработать таблицу со списком основных технологий по данной вакансии и столбцами: опыт работы (лет), количество проектов, уровень владения и опросить подробно о том, с чем кандидат работал, как он оценивает знания технологии, как много проектов сделал с использованием данной технологии.

Обязательно давайте обратную связь кандидату по телефону или по электронной почте в любом случае.

6. Подготовка кандидатов к интервью в компании.

Здесь нет никаких особенностей, кандидата необходимо снабдить всей необходимой информацией о компании и условиях работы, так как технари на эти вопросы не всегда могут ответить кандидату. Очень желательно рекрутеру присутствовать хотя бы на первом интервью с нанимающим менеджером и техническим специалистом, даже несмотря на то, что 90% того, что будет обсуждаться, не-технарю будет непонятно. Это даст вам возможность скорректировать свой поиск и лучше подобрать хорошего кандидата данному заказчику.

Спасибо за внимание, я надеюсь, что поиск айтишника, если он вам предстоит, будет лёгким и интересным!

Диана Цуркан, IT HR, ithrdiana.wordpress.com

hr-portal.ru

Разработка программ на Java с использованием JDK



















Щелкните для получения дополнительных сведений



Для написания апплетов и приложений Java требуются такие средства разработки, как JDK. JDK включает следующие компоненты: среда выполнения Java, компилятор Java и API Java. Начало работы не представляет трудности ни для опытных, ни для начинающих программистов.


Где можно загрузить JDK?

Чтобы загрузить последнюю версию комплекта разработчика Java Development Kit (JDK), перейдите в раздел загрузки JDK.
Разработчики также могут посетить сообщество для разработчиков Java Oracle Technology Network for Java Developers и получить исчерпывающую информацию о технологии Java, включая документацию и обучающие материалы.


Начинающим пользователям Java

Начинающие пользователи, заинтересованные в разработке программ на Java, могут найти полезную информацию в разделе Начинающим пользователям Java.


Как получить сертификат Java?

Сертификат обучения технологии Oracle Java является наглядной демонстрацией технических навыков, увлеченности профессией и высокого уровня мотивации, — качеств, которые высоко ценятся и высоко оплачиваются работодателями. Признанные во всей отрасли возможности обучения и получения сертификатов по технологии Java Oracle позволяют гарантировать наличие навыков, необходимых для эффективного выполнения задач в ИТ-организации.
» Подробнее о Сертификации Java

























Java Magazine

Java Magazine — это периодическое интернет-издание, выпускаемое раз в два месяца. Этот журнал является авторитетным источником информации о технологии Java, языке программирования Java и приложениях на основе Java для тех, кому эти знания необходимы в профессиональной деятельности, и для тех, кто только начинает осваивать технологию Java. Журнал включает в себя описания инновационных приложений Java, технические пошаговые инструкции для Java, новости сообщества Java, а также информацию о новой документации Java, конференциях и мероприятиях.



Академия Oracle

Академия Oracle предоставляет учреждениям школьного, профессионального и высшего образования полный портфель программного обеспечения, учебные курсы, хостинговые технологии, факультативное обучение, поддержку и ресурсы сертификации для использования в учебных целях. Эти ресурсы можно включать в состав курсов по информатике и бизнесу, чтобы учащиеся приобрели необходимые навыки до начала профессиональной деятельности в той или иной отрасли. Академия Oracle обучает более 1,5 миллионов человек в 95 странах. Недавно Академия Oracle расширила свою учебную программу и включила в нее курсы по Java. Дополнительную информацию можно найти на веб-сайте Академия Oracle — программирование на языке Java.









www.java.com