Web Developer Way
61 subscribers
37 photos
3 videos
3 files
150 links
@aymkin way to become a web developer
Download Telegram
JetBrains создали бесплатный курс для веб разработчиков. Начало с ХТМЛ и прочего ЦСС. Как сам курс не знаю - не пробовал, гляну на выходных. Идея мне кажется очень крутой.

https://hyperskill.org/tracks/5
Forwarded from TelepostBot
 Октябрь 2019: Пора менять работу.
 Я менеджер, зарабатываю выше среднего по стране, но не устраивают условия работы, к тому же хочу развития. 

Хочу стать айтишником, надо много знать, но привлекает то, что тут человечнее относятся к сотрудникам и встречается гибкий график работы. Нашел курсы по верстке, группа студентов из 5-6 человек закреплены за наставником, в конце даже будет дипломный проект и студенты получат сертификаты. Автор курса – опытный фрилансер, он понравился мне умением доносить материал. В день учеба занимает не меньше четырех часов. Домашние задания каждый день. Три не сданные домашки, приводят к предупреждение, после 3 предупреждений отчисляют за неуспеваемость . Начало курса, а я уже не успеваю, выручает, что в выходные свободен и пока получается наверстывать долги. На этом курсе я научусь верстать сайты, хочу, во что бы то ни стало, получить диплом и устроиться в студию.  



P.S. : Это реальная история начавшаяся 2 года назад.

 В следующий раз я расскажу, как я проходило мое обучение.
Forwarded from TelepostBot
Декабрь 2019: В мешки под глазами помещается пару чашек кофе.

Привет, это Иван Данилов!
Совмещать работу и учебу оказалось сложнее, чем думал. Каждый день встаю в 5 утра, чтоб пройти 1 урок до работы. Вечером я делаю домашнее задание. Куратор в сети до 19 часов, шансов успеть сдать домашку мало. Если до завтрашнего утра домашку не проверят, доступ к следующему уроку скорее всего не будет открыт, значит +1 долг. Еще 2 долга и вынесут предупреждение. Ребята в чате успевают обсуждать посторонние темы, а я не успеваю с домашками. Со мной этот курс проходит мой брат. У него ситуация по лучше – для изучения у него весь день. Узнал, что ребята из чата не первый день изучают верстку и материал из этого курса для них знаком – поэтому успевают.

Заканчивается 3-ий месяц. По утрам сил еле хватает, чтоб досмотреть урок. Горячий душ не помогает, холодный тоже. Уже через 30 минут так рубит спать, что иду и ложусь, а в 7 еле встаю на работу.


P.S. Это реальный рассказ.
В следующий раз расскажу о качелях на дипломе.
Привет, на связи Aymkin, а прошлые два поста были от Иван Данилов (@Ummca).

Сегодня тема: Запушил в мастер - женись.

Товарищ на работе сообщил, что случайно запушил в рабочую ветку develop, за что и получил нагоняй. Кроме того, задал вопрос: а что если в продакшн попал не рабочий код и все сломал?

Давайте обо всем по порядку.

0. Все мы живые люди и время от времени совершаем ошибки. Поэтому никогда нельзя сказать, что этого никогда не произойдет. Я и сам вытворял такое пару раз. Поэтому доверять человеческому фактору нельзя.

1. В GitHub (думаю что и в других битбакетах тоже) есть настройка защиты ветки. Значит надо настроить так чтоб напрямую пушить в мастер или девелоп было не возможно.

2. Так же надо настроить разрешение на мерж веток. Это означает, что мержить в мастре можно только из девелопа. И только в девелоп можно мержить из других веток.

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

4. Каждый ПР должен быть снабжен инструкцией: что было сделано? какую проблему это решило? как вручную протестировать изменения.

Таким образом просто так запушить в мастер что то плохое не получится. А если что и не рабочее попало в продакшин, то это уже групповая ответственность.
Forwarded from TelepostBot
Январь 2020. Опять двойка.

Привет, это Данилов Иван!
Через неделю начнется преддиплом, как раз на новогодние выходные. После него сразу дипломная. Для нее договорился о неделе отпуска. Начальник уже знает о планах и приглашает людей на замену, а я уверенно готовлюсь к преддиплому и диплому.

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

Трое лучших студентов потока получили рабочее место в этой же академии, бесплатное или со скидкой место на курсе по JS. А мы думали, что делать дальше…

P.S. Это реальный рассказ.
В следующий раз расскажу, чем мы занялись после этого курса.
Forwarded from TelepostBot
Привет, это Иван! 
После проваленного курса вспомнил слова друзей, которые раньше говорили, что IT –это для умных. Так получилось, что про «успехи» узнала знакомая верстальщик и предложила помочь. Мой брат стал искать вакансии верстальщика по Украине и вскоре нашел подходящую. 
 
 
Дали тестовое, после проверки которого, сказали, что его уровень не достаточно высок и предложили поднатаскать за деньги. Спустя 3 месяца его практики дадут снова тестовое и если все хорошо, то возьмут на работу. 
 У меня такая же история, но я ничего не платил. Верстальщик давала макеты, а потом оценивала мою верстку. 

 Спустя 3 месяца Игорю дали тестовое, которое он выполнил, но на работу не берут, так как пока нет мест. Это был красивый развод, но Игорь сосредоточился на том, что у него появилось портфолио и твердые знания подкрепленные практикой. Продолжал совмещать работу и практику по верстке. Нелегко, но легче чем было на курсе. 
 
 
 P.S. Это реальный рассказ. 
 В следующий раз расскажу, как я начал сам учить JS.
Ну вот вы кодите и решили создать функцию, которая создает копию файла (эксель):

function duplicateSpreadsheet(original) {
if (original.hasPendingChanges) {
throw new Error('You need to save the file before you can duplicate it.');
}
let copy = {
created: Date.now(),
author: original.author,
cells: original.cells,
metadata: original.metadata,
};
copy.metadata.title = 'Copy of ' + original.metadata.title;
return copy;
}

Вы наверное заметили, что:

* Эта функция дублирует (создает копию) таблицы эксель
* Она выкидывает ошибку если оригинальный файл содержит несохраненные данные
* Функция добавляет "Copy of" к названию нового файла

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

В комментариях попробуйте объяснить почему появился баг.
Forwarded from TelepostBot
​​Ноябрь 2020. Начал изучать JavaScript.
 Привет, это Иван !
JS решил изучать с книги “JavaScript для детей.” Димыч, из it-camasutra, для полных чайников, в одном из своих видосов на YouTube, рекомендовал начать изучение JS при помощи этой книги. Нашел в Интернете, заказал цветную распечатку и подшивку в переплет. Я читал книгу за компьютером и примеры кода писал в VSC. Стоит сказать, что раньше как то боязно было начинать изучение программирования, так как казалось, что программисты пишут код при помощи знаний и какой-то интуиции.😁 Книга сделала это знакомство безболезненным. Сформировалось представление о том, что меня ждет. Она реально подает инфу максимально доступно даже для детского уровня.
Это дало интересный опыт, но хватило на месяц. За это время прочел половину книги. Сложно оценить эффективность обучения при помощи книги, так как это было первое прикосновение к JS. Через месяц стало скучно, как будто чего то не хватало…. 
 
 Я слышал, что некоторые изучали JS с помощью сайта https://learn.javascript.ru/. В частности, одновременно со мной Игорь начал учить js при помощи сайта. Заметил, что он продвинулся дальше и знания у него чуть глубже. Поэтому после книги я продолжил обучение при помощи https://learn.javascript.ru/. Полтора месяца учился с помощью этого сайта. Потом снова возникло какое то странное чувство. Мне не хватало обратной связи. Я ощущал дефицит обсуждения, были мелкие непонятки в некоторых темах, прояснить которые, копаясь в интернете, мне тогда было сложно. Так же хочу отметить, что https://learn.javascript.ru/ – такое себе пособие для изучения, так как инфа в сжатом формате.Этот сайт - больше справочник для тех, кто уже знаком с материалом и хочет освежить в памяти. 

P.S. Это реальный рассказ. 
 В следующий раз расскажу, как я начал изучать React.
Качество против количества.

Время от времени возле моего уха проносятся вопросы типа "как выучить английский?" или "как стать программистом?". Прежде чем ответить маленькая притча.

В одной известной истории группа студентов гончарного дела была разделена на две. Первой группе дали задание сделать один идеальный горшок на всех. Второй группе дали задание сделать по 50 горшков на человека.

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

Так вот, какой бы не был вопрос - ответ один и тот же. Гоните "вал", то есть количество. Вместо одной двухчасовой лекции в неделю по английскому сделайте 7 по 18 минут. То же с программированием - занимайтесь по два часа в день, шесть раз в неделю и через год-два домашнего ютубного универа завидная профессия у вас в кармане. Кстати, Димыч с канала IT Kamasutra утверждает что для того чтоб войти в айти с нуля надо от 1000 до 2000 часов самостоятельной работы.
Forwarded from TelepostBot
​​Январь 2021. Начал изучать React.
Привет это Иван!
На новогодних выходных 2021 я усердно взялся за реакт. Это долгожданный и желанный момент. Во-первых, понимаю, что это инструмент для серьезной разработки. Во-вторых, вокруг курса, по которому начал обучаться, много хайпа. Без тени сомнения решил учить реакт по бесплатным урокам на YouTube «Путь самурая 1.0». Процесс кайфовый, так как автор курса доступно объясняет, а в комментариях под каждым видео-уроком коменты тех кто преодолевал эти трудности обучения и почувствовать, что ты не один. Учебу по прежнему совмещаю с работой. Возобновил ранние подъемы. Встаю в 6:30 утра каждый день. В распоряжении полтора часа для того чтоб пройти 1 урок. Сначала смотрю на скорости 1,5х потом еще раз смотрю и повторяю написанный код. Есть сложность с call-back функциями. Когда учил js - как будто бы было понятно. На курсе по реакту такой период когда «изобретаем велосипед» для того чтобы понять как он работает изнутри. Через десяток уроков перейдем на «готовый велосипед». Приходится возвращаться к темам по колбэкам и пересматривать еще по несколько раз, решаю задачи – становится понятно. Когда возвращаюсь к колбэкам реакта – не понимаю как функция находясь в одном файле, прокидывает данные через несколько файлов в другую функцию и там вызывает ее. Это какой то фокус. Димыч говорит, что эти непонятки – это нормально, нужно двигаться дальше и потом с высоты новых знаний пройденный материал станет понятен. Так и делаю. Летим в космос!

P.S. Это реальный рассказ.
В следующий раз расскажу, как я начал забывать React.
Forwarded from TelepostBot
​​Февраль-март 2021. Ранние подъемы не дают хороших результатов.

Привет это Иван!
Помните, я рассказывал, как на курсах по верстке вставал в 5 утра, чтоб успеть пройти 1 урок. Помните, как я говорил, что быстро выдохся от такого темпа. ….а я, видимо, забыл. С реактом история повторяется. Но здесь, кроме недосыпа появилась еще одна неприятная неприятность – я начал забывать темы. Дойдя до 64 урока из 100, я заметил, что забыл некоторые темы. Подозреваю, что случилось это просто потому, что проснувшись утром и включив очередной урок, глаза смотрели, а мозг спал. Игорь к этому моменту уже на 80 или 90 уроке и хорошо ориентируется в написанном коде. А я прихожу к выводу, что пора, наконец, что-то поменять. Димыча на стримах спрашивают, как начать учиться, если работаешь. Он НЕ рекомендует сразу увольняться, а наоборот, говорит, что по возможности, лучше продержаться как можно больше на работе совмещая учебу. Моя ситуация сейчас такова, что пора уволиться и сделать рывок в обучении. Супруга в этом поддерживает и давно об этом говорит. Она работает, мы посчитали бюджет и поняли что потянем. Конечно, эмоционально мне тяжело это принять – что я не буду работать какое-то время, и нашу семью будет содержать жена.
В марте заболел ковидом. Ломит спину и сильно болит голова, уже неделю лежу. Следующую неделю буду читать книгу и размышлять о предстоящем увольнении и учебе. Потом на работу, закрывать вопросы.

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

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

Эпиграф
"... а Дикарь глядел на него поверх страницы, и наконец с возмущением захлопнул книгу, встал и запер ее в стол - спрятал бисер от свиней." О дивный новый мир.

Первые два года опыта программирования я все время пытался затащить кого нибудь в этот поезд еще кого то.
Настойчиво убеждая войти в айти каждого, кто был знаком со словом "айти". Главным моим аргументом было - стать программистом может каждый. (На самом деле нет)

- Не надейтесь на курсы, особено те, что обещают за месяц-три с нуля. Статистика 10 смогут закончить даже начальные простые курсы.
- У вас не свободного времени, все это занято детями, работой и тик-током
- Английского учить? еще раз?
- Те примеры людей в 40-50 выучивших программирование все ложь, в моей реальной жизни этого не бывает. Программист 78 лет - исключение из правил, подтверждающее правило.
- А потом еще попробуй работу найти, на одну вакансию конкурс в 100 (а может и тыщу) джунов

Думаешь я тут выдумываю?

№1 видео: Почему ты никогда не станешь программистом
№2 О сложностях в обучении и устройстве на работу
Forwarded from TelepostBot
​​Май 2021. Устроился на первую работу.

Привет это Иван! 

 Уволившись с работы, запилил резюме в виде веб-страницы и шлю его, куда только возможно. В день откликался на 20-25 объявлений размещенных на hh.ru и на украинских площадках. В лучше случае приходит отказ, в худшем тишина.

 Кроме сайтов я начал мониторить вакансии в телеграмм-каналах. Однажды вечером откликнулся на одну вакансию из телеги. Искали junior-frontend developer. Ответили спустя 20 минут. Девушка предложила прям сейчас созвониться и провести собес. Такие собесы называют «тест на адекватность». Это со-руководитель самой крупной Российской образовательной платформы Get-course, второе название - Get-work. Им нужен верстальщик на их движок. Понятия не имею что ждет, но разберусь. Их сильно поджимает, а кадров нет, поэтому готовы ждать, пока «въеду». Оплата сдельная, но говорят, что 300-400$ - это реальные зарплаты.

 Нравится в работе на Get-course то, что вообще не привязан. Занимаюсь своими делами. Когда скидывают макет на согласование, я должен ответить устраивает ли цена за него, и за какое время сделаю. Получается совмещать обучение и работу. Я доволен. 
 
 
 P.S. Это реальный рассказ. 
 В следующий раз расскажу, о новое работе.
Forwarded from TelepostBot
​​Май 2021. Первая работа + душевный душегубный собес.

Привет это Иван!
Уволившись с работы, запилил резюме в виде веб-страницы и шлю его, куда только возможно. Кроме сайтов я начал мониторить вакансии в телеграмм-каналах. Однажды вечером откликнулся на одну вакансию из телеги. Искали junior-frontend developer. Ответили спустя 20 минут. Девушка предложила прям сейчас созвониться и провести собес. Это со-руководитель самой крупной Российской образовательной платформы Get-course, второе название - Get-work. Им нужен верстальщик на их движок. Понятия не имею, что ждет, но разберусь. Оплата сдельная, но говорят, что 300-400$ - это реальные зарплаты.
 Нравится в Get-course то, что не привязан. Занимаюсь своими делами. Когда скидывают макет на согласование, я должен ответить устраивает ли цена за него, и за какое время сделаю. Получается совмещать обучение и работу. Я доволен.

С Get-course работы капает мало. Так как в конце зимы дошел до 64 урока по курсу Путь Самурая и остановился, решил, что пройду этот курс заново, но перед этим пройду курс по JS. Давно лежит курс Ивана Петриченко, купил сразу после верстки. Настало его время.
Ваня доступно объясняет, мне нравится. Трудностей никаких не возникает, что не понятно-гуглю.

Так как занимаюсь спортом, у меня дома есть кое какой инвентарь, который захотел продать, чтоб купить другой. Продал гирю. Клиентом оказался парень с района, работает в DEX местная it-компания. Разговорились с ним, и он скинул контакты HR. Написал девушке, объяснил свой бэграунд и сказал, что ищу вариант стажировки. В переписке акцентировал внимание, что я джун. Она стала убеждать, что я ценный кадр и что мне обязательно стоит прийти на собес. С хорошим настроением и предчувствием, что скоро все изменится, поехал на собес в соседний город, к ним в офис.

Пришел на собес. Его проводил директор, HR сидела рядом и молчала. Директор расспрашивал, как о них узнал, что о них в говорят в наших кругах студентов….и т.д. Потом спросил, какой у меня опыт разработки. Объяснил, что прошел курсы по верстке и прохожу курс по JS , ищу место для стажировки и дальнейшего трудоустройства. На что он перебил и глядя в упор, в глаза повторил : «….нет ты не понял…! У тебя есть какие то серьезные проекты, которые сделал сам??....». Я начал сначала рассказывать зачем пришел, периодически поглядывая на HR, которая делал вид, что не причем. Директор перебил спросив : «…ты вообще знаешь кого то из наших ребят…?» Ответил, что знаю Лешу П. – учились в школе вместе. Этот вопрос показался странным. Последующий ответ директора и его умозаключения сильно в моих глазах дискредитировали его, как грамотного менеджера, руководителя …и просто как тактичного человека.

 «…Понимаешь, я как руководитель компании – являюсь гарантом того, чтоб сотрудникам было комфортно работать в нашем коллективе, а успех компании и комфорт сотрудников достигается за счет общего взаимодействия, а это возможно благодаря скилам. Понимаешь? …»
В этот момент почувствовал, что у Dex есть супер герой, который пытается защитить честь компании от меня – злодея. Но это был не конец.
Глядя в потолок и посмеиваясь, мой собеседник продолжил: «…хотя, если чисто гипотетически предположить, что тебе от Леши П. что-то там передалось со школьной парты и в будущем ты станешь таким как Леша….Да, в принципе было бы интересно. ….» В это момент почувствовал себя всунутым головой в сельский туалет. Леша у них работает на бэкэнде уже года 4, перед этим закончил ВУЗ по it направлению. Ну как можно нас сравнивать???
Покинул кабинет с противным чувством. Директор в спину что-то рассказывал про курсы тестировщиков, а HR продолжала делать вид, что только что пришла, старалась улыбаться и уболтала на экскурсию по офису. 
В голове не укладывалось, как it-компания может работать как бюджетники. Тогда четко для себя определил, что больше не хочу их видеть и никогда не переступлю порог их шараги.

P.S. Это реальный рассказ.
В следующий раз расскажу, о новой работе.
Бинарный поиск бага (реальная история by @aymkin)

В новой версии приложения Х (над которым я работаю) вдруг обнаружился страшный баг. Одна из важных функций перестала работать. Причем в течении Ноября мы выпустили несколько версий и не понятно в какой версии наша фича сломалась.

Исходные данные
- на 01 Ноября приложение полностью работает
- на 02 Декабря одна из функций сломалась
- между ними примерно 200 коммитов

На помощь пришел инструмент бинарного поиска бага git bisect.

Шаги к резолву бага
1. ➜ git bisect start - инициируем начало работы поиска
2. ➜ git bisect bad - указываем что текущая версия сломана
3. ➜ git bisect good be098112 - указываем последний стабильный комит без бага

Дальше гит считает сколько комитов между ними и делает чекаут на посередине. Проверяем приложение и говорим git bisect bad или git bisect good, то есть работает наша фича или как. В зависимости от ответа гит берет другой коммит слева или справа от среднего.

Таким образом я за 8 итераций нашел тот самый коммит из 200, который ввел баг в приложение. Дальше дело техники и фикс занял еще 10 минут.

Дополнительное чтение по git bisect https://habr.com/en/post/591447/
Forwarded from TelepostBot
​​Июнь 2021. Новое предложение. 

Привет это Иван! 

Летом 2021 уже месяц как работаю в Get-course. Результат - сверстал 2 страницы. Остальное время заказов не было. Выхлоп стремиться к нулю.

В августе 2021 (вместо "Однажды") позвонил руководитель местной компании TirasMedia, ранее отправил туда резюме. Он предложил работу. Обещал много работы по JS и фиксированную ЗП 400$. Много работы, это хорошо, но моя цель React.

Через пару дней согласился, созвонились обсудить условия. Решил перестраховаться и записал наш телефонный разговор. Дмитрий обещал много работы, менторство старших разработчиков, практику по JS, ЗП 400$ фиксировано без привязки к объему работы, без привязки к графику и месту. Договорились на официальное оформление после первого макета. Согласился.

Через 2 дня по первому макету торговались за сроки. Сошлись на 4-х днях, сделал за 6 дней. Дмитрий сказал, что это медленно, а на очереди уже другой макет. Предложил встретиться и кое-что обсудить. При встрече сказал, что доволен и хочет назначить ментора, чтоб научил натяжке верстки на WordPress. Когда стану самостоятельным ЗП поднимется. Официально устроит на работу уже в конце месяца после первой ЗП. Опять согласился.

Второй макет скинули на следующий день, сразу начались терки по срокам, удалось растянуть на 6 дней. По сложности такой же.

На учебу снова нет времени. Да, много практики по JS, но у меня другая цель. Решил, что месяц-два можно работать на портфолио, а потом уволиться и продолжить учебу, но где то в глубине дущи точил червь страха и сомнения. Игорь (брат) говорит, «…выучи React и будет счастье, а не этот детский сад…»

 P.S. Это реальный рассказ. 
 В следующий раз расскажу, о «качелях» которые начались с Дмитрием.
В React Native довольно часто бывают проблемы с запуском приложения. Переключался по веткам, разные поды, кэш yarn, может metro-bundler, или watchman? а может еще кое что.

Когда я начинал с RN - бывало часами мог сидеть над этим.

Сейчас, спасибо добрым людям, есть помощник react-native-clean-project

Выбор опций из CLI или чистит сразу все) Цените время, пользуйтесь с удобством.
Читай, молись, люби...

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

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

Как то читал несколько раз книги-пересказы различных бестселлеров. Типа выжимка смысла, 20% жира без 80% воды. Как по мне, так это можно после прочтения основной книги.

Вывод: "вода" важная составляющая и катализатор усвоения материала.