Посты о Git
Пока все обсуждают, что Microsoft купила GitHub, сделал подборку постов о Git.
Что такое Git
https://yangx.top/java_developer/15
Жизненный цикл файлов
https://yangx.top/java_developer/19
Состояния файлов
https://yangx.top/java_developer/20
Ресурсы для изучения
https://yangx.top/java_developer/21
Популярные команды
https://yangx.top/java_developer/30
Частые проблемы и их решения
https://yangx.top/java_developer/56
#git
Пока все обсуждают, что Microsoft купила GitHub, сделал подборку постов о Git.
Что такое Git
https://yangx.top/java_developer/15
Жизненный цикл файлов
https://yangx.top/java_developer/19
Состояния файлов
https://yangx.top/java_developer/20
Ресурсы для изучения
https://yangx.top/java_developer/21
Популярные команды
https://yangx.top/java_developer/30
Частые проблемы и их решения
https://yangx.top/java_developer/56
#git
Молодой против опытного
Проводил опрос "Если бы вы были Тим лидом, кого бы выбрали к себе в команду" https://yangx.top/java_developer/112. Выбрать можно было одного из двух кандидатов. Первый - молодой разработчика с горящими глазами, который знает только основы. Второй - опытный дорогостоящий разработчик. Голоса в процентах распределелились 70 на 30. Публикую ответы ребят, почему они выбрали свой вариант.
Молодой разработчик
— приносит свежие идеи в проект
— как воспитаешь, так и будет кодить
— стремится стать хорошим спецом и не бежит за зарплатой
— не нужно переубеждать в правильности решения
— в перспективе принесет реальную отдачу, если не жмут сроки проекта и есть кому обучать
Опытный разработчик
— начинает приносить пользу сразу
— быстрее и правильнее решает задачи
— когда горит проект, уменьшает риски срыва проекта
— уже знает необходимые технологии
— сложно находить общую точку зрения
Проводил опрос "Если бы вы были Тим лидом, кого бы выбрали к себе в команду" https://yangx.top/java_developer/112. Выбрать можно было одного из двух кандидатов. Первый - молодой разработчика с горящими глазами, который знает только основы. Второй - опытный дорогостоящий разработчик. Голоса в процентах распределелились 70 на 30. Публикую ответы ребят, почему они выбрали свой вариант.
Молодой разработчик
— приносит свежие идеи в проект
— как воспитаешь, так и будет кодить
— стремится стать хорошим спецом и не бежит за зарплатой
— не нужно переубеждать в правильности решения
— в перспективе принесет реальную отдачу, если не жмут сроки проекта и есть кому обучать
Опытный разработчик
— начинает приносить пользу сразу
— быстрее и правильнее решает задачи
— когда горит проект, уменьшает риски срыва проекта
— уже знает необходимые технологии
— сложно находить общую точку зрения
Что посмотреть на выходных
Курс по Джаве для начинающих от Вячеслава Ковалевского
https://www.youtube.com/playlist?list=PLsQAG1V_t58AKvV5v4NVXxo68OyLdNX3j
Интервью разработчика, который родился в Краснодарском крае, а сейчас переехал в Америку и работает в Tesla
https://youtu.be/QXjzP-zndrE
Доклад Евгения Борисова о Spring Data
https://youtu.be/nwM7A4TwU3M
#чтопосмотреть
Курс по Джаве для начинающих от Вячеслава Ковалевского
https://www.youtube.com/playlist?list=PLsQAG1V_t58AKvV5v4NVXxo68OyLdNX3j
Интервью разработчика, который родился в Краснодарском крае, а сейчас переехал в Америку и работает в Tesla
https://youtu.be/QXjzP-zndrE
Доклад Евгения Борисова о Spring Data
https://youtu.be/nwM7A4TwU3M
#чтопосмотреть
Effective Java
Книга рассказывает тонкости базовых принципов Джавы. Её написал один из авторов языка Джошуа Блох. Подходит тем, кто изучил синтаксис, написал пару мини-проектов и хочет глубже изучить Джаву. Также отличная книга для желающих укрепить знания и перейти с позиции Джуниор на позицию Мидл.
Второе издание состоит из 77 полезных правил и тонкостей. Автор описал решение ежедневных задач разработчика. На примерах подробно объясняет, как нужно и не нужно кодить, чтобы получился надёжный и эффективный код.
Ниже публикую скрины содержания и саму книгу в формате djvu.
#книги
Книга рассказывает тонкости базовых принципов Джавы. Её написал один из авторов языка Джошуа Блох. Подходит тем, кто изучил синтаксис, написал пару мини-проектов и хочет глубже изучить Джаву. Также отличная книга для желающих укрепить знания и перейти с позиции Джуниор на позицию Мидл.
Второе издание состоит из 77 полезных правил и тонкостей. Автор описал решение ежедневных задач разработчика. На примерах подробно объясняет, как нужно и не нужно кодить, чтобы получился надёжный и эффективный код.
Ниже публикую скрины содержания и саму книгу в формате djvu.
#книги
Испытательный срок
У меня в компании испытательный срок длится три месяца. После трудоустройства Тимлид ставит разработчику задачи на этот период: познакомиться с системой, на которой будет работать, изучить используемые фреймворки, разработать конкретные модули.
После испытательного НR проводит встречу с разработчиком и Тимлидом. Это своего рода аттестация. Цель – подвести итоги испытательного срока: оценить работу сотрудника, посмотреть с какими задачами справился, дать обратную связь HR-у.
Оценка сотрудника проводится по следующим параметрам: результативность работы, соответствие занимаемой должности, ответственность, инициативность, вовлечённость. Сначала разработчик ставит себе балл от 1 до 5, затем Тимлид, и оба объясняют свой выбор. Таким образом происходит открытое обсуждение плюсов и минусов работы сотрудника.
При успешном прохождении испытательного срока после встречи разработчик получает задачи на следующие пол года. Например: изучить новые технологии, попробовать внедрить их в проект, разработать новые сервисы, провести митап.
#компании
У меня в компании испытательный срок длится три месяца. После трудоустройства Тимлид ставит разработчику задачи на этот период: познакомиться с системой, на которой будет работать, изучить используемые фреймворки, разработать конкретные модули.
После испытательного Н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/
Мне и ещё двум Джавистам на аттестации, про которую рассказывал вчера, поставили задачу - получить сертификат 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. импорт всего пакета
2. импорт обоих классов
Импорты, которые не подойдут:
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. Код скомпилируется, но при запуске выкинет исключение
1. Программа напечатает Black
2. Программа напечатает White
3. Код не с скомпилируется
4. Код скомпилируется, но при запуске выкинет исключение
Ответ: 2. Почему: в классе
X
переменная Y
и класс Y
находятся в одном скоупе. По спецификации в таком случае переменная имеет больший приоритет.Как сделать так, чтобы вывелось на экран Black? Нельзя использовать рефлекшн и менять классы X и C
Есть несколько способов сделать так, чтобы класс мог использоваться, а переменная нет. Нужно создать специальный синтаксический контекст.
1 способ
Привести
2 способ
Создать класс, который наследуется от нужного класса
И вывести на экран переменную
3 способ
Использовать в методе main дженерики
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
#интервью #Германия #переезд
Взял интервью у Джава-разработчика Александра, которому 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
#интервью #Германия #переезд
Telegram
Java Developer
Работа в Германии ч.2
Часть 1 https://yangx.top/java_developer/144
Часть 3 https://yangx.top/java_developer/149
— Расскажи, как искал работу в Мюнхене?
Создал профили в LinkedIn и Xing (немецкий аналог), набросал простенькое резюме, и отправил в несколько фирм.…
Часть 1 https://yangx.top/java_developer/144
Часть 3 https://yangx.top/java_developer/149
— Расскажи, как искал работу в Мюнхене?
Создал профили в LinkedIn и Xing (немецкий аналог), набросал простенькое резюме, и отправил в несколько фирм.…