Pull to refresh

Comments 250

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

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

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

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

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

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

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

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

Даже если какие-то библиотеки есть и там и там, в питоне тот же ML гораздо проще прототипировать, данные исследовать, графики рисовать и т.п.

UFO just landed and posted this here

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 Я лично считаю что первый язык программирования должен быть 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-питон-шарп, то хотя бы паскаль. Паскаль, если отбросить то что не применяется сейчас особо в проде - не обладает вот этими вот интересностями си-плюсов, имеет нормальный туллчейн, и при желании - хоть низкоуровневые вещи, хоть высокоуровневые. Отличный язык.

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

Согласен, начал с ардуино работать ещё до Вуза и изучения C по программе. Очень интересная вещь, в робототехнике уж точно.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

How to learn с++ in 21 Days

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

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

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

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

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

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

Так это вся та же аргументация, просто вам кажется что правильный уровень это си, а после питона потом память течет, вашим оппонентам сверху кажется, что правильный уровень это питон а дроч с памятью никому не нужен, вашим оппонентам снизу кажется, что си слишком высокоуровневый и студенты после него не понимают, как процессор работает (много раз наблюдал таких господ в комментах на хабре). Все перечисленные абсолютно уверены своей правоте, однако кто-то тут должен ошибаться (could be ... everyone?). Ну то есть все уверены, что тот уровень абстракции, который по каким-то внутренним причинам нравится именно им, точно является нужным, а остальные просто не шарят (далее следуют рационализации разной степени наивности)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Забавно что либо читать/слышать про Python от веберов, по моему мнению гад слишком универсальный, от того всех и бесит.

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

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

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

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

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

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

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

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

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

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

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

1 + '1' // '11'

PHP:

echo 1 + '1'; // 2

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

JS

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

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

СИ.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Все побежали

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

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

Дык.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Это bullshit, что вы пишете. Нет ни каких гуманитариев которым тяжело освоить базу кодинга, так же как нет и технарей, которые освоили асемблер и с, но не смогли освоить НОТЫ и сыграть на пианино по ним.Есть отсуствие желания, интереса, но сложности в этом нет, не нужно человеческие навыки сакрализировать. ДА ЛЮБОЙ может писать код, если захочет и потратит на это время, а вот время затраченное на обучение у каждого свое будет, кто то за пол года уже начнет писать код и зарабатывать, а кому-то понадобится 5 лет вуза и 5 лет практики, точно так же как любой может сыграть на пианино по нотам.То что я описал, это упрощенное и утрированное обобщение, или мне полностью писать все требования и стек в каждом посте? Базовая логика позволяет в том числе обладать функциональным чтением, когда контекст в том числе в том числе позволяет воспринимать различные формы редукции и генерализации.

То есть, по вашему полгода курсов вайти-в-айти - это для самых лучших (Как я перестал продавать еду на улице и стал работать в топовых технологических компаниях) , пять лет вуза - очень для тупых и нужно брать на работу только тех кто курсы закончил? *фейспалм*

Очередной bullshit от вас. Я ничего подобного не писал, у вас ограниченное мышление и отсутствует навык функционального чтения, вы не воспринимаете информацию, которую я вам пишу. Я пишу о том, что ЛЮБОЙ человек может как на пианино научиться играть, так и писать код, просто для этого нужно ЖЕЛАНИЕ и ВРЕМЯ, кому-то понадобится на освоение навыка 6 месяцев, а кому-то 5 лет, но технической сложности в этих навыках нет.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

???

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

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

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

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

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

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

1, 2, 4, 8 коров. Это на сколько умножать?

Так оно так и есть... 1, *2 (2), *2 (4). Всё правильно.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Самый прикол в том, что я где-то год работал именно тем, кто как-раз их код и проверял ))

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Но для этого нужен реальный интерес к кодингу,

А мне вот сам по себе "кодинг" не особо интересен. Гораздо интереснее решать задачи - проектировать системы, делать интернет-сайты и приложения, писать игры, заставлять железячки мигать лампочками и т. д.. Поэтому никогда не разделял увлечения спортивным программированием и алгоритмами 🤷‍♂️

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

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

Вы считаете, что если вы - гуманитарий, то вам не повезло?

UFO just landed and posted this here

Я - гуманитарий, и я работаю в ИТ.

Может мне тоже начать говорить, что я гуманитарий?

Ну, в моем случае это чистая правда. Что другие люди про себя хотят говорить - их дело.

Ну, например, репетитору английского языка. Хороший репетитор может вполне на уровне ИТ зарабатывать. Посмотрите ставки за час у нормальных репетиторов. Юрист вполне себе гуманитарий. Хороший юрист в денежной специализации будет зарабатывать точно не меньше ИТ. Психологи/психотерапевты те же - посмотрите их ставки. Это всё востребовано и оплачивается. Да полно гуманитарных сфер, где можно зарабатывать нормальные деньги. А если про врачей вспомнить? Про тех, кто не просиживает штаны в гос. поликлинике.

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

Не совсем так. ХОРОШИЙ кто угодно зарабатывает ХОРОШО. Но! Хороший репетитор/преподаватель - это сам себе менеджер, рекламщик, продажник, и т.п... О хороших репетиторах узнают по сарафанному радио, они не дают объявлений на авито и профи.ру (я хорошо знаю эту область). Так в общем со всеми кто работает на себя.
В IT же ситуация другая - ты приходишь в контору, тебе дают пул задач и говорят его пилить. Все прелести найма - не надо думать об организации работы как таковой, это за тебя сделали владелец, директор, менеджер...
Далее - огромные возможности самообучения! Ну вот какую-нибудь экзотику типа банковского ПО освоить дома не получится, но любой язык программирования - вполне.
А какие задачки надо порешать на Литкоде чтобы стать пластическим хирургом? Или чтоб знать как не допустить попадания человека в тюрьму?
Стих про три пути - это то где деньги гарантированы и где понятен путь их получения.
(Ну как минимум так было, тысяча джунов на вакансию сейчас это недавнее явление всё же).

Но! Хороший репетитор/преподаватель - это сам себе менеджер, рекламщик, продажник, и т.п... О хороших репетиторах узнают по сарафанному радио, они не дают объявлений на авито и профи.ру (я хорошо знаю эту область). Так в общем со всеми кто работает на себя.

Согласен, но это всё не так сложно и легко осваивается человеком, которому это нужно. Я лично вижу рядом пример такого репетитора. Работа 4-5 часов в день, доход на руки после всех отчислений 200+, можно и больше, но не хочет много времени проводить за компьютером. Работа - удалённая. Раньше работала в школе, теперь школа отправлена в известное место. Усилия для получения 1 рубля ЗП просто несопоставимые.

Далее - огромные возможности самообучения!

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

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

"это всё не так сложно и легко осваивается человеком, которому это нужно"
1. Не все хотят преподавать.
2. Не все умеют - сбивчиво и неструктурированно рассказыват-показывают, не уделяют внимание обратной связи, и т.п... все грехи плохого преподавания.
3. Нужно обладать качествами развитие которых не лежит в плоскости преподаваемой информации.))) Нужно быть симпатичным, харизматичным, воодушевляющим, отчасти психологом, и т.п...
Я видел как народ не может найти себе постоянных учеников из-за проблем в пункте 3. По наблюдению получается так - репетиторство получается у того, у кого... получается ))). Т.е человек сразу обладает качествами пункта 3 и у него всё идет хорошо. А у кого-то нет - и такой народ хнычет, что никого не может найти.
В этом смысле, проблема может быть с другой стороны - интересный и харизматичеый преподаватель может давать хрень в качестве материла. Есть знакомая преподавательница по английскому - красивая, обаятельная женщина, очень эмпатичная. Английский у неё на уровне B2 в лучшем случае и никакое произношение. Учит детей примитивному английскому, прививая им дурацкое произношение. Ну и еще примеры есть. На статью наверное хватит ))).

Хороший юрист в денежной специализации будет зарабатывать точно не меньше ИТ. Психологи/психотерапевты те же - посмотрите их ставки.

А если еще вспомнить за нулевую ответственность этих кадров за их слова/обещания/набивание понтов...

Вот это кстати да - нулевая ответственность. Знакомые рассказывали - у некоего товарища возникли проблемы с законом почти на ровном месте (поругался с девушкой, взаимные обиды... и пошло-поехало), пара миллионов потрачено на адвокатов и все равно небо в клеточку.
Про психологов... )))
https://www.anekdot.ru/id/1467874/

"Ну а какому гуманитарию платят также, как в ИТ?"

Большинство youtube блогеров, чьи заработки больше средней ЗП в IT, к самому IT никакого отношения не имеют. Так что да, гуманитарии могут зарабатывать больше, чем IT специалисты.

Хорошие специалисты по рекламе и продажам, также могут зарабатывать больше, чем средняя ЗП в IT.

В логистике также платят хорошие деньги, т.е. при желании можно найти себе нормальную работу вне IT с хорошей ЗП.

Хорошие специалисты по рекламе и продажам, также могут зарабатывать больше, чем средняя ЗП в IT.

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

Ну я читал про индусов, которые что-то программировали для Боинга за 7(9?) баксов в час.

И как эти деньги соотносится с медианной зарплатой в whatever сфере в Индии?

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

Нужны прикладные задачи. Я сама провожу курсы, я считаю это полезным, НО это не панацея, это не "войти в отрасль", это "структурировать минимальные базовые знания". А изучение профессии должно быть не по уровням сложности курсов, а по сложности решаемых задач. Идёте на биржу фриланса и демпингуете. Решаете задачи за 50$, в процессе много гуглите, решаете новые для себя задачи. Здесь, в отличии от курсов, появляется ДРАЙВ! Мотивация, уверенность, вот это всё.

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

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

Человек пытается изучать язык, не понмая основ. Что зачем и все остальное. И если надо вспоминать математику 5го класса или не заходят "матрицы" - ну о чем еще можно говорить?

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

Человек из статьи говорит, что он не смог осилить матрицы. То есть по сути - таблицы из чисел. Даже при перекладывании жисонов рано или поздно ему придется переложить какой-нибудь массив элементов, в каждом из которых еще по массиву вложенных. И что тогда, погромист сломался, несите нового?

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

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

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

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

Если вы пишете рекурсию ... я вот пишу и вспомнил, как одну задачу в проекте предложил решить рекурсивно. Там выходило в "две строчки", так как надо было обработать дерево. Объясняю решение - вижу, нет контакта. Написал, человек потом присел на пару часов, так как вообще не понимал, а "как так оно работает". Понятно, технически такое решение не всегда оптимально, но иногда важно простота и корректность кода. А без рекусрии там "долбиться" надо было прилично

----------------

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

«Минус один» из 2000 откликов от моей будущей вакансии🤣(простите), осталось 1999

А если серьезно, было приятно читать откровение, тк передались эмоции, что вложил автор. Они близки, тоже гуманитарий магистр, а ещё и диджей, музыкант, но вот беда… видишь рядом людей постарше (начиная с ~18 возраста), анализируешь всё что происходит, когда им 25-30-35-40 и понимаешь, что «счастливы» далеко не все, ну и делаешь вывод, что этот вопрос один из самых важных, которые предстоят решить.

А счастье сильно зависит от работы и если ты не сын на шее у миллионера, а я не такой, то работа должна быть с сильным «фундаментом», на что и толкнуло меня на АйТи…

К слову путь тот же, только вот я на 60% курса для «продвинутых»… последние 2-3 дня сильно погряз со словарями, где несколько задачек не даются… работы основной нет, но и обстановка рядом далеко не самая «рабочая», вынужден в свои 27 жить с родаками, за 1,5 года как-то не приживемся, нет стабильности, увы

В конце задумался «зачем так много написал…», ладно, наверное, магия Автора статьи

Вот уж что-что, а читать то, что пишут гуманитарии, всегда приятно :)

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

Хорошо, что не во фронтенд решил выкатываться, а то к окончанию 3его курса "для профессионалов" все твои предыдущие знания уже устарели бы :)

Это не страшно. Устаревшие знания - тоже не лишние.

Что-то вспомнилось…

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

(Это было тыщу лет назад, но некоторые компании переняли эту практику на собеседованиях).

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

Это вот реально программисты так думают?

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

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

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

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

Желаю немного отдохнуть, переосмыслить увиденное и всë-таки попробовать ворваться в IT. Переосмыслить на мой взгляд придëтся всë очень сильно.

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

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

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

А если решение не очевидное, то всегда есть гугл и ChatGPT, это нормально не знать наизусть вообще всë. Главное знать, что гуглить. Когда осознание уверенности придет, можно переходить к более сложному.

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

А я наоборот хочу из IT уйти (стаж более 10 лет) в стройку. Строительство очень сильно привлекает как по деньгам, так и по самому процессу стройки, проектировании и т.п.

Вы работали на стройке, есть ли строительное образование, есть ли знакомые из этой сферы? Если нет, то вас могут ждать большие сюрпризы)

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

На мой взгляд главная ошибка - обучение ради обучения.

Гораздо эффективнее


- Придумать несколько проектов, последовательно наращивая их сложность.

-Реализовать их, разбираясь во всем, что для этого нужно. Хорошо если ментор будет рядом.

Тогда не будет эффекта "Парень-каратист".

Согласен, можете взять API какой-нибудь криптобиржи/биржи и попробуйте реализовать простую стратегию, потом фиксите баги и улучшайте ее, добавьте очереди, разные виды БД и т.д. Появится смысл деятельности и опыт использования технологий.

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

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

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

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

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

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

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

Кстати, в этом, наверное, один из недостатков Питона: он слишком прикладной и потому не возбуждает сам по себе...

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

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

Тут многое написали и многое понятно

но вот с такими вводными

брат ML-разработчик уровня lead, друзья — системные и бизнес-аналитики

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

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

Короче. зачем быть именно прогером, может Вы хороший продакт-менеджер, просто еще не знаете про это

Почему не пошли в аналитику? это ж гораздо интересней

С чего вдруг это гораздо интересней?

разнообразней, как минимум, от стека, до направлений внутри "дата"

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

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

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

Гуглите роадмапы для Python-бэкендеров, они есть на github, там кроме собственно Python + leetcode есть еще куча вещей, которые нужно впитать.

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

И — поменьше эмоций, сгорите.

Ваши ошибки

1) Вы прислушиваетесь к "Герману Грефу".

2) Сравните количество вакансий по теме в РФ и в каком нибудь маленьком государстве ЕС. Вы все поймете.

3) Вы хотите убитые нервы, зрение, спину ?

4) Как новорил мой любимый учитель, любитель все делает с душой и криво. Проффи все делает прямо и с отвращением.

5) Вы пользуйтесь чатджипити. Только хардкор, только гуглим и читаем официальную документацию !

Я прогер со стажем 24 года - БД/Хранилища, игрухи, ML много чеи занимался. Начинал с пролога, паскаля, си и ассемблера. Закончил питоном :). Любой ЯП и фреймворк в основах своих за месяц осваивается и через месяц ты уже кидаешь в прод свои поделия:)

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

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

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

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

Главная проблема отсутствие решения актуальных задач. Реши задачи на текущей работе с помощью полученных знаний. Автоматизировать рабочий процесс можно в любом виде деятельности. Будет мотивация в разы больше чем от решения учебных задач с подглядыванием

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

Почитал, погрустил.

Работу программистом начал с Питона в 38 лет, через три года перешел в джависты, где пока нахожусь и мечтаю о переходе на C++.

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

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

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

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

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

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

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

  2. Специалист в любой предметной области умеющий немного программировать, может быть ценнее и програмиста и тем более просто специалиста. По другому мыслит, делает более алекватные запросы/задачи программистам.

Очень интересно почему "залететь в IT" Все пытаются через программирование? Как по мне, намного ниже порог вхождения у специальностей близких к реальности, у предметным областям, например аналитика, аналитика данных, проще пощупать, проще понять, да и применить можно почти в любой текущей работе. Немного изучить BIку и вместо презентаций построить дашборд, разобраться в проектировании и устройстве БД. Вообще очень сложно понять насколько тебе интересно IT, это как вопрос к школьнику "кем ты хочешь стать", хотеть он может что угодно, а на сколько ему это понравиться - вопрос. Автору желаю успехов во всех начинаниях! Попытка не пытка и советую рассмотреть другие варианты "Залëта" В IT)

Я прошел путь автора и тоже начинал в 35.

Был курс АйтиВиДиЭн. Куча прочитанных книг. Куча лииткода . Был Python. Cpp. А стал C# и несколько конкретных проектов.

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

Всё нормально. Люди, которые по возрасту возле 40 просто обречены быть предпринимателями и давать работу-надежду молодым умникам и умницам хвастающимся функциями написанными за 20 секунд:))

В этом преимущество таких людей. Преимущество возраста.

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

Понимаю тебя на 100%, мне 35 начал изучать python в 34(правдо до этого баловался С++ и микроконтроллерами) и сейчас еле-еле, кое-как, не без помощи друзей пролазию в it, но пака ещё не пролез и останавливался не собираюсь.

Вы спрашиваете какой был путь в IT? Что ж.

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

В 2012 году мне страстно хотелось попрограммировать, но в школе в мои годы на информатике учили рисовать в paint, а более продвинутые друзья подсовывали книги по бэйсику и говорил начать с этого. Интересно ли было? Ну нет конечно, меня хватило на пару раз.

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

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

Однажды, уже году так в 2020, я-таки решилась уволиться с работы стандартного менеджера, сделать нормальный пет-проект (ну как нормальный, обычный лендинг) и выйти на рынок. Хорошие были времена, с первого же собеса меня взяли фронтендером (повезло). Я счастливо шагала по своей воображаемой лестнице, через год приняла новый офер и... Уволилась, уехав из страны.

Пути господни неисповедимы и в другой локации подвернулся шанс стать настоящим программистом пойти на магистратуру Computer Science предварительно закрыв гэп между моим образованием и местным бакалавриатом. Там были базовые алгоритмы, компиляторы, ООП и прочее. Там же я снова, спустя 10 лет, потрогала C написав кусок компилятора, погладила джаву с её фреймворками и... Оглянулась и поняла что за это время мой родной фронтенд семимильными шагами ускакал куда-то вперёд пока я пыталась не завалить эказмен по алгоритмам с динамическим программированием на листочке. Открыв, спустя год, какой-то из своих проектов, я смотрела на css как в первый раз, казалось что это был год анабиоза, отрезавшего меня от реальности. Я собралась с духом и экстренно побежала искать работу забросив магистратуру. Сунулась в фуллстек (ну я ж ещё и SQL знала, чобынет), потратила пол месяца на тестовые коих сыпалось автоматом какое-то неимоверное количество прыгая с одной технлогии на другую, осознала, что попытка была хорошая, но подготовка пока не очень, сконцентрировалась на фронте. Провалила собес на джуна-фронтендера (!) растерявшись и на лайвкодинге забыв элементарные вещи джаваскрипта.

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

Успехом это не назовёшь, какое-то садомазохическое хобби скорре.

Да поймите вы уже наконец: не надо пытаться войти в it, стать питон, с++, java, go, и.т.д разработчиком. Вместо этого надо получать академическое образование (физика или математика) и заниматься после этого чем хотите. Программирование это всего лишь навсего понижение квалификации.

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

(были когда-то ведь востребованы профессионалы работы с перфокартами, магнитными лентами, ассемблером, алголом, коболом, лиспом...) - и все это ушло... (в песок)

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

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

А по поводу Питона - в приличных вузах это просто один из легких спецкурсов...

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

Sign up to leave a comment.

Articles