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

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

Ранее части книги публиковались отдельными изданиями под названиями «Java для взрослых» и «Java для взрослых. Часть 2». Эта редакция содержит полную версию книги. Автор книги в прошлом юрист, уже год работает программистом, описывает свой опыт изучения языка java: как учить язык, чтобы максимально быстро начать поиск работы. Пользуясь этой книгой-ментором, вы сможете пройти путь от гуманитария до junior java-разработчика в значительно меньший срок, чем пользуясь различными курсами в интернете.

Оглавление

* * *

Приведённый ознакомительный фрагмент книги Java для взрослых. Полная версия предоставлен нашим книжным партнёром — компанией ЛитРес.

Купить и скачать полную версию книги в форматах FB2, ePub, MOBI, TXT, HTML, RTF и других

Глава 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 уровень.

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

1.2 Что будет в этой книге

Все, что будет в этой книге подчинено только одной цели — как можно быстрее сделать из новичка программиста уровня «джуниор», чтобы начинать искать работу. Это книга — гайд как учить Java, чтобы стать джуниор-разработчиком.

1.3. Чего НЕ будет в этой книге

Здесь не будет никакой воды, рассуждений и избыточной информации.

Здесь не будет глубокого изучения какого-либо инструмента\технологии.

Эта книга не заменит Вам книги по Java. Объясняю еще раз: это книга-ментор, которая будет вести Вас и направлять, поясняя, что и в какой степени изучать в Java и не только.

При этом, конечно, всегда нужно иметь ввиду, что у каждого человека разная скорость освоения материала. Не могу гарантировать что у Вас получится быстрее в два раза чем у меня, но точно уверен, что если идти этим путем — можно стать Java-разработчиком. По крайней мере я им стал.

1.4. Для кого эта книга

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

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

1.5. Начальные требования

Для того, чтобы начать без боли погружаться в программирование нужны 2 вещи:

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

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

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

Оглавление

* * *

Приведённый ознакомительный фрагмент книги Java для взрослых. Полная версия предоставлен нашим книжным партнёром — компанией ЛитРес.

Купить и скачать полную версию книги в форматах FB2, ePub, MOBI, TXT, HTML, RTF и других

Смотрите также

а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ э ю я