Задать вопрос
  • Есть ли шансы работать в крупных компаниях не имея ВО?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Компаний много. Проектов много. Руководителей много.

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

    И если вам на тостере все скажут "да не нужно никому ВО", а руководитель проекта скажет "нет ВО - досвидания", вы его скриншотами с тостера не переубедите.

    Идите к ним напрямую и спрашивайте при трудоустройстве.
    Ответ написан
    Комментировать
  • Как мне быть в такой ситуации.Куда двигаться дальше?

    coderisimo
    @coderisimo
    Просто начните и продолжайте карабкаться. Не сдавайтесь. Я , оказавшись в патовой ситуации Где найти работу по удаленке в 40+ лет? от безысходности полез на апворк и не жалею. Тем более, если у вас есть опыт с WP , можно брать это направление, как максимально конъюнктурное там.
    Параллельно начинайте ковырять английский, если с ним не ахти. Это важно, у меня с ним был (и пока увы остается) полый алес капут , но выжить удалось. Легко не будет , это точно , но и скучно тоже.
    33 года - детский возраст!
    Ответ написан
    Комментировать
  • Как мне быть в такой ситуации.Куда двигаться дальше?

    KeySVG
    @KeySVG
    аниматор svg / html5
    Если хорошо разбираетесь в 1С то ройте в направлении стыков технологий с ней. Например интеграция 1С с интернет магазинами. Спрос тут постоянный и стабильный. К тому же сопровождение, постоянное обновление версий. Да и правительство подбрасывает работенку вроде интеграции с онлайн кассами. Монетизируйте старые знания в новой сфере. Можно работать дистанционно по всей стране, есть сообщества в сети, где можно общатся с практикующими людьми из этих сфер. Это лучше курсов.

    В любой сфере где технологии пересекаются, трудно найти спеца который бы разбирался и в том и другом. Я в начале карьеры работал на ТВ, делал анимацию и рекламные ролики. Потом ушел в вэб делать сайты, в итоге сейчас делаю анимацию для вэба, рекламные баннеры. Специалистов которые бы на достойном уровне понимали и в графике и в програмном коде не так уж много, конкуренция совсем не давит. Спецов с опытом которые бы делали рекламу а не иллюстрированные объявления среди баннермейкеров тоже единицы. И тут еще геймдев бешено развивается где о5 таки большой спрос на тех кто может сделать игровую анимацию персонажей с интеграцией с кодом.

    Вспомнить того же Стива Джобса: он работал в типографии, а когда пришло всемя писать собственную ОС он начал сразу создавать графический интерфейс, что было революционо, используя все свои знания о шрифтах. А тогда за слово «кернинг» в IT среде могли и побить ))

    Так что не толкайтесь локтями конкурируя в сферах которые вам пока не ведомы, там уже полно народу, особенно джунов. Прокачивайте свои уже приобретенные знания новыми стеками. И ищите сообщества в этих сферах, а не курсы наполненые водой и подаваемые коучами которые на самом деле ничего не практиковали кроме болтовни и рерайтов других курсов.
    Ответ написан
    Комментировать
  • Как мне быть в такой ситуации.Куда двигаться дальше?

    @McBernar
    Боюсь, что таких курсов нет. Я понимаю твое желание заплатить денег и получить классного ментора, но пока ничего подобного никто не предложил. Пока что самые лучшие курсы — это реальная работа.

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

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

    И да — у тебя отличный бекграунд. Со своими знаниями ты очень быстро освоишь новую для себя область.

    Удачи!
    Ответ написан
    Комментировать
  • Как мне быть в такой ситуации.Куда двигаться дальше?

    Хреновое у тебя настроение, 33 для програмиста не возраст, мне 42 и я несколько раз проходил путь от джуна до синьора, просто для встряски мозгов, последний раз менял специализацию в 39. Делай упор на английский, с хорошим английским работы море, при чем на удаленке платят больше чем на аутстаффе, правда и риски больше, кстати чтобы устроится на мидла, не запись в трудовой нужна "работал джуном год", а фактическое количество собранных граблей на технологии, на которые ты второй раз не наступишь, на собеседованиях просто спрашивают по матрице, поэтому необходимые навыки ты легко можешь узнать, просто регулярно проходя собеседования и подчитывая и реализуя то, на чем завалился. Завалив собеседование ты не ЧСВ должен понижать, а просто понимать, что ты узнал, что нужно доучить и идти на следующее собеседование.
    Ответ написан
    Комментировать
  • Какие инструменты облегчают изучение чужого кода?

    @m0nym
    Линтеры/статические анализаторы.
    И качественная IDE, например, PHPStorm, - процесс пробежки к телу там сведен к нажатию одной горячей клавиши.
    Ответ написан
    5 комментариев
  • JS, что под капотом у конструкции async await?

    rockon404
    @rockon404
    Frontend Developer
    Исходный код AsyncFunction в V8
    Используются генераторы.
    Ответ написан
    Комментировать
  • JS, что под капотом у конструкции async await?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Подробный ответ на вопрос на английском.

    async / await – это синтаксический «сахар». Под капотом – генератор и yield.
    Ответ написан
    Комментировать
  • Код в парадигме ООП PHP?

    makarenya
    @makarenya
    программист
    Вы сконцентрировались на попытке сделать ваше решение БД-ориентированным, в то время как вас не просили этого делать. Из за БД-ориентированности в вашем коде происходят странные вещи, можно сказать "магия". Некоторые вещи вообще странные, вроде списка статей внутри статьи.
    Вас просили сделать описания классов, методов и свойств класса в формате PhpDoc, а вы этого не сделали.

    Попробуйте ещё раз, но со следующими ограничениями:
    • В классе User оставьте только свойство $name и свойство $articlesList = [] - который будет уже списком статей, которые написал автор. Пусть список храниться внутри объекта пользователя, в ORM типа Doctrine так и происходит. Уберите оттуда $id.
    • Не забудьте добавить методы getName() и setName($newName) для работы со свойством name. Это является правильным для ООП - не позволять клиентам класса работать со свойствами напрямую, а лишь вызывая методы, которые вы предоставляете. Причина проста - в методе вы можете указать какое-нибудь дополнительное поведение, которое требуется при изменении свойства.
    • Также придумайте методы, необходимые для работы со списком статей. Ну вот два уже напрашивается из задания: "возможность для автора создать новую статью" и "возможность получить все статьи конкретного пользователя". Но по хорошему статью ещё и удалить можно...
    • Для статьи вам понадобятся 2 поля - это ссылка на автора (то есть сам объект класса User, а не магический id). То есть $author, и ещё, раз это статья, то ей неплохо бы добавить свойство $text.
    • А теперь главное - не пишите вообще текста методов. Только открыли фигурные скобки и сразу закройте на следующей строке. От вас этого не просили. И даже явно указали этого не делать!


    Если всё ещё сомневаетесь, то советую почитать обучалку по Doctrine. Там они постепенно создают совершенно коректные с точки зрения ООП классы User и Bug. (они это делают последовательно, так что не поленитесь докрутить до самого конца обучалки)
    Ответ написан
    2 комментария
  • Что важнее для программиста?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Для непосредственно программирования - математика нужна на уровне базовой алгебры.
    Программирование учите отдельно от вуза, иначе никак - вузовское программирование в своем большинстве примитивно и устаревшее.

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

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

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

    Поэтому учите математику и интересуйтесь практическим применением полученных знаний.
    Ответ написан
    Комментировать
  • Как набираться опыта и формировать портфолио?

    Vlad_IT
    @Vlad_IT
    Front-end разработчик
    Итак, я учусь на geekbrains веб-разработке.

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

    Пока не будете читать, так и будете практиковать визуальные эффекты на jQuery. Нужна база. В начале 25% теории 75% практики. Читайте https://css-tricks.com , большую книгу css (она немного устарела, гриды не рассматривают, но основная база очень полезная), смотрите Юрия Артюха (если хотите делать крутые анимации), лазьте по https://www.awwwards.com/ и разбирайтесь, как люди так делают. А также практикуйтесь, сделайте себе сайт, сайт другу, сайт девушке - всем.

    UPD: В чем сложно придумать себе близкую к боевому задачу? Боевую задачу вам вряд-ли кто-то даст, т.к. без опыта боевых задач, вы сделаете не боевое решение. Вот там "боевые" задачи.
    1) Сделайте калькулятор произведения матриц - разминочка.
    2) Сделайте игру арканоид, хоть на дивах (а раньше, когда мы учили программирование, новичков привлекала разработка игр, а сейчас почему-то сайты. Раньше было романтичнее как-то).
    3) Сделайте приложение учета личных финансов, в котором есть такие функции
    - личный счет
    - форма добавления денег в личный счет с комментарием и выбором группы доходов (долг, зп, заказ, подарок и.т.д.).
    - форма снятия денег с личного счета с комментарием и выбором группы расхода (вернул долг, купил домой что-то, купил технику, еду, потратил на женщину и.т.д.)
    - Вывод списка доходов и расходов с фильтром, сортировкой и категориями.
    - создание расписания автоматического пополнения (зп) или снятия (аренда, абонентская плата) средств с личного счета.
    - создание простого графика расходов и доходов. Я бы сюда добавил еще прогнозирование доходов и расходов хотя бы через линейную регрессию (да, я люблю машинное обучение),
    - добавление нескольких счетов
    Эта задача норм, и типа боевая, и для себя пригодится, и на гитхаб можно выложить - красота.
    Ответ написан
    14 комментариев
  • Div, который выглядит по-разному в каждом браузере?

    @itsjustmypage
    Outline это контур элемента с внешней его стороны, то есть сразу за border. В отличие от border он никак не влияет на элементы, их ширину и расположение. Ключевое слово inset в свойстве outline: inset 100px green; устанавливает этот контур в виде псевдотрехмерной рамки за счёт осветления правой и нижней границ и затемнения левой и верхней относительно указанного цвета. Ширина 100px, цвет зелёный.

    Баг создаёт свойство outline-offset: -125px;, которое задаёт смещение контура. При положительном значении контур будет расширяться во все стороны. А при отрицательном будет сжиматься внутрь элемента.

    Спецификация CSS Basic User Interface Module Level 3 в статусе рекомендации говорит о том, что контур элемента со свойством outline-offset при отрицательном значении не должен становиться меньше, чем двукратная вычисляемая ширина контура. То есть если в примере у нас размеры элемента 100x100 пикселей и контур задан у нас шириной 100px, то при outline-offset: -125px; он должен сжаться внутрь элемента на 125px со всех сторон, а спецификация визуально ограничивает сжатие до outline-offset: -50px; (по 50px внутрь с каждой стороны элемента). То есть контур должен просто сойтись вместе со всех сторон, образуя квадрат в нашем случае и насколько больше не ставь отрицательное значение, больше он сжиматься не должен. Но реализация в браузерах не учитывает это поведение и выдаёт непонятные фигуры, если отрицательное значение слишком большое.

    https://www.w3.org/TR/css-ui-3/#outline-offset
    5b447ea6c9061121780680.jpeg

    Поведение при отрицательном outline-offset должно быть как на гифке. Если дальше уменьшать значение, ничего меняться не должно. AMQ4hnM.gif
    Ответ написан
    1 комментарий
  • Книга, которая объяснит как работает ПК начиная с атомного уровня?

    Maksclub
    @Maksclub
    maksfedorov.ru
    Решил стать программистом, но немного неприятно кодить не понимая, что происходит под капотом.

    Расслабьтесь и напрягитесь в своем деле, прочитав на Хабре:
    Долг знаний
    Ответ написан
    Комментировать
  • Книга, которая объяснит как работает ПК начиная с атомного уровня?

    Stalker_RED
    @Stalker_RED
    Книжки уже посоветовали, но можно сходу закрыть часть ваших детских вопросов.

    Как ПК понимает, что он вообще делает?
    Никак не "понимает", он просто следует инструкциям.

    Откуда процессор знает, что ему делать?
    Он не "знает", он следует инструкциям.

    Посмотрите эти два ролика про шарманки:
    https://www.youtube.com/watch?v=k5g-zySVO18
    https://youtu.be/HjBhO9iqEc0

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

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

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

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

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Начните с гугла. На тостере подобных вопросов было несколько сотен.

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

    На фрилансе главная задача - уметь быть САМОСТОЯТЕЛЬНЫМ, а вы даже начать сами не можете.
    Ответ написан
    Комментировать
  • В чем смысл ВУЗа?

    sgjurano
    @sgjurano
    Разработчик
    * Зачем программистам учить русский, обж, шрифты в Ворде?
    Эк вы всё в кучу намешали :) грамотный русский, равно как и понимание как именно следует действовать в экстремальных ситуациях, нужны не программистам, они нужны культурным людям, это просто попытка подготовить вас к жизни, хоть как-то.

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

    * Почему все профили по программированию противоестественно смешивают с математикой?
    «Математика лежит в основе любого серьёзного знания».
    Если возникнет необходимость в чём-то сложнее формочек и ООП разбираться – вы будете благодарны ВУЗу за преподавание математики.

    * Зачем нужен преподаватель, читающий лекции по книге, когда есть книга?
    Вы когда-нибудь пробовали сами учиться по книге какой-нибудь серьёзной дисциплине? Наличие живого человека с его опытом и возможностью получить ответ "на пальцах" – редкая привилегия.

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

    * По моим наблюдениям, Нет в вузе ничего полезного, чего нет в книгах. Тогда в чём смысл ВУЗа?
    В книгах есть всё, задача ВУЗа – облегчить для вас усвоение этих знаний. Попробуйте самостоятельно изучить какой-нибудь раздел высшей математики, после нескольких месяцев потраченного времени вы поймёте для чего ВУЗ нужен.

    Кроме учёбы, ВУЗ – это общение со сверстниками, интересующимися примерно теми же вещами, это пригодится в дальнейшем.

    * И почему требуется его корочка чтобы устроиться на работу?
    Не требуется, только работа – далеко не главное и не единственное в жизни для чего нужно быть образованным человеком.
    Ответ написан
  • В чем смысл ВУЗа?

    @garik_R
    On my way
    В ВУЗе учат взаимодействовать с людьми. Не в том смысле, что прогулять пары, прибухнуть, а наоборот, решить проблемную контрольную, написать курсовую. Развивать навыки, в любой сфере. Часто, именно этим, люди в Вузе и пренебрегают. Это социальная структура, где, по идеи, должны были собраться люди со схожими интересами. К сожалению, у нас это простой способ откосить от армии. Или родители сказали: "Ты должен поступить..." еtc. Кроме того, диплом поможет устроиться на хорошую работу у нас в стране или где-то в другой.

    Зачем учить? Что касается "странных" предметов, которые, казалось бы, никому не нужны - это ошибочная точка зрения. Любая работа сталкивает нас с такими неожиданностями, о которых мы и не думали. Вот тогда и вспоминаешь про какое-то ОБЖ и так далее. Часто негодование на этот счет связано не с большим умом, а наоборот, с большим незнанением и узким взглядом на жизнь. Подобные предметы нужно проглотить, отмучаться и знать где подсмотреть в случае чего. Или просто посмотреть шире. Вы же не станете отрицать, что даже если Вы учитесь на программиста, знать основы экономики необходимо, верно? А потом вы можете устроиться на работу, где будете писать какой-то софт где уже и не помешают и глубокие знания?

    Без математики можно заниматься только формошлепством. Везде так или иначе нужна математика. Где-то простая арифметика, где-то нюансы шифрования.

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

    Учить наизусть? Скажем так - хуже не будет. Да, сейчас всё немного изменилось. Если до ~2000х важно было иметь хорошую память. По книгам сложней искать, но других способов тогда не было. Сейчас нет острой необходимости помнить важную информацию. Сейчас важно знать где найти. Это умение стало более важным сейчас, из-за доступности интернета. Важная информация откладывается у вас в голове, если вы её постоянно используете - этого не избежать. Тут действительно, сейчас важно знать где найти, чем помнить досконально. Но человек, который является ходячей библиотекой оставляет гаааараздо более интересное впечатление, нежели тот, который говорит: "Щас, сек, я точно знаю, это вот здесь было написано". Перед работодателем это совершенно точно. Если вы помните, умеете развивать мысль, а не тупо заучили - то вы оставите более яркое впечатление. Мне кажется, это старомодный подход и со временем действительно можно будет погуглить и это всех будет устраивать. Но сейчас имидж умного, начитаного человека всё еще очень важен. Всё еще интересно поговорить вживую, с телефоном в кармане, нежели общаться отрывками статей, которые только что прочитал.

    В своём мнении Вы правы. Можно быть исключительно дисциплинированным человеком и всё учить по книгам. Прокачать себя в теории достаточно хорошо, да и в практике. Но между книгой и делом всё равно остается пропасть. Так или иначе, жизнь это социальная штука. На работе у вас может быть точно такой же начальник отдела, как и тот преподаватель в ВУЗе. Если вы пойдете в офис работать - там будут живые люди, с которыми нужно уметь взаимодействовать. Да даже если будете фрилансером - нужно говорить с клиентом, договариваться с подрядчиками если не успеваете, или с кем либо советоваться, если чего-то не знаете.

    ВУЗ нужен. Он учит, учит общению с людьми, решению социальных проблем. Учит решать поставленные задачи, порой, которых вы не ожидали. Дает возможность встретить людей, которым интересна таже область, что и Вам. Встретить людей, которые умнее Вас и прокачаться до их уровня. И да, как ни крути он даёт вам бумажечку. Может быть, она Вам и не пригодится, а может, вы в какой-то момент сильно пожалеете, что не получили её. Я бы даже сказал, что ВУЗ - это часть молодости, и не нужно её себя лишать. :-) И добавил бы, что желательно учится не в родном городе. Но это уже лирика :)
    Ответ написан
    4 комментария
  • Что является основной причиной говнокода?

    dom1n1k
    @dom1n1k
    Тут как посмотреть. Непосредственных причин, которые приводят к говнокоду, может быть очень много:
    1. Отсутствие внятной аналитики и архитектуры
    2. Низкая квалификация исполнителей (он может и хотел бы сделать хорошо, но не знает и не умеет)
    3. Говнокодеры по складу характера (есть такие люди, которым даже если создать все условия, все равно сделают на от****сь, потому что и так сойдет)
    4. Недопонимание и сложные отношения в команде
    5. Сроки (бывают заведомо нереалистичные, а бывают просранные в процессе)
    6. Меняющиеся требования
    7. Плохо выстроенные процессы (документация, тесты и пр)
    8. Текучка кадров
    9. Политика руководства
    И тд и тп... Можно придумать ещё много пунктов.

    Но в конечном итоге все эти причины можно свести к одной первопричине - плохой менеджмент. Хороший менеджмент это такой непонятный зверь... Трудно сформулировать, понять, организовать. Косяки не сразу видны и ощутимы, но потом выливаются в проблемы. Если у вас есть хороший менеджер проекта - он на вес золота.
    Ответ написан
    1 комментарий
  • Хорошая ли практика создавать свои классы Exception для отлавливания разных ошибок?

    php10
    @php10
    Разработчик на PHP
    Во фреймворках так и делают. Я в своей практике использую несколько исключений. Так что это нормально. Почитайте еще про интерфейс \Throwable, который появился в PHP 7
    Ответ написан
    Комментировать