Мои родители инженеры микроэлектронной техники, мой младший брат ML-разработчик уровня lead, друзья — системные и бизнес-аналитики. А я — гуманитарий. Мне не повезло. С характером, способностями, обстоятельствами, мало ли чем ещё. В какой-то момент я понял, что так больше не может продолжаться и решил в свои тогда ещё 34 года «залететь в ИТ». Выбрал курсы по Python на степике, потому что это самый популярный и довольно простой язык. Вдохновился историями «старокодящих», которые смогли. Почитал новости о диком дефиците программистов в России. И с головой ушёл в обучение.

Что могло пойти не так?

Начало

Мне было очень тяжело. Приходилось гуглить, спрашивать у ChatGPT значения каких-то терминов, искать формулы из математики за 5 класс. Но был энтузиазм и мотивация. Мои знания росли в геометрической прогрессии. Но когда ты стартуешь с нулевого уровня, это не так уж и сложно. Раньше всё это программирование было для меня тёмным лесом, и тут как будто светлячки полетели циклы, функции типа sum и методы типа sort. Я узнал, что такое сериализация, и как Python работает с памятью. Я обсуждал свой код простейшей викторины с братом. Ну, вы знаете, эти разговоры двух программистов. Так я прошёл первый курс — для начинающих. А потом узнал, что он рассчитан на учащихся 7-9 классов. «Старшеклассники могут работать в Яндексе?!» — подумал я.

кладбище мечты
кладбище мечты

Первые трудности

Так в мою душу попали семена сомнений. Попали, но пока не проросли. Я взялся за второй курс, для продвинутых. Он давался уже легче. Хотя матрицы я так особо и не понял. Зато на втором курсе в моей голове уложились вложенные циклы, которые я никак не мог понять. И в целом простейший код из заданий я писал уже довольно бегло. И уже строил планы, предвкушал собеседования в Сбере, Яндексе, Озоне. Как я удивлю всех своими знаниями, навыками и чувством юмора. Да, это и правда было бы удивительно для всех участников процесса.

Проблема курсов

Правда, меня смущало несколько моментов. Первое, несмотря на обилие практических задач, было совершенно непонятно, как именно всё это можно применить в работе. Я сравнивал это всё с фильмом «Парень-каратист» 1984 года, где неопрятного вида сенсей заставлял американского подростка красить свои забор, дом, машину определенными движениями. Потом оказалось, что это была отработка приемов и ударов. Тут то же самое, решил я.

Валерия Мацюк, если ты читаешь это, огромное спасибо!
Валерия Мацюк, если ты читаешь это, огромное спасибо!

Второй, это общение с сокурсниками. Нет, комьюнити было супер. Все всегда готовы были прийти на помощь, что-то подсказать, объяснить, поддержать. А один комментарий вообще помог не бросить учиться в момент, когда я уже был в отчаянии. Меня беспокоило другое: ни у кого не было четкого плана, что делать дальше. Там были и опытные программисты, которые уже работали и проходили курсы, чтобы освежить и систематизировать знания (их комментарии под сложными задачами вроде «в чем проблема, сделал в одну строчку за минуту» очень бесили). Но их опыт точно не релевантен моей ситуации.

Потеря мотивации

Зерно сомнений стало прорастать. Я перешёл на третий курс «для профессионалов». По сути это было повторение и углубление пройденного. Базовый синтаксис языка худо-бедно освоить удалось. Но оказалось, что этого, мягко говоря, недостаточно. Нужны Git и GitHub, нужны технологии, библиотеки и немножко базы данных. И вот тут я приуныл. В общем, классическое: «Чем больше я знаю, тем больше я понимаю, что ничего не знаю».

не так радикально, но очень похоже
не так радикально, но очень похоже

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

Почему у меня не получилось?

Так в чём же была моя ошибка? Конечно, я неправильно оценил задачу: дистанция была стайерская, а я планировал спринт. Но и с этим можно было справиться. Главное — у меня не было реального интереса к ИТ. Одно дело писать про технологии, читать новости, смотреть обзоры. И совсем другое «залазить под капот» и делать что-то самому. Это уже не кажется таким магическим и увлекательным. Я хотел, чтобы слова схантить, удалёнка, ДМС, бонус вошли в мою жизнь. Но оказалось, что быть крутым программистом — это совсем другое.

медовые ожидания разбились о горчайшую реальность
медовые ожидания разбились о горчайшую реальность

Мне с самого начала твердили об этом: «Если нет реального интереса к программированию, быстро выгоришь. Высокая зарплата — слабая мотивация, тем более, что есть и другие способы увеличить доход». Но я не слушал.

Слёзы сожаления

А их нет. Я ни о чём не жалею и сделал бы всё точно так же. Потому что мне действительно понравилось учиться. А ощущение, когда попалась какая-то сложная задачка и твой код наконец заработал, — вообще одно из самых приятных в жизни. Серьёзно.

повешу на стену в своём кабинете, когда у меня появится свой кабинет
повешу на стену в своём кабинете, когда у меня появится свой кабинет

Так что, я надеюсь, ещё вернусь к программированию и всё-таки смогу стать программистов. В конце концов, Герман Греф сказал, что в России не хватает 1 миллиона ИТ-шников. Значит, брать на работу будут всех подряд.

А какой был ваш путь в ИТ? Расскажите в комментариях! Может, кого-то он вдохновит. Все-таки нужно как-то закрывать такой дефицит кадров.

Комментарии (228)


  1. olegl84
    29.07.2024 10:36
    +16

    В IT много разных профессий кроме программиррования. Кроме этого я бы посоветовал бы попробовать другие языки. Я в индустрии более 20 лет, и 30 лет увлекаюсь программиованием, и из всех языков что знаю Python мне нравится меньше всего. Из современных мой любимый C#, но так как сейчас я работаю в web, то тут рулит PHP, особенно с учетом как стремительное развивается Ларавел и проекты вокруг этого фреймворка. Я лично считаю что первый язык программирования должен быть C. Он дает возможность говорить непосредственно с машиной и в этом заключается магия программирования. Вторая магия программирования это когда твой код хорошо структурирован, это как чистаю, убранная, фукнциональная комфортная комната. Python этого лишен из-за своей слишком динамической структуры, которая хорошо работает для людей которые не хотят погружаться в программирование, например ученые из других оюластей, но плохо работает на больших и очень больших проектах.


    1. CrazyElf
      29.07.2024 10:36
      +10

      Python - универсальный язык. Библиотеки на любой вкус, позволяющие "на коленке" слепить работающий код почти для любой предметной области. Очень удобно что-то пробовать на нём, экспериментировать, благодаря тому, что есть интерактивный питон, и особенно Jupyter Notebook. У меня "профессиональный" язык тоже C#, а на Python я люблю экспериментировать, исследовать, делать прототипы. Очень удобный язык, если его правильно использовать.


      1. Newbilius
        29.07.2024 10:36

        А вот просто из любопытства, встречали ситуации, когда какая-нибудь популярная библиотека есть для Python, но не для C#?


        1. aleaksah
          29.07.2024 10:36

          C# очень гибок в плане использования внешних библиотек, ситуация где доступна библиотека для питона, но не для шарпов может случиться только со специфично-питоновыми библиотеками, вроде pyplot или numpy


        1. printf
          29.07.2024 10:36
          +2

          Django :)


          1. SukhovPro
            29.07.2024 10:36
            +1

            Это всетаки фреймворк, а не библиотека.


        1. lair
          29.07.2024 10:36
          +2

          Pandas?


        1. bak
          29.07.2024 10:36
          +1

          Не то что отсутствуют, просто есть сферы где принято все делать на python, и инструменты намного лучше под него заточены (например machine learning, не значит что на c# его нет, но на python его больше и проще).

          Аналогично есть сферы где обычно пишут на c#, например мобильные игрушки (да, есть всяки pygame / kivy / etc. но до unity им как до луны).


        1. asurlot
          29.07.2024 10:36
          +1

          Большинство библиотек для машинного обучения написаны только для Python


        1. GoDFlameTM
          29.07.2024 10:36

          Я твой фанат Дима! ))))


    1. KirpaPuto
      29.07.2024 10:36
      +24

      Я лично считаю что первый язык программирования должен быть C

      У человека нет интереса к программированию. Ну вот нет и всё.


      1. CrazyElf
        29.07.2024 10:36
        +13

        И вот чем можно пробудить этот интерес, если учить программировать на C? А вот на Python можно по-быстрому нарисовать красивые графики. Написать телеграмм-бота. Предсказать погоду там я не знаю. Буквально в несколько строк кода.


        1. rpc1
          29.07.2024 10:36
          +7

          Мне наоборот C очень нравился, можно было любые низкоуровневые штуки делать, работать напрямую с оборудованием, драйверами, библиотеками. Но С более user friendly чем тот же ассемблер.


          1. CrazyElf
            29.07.2024 10:36

            Ну, когда-то давно я тоже начинал с Asm и C. На Asm я вообще что-то графическое даже рисовал. Но тогда и не было ничего более высокоуровнего удобного. Сейчас нет смысла на это время тратить, Asm я забыл и не вспоминаю, он остался именно что нишево для работы с определённым оборудованием и т.п. Этим не всякого можно заинтересовать )


          1. Sequoza
            29.07.2024 10:36
            +7

            Мне наоборот C очень нравился, можно было любые низкоуровневые штуки делать, работать напрямую с оборудованием, драйверами, библиотеками

            Ага. Классный совет (нет). Перед тем, как писать низкоуровневые вещи нужно разобраться что вообще происходит и как оно работает, что займет уйму времени и гарантировано убьет мотивацию. А она, как мне кажется, вообще самая важная вещь в учебе.


            1. rpc1
              29.07.2024 10:36
              +1

              Контекст конечно другой, когда я взялся за C (еще в школе), мне было интересно и соответственно мотивация совсем другая. В 35 лет, я бы сам не стал разбираться с ним :)


          1. UFO_01
            29.07.2024 10:36
            +4

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


            1. killyself
              29.07.2024 10:36
              +1

              Это и правильно. Одно дело когда в крови интерес к проге, и особенно к железу - другое когда его нет. Я вот хотя и интересовался прогой с подросткового возраста, ся и паскаль недолюбливал как раз из-за их низкоуровневости (хотя еще и не зная такого понятия) , а вот джава потом зашла на ура с концепциями ооп


        1. Rsa97
          29.07.2024 10:36
          +4

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


          1. CrazyElf
            29.07.2024 10:36
            +1

            Ну, это в общем вопрос диалектический - как заинтересовать человека чем-то развлекательным, но в то же время и обучить чему-то серьёзному. Мне в своё время очень нравился Basic на Yamaha MSX/2, на нём были спрайты и можно было игрушки прям писать. Это было очень увлекательно. И гораздо интереснее, чем просто так какие-то числа считать. )


      1. kdbot
        29.07.2024 10:36

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


    1. atues
      29.07.2024 10:36

      Я лично считаю что первый язык программирования должен быть C

      Точно! А на географии рассказывать, что земля покоится на трех слонах, стоящих на черепахе. И на физике рассказывать, что Земля - центр мира, а Солнце, планеты и звезды вращаются вокруг нее.
      Вряд ли C зайдет абсолютному новичку. Он просто не поймет ценности и значения этого языка. Для него - это набор заумных идей, которые невесть откуда взялись и не пойми как их использовать. Исключения случаются, наверное. Но для большинства - это путь в тупик


      1. Octabun
        29.07.2024 10:36

        Как-то не убеждает. Sdl. WebAssembly или Wt. Unreal Engine или Godot. NDK. Модули Python, в конце концов.

        Какой же это тупик? Можно прекрасно и самому учиться и других учить. Я и сам могу придумать много возражений, но они сводятся к двум - С без С++ как-то не очень и у C/C++ отвратительный тулинг. Хороште курсы снимают обе проблемы, и неторопливость в обучении тоже снимает обе проблемы.

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

        Если бы у меня был прилив лихости, я бы тоже мог сказать

        Я лично считаю что первый язык программирования должен быть Julia

        ибо какое-то время и эту позицию можно защищать, а от того что Julia ведёт в тупик - скорее всего и защитить.


    1. Gadd
      29.07.2024 10:36
      +5

      Я лично считаю что первый язык программирования должен быть C

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


      1. AlexMih
        29.07.2024 10:36
        +3

        Это подход Ричарда Фейнмана. Иногда его спрашивали: "А вы понимаете, что ваш курс "Фейнмановские лекции" могут полностью понять от силы пять процентов студентов?"

        "Да", говорил он. "Их я беру к себе в лабораторию. А остальные меня не интересуют".


        1. Zenitchik
          29.07.2024 10:36
          +1

          А я "Фейнмановские лекции" открыл и закрыл, потому что стиль изложения "для тупых". У нас только один препод в таком стиле читал, и его предметы все студенты называли "Сказками фамилия_препода".


    1. AngryPinguin
      29.07.2024 10:36
      +9

      Ну, давайте разбирать.

       Я лично считаю что первый язык программирования должен быть C

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

      И теперь я расскажу почему.

      1. Потому что для новичков - нифига не понятно. Никакой "магии общения с машиной". У тебя то компилируется, то не компилируется, если скомпилировалось - упадет, но почему - да хрен знает, сиди printf-дебагингом занимайся

      2. Туллчейн, в котором у тебя во время сборки сообщения вида %TEMP__sdx__0x10000FUCK_YOU_x42 NOT IMPL LYNC NOT FOUND% а ты сиди-кури

      3. 100500 способов прострелить себе ногу, и даже не заметить этого

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

      5. Наимерзотнейший стандарт

      6. UВ на UB и UB погоняет, живи с этим как хочешь

      7. STL(да это плюсы, но все равно), которую писали так, будто ненавидят всех кто будет ей пользоваться

      И, вот при всех таких вводных - Java, питон, шарп, да любой язык более-менее современный, который взял, и просто именно что учишься. Делаешь свой 100500 туду лист, 100500 компилятор, 100500 веб сервер, базу данных, да что угодно, и занимаешься РАЗРАБОТКОЙ, а не танцами с бубном вокруг вот этой всей фигни.

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


      1. Sunny-s
        29.07.2024 10:36

        с arduino/platformio в наш мир вошла очень юзер-френдли среда разработки на сях, с удобным подключением библиотек и громадным комьюнити, которое эти библиотеки пишет. Тем более что программирование микроконтроллеров это в принципе более осязаемая штука - пара строчек - и вот уже серва вращается, повинуясь твоему разуму, ну не здорово ли? ))


      1. printf
        29.07.2024 10:36
        +1

        Всё перечисленное это достоинства.

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


        1. MountainGoat
          29.07.2024 10:36

          Кроме случаев когда, как в каком нибудь фентези, обучение переживает один из пяти.


          1. printf
            29.07.2024 10:36

            Один из пяти на выборке из трудоспособного населения это очень много. Мне кажется, обучение электродуговой сварке успешно закончит один из пяти. :) Разработка ПО немного сложнее.

            Это характеристика профессии. Вы бы не хотели на прием к зубному, который сдавал практику на куклах Барби, т.к. на человеках ему сложненько.


            1. Sequoza
              29.07.2024 10:36
              +1

              Это характеристика профессии

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

              Вы бы не хотели на прием к зубному, который сдавал практику на куклах Барби, т.к. на человеках ему сложненько.

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

              Утром неофит начнет писать Hello world на C, а вечер может закончить чтением структуры elf файлов. И каждый раз, когда у него будет что-то не получаться, он будет нырять в эту бесконечную кроличью нору, не сулящую ничего, кроме потерянного времени и разрушенной самооценки.

              Лучшая стратегия, имхо, начинать с простого и решать по одной проблеме за раз. Когда не будет хватать питона/JS/java, тогда можно взглянуть на что-то более сложное.


              1. printf
                29.07.2024 10:36

                эту бесконечную кроличью нору, не сулящую ничего, кроме потерянного времени и разрушенной самооценки

                Разрушение самооценки это прекрасно. Нам всем пошло бы на пользу чуть меньше самооценки, на мой взгляд. Особенно тем из нас, кто с трудом пишет хелловорлд на Си — на этом этапе немного комично обладать высоким самомнением (применимо к предметной области).

                Считать ли учебу потерянным временем? Конечно считать, тут спорить не буду. :)

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


                1. orenty7
                  29.07.2024 10:36
                  +1

                  Когда не будет хватать питона, как жертва вашей методологии «начинать с простого» должна это понять-то.

                  Не понимаю как это можно не понять. На собственном примере: было интересно как всё внутри работает, быстро понял, что без си никак. Открыл K&R, пошёл читать


                1. Sequoza
                  29.07.2024 10:36
                  +1

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

                  Есть разница между "чуть меньше" и "почему я такой тупой не и могу это освоить". С теми, кто начинает свой путь с C/C++ второе случается чаще.

                  Считать ли учебу потерянным временем? Конечно считать, тут спорить не буду. :)

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

                  Когда не будет хватать питона, как жертва вашей методологии «начинать с простого» должна это понять-то

                  Также как, как это делают 90% программистов - гуглят или спрашивают нейронки.

                  Человеку не придет внезапно в голову мысль про арифметику указателей, если он не знает что это.

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

                  Когда-то я увидел вот этот xkcd:

                  How to learn с++ in 21 Days

                  и задался вопросом, да ладно? Теперь я проклинаю тот день.


            1. Zenitchik
              29.07.2024 10:36

              Мне кажется, обучение электродуговой сварке успешно закончит один из пяти

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


        1. orenty7
          29.07.2024 10:36
          +1

          Не обязательно ведь ограничиваться питоном. Мне в своё время его простота помогла быстро понять базовые концепции и перейти к более продвинутым языкам.


        1. ruslan_sverchkov
          29.07.2024 10:36
          +1

          можно развить эту мысль и заставлять новичков писать бинарники руками, ассемблер и прочие высокоуровневые тулы это для слабаков, тяжело в учении — легко в бою)


          1. printf
            29.07.2024 10:36
            +1

            Великорусский родной язык дан нам не для такого уровня аргументации, я уверен.


      1. Yura_PST
        29.07.2024 10:36
        +2

        Какой то странный разбор.

        С - простой язык, содержит исключетельной простейшие конструкции: циклы, условия, функции. Даже арифметика указателей не сильно сложная тема.

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

        Где тут в обучающих примерах можно найти хоть намек на UB не понятно. И STL в С тоже нету.


        1. MountainGoat
          29.07.2024 10:36
          +3

          Проблемы с С начинаются после того, как ученик написал свой первый цикл и захотел сделать хоть что-то хоть условно полезное. Он гуглит "как на С прочитать текст из DOC файла и как послать HTTP запрос" а там такое... Во первых, инструментария для работы с библиотеками нет, всё руками. Во вторых, эргономика у этих библиотек: там везде void* указатели, тут везде указатели на функции, кто в лес кто по дрова...

          Большинству новичков С придётся быстро бросить - так зачем было начинать вообще?


          1. Yura_PST
            29.07.2024 10:36

            Базовые принципы программирования, синтаксис, на основе которого основано огромное количество языков.


            1. Zenitchik
              29.07.2024 10:36

              Базовые принципы и синтаксис можно изучить вместе с любым из пресловутого "огромного количества языков". Ни к чему использовать для этого Си.


    1. GBR-613
      29.07.2024 10:36
      +2

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

      Если бы я открыл курсы, то в 1 семестре я бы учил основы Питона, а параллельно - основы архитектуры, двоичную логику и т.д., на втором - С, и параллельно функциональное и ООП па примере того же Питона.


      1. Sunny-s
        29.07.2024 10:36
        +1

        функциональное тогда уж на скале какой нибудь ) питон как то не очень


        1. wert_lex
          29.07.2024 10:36
          +1

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


        1. GBR-613
          29.07.2024 10:36
          +1

          Не надо издеваться над новичками. И не надо слишком много языков сразу. Python c его map(), filter() и т.д. достаточен для того, чтобы понять, что это за зверь такой: функциональное программирование. Все остальное пусть осваивает потом, если понадобится (а абсолютному большинству не понадобится).


          1. orenty7
            29.07.2024 10:36

            del


    1. kuza2000
      29.07.2024 10:36
      +3

      Я лично считаю что первый язык программирования должен быть C

      Не соглашусь. Си хорош вторым языком, после ассемблера :)

      Ну, по крайней мере, у меня было так :)))


      1. ZhetoN
        29.07.2024 10:36
        +1

        нулевой забыли упомянуть, начинать нужно с машинных инструкций для PDP-11 в восьмеричном представлении )


        1. fen-sei
          29.07.2024 10:36

          Тогда уж, сначала с паяльником создать свой тёплый ламповый компьютер, и программировать его переключая тумблеры. ^__^


          1. ZhetoN
            29.07.2024 10:36
            +1

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


          1. satmaelstorm
            29.07.2024 10:36

            Эк сразу. Начинать надо с машины Тьюринга :-)


            1. fen-sei
              29.07.2024 10:36


    1. DnvMaster
      29.07.2024 10:36

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


  1. Lazhu
    29.07.2024 10:36
    +2

    Выбрал курсы по Python на степике, потому что это самый популярный и довольно простой язык

    Вот и разгадка потери мотивации. Надо было С /s


    1. CrazyElf
      29.07.2024 10:36
      +1

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


      1. Lazhu
        29.07.2024 10:36

        Нене. Только Кнут, только хардкор. Ассемблер тоже неплох


        1. CrazyElf
          29.07.2024 10:36
          +1

          Но зачем? Чтобы как с учёбой в ВУЗ-е: после учёбы потом всё забыть и никогда не вспоминать?


          1. onets
            29.07.2024 10:36

            Это все был сарказм. Там тег стоит.

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

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


            1. NeverWalkAloner
              29.07.2024 10:36
              +2

              В Python кстати строгая динамическая типизация. При попытке сложить строку и число python выкинет TypeError: unsupported operand type(s) for +: 'int' and 'str'.


            1. Neusser
              29.07.2024 10:36

              А какой язык позволить сложить число и строку, а не выдаст ошибку?


              1. Rsa97
                29.07.2024 10:36
                +2

                Любой язык с неявным приведением типов. Просто результат может быть разный.
                JS:

                1 + '1' // '11'
                

                PHP:

                echo 1 + '1'; // 2
                


                1. Neusser
                  29.07.2024 10:36

                  Ой блин, надо же.


                  1. Sequoza
                    29.07.2024 10:36
                    +1

                    Да ладно... Как вы можете столько лет тут обитать и не знать такого

                    JS


                    1. Rsa97
                      29.07.2024 10:36
                      +5

                      Справедливости ради, 0.1 + 0.2 == 0.3 // false будет в большинстве языков. Это базовая проблема точности представления чисел , а не специфическая проблема JS.


                    1. Neusser
                      29.07.2024 10:36

                      Про яваскрипт я знал, что он со странностями, в том числе и в смысле сложения чисел как строк в некоторых случаях. Но не знал, когда именно проявляется.


              1. AngryPinguin
                29.07.2024 10:36

                СИ.

                int main() {
                auto str = "Hello world";
                printf("%s\n", str);
                str = str + 5;
                printf("%s\n", str);
                return 0;
                }

                Да, варнинги посыпятся, но соберется и запустится. Весело. Да?


                1. kuzzdra
                  29.07.2024 10:36

                  В сях нет строк ;) И не уверен насчет auto.


                  1. eptr
                    29.07.2024 10:36

                    В сях нет строк ;)

                    Зато там есть строковые литералы, причём, с самого начала.

                    И не уверен насчет auto.

                    Ознакомьтесь со стандартом C23, а также с работающим примером.


                1. eptr
                  29.07.2024 10:36

                  Да, варнинги посыпятся

                  Почему-то не наблюдаю оных.


            1. CrazyElf
              29.07.2024 10:36
              +1

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


              1. PowerMetall
                29.07.2024 10:36

                Вот если наоборот к числу попытаться прибавить строку, то это уже будет проблема

                Нууу, не такая уж и проблема, в некоторых случаях )))))

                int a = 11;
                string b = "22";
                var c = a + int.Parse(b);

                (Да, я понимаю что случай надуман, но месье таки знает толк в извращениях )))


                1. CrazyElf
                  29.07.2024 10:36

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


              1. onets
                29.07.2024 10:36

                Две переменных - int и string, если между ними поставить + то компилятор выдаст ошибку. В любом(?) языке с динамической типизацией - все запуститься. И в лучшем случае выдаст ошибку в рантайме, или как js будет рандомно выдавать результат.


                1. Rsa97
                  29.07.2024 10:36
                  +1

                  или как js будет рандомно выдавать результат

                  Ни в коем случае не рандомно. Поведение JS, в частности какие типы как приводятся при различных операциях, описано в стандарте.


    1. onets
      29.07.2024 10:36

      Никто не заметил что это был сарказм?


      1. Zenitchik
        29.07.2024 10:36
        +2

        Не все в теме, что сарказм так сокращается.


        1. onets
          29.07.2024 10:36

          Я тоже не сразу понял. Кнут и ассемблер посеяли сомнения. И я по новому взглянул на /s


  1. SUNsung
    29.07.2024 10:36

    Змеиный это один из худших языков для начинающих.
    Он простой, но он не язык программирования, а сценарный язык (!!!)

    Его просто изучить когда ты же знаешь какой-то другой язык высокого уровня
    И то все эти отступы и прочие "фишки" синтаксиса (и компилятора) не для всех

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

    Хотите вкатиться и при этом без коленных пулеметов как в си - Go, Lua и прочие языки с упрощенным синтаксисом. С которых специально убрали все лишнее.
    Go в этом плане вообще идеален. Вы сразу будете знакомиться с типами, памятью и тд.


    1. maksimtor
      29.07.2024 10:36
      +1

      Сценарные языки тоже являются языками программирования. И в чем проблема начинать с них обучение?


    1. PrizraK911
      29.07.2024 10:36

      Фортран если знаешь, пойдет?


  1. vovabush
    29.07.2024 10:36
    +57

    Не хочу обидеть автора, но, думаю, камень преткновения был в этом:

    Мои знания росли в геометрической прогрессии. Но когда ты стартуешь с нулевого уровня...


    1. icya
      29.07.2024 10:36
      +16

      Скорее поэтому:

      Мои родители инженеры микроэлектронной техники, мой младший брат ML-разработчик уровня lead, друзья — системные и бизнес-аналитики. А я — гуманитарий. [...] В какой-то момент я понял, что так больше не может продолжаться и решил в свои тогда ещё 34 года «залететь в ИТ». 

      Все побежали


      1. PanDubls
        29.07.2024 10:36

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


  1. Spiritschaser
    29.07.2024 10:36
    +2

    искать формулы из математики за 5 класс

    Дык.


    1. LifeKILLED
      29.07.2024 10:36
      +1

      Реально, нафига формулы гуглить. Надо гуглить библиотеку и функцию, которая все это делает сама


      1. PowerMetall
        29.07.2024 10:36
        +2

        нафига формулы гуглить. Надо гуглить библиотеку и функцию, которая все это делает сама

        Да не, нафига это надо. Надо задать вопрос на staсkоverflоw, и ждать когда дадут готовый код!
        В нынешних реалиях можно и в ChatGPT написать заодно ))
        Сарказм, если что.

        А автору совет - не сдаваться. Отдохни, что называется, перевари всё, и с новыми силами с головой в борьбу. Оно получится, вот увидишь. Тем более есть брат - сеньор разработчик, есть родители - микроэлектронщики, есть друзья - системные аналитики. Да с такими вводными можно хоть в 55 лет начинать.
        Лишь бы - и это самое главное - это нравилось. Без этого, увы, прости


        1. Neusser
          29.07.2024 10:36

          В нынешних реалиях можно и в ChatGPT написать заодно ))

          А потом все равно на стэковерфлой со словами: "я попросил чатгпт написать код, но код не работает. Помогите починить!"


  1. denmaloyreb
    29.07.2024 10:36
    +2

    А почему бы на зайти в IT не через программирование? Я перешел из IT-копирайтинга в техписательство. Сейчас уже есть скилы DocOps , заканчиваю курс системного анализа, приобрел еще массу полезных смежных скиллов. В общем, неплохо прокачался за 3 года в техписательстве и чувствую себя уверенно (в т.ч. и по ЗП).
    Правда за время работы IT-копирайтером я успел еще вторую вышку получить и стать инженером-программистом (с кем поведешься, от того и наберешься, как говорится). Так что не совсем с нуля заходил :)


  1. Lord_Alzov
    29.07.2024 10:36
    +25

    В конце концов, Герман Греф сказал, что в России не хватает 1 миллиона ИТ-шников. Значит, брать на работу будут всех подряд.

    Всех подряд брать не будут. Сейчас на вакансию ДЖУНА до 10000 откликов. Реально хантят сеньеров и выше. Мидл крепкий тоже думаю найдет быстро.

    Мои родители инженеры микроэлектронной техники, мой младший брат ML-разработчик уровня lead, друзья — системные и бизнес-аналитики. А я — гуманитарий.

    Не существует гуманитариев и технарей, есть тупые и ленивые люди, которые оправдывают отсутствие базовых знаний из школьного курса, тем что они не такие. Любой человек может освоить что угодно. Изначально ты в туалет ходить не умел, научился же? Просто кто-то с детства увлекается одним, кто-то другим, но в целом учебой увлекается малое количество людей, обычно людей можно отнести не к технарь или гуманитарий, а к категории ''ИДИОТ'', человек который не разбирается и не хочет разбираться ни в чем. даже как розетку поменять или как собрать компьютер( навыки уровня школьника).

    Мне с самого начала твердили об этом: «Если нет реального интереса к программированию, быстро выгоришь. Высокая зарплата — слабая мотивация, тем более, что есть и другие способы увеличить доход». Но я не слушал.

    Других способов увеличить доход, если ты не Москвич и не собрался в криминал нет. На данный момент доходы крепкого ИТшника превышают доходы малого бизнеса. Плюс ответвтеснность ниже и нет страха что все развалится и в твой магазин одежду/обуви/или на твою страничку маркетплейса никто не придет. Развалилась компания? Ушел в другую. В том числе в других странах. Плюс большинство кодеров реально работают пару часов в день. Не потому, что ленивые, а потому что успевают сделать, то, что от них требуется.

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

    Потому, что ты занимался какой-то ерундой, нужно не сортировки изучать и алгоритмы, а начинать как раз таки с практики. Если бы ты изучал Fast API или Django вместе с ORM хотя бы уже был бы толк, с первого дня ты бы знал, что это и как можно применить. Вместо этого ты начал заниматься алгоритмами и прочим бредом, чем отбил желание вообще что-то делать. Большинство программистов на питоне и других языках, вообще в своей работе не используют алгоритмы.


    1. edogs
      29.07.2024 10:36
      +7

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

      Дада, все люди равны, вся разница в том что кому-то не дали образование и не тем увлекли, поэтому это дискриминация и вот это всё. Осталось только спросить "have you tried confidence?"
      Не-а. Есть разница и между мужчинами и женщинами, есть корреляция и между расами и интеллектом, есть отличия между гуманитариями и технарями и так далее.
      Да, в туалет правильно научиться можно ходить, но для кого-то это будет высшим достижением в ИТ фирме и добьется он этого через 20 лет упорного труда, а кто-то за год вырастет до сеньора и ему это ничего не будет стоить.
      Есть такая задачка из психологии - двухсторонняя бумажка на каждой из сторон написано "переверни меня", так вот - иногда надо вовремя понять что дальнейшие усилия в какой-то области бессмысленны. Упорное долбление в ИТ с мыслью "любой может что угодно" если не лежит к этому ни сердце ни мозг - это именно тупое переворачивание этой бумажки с надеждой на какой-то позитивный результат. И нет, это не лягушка в молоке.


      1. lair
        29.07.2024 10:36
        +3

        есть отличия между гуманитариями и технарями

        Отличия, несомненно, есть. Но вот мешают ли они заниматься ИТ - это интересный вопрос.


        1. Ravius
          29.07.2024 10:36
          +4

          Заниматься ИТ

          Может вы хотели сказать программировать? Или это такая ловушка? И вы скажете, что дизайнеры тоже в ИТ.

          Так вот, если вопрос "мешают ли отличия заниматься программированием" - да мешают.

          Но если нет цели быть в топ5% специалистов и устраивает "средний" уровень - то можно попробовать.


          1. lair
            29.07.2024 10:36
            +2

            Может вы хотели сказать программировать?

            Нет, я хотел сказать "заниматься ИТ, в том числе программировать".

            Так вот, если вопрос "мешают ли отличия заниматься программированием" - да мешают.

            Что же это за отличия, и как именно они мешают?

            Но если нет цели быть в топ5% специалистов

            Ну, у меня вот никогда не было цели быть в "топ 5% специалистов" (по какому признаку, кстати? и среди каких специалистов?). Вот попасть в верхний дециль оплаты в провинции в рамках своей профессии по коду - это да, (сейчас) есть. Но вроде бы справляюсь без особых проблем.


            1. qwerty228327
              29.07.2024 10:36

              Ленивый тридвараз.


      1. Lord_Alzov
        29.07.2024 10:36

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


        1. fen-sei
          29.07.2024 10:36
          +1

          рядовым сеньером писать код за 500к рублей это посильно любому

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


          1. Lord_Alzov
            29.07.2024 10:36

            Курсам на музыканта 100 лет, но я не вижу, что бы хотя бы 1% любых слушавших курсы смогли стать исполнителями. У вас ошибки в логике.


            1. fen-sei
              29.07.2024 10:36
              +1

              "рядовым сеньером писать код за 500к рублей это посильно любому" - ваше утверждение, не моё. Я не утверждал "рядовым музыкантом-виртуозом - это посильно любому".


            1. edogs
              29.07.2024 10:36

              Это не ошибка в логике, это правильная логика в обратном направлении. Так же как гуманитарию технарем быть сложно, так и технарю гуманитарием быть сложно.

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

              Прямо как из рекламы курсов. Сеньор за 500к пишет себе crud не зная математики. То что Вы описали и на стажера-то не тянет:)



              1. lair
                29.07.2024 10:36

                Так же как гуманитарию технарем быть сложно, так и технарю гуманитарием быть сложно.

                Какими конкретно определениями слов "гуманитарий" и "технарь" вы пользуетесь, когда делаете это утверждение?


                1. edogs
                  29.07.2024 10:36

                  Канонические сейчас не вспомним, но вот навскидку дающее представление https://en.tierient.com/humanitarian-and-technical-mentality/ и https://en.psychicslog.com/10609269-humanitarians-and-technicians-and-ndash-what-is-the-difference-in-thinking


                  1. lair
                    29.07.2024 10:36

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

                    (Не говоря о том, что это вообще не определения, а какие-то непонятные статьи)


                    1. Zenitchik
                      29.07.2024 10:36

                      Мне вообще кажется, что деление наук на точные/естественные/технические/гуманитарные - непродуктивно.

                      Мне больше нравится схема абстрактные/естественные/общественные. Причём, каждая конкретная наука (кроме предельных случаев, типа математики) не относится к одному классу, а является их взвешенной суммой.


                  1. lair
                    29.07.2024 10:36

                    https://en.psychicslog.com/10609269-humanitarians-and-technicians-and-ndash-what-is-the-difference-in-thinking

                    One person can write good prose, poetry, draw beautifully, but to understand the structure of even a relatively simple device is a difficult task for him. And the other, with all the desire, does not rhyme a couple of lines, but with the technique "on you". This is understandable and natural, because one of them is a “humanist”, and the other is a “techie”.

                    Вам вот не бросается в глаза, что это калькированный перевод с русского?

                    Легко находится как минимум один русский источник:

                    https://www.kakprosto.ru/kak-898888-gumanitarii-i-tehnari---v-chem-raznica-myshleniya?ysclid=lz8nvvjdd9540684403

                    Один человек может писать хорошую прозу, стихи, красиво рисовать, но разобраться в устройстве даже сравнительно простого прибора для него – тяжелая задача. А другой при всем желании не срифмует пары строчек, зато с техникой «на ты». Это понятно и естественно, ведь один из них – «гуманитарий», а другой – «технарь».

                    ...и этот текст (русскоязычный) тоже не дает никаких определений, и не ссылается ни на какие источники, где эти определения бы были.


        1. Zenitchik
          29.07.2024 10:36

          Вы сильно недооцениваете степень необучаемости шир.нар.масс.

          Многим (но не всем) посильно стать рядовой обезьяной и писать код за 100к. На счёт больше - уже нужны данные.


      1. Aizz
        29.07.2024 10:36

        Мне кажется, конкретно в этой ветке (да и люди в целом), слишком привязались к идее "Войти в айти" = "Научиться программировать". И это я даже говорю не о дизайнерах. Есть куча задач, чисто айтишных, в которых требуются навыки гуманитария. Я, конечно, тоже не люблю клишированное "гуманитарии и технари", но тут речь скорее о софт-скиллз/хард-скиллз. К примеру, хороший айтишный менеджер продукта не должен разбираться в управлении памятью в питоне или знать правильный синтаксис SELECT'ов. Но он должен понимать объяснения специалистов о проблемах с памятью в его продукте или объемах выборки в BI-кубах по его данным.

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


    1. Dolios
      29.07.2024 10:36
      +1

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

      Это сказки. В регионах на лексусах ездят и квартиры х2..х3 к рынку покупают совсем не айтишники. И далеко не все они криминал, даже не половина. В ИТ в РФ очень быстро упираешься в потолок в несколько тысяч долларов, а это совсем не много.

      А что касается Москвы, так там просто хорошая, не илитная трёшка не на выселках в человейнике ~30 миллионов рублей стоит. Никакой среднестатистический айтишник такого себе позволить не может, особенно с безумной ключевой ставной. И живут там не айтишники, преимущественно.

      Доходы в ИТ не сильно высокие. Просто нищему часто кажется, что бедный в роскоши купается. Это не попытка кого-то оскорбить, это горькая констатация факта. Минфин вон недавно заявил, что встарые $2к дохода в месяц имеют аж 3% населения. Это катастрофа. У меня волосы в самых нескромных местах шевелятся, когда я такое читаю. Страну с богатейшим потенциалом и невероятным количеством ресурсов вогнали в махровую нищету :(


      1. fen-sei
        29.07.2024 10:36
        +1

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

        Большая часть ITшников - совсем не сеньоры и не тимлиды, и потому получают существенно меньше.


        1. Dolios
          29.07.2024 10:36

          Я лид, я не могу себе такую квартиру позволить.


          1. Zenitchik
            29.07.2024 10:36

            Я мидл (вечный), и я вообще Х.З., кто те люди, которые могут их себе позволить, и откуда таких людей столько.


    1. binary_wizardry
      29.07.2024 10:36

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


    1. MayBeTomorrow
      29.07.2024 10:36

      Может в яндекс пойти, натеребонькал алгоритмов и вперед.


    1. dinabr
      29.07.2024 10:36

      Потому, что ты занимался какой-то ерундой, нужно не сортировки изучать и алгоритмы, а начинать как раз таки с практики. Если бы ты изучал Fast API или Django вместе с ORM хотя бы уже был бы толк, с первого дня ты бы знал, что это и как можно применить. Вместо этого ты начал заниматься алгоритмами и прочим бредом, чем отбил желание вообще что-то делать. Большинство программистов на питоне и других языках, вообще в своей работе не используют алгоритмы

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


    1. hrenhren
      29.07.2024 10:36

      Не нужно звать в айтишку всех подряд, там нет больших зарплат, средняя 150к это значит, что человек без горящих глаз будет получать меньше. Зовя всех редакторов и прочих людей кому нужны только деньги и ДМС вы увеличиваете предложение. В айти нет дефицита кадров, есть дефицит дешевых кадров. Айтишники инфантилы и свои профсоюзы организовывать не хотят. Они думают что все миллионы атишников и сотни тысяч выпускников курсов дорастут до сеньеров 500к наносек. Но реальность такова что ЗП айтишников сравнялась с зп курьеров, а у джунов ЗП меньше чем у водителей автобусов.


  1. parmatosser
    29.07.2024 10:36
    +5

    >искать формулы из математики за 5 класс

    Какой-то буллщит, может другого работодателя поискать с реальными проектами? Ну там, данные обрабатывать, жсонами пиу-пиу делать? Мне за 10 лет ни разу не понадобилось ничего такого. Начинал тоже в 35. Большинство "программистов" сейчас крудошлёпят и учат фреймворки.

    Ну и напоследок, питон это пакость, я б тоже ИТ невзлюбил, если б по 8 часов в день на нем прогал. Про C# / java выше правильно написали.


    1. CrazyElf
      29.07.2024 10:36
      +2

      Да что ж такое. Я вот люблю C# и Python, а Java ненавижу. И не думаю, что "гуманитарию" Java хорошо бы зашла.


      1. PowerMetall
        29.07.2024 10:36
        +4

         Я вот люблю C# 

        а Java ненавижу

        Но... Как же так... )))

        У него просто нет LINQ )))


        1. freeg0r
          29.07.2024 10:36

          Работал на ObjC и Swift, потом в компании мобайл проект перевели за океан, предложили Java. Сначала было диковато после современного синтакса Swift, но со временем понял, что Java, это не только геттеры и сеттеры сам язык, но и огромная окружающая инфраструктура, в большинстве прекрасно стандартизированная, как и сам язык, академичный подход в решениях, куча профильных просвятительных ресурсов. Плюс строгое типизирование. Сейчас в основном на Pythone пишу, ноутбуки в Databricks, или лямбды. Тоже норм. :)


        1. parmatosser
          29.07.2024 10:36

          Я начинал с c#, ушёл в java и ни разу не жалел. Микрософт - говно. И их потуги в поппенсорс и linux тоже.


    1. Revolt-or-die
      29.07.2024 10:36

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


    1. wows15
      29.07.2024 10:36
      +1

      Я прогаю по 8 часов в день на питоне на протяжении более 3 лет. Интерес к айти все 3 года больше чем у вас и продолжает расти.


  1. MaxRyazan
    29.07.2024 10:36
    +4

    https://habr.com/ru/articles/768926/

    Зашел в 36. Главное, чтобы был интерес именно к этой сфере


  1. spirit1984
    29.07.2024 10:36
    +1

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


  1. morokk
    29.07.2024 10:36
    +2

    Извините за вопрос не по теме, но как иметь две работы и еще успевать учиться?


    1. Thomas_Hanniball
      29.07.2024 10:36
      +11

      Никак. Что автор и доказал на своём примере.

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


      1. fen-sei
        29.07.2024 10:36
        +3

        Потому лучше всего учиться будучи студентом = имея время на обучение.


      1. qwerty228327
        29.07.2024 10:36

        Школьник квася готовый работать за еду.


  1. aleks-th
    29.07.2024 10:36
    +13

    Скажем так, многие хотят, чаще потому что видят зарплаты в 5 раз выше чем у условного продавца супермаркета или рабочего на сборке заказов. Или хотят потому что это престижно. Это перспективно и модно наконец.

    А фигли давиш клавиши в тепле получаеш больше чем рабочий на холоде.

    А потом сталкиваются с тем что это не так просто как кажется, и именно период обучения часть не правильно оценивают.

    Скажем если ничем иным не заниматся то нужно на обучение год - два по 4 часа в день минимум закладывать для приемлемого результата. И потом еще пару лет зарабатывать меньше чем ты зарабатываеш сейчас если ты не студент конечно с первой работой.

    Запомнить и гуглить недостаточно, нужно на уровне автоматизма понимать, и давать результат.

    Пока там мозг отрастит связи между нейронами пройдет много времени по моим оценкам год-два точно нужно.

    И вот как раз эта пропасть по времени( а среднестатическому человеку в это время еще и на еду зарабатывать нужно) и служит водоразделом, тренировался бы этот навык за пару месяцев, сейчас бы труд ИТ-шника стоил как труд продавца в пятерке 50-60к и никаких перспекив.


  1. ajijiadduh
    29.07.2024 10:36
    +2

    Мне было очень тяжело.

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

    ???


    1. vedenin1980
      29.07.2024 10:36
      +3

      Эффект низкой базы, же. Условно, если у Васи есть стадо на тысячу коров, а у Пети одна корова, то если Петя купит еще одну корову - его рост будет 100%, если еще 2 - 300%, еще 4 - 700% (та самая, геометрическая прогрессия).

      А если Вася купит 50 коров, то его рост будет жалкие 5%. Хотя по итогу у Пети - 8 коров, а у Васи - 1050.


      1. sasha_semen
        29.07.2024 10:36

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


        1. vedenin1980
          29.07.2024 10:36

          Я сказал, сначала +1, потом +2, потом +4. Это именно геометрическая прогрессия.

          Но вполне очевидно, что за относительно небольшое количество удвоений стадо будет достаточно большим, чтобы эффект низкой базы прекратил действовать.


          1. sasha_semen
            29.07.2024 10:36

            Немножко занудствую, извините. Но геометрическая всё-таки *2, *2, *2.


  1. xSVPx
    29.07.2024 10:36
    +15

    Чего ты как гуманитарий огорчаешься-то ?

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

    Это они пусть завидуют. Тому, что ты умеешь "как гуманитарий" даже на уровне "джуна" гораздо труднее, а подчас и невозможно научиться, чем "войти в айти".


    1. lair
      29.07.2024 10:36
      +1

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

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

      Интересно, откуда у вас такие представления о гуманитариях?


      1. Refridgerator
        29.07.2024 10:36

        А как вы узнали, что вы - гуманитарий?


        1. lair
          29.07.2024 10:36
          +1

          Ну, у меня все детство и юность были подозрения, но потом мне выдали диплом, и тут уже сомневаться стало бесполезно.


          1. Refridgerator
            29.07.2024 10:36
            +2

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


            1. lair
              29.07.2024 10:36

              Все может быть.

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

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


      1. xSVPx
        29.07.2024 10:36
        +5

        Вообще из опыта и Википедии. Если ты всю жизнь специализировался на нетехнических аспектах бытия, то должныж быть достижения.


        1. lair
          29.07.2024 10:36

          Если ты всю жизнь специализировался на нетехнических аспектах бытия, то должныж быть достижения.

          ...неа, не обязательно. "Достижения" вообще есть не у каждого человека.

          Но представьте себе на минуту человека, который всю жизнь посвятил истории, получил степень, выпустил десяток книг, преподает в некольких вузах. Обязательно ли он может то, что вы перечислили? Нет. Гуманитарий ли он? Да.


          1. xSVPx
            29.07.2024 10:36

            Это ведь про ТСа? Ведь про него, да :)?

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


            1. lair
              29.07.2024 10:36

              Это ведь про ТСа? Ведь про него, да

              Нет, я про него ничего не знаю.

              Я всего, что мог бы уметь гуманитарий затрудняюсь перечислить, этого всего много очень.

              Ну... вообще, список того, что мог бы уметь любой человек - это очень много всего. При чем тут гуманитарии-то?

              Но как правило преподающие историю и написавшие десятки книг кое-что могут даже и из моего списка.

              Откуда у вас такое "правило"? Или вы берете самых известных людей?

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


              1. xSVPx
                29.07.2024 10:36

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

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

                И я не верю, что он мог бы написать, что "мне не повезло, что я гуманитарий".


                1. lair
                  29.07.2024 10:36

                  Профессор Толкин, несомненно, был хорошим гуманитарием, и остается хорошим примером гуманитария. Но из списка выше:

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

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

                  Так что даже он не соответствует этому высокому стандарту.


          1. urvanov
            29.07.2024 10:36

            Он может рассказать про то, как ездил на раскопки. Как выпустил свои книги. Как выступал на конференции т. д.


            1. lair
              29.07.2024 10:36

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

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

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

              Я знаю много талантливых людей, но не припомню ни одного, кто мог бы это всё.


    1. ShamanR
      29.07.2024 10:36
      +1

      Плюсанул, и ещё отдельно напишу, что очень тонко, браво!

      Очень хорошая иллюстрация того что нет никаких гуманитариев и технарей.


      1. xSVPx
        29.07.2024 10:36

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

        Специализация бывает.


      1. lair
        29.07.2024 10:36

        Очень хорошая иллюстрация того что нет никаких гуманитариев и технарей.

        Гм. Словарь с вами не согласен.


        1. Zenitchik
          29.07.2024 10:36

          Словарь мог устареть на момент издания. У словарей вообще есть такая проблема.


          1. lair
            29.07.2024 10:36

            Ну, этому бы неплохо найти какое-то подтверждение? Противоречащий узус например.


  1. data_analyst
    29.07.2024 10:36
    +8

    мой младший брат ML-разработчик уровня lead

    А не легче и не логичнее всего было бы брата попросить стать Вашим ментором?

    А так, какие-то метания без чёткой цели и плана. Потому и результат такой. Закономерный чуть более, чем полностью.


    1. CrazyElf
      29.07.2024 10:36
      +7

      Менторить гуманитария... Брат, наверное, не захотел )


      1. lair
        29.07.2024 10:36

        Если кто-то не захотел менторить человека только потому, что тот - гуманитарий... оно и к лучшему, не надо с такими менторами дела иметь.


        1. Zenitchik
          29.07.2024 10:36
          +6

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


    1. Gadd
      29.07.2024 10:36
      +8

      Кстати, наблюдение - несмотря на то, что основным языком ML-разработки считается Python, для ML-разработчиков, да и вообще датасайентистам глубокое знание Python как правило не требуется. Зачастую основной их инструмент - Jupyter Notebook/Lab, плюс pandas, pytorch, etc... Когда задача - не писать код, а ставить эксперименты с данными и прочее (простите, не моя стихия), то часто бывает, что поверхностных знаний Python вполне хватает, губокое знание предмета и нужных библиотек гораздо важнее.


      1. CrazyElf
        29.07.2024 10:36
        +2

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


        1. grt_pretender
          29.07.2024 10:36

          Чистота кода и глубокое понимание его им и правда не нужно. 

          Люди, которым потом приходится читать их код, с вами не согласятся)


  1. Advisers
    29.07.2024 10:36
    +6

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

    " Хотя матрицы я так особо и не понял."

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

    а потом можно почитать Кнута..., например.


    1. Advisers
      29.07.2024 10:36
      +2

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


    1. engin
      29.07.2024 10:36

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


      1. Advisers
        29.07.2024 10:36
        +1

        Математика нужна, чтоб научиться думать, и опыт в написании софта придёт в процессе решения практических задач. Без знания математики (без умения думать) можно писать..., но писать плохо.


  1. FilIvanov
    29.07.2024 10:36
    +7

    Куда вы там все всё заходите? На одну вакансию по 200-1000 откликов. Зарплаты не растут, растут требования, вакансии работодатели не закрывают месяцами - ищут абстрактного гения в вакууме с компетенцией двоих-троих специалистов.
    Количество вакансий и резюме (статистика с hh) чётко показывает дела в IT:


    1. dv0ich
      29.07.2024 10:36
      +2

      По С++ число вакансий примерно стабильно, остальное пофиг :)


      1. FilIvanov
        29.07.2024 10:36
        +2

        Число вакансий Вы увидели, но не увидели рост резюме за прошедшие 4 года. Ещё пару лет - и там куча готовых мидлов, способных закрывать задачи и участвовать месте с Вами в борьбе за теплое место :)


      1. leen_vl
        29.07.2024 10:36

        Жаль по Verilog статистики нет. Я б посмотрел.


  1. Gadd
    29.07.2024 10:36
    +4

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

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

    К слову, сам я всегда всем рекомендовал читать Лутца, но, что характерно, так его и не дочитал, даже до классов не дошёл.


  1. Boilerplate
    29.07.2024 10:36
    +2

    Проблема в том, что сам по себе язык программирования, это хорошо, но в аббревиатуре IT нет ни слова "язык", ни слова "программирования". Питон это хорошо, но если нет, например, понимания, что такое http запрос, отправленный с помощью питона, то цена знанию языка ноль. Или если нет понимания, что такое БД и как туда записать что-то из питона (про проектирование и не говорю). Ну и так по всему областям, которые изучаются в старших классах школы / в техникуме / в универе.

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

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


    1. Gadd
      29.07.2024 10:36
      +1

      что такое http запрос, отправленный с помощью питона, то цена знанию языка ноль. Или если нет понимания, что такое БД и как туда записать что-то из питона (про проектирование и не говорю). Ну и так по всему областям, которые изучаются в старших классах школы / в техникуме / в универе.

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

      А вообще, по этому поводу я люблю повторять, что ЯП - это всего лишь азбука, но кроме неё есть ещё и ядерная физика, органическая химия и астрономия.