• Разместил резюме на позицию junior front-end, не понимаю что не так в нем?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Ну чего - ставим себя на место хыра и представляем, что нам пришло такое вот CV.

    У хыра (который мыслит своими хырскими категориями, а они совсем не ИТ) - сразу два вопроса:
    - почему вышка неокончена?
    - почему в 28 лет стаж работы 3 месяца? Чем занимались все это время?
    Ответ написан
    4 комментария
  • Есть ли резон переучиться на программиста?

    php666
    @php666
    PHP-макака
    В IT, если говорить о простых исполнителях, мало кому нужны люди за 40 - они в силу возраста работают медленнее, чем программисты 25+ лет. Кто бы что не говорил и не писал на профильных сайтах о 90-летних программистах.

    40-летний юнга - это из разряда фантастики. Вы будете себе чувствовать, мягко сказать, плохо, работая в коллективе профессионалов кому нет и 30, со временем это выльется в комплекс неудачника. В 41 вряд ли освоите все быстро, пройдет 3-5 лет и вам уже 46.

    Легче в такси устроиться.

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

    php666
    @php666
    PHP-макака
    В данном вопросе все прекрасно, ключевые слова: "фриланс", "высооопалачиваемая специальность", "заграница", "один в учебной группе, кто не смог освоить верстку", " индустрия игр".
    Ответ написан
    Комментировать
  • Какие интернет-профессии посоветуете?

    php666
    @php666
    PHP-макака
    Какие профессии вы можете посоветовать дома?
    Нет таких.
    Выбрось из головы мысль "работать дома". Работа из дома - это миф, созданный школьниками для школьников вроде тебя.

    И вот я думаю верстку сайтов оставить как хобби, которым я буду заниматься и развиваться и дальше
    не нужна тебе эта деятельность и уж тем более это хобби. Тут полно людей, индустрия переполнена айтишниками, которые в нашей стране никому не нужны, вакансии только в городах-миллионниках, за МКАДом зарплаты в IT как у подсобного рабочего в Москве.

    Было бы мне 17 лет в 2019 - я бы в автодело пошел. Научиться ремонтировать иномарки и потом открыть свое предприятие. Всяко лучше, чем всю эту хрень учить. Сейчас машина у каждого второго, без работы не останешься + полезные навыки. А сайты мало кому сейчас нужны, они скоро в целом исчезнут, останутся только монополисты. Да и ты сам увидел, что конкуренция дикая - был бы ты автомеханник частный - у тебя бы было ну 5-6 конкурентов на районе, а в условиях интернета у тебя их может быть до бесконечности.
    Ответ написан
    2 комментария
  • С какой профессией легче всего войти в сферу IT?

    php666
    @php666
    PHP-макака
    хорошие перспективы
    спорно. рынок перенасыщен программистами.
    достойные зарплаты.
    только если в Москве/Питере, в регионах - слезы.
    легче и быстрее войти
    легче и быстрее войти не получится. нужны годы самообучения, огромное количество убитого личного времени, по сути - нужно жить этим.
    Ответ написан
    22 комментария
  • Правда ли, что сейчас так сложно найти работу?

    php666
    @php666
    PHP-макака
    Может уже прошли те золотые it времена и весь хайп о "молочных реках и кисельных берегах" выгоден только вайтишным курсам?

    НЕТ
    НЕТ тут никаких "молочных рек".
    Хватит верить инфоцыганской пропаганде о том, как программист сидит под пальмой в Тайланде и работает 2 часа в день, получая 100500 миллионов.

    У нас банк. Москва. В соседнем отделе сидят пхп-разработчики, взрослые люди, только по скилам и подходу к работе на голову выше меня - пишут тесты, ковыряют несколько фреймворков, используют самые последние технологии. Их зп ~ 130 000. У меня чуть ниже. Зная их колоссальный уровень, я даже не стремлюсь к их доходу - себе дороже - не хочу мозги себе ломать. И это солидный банк в Москве. А в РФ тысячи программистов, разбросанных по всей стране. Ради интереса откройте вакансии и посмотрите, сколько реально нужно программистов в Саратове, Воронеже, в Ростове, в Новомосковске, в Твери. Вакансии можно пересчитать по пальцам руки опытного фрезеровщика. Сложно ли найти работу при таких вводных? Хорошо оплачиваемую - сложно. Потому, что редкие работодатели хотят супер-профессионала за относительно небольшие для РФ деньги. Эти 100-130 крублей сейчас просто не стоят тех усилий, которые человек прилагает к образованию и обучению в этой сфере. Вы видели диаграммы обучения современным технологиям? Вы видели то количество фреймворков и библиотек? Это все не стоит тех денег, которые работодатели готовы предлагать. Поэтому и создается ощущение, что нет специалистов. Есть специалисты. Просто работодатели немного офигели и соискатели банально не видят профита в соотношениях зарплат и требований. Была бы у меня машина времени - я бы вернулся назад и уж точно бы не пошел по этому пути - программист "живет" своей работой, нужно _постоянно_ учиться, постоянно читать килотонны мануалов и все ради чего? Среднепрограммистская зарплата в РФ - это слезы. Ашоты на рынке на помидорах больше имеют.

    А некоторые наши коллеги поддакивают работадателям и пишут "Сильных специалистов как не хватало, так и будет не хватать". Безусловно работодатель заинтересован в "сильном специалисте" - который сутками читает хабр, овертаймит и пишет как сумасшедший свой код во благо предприятия. Работодатель просто хочет новую яхту или новое авто. А ты учи очередной 100500-й фреймворк, в выходной день, что бы взять логан в кредит - знаний просто одного языка программирования уже не достаточно.
    Ответ написан
    44 комментария
  • Правда ли, что сейчас так сложно найти работу?

    Zoominger
    @Zoominger
    System Integrator
    Сложилось впечатление, что рынок очень сильно переполнен

    Верное впечатление.

    А как при таком раскладе, ищут работу люди ниже уровня сеньора?

    В целом, страшно только в сфере веба, нормальные программисты ищут работу относительно легко.

    Может уже прошли те золотые it времена

    Да. Теперь это бизнес.

    весь хайп о "молочных реках и кисельных берегах" выгоден только вайтишным курсам?

    Да.
    Ответ написан
    17 комментариев
  • Есть ли перспективы у программиста за Москвой И СПб?

    php666
    @php666
    PHP-макака
    Живу в подмосковном городе тыц на карту.
    С 2004 года, как я активно работаю программистом, работы ближе, чем в Москве, за 13 км от дома НЕ БЫЛО. Но 13 км для Подмосковья с утра это примерно час-полтора езды (зимой все два), в виду колоссальной загруженности дорог.
    Все, что ниже, левее или правее моего горда на карте - там НИКОГДА не было работы. И это ближайшее Подмосковье, почти центр России! Ни в самом моем городе, ни в ближайшем Домодедово, Подольске и далее, на юг. Одно время ездил в Люберцы за 25 км. Пробки как неминуемая часть жизни. Траты на бензин - огромные. Машина требует вложений. Сейчас у машины пробег 120 тыс км, а реальное количество моточасов (когда двигатель работал) - раз в 50 больше.

    Работы нет не только за МКАДом, работы нет и на окраинах Москвы. В пример - юг москвы. Бывает пара вакансий, сходил на собеседование, что-то не нравится или не взяли и все. Вся работа по IT в центре, рассчитана на приезжих, на тех, кто гол как сокол и кочует как цыган, меняя место жительства. Вот это - реалии этого долбанного It.

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

    Правда ли, что у программиста нет перспектив, если он не работает в Москве или СПб, а в других регионах РФ?
    Открой hh и посмотри. Я смотрел. ЗП - очень маленькие, вакансий на какой-нибудь Воронеж несколько штук. А если живешь в "колхозе", то шансов нет - либо удаленно, если найдешь, либо ехать в Москву и отдавать половину зп за квартиру. Если на периферии своё жилье, семья и иные сдерживающие факторы -- очень мутная затея бросать все и переться в Москвабад.

    городах РФ (кроме Москвы и СПб) программисты не нужны
    А зачем там нужны программисты? Программисты нужны там, где есть компании, которые нуждаются в программистах. Ты думаешь в какой-нибудь Твери много компаний, нуждающихся в программистах? Ну 1с-ники может быть приходящие нужны, может пара веб-макак надо. Там люди не работают в офисах, не занимаются стартапами, там более приземленные сферы деятельности.
    Ответ написан
    8 комментариев
  • Правда ли что рынок веб разработки "перегрет"?

    nki
    @nki
    bezkart.ru готовая система лояльности
    Расскажите, пожалуйста, о своем опыте.

    Лет 5 назад ушел из веб-разработки и ни чуть не жалею.
    Ответ написан
    6 комментариев
  • Правда ли что рынок веб разработки "перегрет"?

    php666
    @php666
    PHP-макака
    "Ко-ко-ко, дефицит хороших сотрудников" -- повторяют один за другим вайтишнички. Вторая тема за день с шаблонными ответами как под копирку. При этом, каждая такая макака себя считает именно "хорошим сотрудником", достойная не менее полмиллиона рублей в месяц зарплаты.

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

    Вот эти ребятки, что в этой теме отметились, они настолько все туповатые, что сами себе роют могилу, крича на весь интернет о "дефиците". Сами того не понимая, плодят себе конкурентов. Для примера - зайди на какой-нибудь бизнес-форум и спроси у любого пользователя, кто бизнесом занимается - "как ты деньги зарабатываешь?" - ни один идиот тебе не раскроет секрет. Никогда. Это только у айтишников так принято - трубить на всю ивановскую о дефиците. А лет через 10 большая половина этих обезьянок пойдет в такси работать, ибо рынок будет безбожно переполнен людьми с вполне обычными знаниями.

    И не забывайте о времени - через Н лет все, кто сейчас "на коне", станут вторсырьем, ибо индустрия на месте не стоит и знания ваши обесценятся. Вот смеху то будет, когда после 10 лет упорного труда вы ВНЕЗАПНО поймете, что индустрия рванула вперед, а вы все на [нужное_вписать] кодите. Быгыгы.
    Ответ написан
    51 комментарий
  • Как найти причину падения \ замедления работы сервера с PostgreSQL?

    Melkij
    @Melkij
    PostgreSQL DBA
    весьма мощный сервер (8gb

    Дааааа? А я думал дохленькая виртуалочка. Довольно средние железки на 256гб тогда что?

    На тяжелые запросы не грешу, т.к., во-первых, билд запросов на 100% отдан ORM (Eloquent, Lumen), и возможность кривыми руками написать какой-нибудь count(*) сведена к нулю

    Ха. Хахахаха. Хорошая шутка.
    Самый лютый бред вместо запросов делают именно ORM.

    Выкручивать настройки логирования, в момент проблемы смотреть хотя бы вот это: https://github.com/dataegret/pg-utils/blob/master/...
    Ставить какой-то мониторинг, умеющий мониторить базу.
    И смотреть что именно делает база и чем занято железо в момент проблемы. Особенно I/O. process title бы хоть сохранили/написали. Там и то продублирован command tag.
    Ответ написан
    Комментировать
  • Почему при объявлении переменной, в любом языке программирования, резервируется весь размер памяти отведённый под тип данных?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Если я просто объявил переменную типа short, то сколько памяти надо под неё выделить? А если записал в неё ноль? А если после этого записал в неё 65535? А где хранить количество выделенной для переменной памяти? И как перевыделять память, если она выделяется в стеке?

    P.S. А как вы представляете себе массив с доступом по индексу, если каждый элемент массива имеет свой размер?
    Ответ написан
    4 комментария
  • Почему при объявлении переменной, в любом языке программирования, резервируется весь размер памяти отведённый под тип данных?

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

    Выделение памяти - операция не бесплатная, и кто-то решил, что так будет выгоднее.
    https://randomascii.wordpress.com/2014/12/10/hidde...
    https://habr.com/ru/post/270009/

    Как-то всё топорски устроено
    Вы можете написать сви менеджеры памяти,компиляторы и другие сопутствующие штуки. Не исключено, что обретете мировую известность. Но не думайте, что до вас никто не пытался.
    Ответ написан
    2 комментария
  • Попросили проверить код, на что смотреть нужно?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Смотря зачем)). Я когда делаю Code Review критерии следующие:

    * Безопасность:
    - Каждый аргумент метода простого типа должен проверяться на тип в случае его проксирования и на граничные значения в случае обработки. Чуть что не так - бросается исключение. Если метод с кучкой аргументов на 80% состоит из поверки из аргументов - это вполне норм))
    - Никаких trigger_error, только исключения.
    - Исключения ДОЛЖНЫ быть человеко-понятны, всякие "Something went wrong" можно отдавать пользователю, но в лог должно попасть исключение со стектрейсом и человеко-понятным описанием, что же там пошло не так.
    - Каждый аргумент (объект) метода должен быть с тайпхинтингом на этот его класс, или интерфейс.
    - За eval как правило шлю на **й.
    - @ допускается только в безвыходных ситуациях, например проверка json_last_error.
    - Перед работой с БД - обязательная проверка данных.
    - Никаких == и !=. Со swtich - единственное исключение, по ситуации.
    - Если метод возвращает не только bool, а еще что-то - жесткая проверка с ===, или !== обязательна.
    - Никаких условий с присваиваниями внутри. while($row = ...) - тоже идет лесом.
    - Магические геттеры/сеттеры разрешаются только в безвыходных ситуациях, в остальном - запрещены.
    - Конкатенации в sql - только в безвыходных ситуациях.
    - Параметры в sql - ТОЛЬКО через плейсхолдеры.
    - Никаких глобальных переменных.
    - Даты в виде строки разрешаются только в шаблонах и в БД, в пхп коде сразу преобразуется в \DateTimeImmutable (в безвыходных ситуациях разрешено \DateTime)
    - Конечно зависит от проекта, но как приавло должно быть всего две точки входа: index.php для web и console(или как-то по другому назваться) - для консоли.

    * Кодстайл PSR-2 + PSR-5 как минимум, + еще куча более жестких требований (для начала все то что в PSR помечено как SHOULD - становится MUST)
    - В PhpStorm ни одна строчка не должна подсвечиваться (исключением является typo ошибки, например словарик не знает какой-то из аббревиатур, принятых в вашем проекте). При этом разрешается использовать /** @noinspection *** */ для безвыходных ситуаций.
    - Если кто-то говорит, что пишет в другом редакторе и у него не подсвечивается, на эти отговорки кладется ВОТ ТАКЕЕЕНЫЙ мужской половой **й и отправляется на доработку)).

    * Организация кода:
    - Никаких глобальных функций.
    - Классы без неймспейса разрешаются только в исключительно безвыходных ситуациях.

    * Тестируемость (в смысле простота тестирования) кода должна быть высокая.
    - Покрытие кода обязательно для всех возможных кейсов использования каждого публичного метода с моками зависимостей.

    * Принципы MVC:
    - Никаких обработок пользовательского ввода в моделях, от слова совсем.
    - Никаких ***ть запросов в БД из шаблонов.
    - Никаких верстки/js/css/sql-ин в контроллерах.
    - В моделях НИКАКОЙ МАГИИ, только приватные свойства + геттеры с сеттерами.
    - В моделях разрешено использовать метод save(при наличии такого разумеется) только в исключительных ситуациях. Во всех остальных - либо insert, либо update.

    * Принципы SOLD:
    - Никаких божественных объектов умеющих во все.
    - Если метод для внутреннего пользования - private, никаких public.
    - Статические методы разрешаются только в случае безвыходности.

    * Принцип DRY разрешено нарушать в случаях:
    - Явного разделения обязанностей
    - В тестах (каждый тест должен быть независимым, на сколько это возможно)

    * Работа с БД:
    - Запрос в цикле должен быть РЕАЛЬНО обоснован.
    - За ORDER BY RAND() - шлю на***й.
    - Поиск не по ключам (конечно если таблица НЕ на 5 строк) запрещен.
    - Поиск без LIMIT (опять же если таблица НЕ на 5 строк) запрещен.
    - SELECT * - запрещен.
    - Денормализация БД должна быть обоснована.
    - MyISAM не используется (так уж)) )
    - Множественные операции обязательно в транзакции, с откатом если чо пошло не так.
    - БД не должна содержать бизнес логики, только данные в целостном виде.
    - Не должно быть нецелесообразного дерганья БД там, где без этого можно обойтись.

    * Кэш должен очищаться по двум условиям (не по одному из, а именно по двум):
    - Время.
    - Протухание по бизнес логике.
    Разрешается по только времени в безвыходных ситуациях, но тогда время - короткий период.
    - При расчете ключей кэша должна использоваться переменная из конфигурации приложения (на случай обновлений кэш сбрасывается кодом, а не флашем кэш-сервера). В случае использования множества серверов - это очень удобный и гибкий инструмент при диплое.

    * О людях:
    - "Я привык писать так и буду дальше" - не вопрос, ревью пройдешь только когда поменяешь свое мнение.
    - "Я пишу в vim-е и мне так удобно" - здорово, код консолью я тоже в нем пишу)) но есть требования к коду, если в них не сможешь - не пройдешь ревью.
    - "Я скопировал этот страшный метод и поменял 2 строчки" - это конечно замечательно, но по блейму автор всего этого метода ты, так что давай без говняшек, хорошо?
    - "Оно же работает!" - вот эта фраза переводится примерно так: "да, я понимаю, что пишу полную хрень, но не могу писать нормально потому, что руки из жо", я правильно тебя понял?))
    - "У меня все работает!" - рад за тебя, а как на счет продакшна?
    - "Там все просто" - не используй слово "просто", от слова "совсем". Вот тебе кусок кода (первого попавшегося с сложной бизнес логикой), где там ошибка (не важно есть она, или нет)? Ты смотришь его уже 2 минуты, в чем проблема, там же все "просто"))

    * Всякое:
    ActiveRecord (это я вам как в прошлом фанат Yii говорю) - полное говно, примите за исходную. По факту у вас бесконтрольно по проекту гуляют модельки с подключением к БД. Не раз натыкался на то, что в тех же шаблонах вызывают save, или update (за такое надо сжигать).
    То, что используется Laravel - это печально((. Что бы выполнить требования приведенные выше, приходится "воевать" с фреймворком.

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

    UPD

    Формализировал данные критерии по ссылочке: https://github.com/index0h/php-conventions
    Ответ написан
    55 комментариев
  • Как быть при угрозах DDoS-атаки конкурентом?

    Zoominger
    @Zoominger
    System Integrator
    Никак.
    Забить.
    Я серьёзно. Просто два школьника что-то не поделили.

    дассатаке доссатак

    Говорите "дудос" тогда, штоль.
    Ответ написан
    1 комментарий
  • Какие могут быть проблемы при публикации переделок старых игры для кнопочных телефонов на Android/iOS?

    Jump
    @Jump
    Системный администратор со стажем.
    Разные.
    Ответ написан
    Комментировать
  • Какие интернет-профессии посоветуете?

    Zoominger
    @Zoominger
    System Integrator
    Заработок в интернете?
    Не сочтите за шутку, но вы больше заработаете руками - стройка, кошение травы.
    Прямо слёту вы не найдёте заказы, конкуренция ужасная и вы, скорее всего, потратите время на изучение всего этого зря.
    Учите языки, начните хоть с php и набивайте скилл за время учебы.
    Ответ написан
    Комментировать
  • Чем отличается junior от middle? а Senior?

    pi314
    @pi314
    Президент Солнечной системы и окрестностей
    Вот как это выглядит с т.з. работодателя

    Джун
    - собеседование
    изъясняется исключительно на сленге (большую часть которого не может внятно объяснить), готов в одиночку за неделю написать новую ОС, или две - за полторы, если только для этого не придется учить ассемблер, несмотря на юный возраст уже обладатель прав на обе версии и один бэкап личного сайта с фотографией кошки в розовой рамке и знает, что синглтон - это абсолютное зло, хотя и не может написать его без ошибок.
    - испытательный срок
    долго мудохается с настройками рабочего места, которые регулярно слетают под тяжестью многотысячных плагинов, шелов и скринсейверов, донимает админов, находит две (орфографические) ошибки в документации проекта и один быстрый альтернативный способ сделать форк из SVN, после которого проект, к сожалению, не билдится не только у него, но и у всей команды. Берется все немедленно исправить с помощью другого чудотворного плагина, (неожиданный баг в котором приходится фиксить двум миддлам), после чего насильственно лишается рута, плагинов и шелов и начинает изучать проект под чутким контролем матерящихся миддлов.
    - работа
    научился билдить проект, писать тесты и коммитить, не роняя этим билд, понял смысл многих сленговых выражений, подружился с миддлами и админами, не путается в названиях ключевых технологий, радикально сократил число плагинов, удалил сайт с кошкой, работает.

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

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

    @rPman
    Правильно - проект должен быть нужен клиентам, идеально - чтобы клиенты его рекламировали сами, причем не из под палки (типа расскажи друзьям дам скидку) а потому что - вау как там круто иди сюда.

    Если проект не нужен клиентам - то и раскручивать его бессмысленно.

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