Pull to refresh
  • by relevance
  • by date
  • by rating

Книги, которые должен прочитать Java программист: от новичка до профессионала

Programming *Java *
Translation

Книги, которые должен прочитать Java программист: от новичка до профессионала


[Примечание переводчика: термины градации «профессионализма» оставлены англоязычные в связи с трудностью их адекватного перевода на русский и несовпадением с привычными Junior-Middle-Senior-Lead. Перевод достаточно вольный — если знаний языка хватает, то лучше читать оригинал, как и советует автор. Оба языка для меня не родные, так что про ошибки сообщайте в личку — исправим. Здесь и далее в квадратных скобках примечания переводчика]

Я заметил, что в последние месяцы я рекомендую одни и те же книги как новичкам, так и опытным разработчикам. Поэтому я решил составить список этих книг. Они составили мне неплохую компанию в процессе моего роста от новичка до сегодняшнего уровня (какой-бы он не был :) )
Читать дальше →
Total votes 90: ↑77 and ↓13 +64
Views 642K
Comments 76

Войти в IT: Долгая дорога в Java

DataArt corporate blog Java *
Друзья, рады представить статью из цикла «Войти в IT», который уже давно публикуется в нашем корпоративном блоге. Это не «серьезные» технические статьи (такие тоже будут), а рассказы наших синьоров об их становлении в IT. Ведь иногда хочется просто взглянуть на индустрию глазами коллег и понять, как именно из молодых практикантов и «зеленых» джуниоров получаются эксперты мирового уровня. Что ж, дадим слово одному из наших героев.

image

Всем привет! Меня зовут Родион Горковенко, и я… нет, не то, о чем вы подумали. Я — Senior Java Developer в компании DataArt. Хочу поделиться историей, как я дошел до жизни такой и, возможно, немного подсказать молодым специалистам, как выжить в беспощадных джунглях Java и стать полноценным цифровым хищником.

Введение (красивая заставка)

Сначала я программировал на C. Были и другие языки, но большую часть времени (несколько лет) я писал именно на C. Поэтому и моя карьера в IT началась с этого языка. Однако область применения его ограничена сравнительно низкоуровневым софтом — я писал на нtv для микроконтроллеров, когда разрабатывал электронику, и позже — для POS-терминалов.

Ответ на вопрос «куда двигаться дальше?» был для меня не очень ясен. Можно, конечно, было углублять изучение C++, но небольшой опыт работы в команде на C/C++ оставил несколько негативное впечатление. Альтернативой была Java. О ней я не знал почти ничего, разве что, пару тестовых приложений для мобильников с JavaME написал еще в институте — конечно, не разбираясь подробно в нюансах языка.

Что ж, в течение года посвященного POS-терминалам, у меня было немного свободного времени до и после работы. Гугление подсказало, что нужно скачать Java Development Kit (JDK) с сайта Sun (теперь java.oracle.com) и, в общем, можно начинать.
Читать дальше →
Total votes 88: ↑67 and ↓21 +46
Views 114K
Comments 27

Ненастоящие сеньор-девелоперы, или почему годы опыта ни о чем не говорят

Alconost corporate blog Programming *Perfect code *IT Standards *
Translation
Опытный программист из Торонто Мэтт Бриггс так любит свою работу, что говорит: «я бы писал код, даже если бы это было нелегальным». А когда он опубликовал в своем блоге пост о джуниорах, мидлах и старших разработчиках, то собрал больше сотни восхищенных комментариев. Мы в Alconost тоже восхитились и перевели эту статью для вас.

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

Мы испытываем серьезную нехватку талантов, хотя индустрия довольно молода. Большинство софтверных проектов проваливаются, и практически все превышают бюджет. А лучшая идея, которую могут предложить сильнейшие умы, сводится к «Есть несколько стандартных способов решения подобных проблем, но наши решения часто не срабатывают. Единственное, что можно сделать — это попробовать и посмотреть на результат».

Реальность такова, что под «старшим разработчиком» понимается человек, который ваяет код более 3 лет. Его ставят на руководящую позицию, и обычно все заканчивается ожидаемо плачевно.

На самом деле, попытка оценивать людей временными интервалами – слишком упрощенный способ для таких тонких материй, как знание и профессиональный опыт. Но дела обстоят именно так. И если продолжать классифицировать специалистов подобным образом, то самое время нашей индустрии брать тайм-аут. Есть разница между человеком с 10-летним опытом, и тем, кто за то же время стал опытнее в 10 раз.


Постер из сериалa «Компьютерщики»
Читать дальше →
Total votes 111: ↑104 and ↓7 +97
Views 138K
Comments 102

Objective-C вопросы на уровень middle/senior

Development for iOS *Objective C *Development for MacOS *
Что должен знать objc разработчик на уровень middle/senior?
К сожалению, четкой черты на вертикальное развитие нет. Парадокс, но чтобы знать что изучить, нужно знать что ты не знаешь.
Я постарался вспомнить самые интересные вопросы, которые мне задавали самому на различных собеседованиях, а так же расширил их множеством вопросов(тем же уровнем) от себя.
Здесь нет общих вопросов вроде: IoC, design patterns, S.O.L.I.D. и т.п.

ВНИМАНИЕ!!!
Помимо вертикального развития немаловажно и горизонтальное

ВНИМАНИЕ!!! (2)
Не пишите в комментарии ответы на вопросы, это дает возможность людям самостоятельно разобраться.
Однако, если у вас имеются интересные вопросы по теме, я с радостью добавлю их в список.

Конечно, это не заменит живого общения, однако позволит неплохо подготовиться к собеседованиям.


Начинаем


Читать дальше →
Total votes 30: ↑23 and ↓7 +16
Views 58K
Comments 25

Войти в IT: Junior 2 Senior

DataArt corporate blog IT career
Привет. Меня зовут Иван Крючков. Вкратце расскажу, как попал в DataArt и как там все складывалось.

Собеседование я прошел с третьего раза. Первое не прошел из-за плохого английского, в тот же день пошел на курсы английского, через полгода попробовался второй раз, была доступна только вакансия iOS-трейни, это был исключительный волюнтаризм, поскольку про iOS я вообще ничего не знал и в глаза не видел, не то что код писал. Соответственно, не прошел техническое собеседование.
Читать дальше →
Total votes 15: ↑8 and ↓7 +1
Views 9.6K
Comments 0

Опасная игра. Стоит ли полагаться на команду из джуниоров

Alconost corporate blog Development Management *Project management *Personnel Management *IT career
Translation

Как это влияет на коллектив, менторство, качество кода, а также вопрос денег



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

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

Мы в Alconost перевели статью о том, насколько рискованно полагаться на команду молодых разработчиков и как такая ситуация влияет на опытных разработчиков, менторов и качество продукта.
Читать дальше →
Total votes 23: ↑15 and ↓8 +7
Views 23K
Comments 14

5 мифов о ведущих разработчиках, от которых мне становится грустно

Programming *
Ведущие разработчики, они же Senior developers. Это те самые люди, которые на своем веку перевыполняли уже все возможные задачи. Это люди, которые входят в переговорку, открывая дверь с ноги. Они — решение всех проблем компании и гарантия светлого будущего. Они не изучают технологии, а изобретают. Они знают бизнес-требования до того, как те были сформулированы. И самое главное: они четко и отчетливо представляют себя через пять, а иногда и через десять лет.

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

В этой статье я бы хотел немного поговорить о том, кем не должен быть ведущий разработчик. Развенчать несколько мифов.
Читать дальше →
Total votes 78: ↑55 and ↓23 +32
Views 41K
Comments 107

Кто убил джуниора?

Project management *IT career
Translation
Джуниоров много, вакансий не хватает



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

Лично мне повезло. Моей первой «настоящей» работой после колледжа в 2010 году стала должность «junior-разработчик приложений» в Колумбийском университете. В наше время сложно найти даже вакансию для джуниора. Люди, размещающие такие вакансии, завалены резюме. В то же время компании жалуются, что не могут найти хороших разработчиков уровня сеньора.

Но почему так происходит?
Читать дальше →
Total votes 52: ↑43 and ↓9 +34
Views 41K
Comments 430

Хороший код до Google не доведет

IT Terminology Research and forecasts in IT IT career Lifehacks for geeks IT-companies
Sandbox
Долгое время работая в разных сферах ИТ, мы с исследовательской командой наблюдали все возможные проблемы становления разработчиков и все причины-следствия их дефицита. Нас интересовало: почему программист развивается в senior-специалиста так долго или вовсе им не становится? Откуда неоправданные ожидания с обеих сторон? И главное — что делать разработчику на каждом уровне, чтобы войти в привилегированную касту senior-ов, архитекторов, тимлидов и руководителей?

Мы провели обширное исследование среди программистов и их руководителей. Собрали требования к senior-разработчикам топовых компаний, возможности и пути к развитию до этого уровня, сгенерировали всевозможные инсайты и лайфхаки и трансформировали их в данную статью. Об всем этом и пойдет дальше речь.
image

Senior, who the f… is Alice Senior?


Анализ описания вакансий на hh и требований, которыми поделились руководители в очных беседах, показал — единого подхода к определению уровня senior нет. В одной компании это тот, кто способен сам спроектировать сложный модуль, в другой — подключиться к доработке отдельных решений, в третьей — тот, кто просто круче остальных.
Читать дальше →
Total votes 32: ↑17 and ↓15 +2
Views 24K
Comments 218

Программист должен решать проблемы бизнеса

Programming *IT career

image


Недавно вышла статья, мимо которой я не мог пройти — "Программист не должен решать задачи бизнеса". Неожиданно мой комментарий вырос до мини-статьи. Я не согласен с мнением автора статьи, все сказано ниже ИМХО, с удовольствием подискутирую в комментариях. Сразу замечу, что я веб-разработчик, и все примеры я привожу в контексте своего опыта.

Читать дальше →
Total votes 84: ↑66 and ↓18 +48
Views 42K
Comments 313

Практическое руководство как стать Senior Frontend Developer

Website development *IT career
Sandbox

Привет, Хабр! Представляю вашему вниманию перевод статьи "A Practical Guide To Become a Senior Frontend Developer" автора Seifeldin Mahjoub.


Карантин может стать твоим звездным часом


Есть несколько определений для звания 'Senior', и меняются они от компании к компании. И, понятное дело, требуются много навыков, как hard skills, так и soft skills. Крис Коер написал статью о характерных чертах и склонностях в поведении, которые должны быть у сеньёра фронтенд разработчика, что даёт хорошую картинку в целом.


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


1. Овладеть основами


Сеньёру должно быть очень комфортно иметь дело с HTML, JS и CSS. К тому же, они должны владеть базовыми концепциями того, как работает интернет, включая браузеры, сети и сервера.


Это значит, что такие концепции, как прототипы, всплытие событий, call stack, promise, es6 для вас не пустой звук. То же касается CSS, анимаций, grid-систем, соглашений об наименованиях, и спецификациях.


Необходимо знать многочисленные концепции, ниже вы сможете найти некоторые ресурсы, по которым вы сможете пробежаться и восполнить знания, которых вам не хватает, по крайней мере пока что. CSS Reference, Html Reference, Javascript Fundamentals, Frontend Handbook.

Читать дальше →
Total votes 18: ↑8 and ↓10 -2
Views 12K
Comments 12

Базовое руководство по созданию сбалансированных команд разработчиков

Development Management *Start-up development Product Management *IT career IT-companies
Translation
Общался недавно с миддлом из команды разработки, которая состояла из 6-ти сеньоров и одного миддла. По словам миддла, расти в этой команде было очень сложно по ряду причин:

  • отсутствие техлида. Формально техлид был. С очень высоким техническим уровнем. Но как руководитель, который мог заниматься ведением и развитием своей группы, он был полный ноль: не умел декомпозировать задачи, распределять их в соответствии с уровнем каждого члена, не занимался обучением группы, контроль деятельности группы осуществлялся в диктаторском режиме, софт скиллы отсутствовали и т.п.
  • большой разрыв между скиллами миддла и сеньорами. То, что было непонятно миддлу, приходилось изучать на 95% самостоятельно, потому что у сеньоров не было времени и желания помогать миддлу в обучении, отсутствовало парное программирование (при этом код-ревью было отличным с технической точки зрения), в результате скорость работы миддла не удовлетворяла руководство, хотя качество его кода было высоким.
  • отсутствие командного духа. Обстановка в группе была нездоровой, общение не партнерское или менторское, а с унижениями, насмешками, ошибки на этапе разработки были непростительны и т.п.

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

Послушав этого миддла, я заинтересовался тем, как обстоят дела с балансированием команд разработки специалистами разного уровня, есть ли смысл создавать команды, состоящие из одних сеньоров, и как повышать свой уровень в таких командах на примере компаний из, например, Кремниевой Долины.
В результате я наткнулся на статью, перевод которой приведен под катом.

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

Переведено @middle_java
Читать дальше →
Total votes 20: ↑18 and ↓2 +16
Views 9.4K
Comments 30

Как вырастить веб-разработчика от стажера до архитектора. Матрица компетенций

Website development *Studying in IT IT career
Вместо эпиграфа
Когда в 2004 году я окончил университет, в нашем городе почти не было команд разработчиков. Где работать, у кого набираться практического опыта?

Выбор был прост: “админом” или “в Москву”. Или уйти из профессии.

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

Суть статьи коротко


Мы с коллегами умеем «растить» веб-программистов с “почти нуля” до уровня уверенного профессионала (Senior / Архитектор).

Хотим рассказать как все работает и поделиться с сообществом материалами и методикой.

Статья написана для студентов, начинающих и растущих веб-разработчиков.
Читать дальше →
Total votes 9: ↑9 and ↓0 +9
Views 12K
Comments 15

Можно ли сэкономить, набирая junior специалистов?

Development Management *Personnel Management *

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


Давайте приведем возможные доводы за то, чтобы строить HR политику на наборе джуниоров и их последующем росте.

Читать дальше →
Total votes 23: ↑16 and ↓7 +9
Views 18K
Comments 157

Я единственный из 1400, или самый крутой рекрутинг, что я проходил

Python *Development Management *Project management *Personnel Management *IT career

Я уже лет 10 пишу код на питоне, и последние 2.5 года стабильно работал на американскую компанию. Наверно, многим знакома история, когда ты кодишь-кодишь, вроде всё неплохо, и внезапно ты - самый знающий и опытный в команде и добро пожаловать в тим лиды. Астрологи объявили неделю менеджмента, количество кода снизилось на 100%.

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

Да что же там?
Total votes 167: ↑121 and ↓46 +75
Views 99K
Comments 315