• Ценятся ли программисты-самоучки в странах Евросоюза?

    vt4a2h
    @vt4a2h
    Senior software engineer (C++/Qt/boost)
    Я попробую кратко расписать что нужно:
    - Получить диплом любого технического вуза по технической же специальности (это просто формальный критерий, без которого вам банально не дадут разрешения на работу в большинстве стран)
    - Постараться получить в институте фундаментальные знания и развить аналитическое мышление (супер необходимый навык, который никак с языками программирования не связан). Сюда можно отнести, например, всякие "ненужные" математики, алгоритмы и т.п.
    - Во время учёбы в вузе можно великолепно пользоваться возможностью проходить стажировки, в том числе и за рубежом. Это пожалуй самое важно на чём вам надо сфокусироваться + предыдущий пункт.
    - Английский. Учить постоянно, без него разработчик попросту проф. непригоден. Желательно как итог сдать TOEFL/IELTS на высокие балы.
    - Смотреть в сторону стран западной Европы, Британии или США.
    Ответ написан
  • Сложно ли перейти с c++ на c#?

    vt4a2h
    @vt4a2h
    Senior software engineer (C++/Qt/boost)
    C C++ будет довольно легко перейти на похожий (критерии я здесь намеренно опущу) язык вроде C# или там Java. Как бы странно не звучало, но и наоборот будет легко перейти, если использовать современное подмножество языка C++ и современные же практики разработки.

    Сложно может быть перейти с C++, скажем на что-то вроде Ruby/Pyhon, или JS, или что-нибудь функциональное вроде Scala. Но только при условии что у вас нет опыта с похожими языками и экосистемой вокруг них.

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

    Но с++ устаревший язык, да и вакансии мало(так говорят).

    Тут не совсем верно. C++ действительно старый язык и тянет за собой кучу "старья", от которого нельзя отказаться из-за политики обратной совместимости. Из-за этого есть куча проблем и с инструментами, и с экосистемой и с ABI, да и вообще много с чем. При этом, ни что (кроме старых проектов) не мешает пользоваться современным подмножеством языка и инструментами. Это всё равно ужасно, сравнивая с современными вещами и другими языками и их экосистемами, но хотя бы что-то.
    Насчёт вакансий, это как всегда зависит от места поиска (вероятно, города, где вы живёте) и сферы. В целом, я бы сказал, что вакансий на C# и правда больше чем на C++, вопрос только, какие из них вам придётся по душе. Ведь можно же и в каком-нибудь "кровавом энтерпрайзе", за вполне себе приличные деньги постоянно портировать код на новую версию фреймворка и больше ничем не заниматься. Что звучит так себе.
    Ответ написан
    1 комментарий
  • Бывают ли в природе НОРМАЛЬНЫЕ работы, где нужны именно те программисты, которые знают ВСЕ, но по чуть-чуть?

    vt4a2h
    @vt4a2h
    Senior software engineer (C++/Qt/boost)
    В принципе может любую задачу решить. Да и по какому-то из направлений уже работал, то есть это не человек, который вообще не в теме.
    Но при этом в 70% задач на любом языке его код "пахнет" (хотя и работает нормально!), а в 5-10% задач получается нечто, что на его взгляд кажется нормальным, но вот концептуально - скажем, просто не справляется с нагрузкой. Начинается нудное допиливание, оптимизация... результат получается, но не сразу.

    Вы описали сейчас около 80-90% программистов, причём вне зависимости от страны. Так что да, за это платят и такие люди нужны :)
    Ответ написан
  • Какие хорошие вузы за рубежом (в Европе, не в СНГ) потянет не богач и не гений, а обычный человек из провинциального города России?

    vt4a2h
    @vt4a2h
    Senior software engineer (C++/Qt/boost)
    Если планируете уехать сразу, то любой технический вуз в Германии или Чехии (любой другой желательно не восточноевропейской стране) подойдёт. Просто выбирайте тот в который проще всего поступить. Но только уехать вы сможете скорее всего в следующем году, а не в этом, так как надо будет или экзамены по английскому языку сдать, или по языку, на котором говорят в стране (например, Чешский). Ну и документы там готовить надо и т.п.

    В России можно рассмотреть некоторые вузы в Мск (МГУ, МФТИ, ВШЭ и т.п.) и Спб (ИТМО). Специальность любая связанная с математикой, автоматизацией или программированием. Там более чем реально получить хорошую фундаментальную базу и сформировать правильно мышление. Стоит отметить возможность стажировок и присутствие на рынке крупных компаний, которым нужны сотрудники. Ну и полезные связи и знакомства. Потом и уехать можно.

    На всякий случай, напомню, что делать это нужно не на последнем курсе, и не сразу после окончания вуза. А то потом возникают вопросы вроде "что ходил в институт 3-5 лет, вот закончил, а на работу никто не берёт. что мне делать? диплом не нужен, образование не нужно а-ааааааа...". Ответ простой: искать стажировки и параллельно развиваться начиная со второго, если не с первого курса. Вне зависимости от вуза и страны.
    Ответ написан
    Комментировать
  • QT C++ Почему код так отличается?

    vt4a2h
    @vt4a2h Куратор тега C++
    Senior software engineer (C++/Qt/boost)
    Почему код на C++ , отличается от кода на qt?

    Вопрос изначально неверно сформулирован. Надо было написать "от кода, написанного с использованием Qt". На ваш взгляд есть визуальные отличия, но это потому что Qt предоставляет свои API.

    Чтобы вывести Hello world! в c++ нужно : cout << "Hello world!" << endl;
    А в Qt (будем считать, что это рописано в функции кнопки): qDebug() << "Hello world!";

    Вариант с cout будет точно так же работать.

    И вообще является ли qt отдельным языком программирования(Если да, то где лучше всего почитать про него)?

    Нет, Qt -- это не отдельный язык программирования, а набор библиотек или фреймворк (зависит от того, как использовать) + набор инструментов.
    Однако же, для разработки UI, с Qt можно использовать отдельный язык, который называется QML. Но можно и не использовать.
    Ответ написан
    Комментировать
  • Computer Science бакалавр в Польше или Украине? Что лучше?

    vt4a2h
    @vt4a2h
    Senior software engineer (C++/Qt/boost)
    Если есть возможность в США, то очевидно что в США. В Европе стоит рассмотреть Германию или Швейцарию.
    Ответ написан
    Комментировать
  • Какую версию стандарта учить/использовать в 2021 году?

    vt4a2h
    @vt4a2h Куратор тега C++
    Senior software engineer (C++/Qt/boost)
    Начиная с 11, потому что в сравнении с прошлым стандартом это практически другой язык. Всё что выше, на данный момент, просто удобные фичи. Ну кроме сопрограмм и модулей -- это не просто фичи, но это отдельная тема. А всё что ниже 11 стандарта, уже очень старо и неудобно.
    Ответ написан
    5 комментариев
  • Как попасть на стажировку в Яндекс?

    vt4a2h
    @vt4a2h
    Senior software engineer (C++/Qt/boost)
    Если очень коротко, то надо научиться проходить собеседования. Это особый навык, который нужен с той частотой, с которой вы меняете работу. К сожалению, к решению повседневных задач разработчика отношения не имеет.

    Так-то материала в сети много, даже ролики есть на ютубе с записями прохождения интервью. Ссылок у меня нет, если что. Но умение искать информацию -- один из основных навыков в любом случае.
    Ответ написан
    Комментировать
  • Как вернуть разные типы из std::function?

    vt4a2h
    @vt4a2h Куратор тега C++
    Senior software engineer (C++/Qt/boost)
    Как вернуть разные типы из std::function?

    variant, any, void*

    Но в вашем примере просто надо явно указать тип лямбды и/или приводить все возвращаемые значения к одному типу, раз уж предполагается что одно всё равно копируется в другое.

    Можно подумать о возвращении указателя на динамически созданные объекты ковариантных типов. Но я не уверен, насколько вам это подойдёт архитектурно.
    Ответ написан
    Комментировать
  • Стоит ли идти на курсы от GeekBrains?

    vt4a2h
    @vt4a2h
    Senior software engineer (C++/Qt/boost)
    Я бы посоветовал JetBrains Academy уж если сильно хотите что-то вроде курсов. Там и интерактивности хватает и автоматическая проверка заданий есть, и интеграция с IDE, и теоретического материала хватает, и карту обучения построить можно. Смежные темы тоже покрыты помимо непосредственно ЯП. Сами-то по себе ЯП составляют малую толику знаний и навыков программиста (если вы компиляторы и/или инструменты не разрабатываете).

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

    PS
    Касательно отъезда за границу, рассмотрите учёбу непосредственно в США/Европе. Может где-то и получится, и даже со стипендией. Чем раньше уедите, тем лучше.
    Образование конечно же лучше где-нибудь получить, причём хорошее и фундаментальное.
    Ответ написан
    1 комментарий
  • Как войти в сферу и переехать (не знаю, что делать и сильно отчаялся)?

    vt4a2h
    @vt4a2h
    Senior software engineer (C++/Qt/boost)
    Я бы не рекомендовал Норвегию для начала карьеры, если у вас нет диплома одного из профильных вузов Скандинавии или Европы. Помимо этого, в Норвегии относительно небольшой рынок труда, в силу того что популяция небольшая и крупных IT компаний практически нет, если сравнивать с соседями. Лучше Швецию рассмотрите.

    Касательно высшего образования, это хороший вариант. В Норвегии оно ещё пока для всех бесплатно, правда там есть свои тонкости. Например, если у вас уже есть высшее образования, и вы хотите перезачесть баллы для поступления, то требования для вас будут выше, чем для людей без степени. Язык необходимо сдать опять же, если на бакалавра планируете, на уровне не ниже B2 (для большинства вузов). Из положительного, есть небольшие стипендии, гранты и выплаты за успешно сданные сессии (но опять же по не самым простым схемам); относительно дешевые общежития и льготы на проезд.
    Но в любом случае, страна дорогая. Просто для примера: часовой проездной на все виды транспорта в первой зоне стоит 37 крон (около 3,5 евро), на месяц 770 крон и на год 7700 крон. В общем, numbeo.com в помощь.

    PS
    Можно переехать и с российским образованием, но надо что-то показать на собеседовании (намного больше к слову, чем в случае с норвежским/европейским). Можно переехать просто с опытом работы. Важно уметь решать задачи и/или иметь потенциал.
    Ответ написан
    Комментировать
  • Резюме в .doc или .pdf?

    vt4a2h
    @vt4a2h
    Senior software engineer (C++/Qt/boost)
    Тут всё довольно очевидно: linkedin (+ github). Покрывают процентов 90 всех случаев, когда нужно резюме.

    В остальных случаях, у вас должен быть редактируемый файл (doc, допустим), и которого вы экспортируете в pdf для рассылки. То есть, рассылаете PDF по-умолчанию, если кто-то просит исходник, спрашиваете зачем, если вас ответ устраивает, то отсылаете исходник. При этом, ещё раз, формат исходника должен быть удобен именно вам.
    Ответ написан
  • Устройство на компанию. Дизайнер UI/UX. Что я делаю не так?

    vt4a2h
    @vt4a2h
    Senior software engineer (C++/Qt/boost)
    Возможно у вас просто нет предыдущего опыта работы. Или в каком-нибудь маленьком городе ищете работу. Первую работу вообще всегда тяжело найти, даже и с хорошим портфолио.
    На UX возможно стоит показать проекты, которыми люди реально пользуются. Всё-таки, это довольно сложная сфера, для работы в которой, на западе года по три минимум учатся. Даже направления магистратуры есть.
    Ответ написан
  • Можно ли стать синьором купив один курс по программированию?

    vt4a2h
    @vt4a2h
    Senior software engineer (C++/Qt/boost)
    Разумеется нельзя. Это просто маркетинг.

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

    Чтобы стать старшим программистом (не по названию должности), нужно лет 5-7 усиленно работать над сложными вещами, посвящать свободное время саморазвитию, много читать и программировать. Ну и разумеется развивать социальные навыки.
    Если просто 5-7 лет делать одно и тоже, простое и уже изученное, то дальше начинающего вы не продвинитесь.

    Насколько вам это надо - другой вопрос :)
    Ответ написан
  • IT образование. Выбор ВУЗА: ПМИ (ВШЭ) или Computational Engineering Science (Технический Университет Ахена, Германия)?

    vt4a2h
    @vt4a2h
    Senior software engineer (C++/Qt/boost)
    Выбор, на мой взгляд, очевиден: Технический Университет Ахена. Из плюсов:
    1) Европейское образование (даже по чисто формальным критериям это плюс, безотносительно качества образования)
    2) Язык (английский + немецкий)
    3) Проще будет устроиться на работу и интегрироваться в общество
    4) Покинете Россию относительно легко и на хороших условиях (актуально уже довольно давно, но с недавних пор... в общем, сами понимаете)

    Ну а если что-то по специальности не понравится, на месте сориентируетесь. Курсы другие возьмёте или смените направление (возможно уже на магистерской степени).
    Ответ написан
    Комментировать
  • Платят ли налоги в России сотрудники IT компаний, у которых нет официального российского трудового договора?

    vt4a2h
    @vt4a2h
    Senior software engineer (C++/Qt/boost)
    Кто же знает... Напишите в налоговую, спросите у них :)

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

    Зачем вам даже потенциальные проблемы с законом, когда можно сделать всё легально?

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

    vt4a2h
    @vt4a2h
    Senior software engineer (C++/Qt/boost)
    Да, востребованы. Но только те, кто много инвестировал и инвестирует в самообразование и может решать задачи бизнеса.

    И начинающие нужны. Я там в одном коммент выше ответил при каких условиях.
    Ответ написан
    Комментировать
  • Хакер на Винде? + Как стать хакером?

    vt4a2h
    @vt4a2h
    Senior software engineer (C++/Qt/boost)
    Одну неделю -- это очень и очень мало.

    Изучать линукс -- идея хорошая, причём не так уж и важно какой. Я никогда не пользовался Kali. Скорее всего, это просто какой-нибудь популярный дистр + красивые обои и куча предустановленного софта. Вот только чтобы понимать, как весь этот софт работает, зачем и как его эффективно использовать, нужно обладать обширными знаниями в области сетей, протоколов, операционных систем, баз данных и т.п. Навыки разработки ПО пригодятся, да и знание железок. Социальная инженерия опять же. Некоторые разделы математики...

    Если очень кратко: чтобы что-то "взломать" надо понимать как это работает.

    Придётся много всего понять, в том числе и фундаментального. По каждой теме есть много материала, но тут уже предметно надо искать.

    Это собственно и ответ на ваш основной вопрос. Хакер, изначально означало (да и до сих пор означает) не то, что показывают в сериалах вроде Mr. Robot.
    Ответ написан
    4 комментария
  • Какой ЯП (профессию) выбрать?

    vt4a2h
    @vt4a2h
    Senior software engineer (C++/Qt/boost)
    Сам по себе язык программирования -- дело для программиста вообще десятое, как бы это странно не звучало. Есть куда как более важные вещи в плане знаний, умений и навыков. Так что ЯП вообще можно любой выбирать какой вам нравится.
    Ответ написан
    Комментировать
  • Как написать видео редактор?

    vt4a2h
    @vt4a2h Куратор тега C++
    Senior software engineer (C++/Qt/boost)
    Есть довольно обширный набор инструментов ffmpeg. Советую использовать его, а уж UI делать на чём угодно. В любом случае, желаю удачи, так как видео редактор -- штука сложная.
    Ответ написан
    Комментировать