Checkmate @ 29.11.23skyfun738, из моих ошибок, я пытался максимально подготовиться к собеседованиям. Лучше было начиная с первого месяца обучения, регулярно на них ходить, получать отказы и калибровать свой план развития. У меня ушло пол года до первого оффера, думаю можно быстрее.
С чем идти на первом месяце самообучения, если даже фреймворки и базы данных не щупал?
skyfun738, А это ощущение что ты недостаточно готов никуда не пропадет и через год. Будешь знать фреймворк и базы, будет в голове что не знаешь алгоритмы, и т.д, бесконечный цикл. Лучше сразу же обкатывать на собесах, тебе сразу станет понятно что от тебя хотят и какие аспекты тебе нужно подтянуть.
Checkmate @ 29.11.23https://youtu.be/X-tlxRa-MP4?si=mo2kTs_oMQrqRHOx
Вот хороший гайд
Коротко про парня из гайда (без злорадства).
Только что его увидел в твиттере случайно. Наверно закинуло мне в ленту потому что некоторых it-шников читаю.
Мы с ним земляки получается в текущий момент времени.
Почему он ищет работу в твиттере, а не в LinkedIn?
skyfun738, почему думаешь что он не ищет в Linkedin? То что он ищет работу в твиттере, не исключает это.
skyfun738, Так он уволился из майкрософт по собственной инициативе, так как захотел вернуться на родину) Ща его там офферами закидают в течении пары дней)
Checkmate @ 02.12.23skyfun738, почему думаешь что он не ищет в Linkedin? То что он ищет работу в твиттере, не исключает это.
Ты прав, там тоже ищет.
netdeneg @ 02.12.23skyfun738, Так он уволился из майкрософт по собственной инициативе, так как захотел вернуться на родину) Ща его там офферами закидают в течении пары дней)
Как я понял из его поста на LinkedIn, у кого то из близких членов семьи проблемы со здоровьем и осталось недолго пребывать в этом мире. Поэтому он сорвался, предварительно не найдя работу. Пишет, что офферы пошли. Ну Ok. Будем наблюдать.
Первое учебное задание #айти
Выполнил первое задание. На него потратил 2 недели почти и 6 попыток сдачи. Задача была написать программу для анаграмм, которая будет переворачивать слова, но при этом все небуквы оставлять на местах (a1bcd efg!h --> d1cba hgf!e).
Первый вариант кода я написал достаточно быстро, через полтора дня. Он работал. Только это было необходимое условие, но недостаточное. Полное название задачи было "Task 1 Clean Code". Есть книга, которая так и называется "Чистый Код". В соответствии с ней, во-первых, у меня должны быть понятные названия переменных. А во-вторых функции необходимо было разбить на верхний и нижний уровни(абстракции). Интересное задание, мне понравилось.
Помимо этого ещё освоил git на начальном необходимом уровне и репозиторий GitLab.
Сейчас выполняю второе задание. Задача состоит в покрытии кода юнит тестами.
Второе учебное задание (Unit tests) #айти
Сдал задание в среду вечером. Уже пошустрее прошло, справился за неделю.
Задача с виду простенькая, покрыть код тестами, которые пишутся довольно легко. Только вот я запутался с импортированием собственных пакетов, а потом ещё не мог разобраться с утилитой Coverage которая показывает какой процент кода покрыт тестами. Ментор только с 5-й попытки смог подсказать правильные команды для запуска в терминале.
Забыл написать, что всего 19 заданий на курсе. Самое оптимальное делать в среднем по 3 задания в месяц. Как раз за пол года управиться можно. Главное не отлынивать и делать каждый день понемногу. На газ давить бесполезно, если вы среднего ума как я, можно быстро выгореть.
Для меня всё ещё большой вопрос работает ли LinkedIn для поиска работы вообще. У меня профильное образование, 16 лет стажа, сертификаты и т.д. В итоге использую в качестве визитки. Если кому-то надо cv, то даю ссылку на LinkedIn. Как-то написал сам полсотне компаний, вообще нет даже отписки вроде "ваш звонок очень важен для нас". Наверное есть какой-то гайд как всё сделать правильно и я его просто не знаю. Всех кто стучится ко мне в контакты добавляю. Профиль с гораздо меньшим количеством инфы привлекал на hh.ru столько рекрутеров, что мне было влом на звонки отвечать.
Ну смотря где ты находишься, например в рф линкедин не нужен думаю. Я в Праге живу, от рекрутеров отбоя нет, работу ищу именно через линкедин. 8 лет стажа.
Oophsr, не соглашусь даже с моей специальностью - большинство предложений -в линкедин были.
У меня есть задача найти удаленку. Офис уже давно не ищу. Мне бы надо как-то специфически прокачать резюме чтобы оно хоть изредка варианты подбрасывало. Я просто думаю, что я как-то фундаментально ошибся при оформлении аккаунта, не иначе :) за полгода ноль сообщений мне.
Итоги года #жизнь
В этом году успел поработать в Самокате, куда устроился в декабре прошлого года и сменить работу в июле. Сейчас пол года работаю в маленькой компании в около покерной индустрии также в поддержке. Не рассказывал о ней, потому что не хотел смешивать работу и личный блог.
В июне звонили из военкомата, что сподвигло меня ускориться с релоцированием, а также сменой работы на большую зарплату.
За август и сентябрь сделал 4 апостиля на документы и купил новый ноутбук для работы и программирования.
В октябре вылетел из РФ в Узбекистан. Где живу сейчас и планирую оставаться до лета.
В ноябре пошёл на курсы программирования по вэб разработке на python в украинскую онлайн школу. Будем считать это моей личной поддержкой Украины через взаимовыгодное сотрудничество. Я бы и до войны пошёл бы к ним учиться, но долго не было стабильного источника дохода с начала ковида. Всего планирую потратить на обучение около $1000, которые заработал в Польше в 2019 году.
Этот новый год встречу в одиночестве и на рабочей смене. Надеюсь следующий уже встречу в компании прелестной мулатки на Филиппинах под шум моря.
С Новым Годом, друзья!
Третье учебное задание и ChatGPT-4 #айти
В этом задании требовалось сделать кэширование функции, то есть чтобы при обращении к функции она возвращала из кэша, если эти данные уже использовались недавно. Разумеется кэш надо обязательно протестировать, но уже с помощью библиотеки Pytest. Что касается задания, то не совсем правильно его понял и спёр кем-то изобретённый велосипед. То есть не использовал готовое решение lru_cache о котором не знал, а написал свою процедурную кэш-функцию на базе чужого кода из объектно ориентированного варианта (ООП).
В этом задании я впервые использовал ChatGPT-4. В основном для поиска багов и объяснения, ибо документацию порой сложно понять. Плюс он мне предлагал иногда очень интересные решения, о которых в документации нет ни слова. В общем вещь на 10+, главное не злоупотреблять, чтобы мозги всё-таки работали самостоятельно.
Про ChatGPT, слышали все, но не все его используют. Тоже долго не пользовался им, так как не особо понимал как буду использовать. Есть бесплатный вариант ChatGPT-4 в поисковике Bing. Там 4 бесплатных запроса в глубину по одной теме. У меня сейчас 30.
Баловаться с ним начал за неделю до Нового года, по началу развлекался генерацией картинок. Первое полезное применение кроме программирования которое открыл для себя, это возможность оценивать сложность книг на иностранном языке. Например, "Скотный двор", прочитанный мной в оригинале, был уровня В2.8 (почти С1), а "Хоббит" который сейчас читаю только B2.2. "Автостопом по галактике" на 1000 страниц ещё в планах и ChatGPT оценил его на уровень B2.3. Дополнительную дробную оценку добавил с помощью промта: оцени книгу ... по уровню владения английского языка с добавлением дробных чисел. Например, B2.3 или C1.3. Это ещё не всё. Прошлой весной и летом, изучал испанский и читал книгу которую на испанском сайте советовали для уровня A1-A2. Читать было очень тяжело, всё-таки мой словарный запас едва ли превышал 500 слов. Разумеется захотел проверить после оценки книг на английском. Книга "Fray Perico y su borrico" была оценена ChatGPT для уровня B1, а после скармливания ему 2-х глав поочерёдно уже оценивал как B2.5 и B2.7 соответственно.
Четвёртое учебное задание. Не так страшен терминал как его малюют. #айти
Суть задания - добавить приложению из 3-го задания Command Line Interface (CLI). Иначе говоря, чтобы при запуске приложения из терминала(консоли/командной строки) была возможность добавить параметры(они же флаги), причём те которые сам и напишешь. Решается добавлением функции которая парсит(проверяет) командную строку на наличие этих параметров. В моём случае было 2 функции. Вторая функция читала файл по требованию одного из параметров. Не сказал бы что задание было сложным. Сложным была документация, особенно для тестов, в которую полез сначала и заблудился. Пришлось юзать ChatGPT. Он быстро и красиво написал код. Всё что мне осталось, это изучить то, что он написал и понять что именно происходит в каждой строке. Разобравшись в коде поправил его под своё видение. Конечно ментор нашёл недочёты, но не сказал бы, что там было что-то критичное. На правку всё равно ушло много времени, в основном из-за недопонимания друг друга.
Работа из командной строки - это страшный сон виндофилов, которым я сам был большую часть жизни. Сейчас после нескольких месяцев на Ubuntu уже не пугает терминал, потому что установка программ и обновление системы происходит через него. В процессе учёбы много им пользуюсь, в основном для работы с git. Не верится, что к нему можно привыкнуть, но кажется получилось.
Здоровье #жизнь
Брал недельку заморозки в обучении. С 29 января возвращаюсь в учебный процесс.
В понедельник 22 января была операция по удалению паховой грыжи. Обнаружил её через две недели как прилетел в Ташкент. Она была едва заметна. Пришлось гуглить и изучать, что это такое со мной. Ничего тяжелого давно не таскаю, поэтому причину не знаю. По факту, диагноз сам себе поставил. Сразу скажу, что я не одобряю самолечение, но ваше здоровье важно только для вас. И важно самому разбираться в своих болячках, чтобы снизить риски неверного диагностирования. Пытался прокачать мышцы окружающие паховый канал, чтобы укрепили и закрыли проход. После пары месяцев безрезультатных упражнений, решил, что буду делать операцию после нового года. К врачу уже пошёл за подтверждением диагноза.
Выбрал платную клинику, пришёл на приём к молодому хирургу. Цену назначили примерно $500 за всё. Сдал анализы на кровь (Общий, ВИЧ, Гепатит, свёртываемость) и кардиограмму. Сама операция длилась 1,5 часа. Потом сутки полежал в одноместной комфортной палате со своим туалетом. На ноги сказали встать уже через 1 час после операции.
Недоверие к медицине у меня появилось после неудачного приземления с парашютом в мае 2013 года на работе. Я повис на дереве в 1 метре над землёй, меня сильно тошнило и плохо соображал, поэтому просто отцепился от парашюта. Упал на спину и сильно ударился в области шеи. Через 3 дня вернулись с лесного пожара и я пошёл в больницу, так как плохо спал, было некомфортно. Попросил терапевта направить меня на рентген шеи срочно, а она после долгого рассказа о своём сотрясении, отправила меня к неврологу на проверку сострясения мозга. Мы с ним поговорили и поняли, что зря тратим время друг друга, сотряса нет и надо на рентген. В тот же день одели воротник с которым проходил всё лето из-за трещины в шейном позвонке.
Критическое мышление нужно хотя бы для того, чтобы сразу отбросить очевидные неверные решения. Представляю сколько людей теряют здоровье и жизнь просто полагаясь на чью-то волю: попа, президента, гуру, гадалки, "врача" с ютуба, блогера из тик-тока.
Будьте умничками, прокачивайте логику и научный подход.
Пятое учебное задание. Packaging - упаковка программы #айти
Прошло почти 3 недели с 4-го задания. 2 недели на 5-е задание + 1 неделя на больничном. Отлежусь 3 денька на больничном и бодренько допилю задание, подумал я и не смог. Весь больничный не было никакого желания чем-то заниматься, тем более учёбой. Исключение - поработал пару смен.
Цель задания была упаковать программу в пакет и разместить в специальном хранилище пакетов для python - PyPi. Для чего это нужно? Это классная штука, ты можешь сам написать любую библиотеку на python и разместить там, чтобы другие могли ей пользоваться или программисты из твоей команды.
Опишу процесс:
1. В директорию (папку) с проектом мы добавляем 2 файла: README.md и pyproject.toml. README.md это такой аналог документа pdf в котором содержится описание пакета, установка, запуск, импорт, лицензия и автор. Файл pyproject.toml по сути является конфигурационным описанием для создания сборки пакета (build). В нём описано для сборочной программы какие файлы попадают в пакет (например тесты не надо), зависимости (сторонние библиотеки), системные требования при которых запустится код, номер версии билда (v. 1.0.0), скрипт для запуска пакета из консоли и т.д.
2. Создаём build с помощью соответствующей python библиотеки build 1.0.3
3. Выгружаем на PyPi, используя twine 4.0.2, предварительно создав там аккаунт.
Одна из моих главных ошибок в этом задании была в том, что выгружать должен был на тестовый PyPi, а не на действующий. Почему то подумал, что с тестового не смогу скинуть ссылку для скачивания ментору на проверку, а также подключить SSH. Если не получится, то всё переделывать придётся.
В своё же оправдание могу сказать, что нигде не было написано о размещении пакета на тестовом хостинге, а не действующем. Про это немного описывалось в статье по ссылке из задания. Надеюсь учтут мой кейс и поправят, но это не точно. А программку свою удалю в скором времени, чтобы не засорять хламом полезный ресурс.
Programming course completed 26.3%
Промежуточный пост о том, как у меня дела и поделюсь планами. #жизнь
6-е задание весьма объёмное оказывается, потрачу на него ещё 1-1,5 недели точно.
Новость из РФ ошарашила. Нечего сказать по этому поводу, скорблю глубоко внутри.
Думаю о том когда лететь дальше. Сначала в Бангкок, потом в Себу (Филиппины). Пока склоняюсь к старту 10 июня. В Бангкоке планирую задержаться примерно на недельку. Никаких дел у меня там нет, просто прямой 6 часовой рейс из Ташкента только туда. Почему бы и не погостить тогда. В Себу, а точнее на острове Панглао, планирую пожить у русскоязычного блогера Алекса около 2-3 месяцев за $250+ в месяц. Комфортное жильё на Филиппинах это редкость, да ещё чтобы за адекватный ценник. Обычно либо конура, либо жутко дорого, а часто оба варианта вместе. У Алекса хотя бы оптоволоконный интернет есть и генератор, то что нужно, чтобы поработать без нервов и закончить учёбу. Плюс у него 2 собаки, значит воры не страшны. За одним подскажет мне по миграционным вопросам, как сделать мед страховку местную и т.д.
Как получу ACR (ID иностранца), буду думать куда двигать в стране 7000 островов, но на текущий момент склоняюсь в район города Cagayan de Oro на острове Давао. Конечно планы могут поменяться, из-за какой-нить местной девушки Не буду скрывать, что это главная причина моей поездки на Филиппины. До войны тоже собирался сюда после 40 лет, но не был уверен, что смогу надолго. Тогда ещё не работал удалённо, но думал как это воплотить. Обязательно буду фотографировать островитянок и выкладывать сюда, чтобы привлечь больше читателей в блог. Разбавить мою нудятину азиатскими красотками жизненно необходимо.
Несколько красивых фото из моей поездки на Филиппины в феврале 2020. Девушек тогда не фоткал, а жаль, красивых было много.
skyfun738, из моих ошибок, я пытался максимально подготовиться к собеседованиям. Лучше было начиная с первого месяца обучения, регулярно на них ходить, получать отказы и калибровать свой план развития. У меня ушло пол года до первого оффера, думаю можно быстрее.