• Где применяют python помимо веба и data science?

    @hatman
    Вот моя статья на эту тему - https://habr.com/ru/post/340894/?ysclid=l67rqtlmqf...

    С того момента, как написал статью, ничего в общем-то не поменялось.
    Ответ написан
    Комментировать
  • Что происходит на рынке труда в айти?

    @hatman
    Ничего не бойся, учи, пробуй, лезь, старайся. IT дается ни образованием, ни курсами, ни коучами, а банальным старанием и терпением. Ни один программист ни умнее тебя, он просто потратил на изучение достаточно много времени.

    В книжках, что ты можешь скачать в сети бесплатно и в бесплатных роликах на ютьюбе есть гораздо больше, чем в платных курсах за 100к рублей и выше. Вопрос, что либо ты сидишь, изучаешь и стараешься, либо нет.
    Ответ написан
    Комментировать
  • Какой ЯП выбрать как дополнение к php - Go или Python?

    @hatman
    Авито написан на PHP, golang используется на микросервисах для постройки пайплайнов, которые выплевывают данные после обработки.

    1) Если вам "круто попробовать и потыкаться, при этом заказчик не понимает, что вы делаете" - то, все, что угодно.
    2) Если вам "круто попробовать и потыкаться, при этом заказчик понимает, что вы делаете" - то готовьте вещи и на мороз, когда заказчик увидит ваш выбор, ибо это ненужное усложнение системы и увеличение стоимости поддержки системы.
    3) Если у вас проблемы с производительностью, то сначала попробуйте решить проблему докупкой железа, потом сделайте оптимизацию на php, а только потом задумайтесь о переписывании на Go.

    Но правильнее было бы вас сразу выставить на мороз (если вы глава разработки), либо дать нагоняй, если вы рядовой разраб, ибо желание "творить" превалирует над здравым смыслом и целями проекта.
    Ответ написан
  • В веб-программировании постоянно всё быстро меняется?

    @hatman
    1) Если человек более менее шарит и готов учиться и работать, то он не особо чувствует напряга при смене технологий.

    2) Жалобы на то, что все слишком быстро меняется чаще всего идут от того, кто поверхностно разбирается в теме. Тот, кто сидит в теме, просто переходит от одного к другому, ведь ничего не появляется просто так.

    __

    Но объективно говоря, тебе лучше заняться чем-то другим в жизни, чем программированием, да и вообще работой в офисе. Ну это так к слову.
    Ответ написан
    3 комментария
  • Трудоустройство программиста на Python?

    @hatman
    1) Начинать обучение программированию - надо не с языка программирования, а местных вакансий и компаний. Какой смысл учить допустим Python, если в твоем городе нет вакансий на Python, либо они есть, но там уже требуются опытные разработчики.

    100к на Python в СПБ - это 3-4 года опыта работы у программиста. На начальном уровне если дадут 45-50 уже хорошо. Но нужно понимать, что начальный уровень - это когда заказчик дает тебе какой-то проект, какую-то задачу, и ты её начинаешь делать, задавая уточняющие вопросы по ходу. А чтобы так начать делать, надо, чтобы ты уже 2-3 проекта сделал самостоятельно и разобрался в том, как работать на python (например, самостоятельно сделать 2 сайта и захостить их).

    2) Django - 100 нужно знать, также html/css/javascript/sql/linux. Это все реально выучить, если сделать собственные проекты.

    3) Без опыта и диплома нереально устроиться. Поэтому надо нарабатывать опыт самостоятельно, делая свои проекты.

    4) Кому ты нужен без опыта на фриланс-бирже? Вот заказчик говорит, добавь на мой проект Django скидочные купоны. Это подразумевает, что ты пишешь модель данных под купоны, накатываешь миграцию, добавляешь интерфейсы в админке, формы для купонов на фронте и так далее. Если ты этого уже не знаешь, то как ты будешь выполнять заказ?

    ___

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

    __

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

    Это, примерно, что вот есть в Москве пластический хирург, который делает крутые операции звездам и получает по 3-4 миллиона в месяц. И все начинают думать, что вот я полистаю медицинский справочник и начну также получать 3-4 миллиона в месяц.

    Почему-то пример с медициной все понимают, а про программирование почему-то верят в сказки про 100к и "углубление в язык".
    Ответ написан
    Комментировать
  • Junior QA в Ubisoft Одесса. Стоит ли?

    @hatman
    1) Если есть оффер на QA в какую-нибудь аутсорс-галеру, которая разрабатывает ПО для банков, телеком-компаний или какого-нибудь крупного ритейла. Я бы пошел туда. Ибо через 2-3 года, твоя зп будет раза в 2-3 выше, чем у того, кто работает в игровой компании, которая делает игры (а не софт для казино).

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

    2) Если других офферов нет, то получай год-работы в QA и сваливай в Киев в аутсорс-галеру, которая делает ПО для банков и так далее. Ты понял -=)
    Ответ написан
    Комментировать
  • Стек технологий при переделке монолита на микросервисы?

    @hatman
    Подходите к решению проще и спокойно.

    Допустим у нас была система на Django (Python) - огромная система с кучей всего. Мы прикинули и поняли, что разбивка монолита на микросервисы не обязательно должна быть "глобальной и сложной". Можно поделить монолит на более мелкие монолиты:

    1) Вынесли сервис авторизации из монолита на Django в отдельную систему на Django.
    2) Вынесли партнерский модуль из монолита на Django в отдельную систему на Django.
    3) Вынесли модуль постройки отчетов из монолита на Django в отдельную систему на Django и поставил диспетчер очередей, чтобы не блокировался запрос.
    4) Вынесли платежный модуль из монолита на Django в отдельную систему на Django.

    И так далее.

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

    Ну т.е. не надо прямо так глобально думать, можно просто побить системы на более мелкие куски на том же стеке, что вы работаете и уже будет лучше и проще. А потом уже более мелкие куски дробить при необходимости.
    Ответ написан
    3 комментария
  • Какие советы вы можете дать начинающему программисту?

    @hatman
    Получай запись в трудовую от года, что работал программистом.
    Собирай вещи и сваливай из гос-сектора в частные компании на свой C#.
    Работай над нормальными проектами, получай деньги, заводи девочку, квартиру, машину
    Как все уже будет и за***ет работать на износ, сможешь вернуться в науку просиживать штаны до пенсии.
    Ответ написан
    Комментировать
  • С чего начать путь в GameDev?

    @hatman
    Путь в геймдеве нужно начать с того, чтобы отказаться от этой бредовой идеи и пойти либо в энтерпрайз разработку, либо в мобильную разработку, если ты не хочешь кранчить 24/7 за мизерную зп и постоянно слышать: "Там +100500 желторотиков, которые готовы занять твое место, ибо делать игрушки "это весело" и все это хотят".
    Ответ написан
    5 комментариев
  • Сколько времени обычно компании ищут специалиста на ту или иную должность?

    @hatman
    1) Стандартов нет, ибо ситуации очень сильно отличаются.
    2) Чем выше зп, лучше репутация компании, ниже требования и мейнстримовее стек, тем поиск идет быстрее.

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

    Стандартная ситуация поиска работы и спеца уровня middle+ выглядит так:

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

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

    Так, чтобы хороший спец оказался свободным на рынке и пошел в отчаянии листать hh.ru в поисках какой-то вакансии - это личная ошибка этого спеца, что не подумал о плане Б.
    Ответ написан
    Комментировать
  • Какое направление выбрать после университета?

    @hatman
    1) А какого х**, получив бакалавриат IT вуза в Москве, у тебя "никаких относительно сложных проектов в разработке не было". Толковые ребята во время учебы ходят на различные стажировки в крупные айти-компании, набивают руку на боевых проектах и прочее. Как итог, по выпуску из универа получают оффер на руки (а то и несколько).

    А у тебя ситуация уровня какого-то вайтишника, который вчера таксовах, а сегодня рассуждает php или python ибо начинался маркетингового булшита в нете.

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

    p.s. такой вопрос можно ожидать увидеть от школьника или какого-то непрофильного чувака, но явно не выпускника айти-вуза. Уровень обучения и личная мотивация у кандидата просто днище.
    Ответ написан
    1 комментарий
  • Что делать если проходишь технические собеседования, но заваливаешься по софт скилам?

    @hatman
    Привет

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

    2) Адекватный внешний вид. Условный "нерд" с грязной головой и помятой одеждой будет восприниматься гораздо хуже, чем опрятный чувак в джинсах и клетчатой рубашке. Особенно, если собеседует тебя женщина.

    3) Можно посмотреть различные ролики о том, как правильно вести себя на переговорах, чтобы взять на вооружение различные приятные штампы. Ну и почитать что-то типа - https://www.ozon.ru/context/detail/id/5707417/

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

    p.s. к сожалению, тут на тостере попадались подобные вопросы от людей, по вопросам и реакциям которых прямо видно было, что у них поехавшая кукушка, поэтому им "мягко, но настойчиво отказывают". Надеюсь, у тебя просто мало опыта, а не ментальные проблемы.
    Ответ написан
    Комментировать
  • Что подразумевает полный рабочий день?

    @hatman
    1) Если у тебя работа 8 часов, и начало работы в 10 утра, то работодатель и твои коллеги ожидают от тебя, что в любой момент с 10 до 19 (час на обед + 8) - они могут тебе написать, позвонить и ты оперативно выйдешь с ними на связь. И скажем, они буду ожидать, что если есть вопросы по какому-то коду, то IDEA/GIT и прочее у тебя будут открыты (т.е. ты в рабочей обстановке) - на какой-то доп вкладке смотреть сериальчик никто не мешает (лучше использовать другой браузер).

    2) Если тебе надо куда-то отвалиться на час-два, то работодатель ожидает, что ты согласуешь это со своей командой, уведомишь всех в общий слак, скайп итд и доработаешь потом время простое в "свободное" время.

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

    Что касается часов - просто списывай время на все, чем ты занимаешься (кодинг, митинги, созвоны с ребятами, консультация QA по своим таскам и так далее). Тогда получится, что ты кодил условно 5 часов, а времени списано в общем 7-8 часов.
    Ответ написан
    1 комментарий
  • Как смириться с фактом что ты не топовый разработчик?

    @hatman
    Через год-полтора после начала серьезной карьеры, тебе будет волновать три вещи:

    1) Сколько сейчас твоя зп
    2) Что тебе нужно выучить или сделать, чтобы поднять зп
    3) Остается ли актуальным твой стек, чтобы лутать зп

    Задачи, направление, компания и прочее - это все вторично.
    Ответ написан
    Комментировать
  • Стоит ли идти на информационную безопасность в ИТМО?

    @hatman
    Выбирайте по числу вакансий в городе. Ибо очевидно, если в МСК таких вакансий 100, а в СПБ 4-5, то ехать лучше в Москву. Ибо там где вакансии, там стажировки, там ребята из группы со связями, которых возьмут по блату (и при хороших отношениях можно попробовать ехать паровозиком), и преподы со знакомствами и так далее.

    Ибо откровенно говоря, если это просто "программирование", то дешевле и проще отучиться в каком-то региональном вузе, ибо будет дешевле и спокойней. А вот такие специальности лучше учить на месте спроса.
    Ответ написан
    Комментировать
  • Вопрос для Java Android or Java Enterprise разработчиков?

    @hatman
    Иди на андроид сразу, чтобы работать Java Enterprise нужны мозги, большой талант, усидчивость, умение разбираться в вещах, которые ты не знаешь, удача и хороший английский язык. А судя по твоим вопросам и тому, что ты остановился на том, что пришел задавать такой вопрос на тостере, то Java Enterprise сразу не твое (не потянешь).

    Лучше сидеть, двигать кнопочки на андроиде и получать за это хорошие деньги, чем попытаться стать Java Enterprise разработчиком, наделать в штаны от того, сколько там всего надо знать, и сидеть без работы.

    Талантливых ребят ведут с универа, прикармливают на стажировках, дают хорошего наставника, чтобы они смогли дорасти до Java Enterprise разработчика. А просто с улицы вайтишник и сразу Java Enterprise - забей.
    Ответ написан
    3 комментария
  • Так ли востребованы сейчас программисты?

    @hatman
    Понятно, вы хотите услышать, что все плохо и прочее, но это не так.

    1) Рынок специалистов досточно узок. Т.е, например, если мы ищем специалиста по Django, который придет и начнет делать таски после пару недель раскачки, то их очень мало. Следовательно вакансии висят, на них идут заявки от "вайтишников" и непрофильных специалистов, которые игнорируются, и hr ждет, пока какой-то специалист либо прокачается, либо освободится.

    2) Начинающие не нужны, ибо это трата времени и денег. Чтобы обучить одного специалиста надо много времени уже существующих специалистов. Плюс всегда может оказаться, что обученный новичок окажется "гнилым" и не оправдает вложенные в него средства. Такое себе может позволить лишь небольшой пул-компаний.

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

    3) Зарплаты хорошие (мало где можно получать такие же деньги, если не идти в управление или бизнес). Плюс, что круто, рост до топового ценника всего 3-5 лет. Например, какого-нибудь врачу или юристу на это нужно лет 20.

    4) Фриланс - это бизнес. Естественно выходить с голой попой на сформированный рынок, где уже есть свои игроки с отработанными процессами сложно. Но, как и везде, это вопрос финансирования, времени и удачи.

    В общем, в айти все хорошо. Хорошие специалисты получают хорошо и имеют спрос. Плохие специалисты сидят без работы, либо получают копейки. Форматы компаний меняются, но спрос хорошие руки держится стабильно.
    Ответ написан
    Комментировать
  • Какие книги читать по python для продолжение изучения?

    @hatman
    Ну вот есть небольшой обзор книг по Python - https://avikot.ru/article37

    Но если откровенно, то Лутц + машин лернинг (если нужно) + веб-скрамминг(если нужно) - остальное уже есть в лутце.
    Ответ написан
    Комментировать
  • C# вопросы новичка: выбор, лицензирование, платформа?

    @hatman
    1) C# юзается главным образом для энтерпрайза и гейм-дева. В отличие от Java (где главные клиенты Финтех, Телеком и Логистика), C# больше склонен к гос-аппарату и производству, но это так депендс от места к месту.
    2) .Net 5 (который выйдет в этом году) - будет просто Java + батарейки. .Net Core 3.1, который идет сейчас - уже продакшен реди.
    3) C# для десктопа - больше, как поддержка легаси приложений (которых дофига). Даже сам майкрософт для новых приложений юзает либо Electron (js), либо QT.
    4) Мобильные приложения писать можно, но смысла в этом не так много. Пока все компании, что имеют деньги, нанимают Java/kotlin + Swift/Object+C программистов, ибо получается стабильное и предсказуемое. А всякие гибриды в пользу бедных, а там лучше не работать.
    5) Майкрософт на забросит C# - ибо это главный инструмент их экосистемы. А экосистема (Лицензии и Azure) приносят им килотонны бабла.
    6) Свои сайты писать можно, есть простые способы собрать продакшен реди проект. Смысла в этом не очень много, но можно в общем.

    __
    6. Для машинного обучения, datascience юзают?
    7. Новая фича webassembly, есть же поддержка?

    А оно тебе нужно, если ты идешь в бекенд? Распыление не приносит денег.
    __

    В общем, рекомендации такие. Что если тебе 33-35+, ты уже задумываешься о том, в каком районе лучше купить квартиру, какой виски или коньяк купить себе на выходные, какую купить машину жене, чтобы она возила детей в кружки, то нужно уже учить C#/Java (выбор вообще не принципиален вплоть до того, куда на работу ближе ездить).

    Если пока лет не так много, то можно что-то более драйвовое типа php/python/ruby/swift/kotlin итл.
    Ответ написан
    Комментировать
  • QA Team Lead - тупиковая ступень карьеры?

    @hatman
    Привет:

    1) Пойти работать QA-Лидом в крупную компанию, банк. Фактически завязываться на митинги и работу с персоналом. Можно получать хорошие деньги, почему нет.

    2) Настраивать изначально QA для стартапов. Связку test-rail/jenkins/тесты/хвосты на стороне АПИ сделать с нуля достаточно сложно, поэтому за это готовы платить хорошие деньги (но не долго)
    2.1) Заниматься фрилансом, открыть свою фирму и делать под заказ то, что описано в пункте 2.

    3) Переходить в менеджеры и управление. И потом уже расти до более жирных должностей. Не видел, чтобы QA назначали на CTO, все же глубина знаний требуется совершенно разная.

    4) Уходить CTO в непрофильные компании(не айтишные), где на фоне сисов и эникеев, вы будете крутым, грамотным спецом.

    5) Открыть свою школу тестеров, разъезжать на гибридном лексусе и рассказывать о том, как круто быть тестером (кто понял аналогию, ставим лайк)
    Ответ написан
    3 комментария