Задать вопрос
  • Что должен знать c# middle developer?

    @georgepolevoy
    Начнем с того, что мидл должен знать как минимум то же, что знает джун.

    Для джуна это систематческие знания CLR и c#. Лучше всего прочитать и понять CLR via C# Джеффри Рихтера. Я считаю - это минимум.

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

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

    Сеньор отличается от мидла тем, что способен самостоятельно реализовывать проекты с нуля и до feature complete, включая налаживание инфраструктуры разработки и управление проектом, обслуживание приложения в производстве.
    Сеньор может обучать других, не говоря уже о том, что эффективно решает более сложные задачи. Сеньор находит системные решения. Если сеньор не может предложить решение задачи, то, скорее всего, человечество еще эту задачу не решило. Для сеньора количество ответов сильно превышает количество вопросов. Сеньор иногда делает вещи, которые причиняют непоправимую пользу не только в рамках проекта, но и всему человечеству, такие как хорошие опенсорсные фреймворки.
    Ответ написан
    Комментировать
  • Где найти нормальные курсы по C#?

    @nadonado
    Курсы ITVDN от Александра Шевчука очень хорошие, он разжевывает настолько, насколько это возможно - для новичков это особенно круто. Особенно понравилось как он объяснял ООП, спустя много лет понимаю, что это было хорошо. Я смотрел эти курсы несколько лет назад, они наверняка обновлены и дополнены. Касательно их платности - решать конечно Вам, но я в свое время когда был бедным студентом недобросовестно скачивал эти курсы с торрентов, благо они там были.
    Ответ написан
    1 комментарий
  • Английский для программиста или на что лучше ставку сделать?

    gobananas
    @gobananas
    finishhim.ru
    правильно ли я сделал бросив все свободное время только на английский

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

    Вы сейчас выбрали английский. Ок. Язык это не цель, а средство. Для чего вы будете использовать это средство? Что бы учить программирование? Ок. Тогда почему бы сразу не взять эту книгу по С + словарь и не совместить? Слишком сложно? Хорошо, возьмите книгу на английском из разряда "Устройство ПК" или типа Биты и байты для новичков и просто прочитайте её на английском со словарём переводя каждое непонятно слово. А потом уже за С сядете.

    Долго? А что делать... Вот прекрасная статья недавно вышла как чувак десятки тысяч долларов на изучение английского потратил https://vc.ru/34462-lichnyy-opyt-kak-ya-potratil-d... там пишут что 4 часа в день каждый день = английский за 3-4 месяца. У вас час в день, это значит около года...

    P.S. При таком семейном положении думаю проще (быстрее) искать источник повышения дохода в русскоязычном сегменте, а потом уже как стабилизируетесь - займётесь английским.
    Ответ написан
    1 комментарий
  • Как выбрать правильный вектор развития в IT сфере?

    zualex
    @zualex
    Senior Software Engineer
    Карта развития веб-разработчика
    Coding Interview University

    По поводу велосипедов: build-your-own-x
    Попробуй написать свою БД, веб сервер или поисковый движок.

    Давай действуй, я в тебя верю!
    Ответ написан
    Комментировать
  • Как в Crome DevTools можно просматривать все события страницы?

    @xtress
    Web-dev
    Выполните в консоли monitorEvents(document.body); Увидите все события по мере их появления. Если надо фильтровать - второй аргумент для этой функции: monitorEvents(document.body, 'click'); - покажет все клики.
    Ответ написан
    3 комментария
  • Какова суть фреймворков и библиотек?

    Stalker_RED
    @Stalker_RED
    Библиотека это инструмент или набор каких-то инструментов.
    Бибилиотека для скачивания видео с ютуба
    Бибилиотека для кропа и ресайза картинок
    Бибилиотека для определения города по IP

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

    "набор для постройки скворечника"
    В комплекте молоток, гвозди, столярный клей, 20 деревянных досточек разных форм и расцветок и инструкция с тремая вариантами скворечника на выбор.

    Или вот два фреймворка:
    Ezva9I.pngzC6ZHT.png
    Можно ли их использовать вместе? (Конечно, никто не запрещает)
    Можно ли из этих деталей построить что-то совсем другое, не такое как в инструкции? (Конечно да)
    Можно ли с этими фреймворками использовать детали еще и из этого?
    lGjE1A.png
    (конечно можно, но придется что-то придумать для совместимости деталек. Быть может придется применить клей, изоленту, пластилин или жвачку. Или шуруповерт, или сварочный аппарат. Но ни в один комплект эти дополнительные инструменты не входят, как и скиллы к ним.)

    Можете посмотреть еще сюда, этот ответ частично покрывает ваш вопрос:
    Для чего нужны фреймворки, а-ля Laravel?
    Ответ написан
    Комментировать
  • Актуальные книги по js?

    @kuftachev
    Какие книжки по js? Там все меняется быстрее, чем работают топографические станки!

    Есть лучший русскоязычный ресурс - это https://learn.javascript.ru , а также https://developer.mozilla.org/ru/ , тут что-то есть на русском, а что-то непереведено.

    А дальше уже документации фреймворка, какой нравится, если это Vue.js, конечно ))) Хотя и Angular не плох.
    Ответ написан
    3 комментария
  • Какую литературу прочитать на английском для обучения языку?

    @timur_sh
    Попробуйте детскую литературу, она простым языком написана. Я Гарри Поттера читал. Еще мне рекомендовали Агату Кристи, но я не пробовал.
    Ответ написан
    1 комментарий
  • Кодер -> Программист -> Архитектор?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Архитектор - в первую очередь опыт работы, в идеале в разных проектах, чтобы понимать на практике разницу между реализацией разных SDLC.

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

    Архитектор, бизнес-аналитик и менеджер - три звена, которые создают основу работы проекта, каждый со своей стороны.
    Бизнес-аналитик - должен максимально разбираться в бизнесе заказчика, чтобы понимать значение требований и переводить их для исполнителей.
    Архитектор - должен как минимум немного разбираться в бизнесе, но его основная задача - решить как воплощать требования бизнеса. Определять железо, технологии, требования. Говорить, что "вот для этого нужно использовать 10 этого и 20 этого, и использовать вот такие языки, библиотеки, платные решения". Техническое hi-level видение проекта.
    Менеджер - по согласованию с бизнес-аналитиком и архитектором должен решать кадровые вопросы. Количество людей, качество людей, работу команды, тайминги, офис и оборудование - все денежные вопросы. Отчеты. Договариваться, убеждать заказчика о ценах и сроках. Выбивать новые задачи и развивать проект. Следить за настроением в команде.

    Переход программист-архитектор не всегда последователен. Он должен быть инициирован программистом.

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

    Но кодить крутые штуки и одновременно быть архитектором, который тратит приличное время на митинги - это сложно. Поэтому программист - архитектор это связано, но не всегда последовательно.
    Ответ написан
    1 комментарий
  • C# vs Java для удалённой работы за рубежом. Что востребовано?

    @Ambrosian
    Востребованы специалисты.
    Знание конкретного языка - не важно. Да и вы упомянули - оба мейнстримовых
    А специалист - это не язык.
    Синтаксис учится быстро.
    Знания специалиста - это парадигмы, алгоритмы, паттерны и архитектура.
    А вовсе не знания языка. Если только это не английский
    ;)
    Ответ написан
    Комментировать
  • Что такое тестирование sql запросов?

    MaxDukov
    @MaxDukov
    впишусь в проект как SRE/DevOps.
    я бы для начала почитал про чудо-команду EXPLAIN
    Ответ написан
    1 комментарий
  • Как преодолеть кризис начинающего специалиста?

    @0x131315
    Да, программист - не так романтично на деле, как кажется)
    Потому что, в отличии от всяких мечтаний, в реале вопрос завязан на деньги, а деньги - на время.
    Программист работает на заказчика, заказчику нужно быстро и дешево - отсюда готовые решения и костыли сейчас, с прицелом разобрать это потом (но потом тоже костыли)
    Поначалу все это очень напрягает и срывает башню - нас учили не такому, нас учили стремиться к простому и оптимальному коду, а везде вокруг накручивают дичайшие костыли, и это жесть, но...
    Со временем понимаешь, что лучше сейчас быстро сделать костыль, и забыть об этом, возможно навсегда, чем потратить времени в 3-4 раза больше, но сделать по канонам... Просто у программиста нет столько времени...
    В конце концов в реальности работа программиста не так сложна, и во многом не так красива, как ожидается - по большей части это рутина и разгребание чужого страшного кода, отладка и ваяние своего страшного кода, сожаление о том, что не было возможности сделать хорошо, и радость, когда попадается что-то интересное, или то, что сделал хорошо, качественно
    Как и на любой работе, есть свои светлые и темные стороны. И деньги не так легко достаются - программист за них щедро платит нервами. Как и врач, и любой другой специалист
    Ответ написан
    1 комментарий
  • Ваше мнение о видеоуроках Евгения Попова?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Недавно в голову пришла идея небольшого сайта мне для работы.

    Для начала нужно понимать, что сайты для работы не пишут с нуля.
    Это все равно, что построить автомобиль самостоятельно, чтобы стать таксистом.

    Сайты для работы не пишутся с нуля. Сайт для работы делается на основе заготовки для сайтов - CMS.

    Поэтому надо забыть про написание сайта с нуля, забыть про видеоуроки, а вместо этого выбрать подходящую CMS и делать сайт на ней.

    Про попова же, если коротко, то у его курсов ровно две проблемы:
    1. Его задача не поделиться знаниями, а продать что-нибудь. К несчастью, торговать он стал не гербалайфом, а низкокачественным говном собственного производства.
    2. Когда неспециалист берется учить других - это страшно. Сам нахватавшись по верхам, и не понимая смысла кода, который он пишет, попов остался в прошлом веке. Да, 18 лет назад, когда РНР только появился, все писали так. Но с тех пор изменилось очень многое. Программисты узнали о таких вещах, как отладка, обработка ошибок, безопасность, разделение кода и данных, разделение логики обработки данных и логики отображения, системы контроля версий, повторное использование кода и многое, многое другое. Шарлатаны же и недоучки так и застряли в прошлом веке, и не дают несчастным обманутым жертвам ничего из современных достижений. В итоге сайты, написанные по видуоурокам, постоянно ломаются, являются уязвимыми для любых типов атак и являются совершенно немордернизируемыми.
    Ответ написан
    Комментировать
  • Актуален ли видео курс Евгения Попова по JavaScript?

    @McBernar
    Да, JS за 8 лет изменился очень сильно.

    learn.javascript.ru для начала.
    Ответ написан
  • Как (и возможно ли) дотянуться до Junior JavaScript Developer в кратчайшие сроки?

    opium
    @opium
    Просто люблю качественно работать
    Пару книжек по джаваскрипт прочитать и вот вы Джуниор
    Ответ написан
    4 комментария
  • Как (и возможно ли) дотянуться до Junior JavaScript Developer в кратчайшие сроки?

    @ynblpb_spb
    дятел php
    А я бы на такой ситуации сразу пошел проходить собеседования на нужную вакансию и смотреть то, что там спрашивают, записывать, приходить домой и разбираться "чо хотели-тооо?". Брат (студент) по такой технологии за 2 месяца нашел работу младшим сисадмином (с нуля)
    Если не хочется тратить время на беготню и общение, то писать на hh.ru HRам и просить у них тестовое задание (для большинства вакансий оно есть).
    Ответ написан
    1 комментарий
  • Есть ли какие-либо недостатки у статических методов?

    @D3lphi
    Значит так, берем толстую тетрадь, ручку и пишем фразу "Статические методы не имеют отношения к ООП" до тех пор, пока не запомним это на всю жизнь.
    Суть объектно ориентированного программирование, как понятно из названия, заключается в том, что должен существовать объект. Статика существует не в контексте объекта, а в контексте класса! Из этого вытекает то, что на протяжении всего жизненного цикла вашего кода будет существовать лишь одно глобальное состояние статических членов класса.

    Использовать статику нужно в случае, если то, что вы ей описываете принадлежит всей группе объектов, а не одному. Например, у класса Human может быть статический метод numberOfLegs(), который возвращает количество ног у людей. Количество ног - это общее свойство для всех людей (Речь идет о здоровых людях). В данном случае можно было использовать константу класса, но это не так важно, ведь, по сути, константа - это тоже статический контекст. А вот имя - это уже свойство каждого отдельного человека. И очень важно чтобы статические методы не изменяли состояние системы в целом, не содержали побочных эффектов.
    В статические методы можно выносить какую либо служебную логику. Например, метод перевода числа из арабской в римскую запись следует сделать статическим.

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

    Большое количество. При чем, не таких уж и подводных. Из-за того, что статика глобальна, она плохо поддается тестированию, ее нельзя замокать. Глобальное состояние плохо поддается отладке. Отсутствует возможность подменить реализацию, так как это позволяют сделать объекты.
    Ответ написан
    4 комментария
  • Как лучше всего изучать webpack 4?

    kuzvac
    @kuzvac
    Попробуйте официальную академию вебпака :) https://webpack.academy/
    Ответ написан
    Комментировать
  • Взял первый заказ на UpWORK от индуса. Как разрулить проблемы?

    yetanothercoder
    @yetanothercoder
    java(script) coder
    Печальная ситуация, вызванная видимо прежде всего недостатком опыта в подобных доработках да и в целом, поэтому на будущее несколько правил:
    1) не связываться с индусами (ну только если на хлеб не хватает и кроме индусов работы/заказов нет).
    2) выяснять заранее максимальные подробности заказа перед его принятием (тут очевидно этот ад можно было заранее предвидеть)
    3) не лезть сразу на боевые сервера (production), если у клиента только боевой сервер или он предлагает делать сразу на нем - то учитывая п. 2) посылать лесом.

    По вариантам выхода из ситуации - если первоначальный дамп остался то пытаться все вернуть назад, в том числе и эти 10$, т.е. отменить заказ вообще чтобы у индуса не было возможности оставить еще плохой отзыв (они это любят делать).
    Если дампа нет и вернуть нельзя - ну как бы придется пытаться восстанавливать обратно как он хочет насколько это возможно, но потом все равно отменить нафиг этот копеечный заказ, т.к. в приватном отзыве вряд ли индус поставит все хорошо, даже если это все удасться починить.
    Ответ написан
    5 комментариев
  • Вопросы по потокобезопасности коллекций и объектов?

    w1ld
    @w1ld
    Программирую
    1. Ну, `List` не потокобезопасен. Для избежания Kernel-mode constructs (`lock` и пр.) можно попробовать потокобезопасные ConcurrentQueue или ConcurrentStack в System.Collections.Concurrent, если заполнение до чтения (а не вовремя). Наполняете, вызываете GetEnumerable, который делает снэпшот коллекции, сравниваете. Чтение должно происходить без блокировки.

    2. BlockingCollection для проблемы producer-consumer, когда одновременно чтение и запись. Я так понял это не входит в задачу.

    3. Если вы не изменяете, то и блокировать не нужно. Вне зависимости от reference или value type. (Конечно, через стэк лучше, если изменяете. Тогда копия для каждого потока своя.)

    По теме можно Рихтера почитать, CLR via C#, 10 глава, Asynchronous Synchronization и The Concurrent Collection Classes
    Ответ написан
    Комментировать