Критика — это комплимент
Кстати, у дизайнера Ильи Бирмана есть заметка про критику. Приведу две цитаты:
«Как нормальный человек поведет себя, когда прохожий скажет ему: „простите, у вас шнурок развязался“? Ответит „Спасибо“, завяжет шнурок, пойдет дальше. Если же он ответит: „Твое какое дело? Хочу с развязанным ходить и хожу!“, то в его вменяемости возникнут сомнения. А уж если он всерьез начнет рассуждать о том, что прохожий указывает ему на развязанный шнурок, не замечая всего богатства его внутреннего мира, то уже исчезнут практически все сомнения в невменяемости.
Вроде бы так естественно сказать „Спасибо“, когда тебе указывают на то, где ты налажал. Но для кучи людей это, почему-то, совсем не естественно; естественно для них послать подальше, сказав „Тебя не спросили!“. Почему люди так болезненно воспринимают критику — загадка. Адекватно реагировать на исправление или указание на ошибку — очень полезное в жизни умение. Как без него развиваться-то? Не скажу, что я в этом безупречен, но глядя на то, как реагируют многие другие люди, я понимаю, что могу быть собой вполне довольным»
«Поправляешь всегда того, кто тебе нравится, кто тебе интересен, чьи вещи тебе небезразличны. Если тебе до кого-то нет дела, то и поправлять его причин немного. А уж если человек тебе неприятен, то точно не придет в голову подсказывать ему, где он неправ»
Кстати, у дизайнера Ильи Бирмана есть заметка про критику. Приведу две цитаты:
«Как нормальный человек поведет себя, когда прохожий скажет ему: „простите, у вас шнурок развязался“? Ответит „Спасибо“, завяжет шнурок, пойдет дальше. Если же он ответит: „Твое какое дело? Хочу с развязанным ходить и хожу!“, то в его вменяемости возникнут сомнения. А уж если он всерьез начнет рассуждать о том, что прохожий указывает ему на развязанный шнурок, не замечая всего богатства его внутреннего мира, то уже исчезнут практически все сомнения в невменяемости.
Вроде бы так естественно сказать „Спасибо“, когда тебе указывают на то, где ты налажал. Но для кучи людей это, почему-то, совсем не естественно; естественно для них послать подальше, сказав „Тебя не спросили!“. Почему люди так болезненно воспринимают критику — загадка. Адекватно реагировать на исправление или указание на ошибку — очень полезное в жизни умение. Как без него развиваться-то? Не скажу, что я в этом безупречен, но глядя на то, как реагируют многие другие люди, я понимаю, что могу быть собой вполне довольным»
«Поправляешь всегда того, кто тебе нравится, кто тебе интересен, чьи вещи тебе небезразличны. Если тебе до кого-то нет дела, то и поправлять его причин немного. А уж если человек тебе неприятен, то точно не придет в голову подсказывать ему, где он неправ»
Code conventions
Классы и методы должны быть небольшими и сфокусированы на одной вещи. Плюс в них не должно быть дублирования кода.
Например,
Классы и методы должны быть небольшими и сфокусированы на одной вещи. Плюс в них не должно быть дублирования кода.
Например,
Customer.java
— это сущность, CustomerDao.java
отвечает за работу с БД, в CustomerService.java
сосредоточена вся бизнес-логика, а CustomerValidator.java
нужен для валидации полей.Clean code
Не создавайте переменные, которые не будут потом переиспользоваться
Плохо
Хорошо
Не создавайте переменные, которые не будут потом переиспользоваться
Плохо
boolean removed = myItems.remove(item);
return removed;
Хорошо
return myItems.remove(item);
Хорошо — Плохо
Старайтесь давать имена переменным, методам и классам такие, чтобы сразу было понятно, что они хранят/делают. И ненужно было писать лишние комментарии.
Плохо
Хорошо
Старайтесь давать имена переменным, методам и классам такие, чтобы сразу было понятно, что они хранят/делают. И ненужно было писать лишние комментарии.
Плохо
List list;
Хорошо
List<User> users;
5 тысяч Джавистов
Всем привет! Количество подписчиков на канале перевалило за 5 тысяч, и это кайф. Кайф, что так много людей интересуются Джавой.
Для тех, кто недавно присоединился, меня зовут Зыбкин Дмитрий, я работаю в Москве Java-разработчиком с 2016 года. Канал создал в марте 2018-го для того, чтобы простым языком писать о программировании и начинающим девелоперам было где черпать мотивацию и материалы. Но в процессе это превратилось во что-то большее.
На канале я публикую вопросы с собеседований, выкладываю книги, беру интервью у разработчиков. Ещё пишу на темы, которые затрагивают жизнь любого программиста:
— трудоустройство: как поднять зп, как составить резюме, как писать сопроводительное письмо;
— продуктивность: как воспитать привычку, 10 правил эффективных встреч, 5 принципов хорошего программиста;
— обучение: как освоить SQL, GIT, 5 ошибок при изучении программирования;
и конечно стараюсь не забывать о самой Джаве.
Всем привет! Количество подписчиков на канале перевалило за 5 тысяч, и это кайф. Кайф, что так много людей интересуются Джавой.
Для тех, кто недавно присоединился, меня зовут Зыбкин Дмитрий, я работаю в Москве Java-разработчиком с 2016 года. Канал создал в марте 2018-го для того, чтобы простым языком писать о программировании и начинающим девелоперам было где черпать мотивацию и материалы. Но в процессе это превратилось во что-то большее.
На канале я публикую вопросы с собеседований, выкладываю книги, беру интервью у разработчиков. Ещё пишу на темы, которые затрагивают жизнь любого программиста:
— трудоустройство: как поднять зп, как составить резюме, как писать сопроводительное письмо;
— продуктивность: как воспитать привычку, 10 правил эффективных встреч, 5 принципов хорошего программиста;
— обучение: как освоить SQL, GIT, 5 ошибок при изучении программирования;
и конечно стараюсь не забывать о самой Джаве.
Если каждая компания в вакансии пишет, что у них работают крутые профессионалы, тогда где же все криворукие говнокодеры трудятся?
Подкасты
Слушаете ли вы подкасты? Какие подкасты самые лучшие? Где самые крутые ведущие? Самые интересные темы? Самый качественный звук?
Слушаете ли вы подкасты? Какие подкасты самые лучшие? Где самые крутые ведущие? Самые интересные темы? Самый качественный звук?
Вопросы с собеседований. Git
— что такое git
— отличие git от svn
— как создать репозиторий
— как взять удаленные изменения
— что делает
— зачем нужен
— отличие
— отличие
— что делает
— стратегия git flow
— что такое git
— отличие git от svn
— как создать репозиторий
— как взять удаленные изменения
— что делает
git stash
— зачем нужен
.gitignore
— отличие
git pull
от git fetch
— отличие
git merge
от git rebase
— что делает
git cherry-pick
— стратегия git flow
Java Developer via @vote
Сколько времени вы занимаетесь программированием?
anonymous poll
1-3 года – 570
👍👍👍👍👍👍👍 44%
Меньше года – 333
👍👍👍👍 25%
Больше шести лет – 192
👍👍 15%
4-6 лет – 141
👍👍 11%
Не прогаю – 72
👍 6%
👥 1308 people voted so far.
anonymous poll
1-3 года – 570
👍👍👍👍👍👍👍 44%
Меньше года – 333
👍👍👍👍 25%
Больше шести лет – 192
👍👍 15%
4-6 лет – 141
👍👍 11%
Не прогаю – 72
👍 6%
👥 1308 people voted so far.
Посты о работе
Работа в банках
https://yangx.top/java_developer/80
Работа в Германии
https://yangx.top/java_developer/144
Работа в Facebook
https://yangx.top/java_developer/355
Работа в Epam
https://yangx.top/java_developer/363
Работа в Custis
https://yangx.top/java_developer/374
Работа в банках
https://yangx.top/java_developer/80
Работа в Германии
https://yangx.top/java_developer/144
Работа в Facebook
https://yangx.top/java_developer/355
Работа в Epam
https://yangx.top/java_developer/363
Работа в Custis
https://yangx.top/java_developer/374
Хорошо — Плохо
Не сравнивайте булеву переменную с true или false
Плохо
Хорошо
Не сравнивайте булеву переменную с true или false
Плохо
if (value == true) {
// do something
}
Хорошо
if (value) {
// do something
}
Хорошо — Плохо
Ставьте фигурные скобки с операторами
Плохо
Хорошо
Ещё лучше
Ставьте фигурные скобки с операторами
if
, else
, for
, do
и while
, даже когда тело пустое или содержит только одно утверждение.Плохо
if (value) return x;
else return y;
Хорошо
if (value) {
return x;
} else {
return y;
}
Ещё лучше
return value ? x : y;
Хорошо — Плохо
Плохо
Хорошо
Плохо
System.out.println("My Message");
Хорошо
logger.info("My Message");
Podlodka podcast
Вчера был на записи новогоднего подкаста Подлодки @podlodkanews. Это подкаст о мобильной разработке и не только. Многие темы раскрывают: проектирование, масштабирование, дизайн, управление, организация конференций.
Перед записью ведущие подготовили зрителям ДоДо пиццу, ящик мандаринов и теплую атмосферу. На самой трансляции подвели итоги 2018 года, поделились планами на 2019 и разыграли Яндекс.Станцию.
Топ выпусков Подлодки за 2018:
Профессиональное выгорание
https://soundcloud.com/podlodka/podlodka-72-professionalnoe-vygoranie
Управление памятью с Алексеем Шипилёвым
https://soundcloud.com/podlodka/podlodka-74-upravlenie-pamyatyu
Функциональное программирование
https://soundcloud.com/podlodka/podlodka-44-fp
Вчера был на записи новогоднего подкаста Подлодки @podlodkanews. Это подкаст о мобильной разработке и не только. Многие темы раскрывают: проектирование, масштабирование, дизайн, управление, организация конференций.
Перед записью ведущие подготовили зрителям ДоДо пиццу, ящик мандаринов и теплую атмосферу. На самой трансляции подвели итоги 2018 года, поделились планами на 2019 и разыграли Яндекс.Станцию.
Топ выпусков Подлодки за 2018:
Профессиональное выгорание
https://soundcloud.com/podlodka/podlodka-72-professionalnoe-vygoranie
Управление памятью с Алексеем Шипилёвым
https://soundcloud.com/podlodka/podlodka-74-upravlenie-pamyatyu
Функциональное программирование
https://soundcloud.com/podlodka/podlodka-44-fp
Java Developer pinned «5 тысяч Джавистов Всем привет! Количество подписчиков на канале перевалило за 5 тысяч, и это кайф. Кайф, что так много людей интересуются Джавой. Для тех, кто недавно присоединился, меня зовут Зыбкин Дмитрий, я работаю в Москве Java-разработчиком с 2016…»
Что посмотреть на выходных — 12
IT-карьера в США от рекрутёра Виктории Бородиной
https://youtu.be/ZK87eIRUVVE
Обзор офиса VK
https://youtu.be/fz33Ix3XNpI?t=78
Интервью Егора Бугаенко — чем зарабатывает, соревнование по чистому коду, женщины в IT
https://youtu.be/ca9ou5t6yyY
#чтопосмотреть
IT-карьера в США от рекрутёра Виктории Бородиной
https://youtu.be/ZK87eIRUVVE
Обзор офиса VK
https://youtu.be/fz33Ix3XNpI?t=78
Интервью Егора Бугаенко — чем зарабатывает, соревнование по чистому коду, женщины в IT
https://youtu.be/ca9ou5t6yyY
#чтопосмотреть
Готовлю интервью с человеком, у которого я учился. Он больше 15-ти лет занимается Джавой, а сейчас работает тимлидом в Deutsche Bank в Сингапуре. Присылайте свои вопросы, которые вы бы хотели ему задать.
Работа в Deutsche Bank
Как и обещал, публикую интервью с Эмином Мамедовым. В 2007 году он закончил Воронежский государственный университет. С 2013 работает тимлидом в Deutsche Bank, а два года назад переехал в Сингапур. Интервью вышло объёмным, поэтому я его разбил на несколько постов. Первая часть о внутреннем устройстве в Deutsche Bank и начале пути Эмина, как разработчика.
— В LinkedIn у тебя написано "Lead Application Developer | VP". Что это значит?
В банках принято назначать title сотрудникам. Линейка тайтлов от банка к банку может варьироваться. Например, в Дойче Банке это Graduate - Associate - Assistant Vice President - Vice President - Director - Managing Director. В Goldman Sachs отсутствует AVP. В Citi есть еще SVP - Senior Vice President. Тайтл назначается за крупные достижения.
— Чем VP отличается от AVP?
Общий паттерн у нас в ДБ:
Graduate - стажер, только закончил внутреннюю школу
Associate - первый уровень, за человеком нужен контроль, давать ему задачи
AVP - сотруднику выдают задачу, но дальнейший контроль не требуется. Он сам взаимодействует с остальными командами и решает все проблемы
VP - сотрудник сам определяет фронт работы для себя и своей команды.
D - в подчинении несколько десятков человек или ответственен за крупную часть бизнеса
MD - ответственен за целое подразделение/ответвление
— Как ты перешёл из AVP в VP?
Здесь не могу ответить детально — соглашение о неразглашении. Общими словами — спроектировал и реализовал систему расчета цен финансовых продуктов.
— Класс! Этого достаточно. Чем у вас должен заниматься Lead Application Developer?
Как минимум, быть техническим лидом команды или одним из технических специалистов в области ответственности команды. Так сказать, point of first contact на случай каких-то вопросов. Часто эту роль совмещают с ролью Тим Лида, но это необязательно.
— Какой состав команд обычно?
Здесь все по разному. В предыдущем проекте нас было 8 человек - 7 разработчиков и 1 тестировщик. В текущем проекте - 2 разработчика и 1 тестировщик в "аренде", взят у отдельной команды тестировщиков. То есть его могут поменять в любой момент. Есть команды, где работают 30 человек. Так что все индивидуально.
Аналитики тоже имеются, но они могут не привязываться жестко к команде, а работать на несколько. Может быть выделенный аналитик, а может и без него. В последнем случае задачи напрямую ставятся бизнесом.
Как и обещал, публикую интервью с Эмином Мамедовым. В 2007 году он закончил Воронежский государственный университет. С 2013 работает тимлидом в Deutsche Bank, а два года назад переехал в Сингапур. Интервью вышло объёмным, поэтому я его разбил на несколько постов. Первая часть о внутреннем устройстве в Deutsche Bank и начале пути Эмина, как разработчика.
— В LinkedIn у тебя написано "Lead Application Developer | VP". Что это значит?
В банках принято назначать title сотрудникам. Линейка тайтлов от банка к банку может варьироваться. Например, в Дойче Банке это Graduate - Associate - Assistant Vice President - Vice President - Director - Managing Director. В Goldman Sachs отсутствует AVP. В Citi есть еще SVP - Senior Vice President. Тайтл назначается за крупные достижения.
— Чем VP отличается от AVP?
Общий паттерн у нас в ДБ:
Graduate - стажер, только закончил внутреннюю школу
Associate - первый уровень, за человеком нужен контроль, давать ему задачи
AVP - сотруднику выдают задачу, но дальнейший контроль не требуется. Он сам взаимодействует с остальными командами и решает все проблемы
VP - сотрудник сам определяет фронт работы для себя и своей команды.
D - в подчинении несколько десятков человек или ответственен за крупную часть бизнеса
MD - ответственен за целое подразделение/ответвление
— Как ты перешёл из AVP в VP?
Здесь не могу ответить детально — соглашение о неразглашении. Общими словами — спроектировал и реализовал систему расчета цен финансовых продуктов.
— Класс! Этого достаточно. Чем у вас должен заниматься Lead Application Developer?
Как минимум, быть техническим лидом команды или одним из технических специалистов в области ответственности команды. Так сказать, point of first contact на случай каких-то вопросов. Часто эту роль совмещают с ролью Тим Лида, но это необязательно.
— Какой состав команд обычно?
Здесь все по разному. В предыдущем проекте нас было 8 человек - 7 разработчиков и 1 тестировщик. В текущем проекте - 2 разработчика и 1 тестировщик в "аренде", взят у отдельной команды тестировщиков. То есть его могут поменять в любой момент. Есть команды, где работают 30 человек. Так что все индивидуально.
Аналитики тоже имеются, но они могут не привязываться жестко к команде, а работать на несколько. Может быть выделенный аналитик, а может и без него. В последнем случае задачи напрямую ставятся бизнесом.