Как я входил в айти в 40 лет, часть 3. Английский язык, недо-стажировка, собеседования, трудоустройство
Начало тут Как я входил в айти в 40 лет, часть 1
и тут Как я входил в айти в 40 лет, часть 2. Прохождение курса и сопутствующее
Постараюсь всё оставшееся уместить в одну часть.
Итак, мой курс обучения Java был фактически окончен, но работу я всё еще не искал. Ребята из ТГ-чата https://t.me/pereiti_v_aiti говорили мне, что я тормоз и давно пора начинать.
Для джуна-войтишника крайне важно хорошее резюме. Я отсмотрел несколько часов видео с разборами резюме, где HR-ы в подробностях рассказывали, что их конкретно бесит в резюме соискателей, а что радует. Ваше резюме будет одно из трехсот на вакансию, ознакомление займет около 1-3 секунд, за это время будет принято решение — в мусорку или на рассмотрение.
Поэтому пришлось свои 20 лет стажа работы по банкам и нефтянкам схлопнуть в две строки. Если будет интересно, запилю пост, как и что должно быть в резюме. Потом я заплатил еще 500 рублей человеку-профи, которому доверяю, чтобы он дополнительно вычитал и отрецензировал резюме. Получилось - хорошо.
Важный момент - кроме прочего, резюме вайтишников отсеивается HR-ами тупо по возрасту. Если заголовок будет "Василий Сергеевич Пупкин, 40 лет, претендую на должность стажера" — окажетесь в шредере. Поэтому я максимально убрал все намеки на возраст и даже зарегистрировал email без цифр. Скромно мелким шрифтом в самом низу в графе "Образование" стоит год окончания ВУЗа — 2003.
Была середина декабря 2021. Я открыл HH и стал рассылать отклики на вакансии. 90% откликов были "не просмотрено", еще 8% просмотрено, 2% отказы. Картинка угнетающая. Особенно когда откликаешься на вакансию "приходи, желательно знать основы языка, всему научим, зарплата 30тр" - и приходит отказ даже пособеседоваться. Руки стали опускаться, но сюрпризом такая ситуация для меня не была, я знал, на что шел.
Поэтому решил параллельно заняться своим разговорным английским. На многие вакансии требовался English B1 и выше. А я даже не знал, какой у меня уровень, но знал, что разговорный - близкий к нулю. Открыл гугл, набрал "репетиторы Санкт-Петербург", получил кучу результатов. Академический уровень и подготовка к экзаменам/сертификации мне не требовались, стрессов лишних тоже хотелось избежать, поэтому я нашел приятную, доброжелательную девушку по имени Камила, с которой мы провели пару часовых сессий болтовни в скайпе. Обсудили, как отвечать и что говорить на собеседовании. Я наконец услышал, как разговариваю, и оказалось, что люди меня понимают. Камила сказала, что на собес на английском я могу идти смело и не париться. Лучшие потраченные 1600 рублей за тот год.
Кроме того, я прошел одно мок-интервью по Java. Заплатил денег, и меня часик погоняли по теории, языку, фреймворкам и дали фидбэк. Тоже очень удачное вложение 1500 рублей: стало понятно, чего ожидать на тех.собеседовании и как себя вести, а также ушло 50% страха перед собесом.
Под новый год наконец отклик - приглашаем на стажировку! Компания-"галера" прислала ссылку на бота в ТГ, где нужно было в течение 10 минут ответить на 10 вопросов по Java. На вопросы я ответил, после чего был созвон по скайпу для проверки разговорного английского. Поговорили, по результатам ассесмента мне поставили B2.
Но на стажировку, внезапно, сразу не взяли. Назначили проходить 1-месячный интенсивный курс по Java в команде с еще парой десятков таких же претендентов. По итогам курсов — собеседование, после собеседования — стажировка, и только потом — еще одно собеседование и потом, если повезет — офер на джуна. И как вишенка на этом сомнительном торте — обязательный контракт на полтора года работы, либо выплата неустойки!
Ситуация конечно не то чтобы трагическая, хоть и неприглядная. Ситуацию усугубляло полное отсутствие откликов от других работодателей. На дворе было 27 декабря, и я согласился на прохождение 1-месячного курса перед стажировкой.
Курс шел сурово и без скидок на праздники. 31 декабря нам выдали одно из заданий и посоветовали лечь спать пораньше и без шампанского, чтобы 1 января с утра уже закончить задачу и отправить на проверку. В 11 утра 1 января я уже получил код-ревью. Прямо по ходу курса начался отсев. Выкидывали за "прогулы" групповых созвонов, за несвоевременную сдачу заданий. Я худо-бедно успевал, готовясь морально к рабству на следующие 2 года.
Но наконец закончились российские новогодние каникулы, и прямо 10 января начались просмотры откликов на HH, посещения профиля на LinkedIn, и даже сообщения в Телеграм от рекрутеров! Я понял, что размещать резюме под бой курантов и ждать бурного отклика было наивно. Рекрутеры уже оказались в тот момент в режиме "давай после праздников" и найма не было.
На 13 января 14.00 было назначено наконец мое первое тех.собеседование. Компания, выполняющая гос.заказ, офис в Сити либо удаленка, сразу отличная зарплата для джуна, ДМС и плюшки. Класс! Я засел за учебники. И тут следующее сообщение в ТГ:
Конечно рассматриваю! Тех.собеседование назначили на 13 января, 16.00. Надо ли говорить, что 13 января было самым нервным днем за последние годы? Два тех.собеса подряд.
Первое собеседование прошло в "лайт" режиме, мы обстоятельно поговорили с тимлидом, я вполне уверенно отвечал на вопросы, чувствовал себя комфортно. Договорились на фидбэк в течение пары дней.
Второе собеседование (в геймдев) было сразу с двумя собеседующими, с двумя задачами на лайвкод и стандартными вопросами по Java. На вопросы я ответил, а вот лайвкод дался мне гораздо тяжелей. Кроме того, оказалось, перед собеседованием они просмотрели мой github с учебными проектами, и даже собирали и запускали некоторые репозитории. Это очень помогло как поддержанию беседы, так и собственно рассмотрению моей кандидатуры.
Со второго собеса я ушел морально вымотанным и расстроенным: задачи решил далеко не блестяще. Ладно, это всего лишь первые два собеса, подумал я, и пошёл дальше делать задания к стажировке в галеру.
13 января я получил офер по второму собеседованию. Сразу предлагалась очень достойная для джуна долларовая зарплата, офис в Питере либо удаленка, и возможность приступать немедленно. Я взял пару дней на подумать и заодно подождать фидбэка по первому собеседованию. 15 января я получил оттуда вежливый отказ.
Принял свой первый офер и попрощался с курсами и стажировкой. На данный момент работаю там же и крайне доволен. Сейчас уехал к родителям в деревню, пишу этот пост на ноутбуке на лоне природы и предвкушаю вечером шашлыки и баньку.
Конец :)
Обзор книги Стива Макконнелла «Совершенный код», про которую говорят "должен прочесть каждый разработчик"
Всем доброго времени суток!
Публикую рецензию подписчицы нашего телеграмм-канала t.me/it_begin на книгу "Совершенный код" от автора Стива Макконнелла
Стоит читать? Нет! Почему? Опишу в статье.
Начать, хотелось бы с того, что сообщество StackOverFlow признало книгу Стива Макконнелла "самой впечатляющей книгой, которую должен прочесть каждый разработчик программного обеспечения"
Обратимся к цитате из книги:
Ваш работодатель не может заставить вас стать хорошим программистом, а зачастую он даже не может оценить, насколько хороши вы как программист. Если вы хотите стать отличным программистом, вы отвечаете за это сами. Это зависит от вашего характера.
Как мы знаем, бывают книги, что переиздают буквально каждый год, по причине их отставания от тех вещей, что происходит в индустрии. Есть же книги, что фундаментальны и начал их изучение, у вас два варианта развития событий. Вы или полюбите программирование или же получите полное отвращение к всему, что с ним связано.
Книга Стива Макконнелла стоит посередине этих понятий, сочетая в себе наставления и справочник по решению поставленных задач, независимо от того, какой язык программирования вы используете .
Кто целевая аудитория книги?
Это терпеливые, вдумчивые и целеустремленные люди, что имеют достаточно свободного времени.
Для начала, обратим внимание на объём нашей книги. 900 страниц!
Такой объём возможно напугает далеко не каждого и кто читает в среднем 30 страниц в день управится с книгой за месяц. но ...
1. Плотность информации, что изложена на страницах , очень велика,
2. Большое количество ссылок на сайты с дополнительным материалом, которые любезно оставил автор
3. В конце каждой главы - список рекомендуемой литературы
Много ли кода в книге?
Крайне не хватает настоящего кода и реальных задач, автор же ссылается на sourceforge.net , называя его лучшим сборником кода.
В наших реалиях это github и сайты с библиотеками для вашего языка программирования.
Имеет ли смысл читать книгу, если у меня нулевой опыт в программировании?
Нет. Нет никакого смысла тратить своё время, если вы не знаете ни одного языка программирования, так как с большой вероятностью вы ничего не поймете в книге.
Также есть и обратная медаль у этого всего. Книга выпущена в 1993 г. и как мы с вами понимание, за 29 лет многие вещи в индустрии изменились и закрепились так сильно, что стали очевидны каждому разработчику, что также не мешает им создавать плохой код.
Есть ли альтернативы данной книге?
Если вы хотите улучшить свой код и стиль его написания, но нет желания читать талмуд в 900 страниц, то советую обратить внимание на книгу "Программирование без дураков"
Авторы: Катрин Пассиг., Йоханнес Яндер. В чем-то эти книги перекликаются, но книга Стива намного сильнее углубляется в свою тему.
Основные принципы написания кода, изложенные в книге:
1. Никогда не следуйте требованиям, не вникая в них. - ибо требования устаревают и за трендами их развития так или иначе необходимо следить, а не просто делать так, потому что раньше всегда так делали.
2. Пока не поймете, так ли хорош ваш подход на самом деле, не делайте поспешных выводов - то что кажется вам практическим и удобным в использовании - может тратить много ресурсов компьютера и времени, к примеру - использование избыточных комментариев.
3.Будь проще - твой код должен быть понятен и ясен каждому, комментарии должны быть как можно ближе к коду.
Если не можете что-то реализовать, не создавайте кучу переменных в одном методе и не держите их там, старайтесь избегать вложенных циклов и разных ветвлений
Делают ли годы программирования нас профессионалами?
Также в книге затрагивается вопрос того, что годы программирования, сами по себе, ни коем образом не характеризуют вас как отличного специалиста. Вы можете кодить 3-10-15 лет, но делать одно и тоже, не расти профессионально. По итогу, становиться лучше или же оставаться на том же уровне профессионализма - дело сугубо ваше. Как и интерес к чему-то новому, смотреть как работают другие и посмотреть на свою работу со стороны - то что поможет вам расти.
Полезна ли книга?
Из всей книги, лишь 3-5% имеют ценность. Заставляет задуматься хорошо глава о семантическом сопряжении. Глава про инструментарий также является по мне полезной. Пожалела я о потраченном времени на данную книги. Книга содержит много моментов из мотивационной литературы наподобие "Думай и Богатей", что дополнительно растягивает книгу и отнимает наше время. За этим ли мы пришли к её прочтению?Книга очень затянута. Две крайние главы - это около 100 страниц, в которых резюмируется то, что было написано уже ранее. Это при том, что резюмирование происходит абсолютно в каждой главе.
По мне, буду в здравом уме, прочитать эту книгу от корки до корки - невозможно.
Итог по книге:
Книга крайне затянутая. Хоть и содержит в себе большое число полезных ссылок и сносок на рекомендуемую литературу, но объём книги мог бы получиться и поменьше, если не переливать из пустого порожнее на протяжении 900 страниц
Пройтись по диагонали и что-то подчеркнуть для себя - книга подойдет. Но вчитываться в неё, вникать в каждую деталь - смысла никого не имеет. Потратите только время и нервы.
Наш канал
Кому интересны программирование, изучение иностранных языков и кто просто любит развиваться
публикую также интересные статьи и интервью на телеграмм-канале IT-старт t.me/it_begin
Подписывайтесь ;)
Спасибо!
Стоит ли идти сюда учиться Java?
Добрый день всем. Я решил изучать java, и для начала подумал поступить в полицеальную школу на java разработчика. В Польше полицеальная школа это что-то типа пту. Заведение, куда можно пойти имея среднее образование, и в течении одного-двух( в моем случае одного) лет получить профессию. Занятия проходят по выходным. У меня есть описание с сайта школы, которое я вам перевел:
В этом курсе вы изучите инструменты и технологии программирования на JAVA. Вы узнаете, как создать веб-приложение, и вы узнаете, как использовать веб-контейнер Apache Tomcat на практике.
ПРЕДМЕТЫ
Введение в программирование на Java
Введение в алгоритмы и структуры данных
Введение в тестирование приложений
Введение в технологию JVM
Продвинутое программирование на Java
Базы данных — Hibernate, JDBC
Система контроля версий GIT
Разработка программного обеспечения
Сервлеты и JSP
Язык SQL
Spring фреймворк
Серверы приложений
Проектная группа
И, собственно, вопрос: нормально ли все это выглядит? Я имею в виду перечень предметов. Как думаете, даст ли мне это необходимые знания? Естественно я буду читать книжки и решать задачи и кроме этого обучения, время готов уделять каждый будний день часа по 2. Просто хотелось бы чтобы мне дали какой-то план обучения, и личное общение с понимающими в предмете людьми, поэтому и хочу пойти в эту школу.
П.С. В этой школе ещё есть 2 интересных направления:
1. Programowanie Python z Cisco Networking Academy
В этом курсе вы узнаете об инструментах Python и средах программирования. Вы научитесь выполнять действия, используя условные конструкции и циклы. Вы узнаете, как создавать объекты и классы в программном коде, а также изучите вопросы, связанные с функциями и списками.
ПРЕДМЕТЫ
Повторение действий с циклами
Ввод, обработка и вывод. Типы данных и операторы
Библиотеки и структуры данных
Программирование на Питоне. Инструменты и среды разработки
Принятие решений в программах
Ветвление кода, циклы while и for, дизайн программы
Функции и списки
Последний проект
Файловые операции и обработка исключений
Классы и объектно-ориентированное программирование
2. Programowanie aplikacji internetowych i mobilnych
В этом курсе вы узнаете об алгоритмах и структурах данных, архитектуре компьютерных систем и сетевой инфраструктуре. Вы получите знания о технологиях HTML и CSS, разработке веб-сайтов и библиотеках Bootstrap. Вы также изучите программирование на следующих языках: JavaScript, SQL (библиотеки: AngularJS, Jquery), а также объектно-ориентированное программирование на PHP и Java, а также создание графических приложений с помощью JavaFX. Кроме того, в рамках учебы вы можете пройти курсы Сетевой академии Cisco.
ВЫПУСКНЫЕ ЗНАНИЯ И НАВЫКИ:
-знание алгоритмов и структур данных, архитектуры компьютерных систем, интернет-сервисов и сетевой инфраструктуры
-знание технологий HTML и CSS, веб-разработка, библиотека Bootstrap
-основы SEO/SEM и CMS систем
-программирование на JavaScript, знание библиотек: AngularJS, Jquery
-Язык SQL, проектирование, реализация и использование реляционных баз данных на базе MySQL
-объектно-ориентированное программирование на PHP, фреймворки и создание сайтов с использованием PHP
-знание Java, создание графических приложений с помощью JavaFX
-разработка мобильных приложений для платформы Android и публикация на Android Market
Управление ИТ-проектами
-приемы и методы, используемые для обеспечения безопасности информационных систем
Во втором варианте, конечно, много чего понамешано, даже не знаю, что сказать) Может быть стоит и на них взглянуть?
Спасибо за внимание, буду благодарен за ответы.
Как я входил в айти в 40 лет, часть 2. Прохождение курса и сопутствующее
(начало в предыдущем посте)
Итак, я уволился и начал учиться с ментором фул-тайм, с утра до вечера, прилежно учился, успешно освоил курс и стал спецом по Java. Конец.
Конечно же, нет.
Первое, с чем я столкнулся на задании №1, это драконовские требования к качеству кода. Задачка была на полчаса работы (пройти по строке двумя вложенными циклами), но сдавал я её неделю. Ментор заставлял давать осмысленные названия переменным и методам, делать методы красивыми и лаконичными, код минималистичным, отслеживать пробелы, отступы и табуляции. Код-ревью раз в сутки (у ментора есть своя основная работа). Именно из этого все отрицательные отзывы у этого учебного центра. У людей не выдерживают нервы, они ругаются с ментором из-за пробелов, бросают курс и ставят единицу на фейсбуке.
Я был к этому готов. Тайм-лимит от увольнения до нового трудоустройства я поставил себе в 1 год, в курсе 23 задания, то есть две недельки на задание - это норм. Но был один недостаток. На первых заданиях от одного код-ревью до другого у меня уходило 30 минут на исправления замечаний и оставалось 23,5 часа свободного времени. Я решил потратить это время на саморазвитие и самообразование в смежных областях.
1. Мне больше не нужно мотаться в офис и просыпаться по будильнику. Настроил себе режим сна и отдыха, наладил питание, ввел в режим ежедневные часовые прогулки. Работоспособность моментально удвоилась.
2. Прочитал несколько отличных книг Нассима Талеба (во главе с "Антихрупкостью"). Они объемные и очень классные, рекламировать не буду, кому надо тот уже прочитал, кто хейтит - уже похейтил.
3. Программисту нужен английский. "Лет ми спик фром май харт" я умел, свободно читал, но разговорный язык отсутствовал. Разговаривать мне было не с кем, и я стал слушать, как говорят другие: просмотрел все сезоны "Секс в большом городе" на английском языке; в неспешном режиме ушло несколько недель. Забегая вперёд, этого оказалось почти достаточно.
4. Стала одолевать прокрастинация. Начальников у меня не было, никто не подгонял, контроля никакого, у ментора оплата помесячная. Стал днем поигрывать в Иксбокс, грустить от очередного разноса на код-ревью, пропускать целые дни. Здесь мне помогли книги и подкасты Максима Дорофеева ("Путь джедая" и сопутствующие). Максим крутейший чел, без него бы вероятно ничего не вышло.
Настала и закончилась весна, здоровый сон, загородные поездки, прогулки, умные книжки, свободный график - было очень здорово. Угнетало только одно - отсутствие зарплаты :) Курс обучения перевалил за половину. Как мне казалось, я уже неплохо ориентировался в Java, и приятель предложил поговорить с его братом по поводу возможной стажировки или даже работы джуном (на курсе были люди, трудоустроившиеся после 7 задания из 23!) Мы созвонились, поговорили, и случилось то, о чем писал в комментах @Rimata, - вскрылись низкие теоретические "подкапотные" знания языка.
Я прочувствовал сокровенную тайну найма разработчиков-джунов. Так как такому разработчику нечего рассказать о прошлом опыте, преодоленных трудностях, решенных задачах и т.п. - на собеседовании его будут гонять по теории, и гонять жёстко. Было понятно, что тут непочатый край работы по подготовке. Здесь мне очень помог вот этот вопросник (здесь Java и сопутствующие технологии): https://github.com/enhorse/java-interview. Я отталкивался от него как от "скелета" и постепенно наращивал знания. Но о подготовке к собесам и собственно их прохождении чуть позже.
Лето было немного "смазанным" - я переезжал в Санкт-Петербург и перевозил туда семью. Немало времени ушло на поиски школ, жилья, упаковку и отправку вещей, отправку автомобиля и т.п. Конечно, кроме физических нагрузок, была немалый психологический стресс. Но всё обошлось. Учебу я продолжал, но случались некоторые перебои в трудоспособности, несколько раз я брал "заморозки" курса обучения на неделю-две. В конце августа мы слетали в отпуск, 1 сентября началась учёба у детей, и с новым рвением я взялся за продолжение курса. Примерно к концу ноября я был на 21 задании из 23. Было понятно, что уже очень пора искать работу.
С этого и начнем следующую (думаю заключительную) часть рассказа, спасибо за внимание.
Как я входил в айти в 40 лет, часть 1
Update: удалил любые намеки на название курсов. Пикабушники везде рекламу видят
Да, еще одна история про войти в айти.
Четыре месяца назад я вышел на первую работу Java-разработчиком в мобильном геймдеве, и хотел бы поделиться своим путем.
(!) Дисклеймер: не претендую что мой путь самый быстрый, умный и правильный.
Мой бэкграунд - фанат компьютеров и всего такого с восьмидесятых годов, но не программист ни разу. Эникеил, админил, инженерил - было. Кто мои старые посты об играх помнит - знает.
В 30 с хвостиком начал работать инженером в конторе со словом "нефть" в названии, было интересно, трудно, но очень одинаково, год за годом. Платили неплохо, за эти годы дети подросли, ипотеки платились, поэтому никакой мысли о смене деятельности не было. Однако видел на работе людей 55+, которые проводили десятилетия на моей должности, и лучшее что могло с ними произойти - это успешное досиживание до пенсии, рукопожатие директора и мерч на память. А могло и не повезти досидеть до пенсии... Навыки мои были довольно узкоспециализированными и моя востребованность на рынке труда с годами никак не росла. Не говоря уже о доходах. Нужно было что-то менять.
Я понял, что свобода менять свою жизнь ограничивается только свободными финансами.
Поэтому примерно в 2018 начал копить подушку безопасности, которая была лучшим решением в жизни. Освоил основы инвестиций, и вдвоем с супругой (спасибо ей за полную поддержку, в т.ч. финансовую!) удалось скопить денежку на пару лет скромной жизни. Также не буду скрывать, что приятную сумму в семейный бюджет добавил мой папа. К счастью, эти деньги выступили подстраховкой и не понадобились.
Куда метить в плане специализации - я почему-то даже не думал. Только разработка, только бэк, только Java. Поэтому, работая на работе и подкапливая деньги, проходил вечерами видеокурсы на Udemy и Ютубе. Без фанатизма, просто смотрел и повторял, что делается на экране. Бросал, перескакивал с одного на другой, делал перерывы, но самые основы подцепить удалось. Также с удовольствием изучил курс Гарвард CS50, он общедоступен.
Заодно примерно подбирал методику, по которой буду учиться разработке. Методик не так много, но точно знал, что курсы, где преподаватель будет рассказывать и показывать что-то на доске, мне не нужны, этого добра полон Ютуб и торенты. И попался мне один дядька <вырезаны любые намеки на курсы и название>
Дядька обещал следующее:
-Структурированный курс с началом, продолжением и концом
-Никаких лекций, только практика, разумеется всё удаленно
-Живой ментор-действующий крутой разраб, который будет вести меня лично по курсу
-Строгое ревью кода раз в день
-Длительность примерно от полугода
-Боль и страдания
-Хорошие знания на выходе.
Я принял условия игры и поверил (забегая вперед, всё оказалось правдой).
В январе 2021 уволился с работы, снял надоевший костюм и галстук, облачился в пижаму и начал обучение на курсе.
Хотел уместить всё в один пост, но смотрю буков уже много, а еще даже не начал описание учебы... Так что увидимся во второй части. Спасибо за внимание.
Перевод игры Vampires Dawn: Deceit of Heretics
Привет любимый Пикабу!
В последнее время занялся активно фанатским переводом игр на java и так как я делаю это в первый раз, естественно столкнулся с рядом проблем и вопросов.
Очень бы хотелось чтобы знающие и не равнодушные к этой игре люди дали свой экспертный ответ касательно:
Я перевел все, что только можно перевести в игре находящееся в class файлах так, как мне кажется это было задумано разработчиками.
Я бегло могу говорить без словаря на английском, и в данный момент изучаю немецкий, поэтому проблем с смыслом перевода задуманным разработчиками мне кажется быть не должно. Проблема в том, что у меня не получается открыть DAT файлы где хранится вся остальная текстовая информация.
Помогите пожалуйста кто чем может, невероятно сильно хочу перевести свою любимую игру на java. Как вариант могу всех добавить в титры в помощи к переводу. Да и всеравно планирую много где заного разместить эту игру, но уже с переводом.