Java Developer
6.45K subscribers
235 photos
8 videos
12 files
279 links
MAKE JAVA GREAT AGAIN

Мемы: @java_memes
加入频道
Что посмотреть на выходных

Курс по Джаве для начинающих от Вячеслава Ковалевского
https://www.youtube.com/playlist?list=PLsQAG1V_t58AKvV5v4NVXxo68OyLdNX3j

Интервью разработчика, который родился в Краснодарском крае, а сейчас переехал в Америку и работает в Tesla
https://youtu.be/QXjzP-zndrE

Доклад Евгения Борисова о Spring Data
https://youtu.be/nwM7A4TwU3M

#чтопосмотреть
Effective Java

Книга рассказывает тонкости базовых принципов Джавы. Её написал один из авторов языка Джошуа Блох. Подходит тем, кто изучил синтаксис, написал пару мини-проектов и хочет глубже изучить Джаву. Также отличная книга для желающих укрепить знания и перейти с позиции Джуниор на позицию Мидл.

Второе издание состоит из 77 полезных правил и тонкостей. Автор описал решение ежедневных задач разработчика. На примерах подробно объясняет, как нужно и не нужно кодить, чтобы получился надёжный и эффективный код.

Ниже публикую скрины содержания и саму книгу в формате djvu.

#книги
Испытательный срок

У меня в компании испытательный срок длится три месяца. После трудоустройства Тимлид ставит разработчику задачи на этот период: познакомиться с системой, на которой будет работать, изучить используемые фреймворки, разработать конкретные модули.

После испытательного НR проводит встречу с разработчиком и Тимлидом. Это своего рода аттестация. Цель – подвести итоги испытательного срока: оценить работу сотрудника, посмотреть с какими задачами справился, дать обратную связь HR-у.

Оценка сотрудника проводится по следующим параметрам: результативность работы, соответствие занимаемой должности, ответственность, инициативность, вовлечённость. Сначала разработчик ставит себе балл от 1 до 5, затем Тимлид, и оба объясняют свой выбор. Таким образом происходит открытое обсуждение плюсов и минусов работы сотрудника.

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

#компании
Подготовка к сертификации по Джаве

Мне и ещё двум Джавистам на аттестации, про которую рассказывал вчера, поставили задачу - получить сертификат Oracle Certificate Associate и начать готовиться к Oracle Certificate Professional.

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

Ссылки:
Книга, по которой готовлюсь к экзамену
https://www.amazon.com/dp/1118957407/ref=cm_sw_r_sms_awdb_t1_YC8iBbP3TERAB
Статья, в которой разработчик рассказывает, какие были сертификаты в 2016, и как выглядела сдача экзамена
https://m.habr.com/post/317432/
Какой импорт нужно добавить, чтобы следующий код скомпилировался?

public class Imports {
public void read(Files files) {
Paths.get("name");
}
}


Классы Files и Paths находятся в одном пакете java.nio.file
Два правильных ответа:
1. импорт всего пакета
import java.nio.files.*;
2. импорт обоих классов
import java.nio.files.Files;
import java.nio.files.Paths;

Импорты, которые не подойдут:
import java.nio.*; подпакеты не импортируются
import java.nio.*.*; можно использовать только одно сокращение с символом *
import java.nio.files.Paths.*; нельзя импортировать методы, только классы
Что произойдёт, если раскомментировать 3-ю строчку и запустить приложение?

1. Программа напечатает Black
2. Программа напечатает White
3. Код не с скомпилируется
4. Код скомпилируется, но при запуске выкинет исключение
Ответ: 2. Почему: в классе X переменная Y и класс Y находятся в одном скоупе. По спецификации в таком случае переменная имеет больший приоритет.
Как сделать так, чтобы вывелось на экран Black? Нельзя использовать рефлекшн и менять классы X и C
Есть несколько способов сделать так, чтобы класс мог использоваться, а переменная нет. Нужно создать специальный синтаксический контекст.

1 способ
Привести null к нужному типу и обратиться к статической переменной класса
System.out.println(((X.Y) null).Z);

2 способ
Создать класс, который наследуется от нужного класса
static class XY extends X.Y {};
И вывести на экран переменную
System.out.println(XY.Z);

3 способ
Использовать в методе main дженерики
 public static <T extends X.Y> void main(String[] args) {
System.out.println(T.Z)
}
Работа в Германии ч.1

Взял интервью у Джава-разработчика Александра, которому 26 лет. Он родился на Украине, последние два года работает в Германии.

— Расскажи, как начинал свой путь разработчика?

Увлёкся программированием в 8 классе. Два раза в неделю занимался с учителем Паскалем. Выиграл городскую олимпиаду.

После школы учился на инженера в ХНУРЭ, код почти не писал, да и учился как попало. Уже заканчивая магистратуру, обсуждал с ребятами будущее, узнал какие ЗП в IT, и сразу же подал заявку на бесплатные курсы EPAM. Основным критерием отбора был английский язык, и базовые знания программирования.

Обучение проходило пол года 8 часов в неделю. Мы изучали Java с нуля после пар. Я прошел несколько отборов, выполнил тестовые проекты и попал в офис.

В офисе год работали над тестовыми проектами на маленькой ЗП. Под конец проектов нас собеседовали и отбирали на различные фреймворки. Мне достался Adobe Experience Manager, на котором работаю и сейчас.

— Про курсы EPAM интересно. Что изучали на курсе?

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

Когда стали учиться в офисе, больше внимания уделяли клин коду, паттернам, работе в команде, презентациям, связанным технологиям: Git, JS, SQL, Maven, JUnit, Jenkins, Jira. Код проверяли ребята из продакшна с огромным опытом работы. Нам можно было спорить, поэтому code review были очень продуктивными.

Книги особо никто не читал, пользовались более конкретными материалами.

— Класс! Думаю, было крутое время. Ты работал в Епам в Харькове?

Да, около 2-х лет. Отличная фирма для начала карьеры, но зарплата росла медленно, при том что из других фирм приглашали людей на гораздо более высокую ЗП. Поэтому многие поуходили, набравшись опыта.

— В какой момент решил уволиться?

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

Поэтому, набравшись опыта, стал искать варианты. С моим фреймворком кроме Епама работала только одна приличная фирма. У них было место на проекте, обещали хорошую зп, частые и долгие командировки в Германию. Но я не прошёл - взяли более опытного коллегу из Епама. Поэтому осталось искать варианты за границей.

— Как выбор пал на Европу?

Читал форумы и сравнивал условия жизни, цены, зарплаты.

Самый очевидный выбор – США. Но там, кроме ЗП, всё плохо. Мало отпускных дней, плохое страхование, преступность, ограниченная виза для жены, нужна машина.

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

Третий вариант – соц. страна в ЕС. Плюсы – все кругом счастливы, хорошая ЗП, сервис, инфраструктура, низкая преступность, 30 дней отпуска + больше 10 праздничных дней, отличные визовые условия.

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

— Чем зацепила Германия по сравнению с остальными европейскими странами?

Страховки (В Швейцарии похуже), умеренный климат (Скандинавия – холодно, Испания/Италия – жарко), месторасположение (центр Европы), распространнёный в ЕС немецкий язык, довольно просто получить ПМЖ и затем гражданство, куча мероприятий и пива.

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

К тому же Мюнхен – интернациональный город, 99% людей говорят по-английски, да и русских много. Например, можно найти врача любой специальности, говорящего по-русски, что довольно важно, как мне кажется.

После 2-х лет проживания объездил почти все страны ЕС, и всё больше понимаю, что сделал правильный выбор.

Часть 2 https://yangx.top/java_developer/146
Часть 3 https://yangx.top/java_developer/149

#интервью #Германия #переезд
В АйТи каналах тоже должны быть лайки