Java для взрослых. Полная версия

Текст
Читать фрагмент
Отметить прочитанной
Как читать книгу после покупки
Java для взрослых. Полная версия
Шрифт:Меньше АаБольше Аа

Свою первую книгу я посвящаю моей жене Татьяне, вера которой в меня способствовала многим моим достижениям.

Алексей Назаров

© Алексей Назаров, 2021

ISBN 978-5-0055-5892-3

Создано в интеллектуальной издательской системе Ridero

Свои предложения, пожелания, замечания и вопросы по поводу книги Вы можете направлять мне на почтовый ящик nixoved@yandex.ru

Предисловие.

Блуждая в интернетах и натыкаясь на вопросы типа: «Мне уже за (можете подставить любое число, но не поверите, я встречал даже 26!!!) не поздно ли изучать Java?» я хотел кричать:

– «Друг! Если ты еще можешь попадать пальцами по клавиатуре, тебе не поздно!».

Я первый раз увидел компьютер в 22 года и мне даже дали на нем попечатать! Не могу Вам описать свои ощущения, когда я сидел около этого светящегося и шелестящего вентилятором чуда. У меня закипала кровь, я точно знал, что был рожден для ИТ, но жизнь распорядилась по-другому.

Теперь, когда я почти реализовал свою мечту и люди стали спрашивать меня, как правильно это делать я понял, что каждому не ответить, – нужно слишком много времени. Я решил, что напишу книгу, в которой постараюсь ответить на все вопросы людей, желающих стать разработчиками (программистами), а особенно на языке Java – на котором я пишу сам.

Я хотел назвать эту книгу «Java для тех, кому за…”, в общем вроде как не для молодых. И задумался: молодость – это когда тебе еще не «за…» сколько? Ответ пришел сам собой: эти «за» мы себе устанавливаем сами, а объективно их нет: есть только СЕЙЧАС!

Вот и ответьте себе сами: «Не поздно учить JAVA сейчас?»

Не поздно <подставьте что угодно> сейчас? Риторический вопрос, правда? И ответ понятный.

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

Глава 1. Что нужно чтобы стать программистом

Здравствуйте!

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

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

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

1. У меня был 15-летний опыт планирования, благодаря которому я умею быстро отделять главное от второстепенного.

2. У меня был 9 летний опыт системного администрирования. Это конечно никак не связано с программированием, но иногда дает представление о том в какой стороне проблема, если программа, например, не может получить данные из базы. Если у Вас нет опыта администрирования – не переживайте. Большинство программистов его не имеют.

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

1. Мечты сбываются если не бояться мечтать и двигаться к мечте.

2. Все, что я советую в этой книге, я проделал сам. А как говорится: только тот, кто помог себе – знает, как помочь другим.

1.1 Как я стал программистом

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

Однако меня всегда тянуло к ИТ. В 1998 году я не мог себе позволить купить компьютер и купив жесткий диск вечером после работы подключил его к рабочему ПК, установил Linux Mandrake 8.0 – это была первая ОС за исключением DOS и Windows 95, что я увидел. Непередаваемый восторг!

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

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

Я воскликнул что хочу быть таким. На что мой друг ответил – хочешь, значит будешь. Я посмеялся – где ИТ и где я – юрист, не осиливший школьную алгебру…

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

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

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

И вот я – системный администратор! Мне не верилось! Я – тот парень из рекламы что я видел 13 лет назад!

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

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

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

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

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

В этой компании, кроме технического уровня, требовался еще достаточный для общения английский и хорошее здоровье: четыре смены в неделю по 12 часов и 2 из них – ночные. Старше меня в компании был только еще один инженер – все остальные ребята от 18 до 30 лет. Это был физически и психологически сложный период, однако благодаря этому моя карьера в следующих компаниях как системного администратора пошла в гору. Дальнейший период моей трудовой деятельности я опущу – там уже не было таких примечательных рывков и дауншифтов: просто движение вверх.

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

Я тогда работал в одном банке ИТ-инженером. Мне было поручено задание: при помощи языка Python связать две системы, одна из них – это система заявок Jira, а вторая – для развертывания ПО Jenkins. На тот момент все, что я знал о Python, что это язык программирования, который имеет низкий порог вхождения.

Проект занял у меня 2 недели, безусловно мой код был ужасен и кошмарен, и надеюсь, что его никто не видел, но система регулярно отплевывалась заявками и все были довольны. А мне очень понравилось сидеть в IDE – среде разработки и творить. Я решил изучить Python и стать программистом. И безусловно, попался бы в ловушку, если бы не совет из книги для системных администраторов, что я упоминал выше, – постоянно следить за рынком труда. Я решил изучить рынок труда – насколько разработчики Python востребованы в Новосибирске. Оказалось, что практически ни насколько (напоминаю год был 2018, удаленка отсутствовала – пандемия еще не пришла).

 

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

Я стал покупать один известный онлайн курс и выполнять задания. На этом ресурсе я потратил полгода. Именно потратил. Мне казалось, что однотипных заданий слишком много, а лекции не способствуют скорому продвижению. В общем я бросил курсы на 8 уровне (из 40). И стал изучать Java самостоятельно по книгам. И как же я удивился, когда через три недели учебы по книге стал изучать многопоточность. На упомянутых курсах это был если не ошибаюсь 20 уровень.

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

Бесплатный фрагмент закончился. Хотите читать дальше?
Купите 3 книги одновременно и выберите четвёртую в подарок!

Чтобы воспользоваться акцией, добавьте нужные книги в корзину. Сделать это можно на странице каждой книги, либо в общем списке:

  1. Нажмите на многоточие
    рядом с книгой
  2. Выберите пункт
    «Добавить в корзину»