Мои родители инженеры микроэлектронной техники, мой младший брат ML-разработчик уровня lead, друзья — системные и бизнес-аналитики. А я — гуманитарий. Мне не повезло. С характером, способностями, обстоятельствами, мало ли чем ещё. В какой-то момент я понял, что так больше не может продолжаться и решил в свои тогда ещё 34 года «залететь в ИТ». Выбрал курсы по Python на степике, потому что это самый популярный и довольно простой язык. Вдохновился историями «старокодящих», которые смогли. Почитал новости о диком дефиците программистов в России. И с головой ушёл в обучение.
Что могло пойти не так?
Начало
Мне было очень тяжело. Приходилось гуглить, спрашивать у ChatGPT значения каких-то терминов, искать формулы из математики за 5 класс. Но был энтузиазм и мотивация. Мои знания росли в геометрической прогрессии. Но когда ты стартуешь с нулевого уровня, это не так уж и сложно. Раньше всё это программирование было для меня тёмным лесом, и тут как будто светлячки полетели циклы, функции типа sum и методы типа sort. Я узнал, что такое сериализация, и как Python работает с памятью. Я обсуждал свой код простейшей викторины с братом. Ну, вы знаете, эти разговоры двух программистов. Так я прошёл первый курс — для начинающих. А потом узнал, что он рассчитан на учащихся 7-9 классов. «Старшеклассники могут работать в Яндексе?!» — подумал я.
Первые трудности
Так в мою душу попали семена сомнений. Попали, но пока не проросли. Я взялся за второй курс, для продвинутых. Он давался уже легче. Хотя матрицы я так особо и не понял. Зато на втором курсе в моей голове уложились вложенные циклы, которые я никак не мог понять. И в целом простейший код из заданий я писал уже довольно бегло. И уже строил планы, предвкушал собеседования в Сбере, Яндексе, Озоне. Как я удивлю всех своими знаниями, навыками и чувством юмора. Да, это и правда было бы удивительно для всех участников процесса.
Проблема курсов
Правда, меня смущало несколько моментов. Первое, несмотря на обилие практических задач, было совершенно непонятно, как именно всё это можно применить в работе. Я сравнивал это всё с фильмом «Парень-каратист» 1984 года, где неопрятного вида сенсей заставлял американского подростка красить свои забор, дом, машину определенными движениями. Потом оказалось, что это была отработка приемов и ударов. Тут то же самое, решил я.
Второй, это общение с сокурсниками. Нет, комьюнити было супер. Все всегда готовы были прийти на помощь, что-то подсказать, объяснить, поддержать. А один комментарий вообще помог не бросить учиться в момент, когда я уже был в отчаянии. Меня беспокоило другое: ни у кого не было четкого плана, что делать дальше. Там были и опытные программисты, которые уже работали и проходили курсы, чтобы освежить и систематизировать знания (их комментарии под сложными задачами вроде «в чем проблема, сделал в одну строчку за минуту» очень бесили). Но их опыт точно не релевантен моей ситуации.
Потеря мотивации
Зерно сомнений стало прорастать. Я перешёл на третий курс «для профессионалов». По сути это было повторение и углубление пройденного. Базовый синтаксис языка худо-бедно освоить удалось. Но оказалось, что этого, мягко говоря, недостаточно. Нужны Git и GitHub, нужны технологии, библиотеки и немножко базы данных. И вот тут я приуныл. В общем, классическое: «Чем больше я знаю, тем больше я понимаю, что ничего не знаю».
Плюс ко всему я нашёл вторую работу. И не бросил первую. Времени на учёбу стало меньше. А ещё я осознал, чтобы выйти на хороший уровень дохода, мне нужно ещё ооооочень много учиться, пройти ад с поиском первой работы, продолжить учиться, набраться опыта, перейти на другую работу и, может быть, на третьем-четвертом месте я смогу зарабатывать столько, сколько получаю сейчас. Моя мотивация испарилась.
Почему у меня не получилось?
Так в чём же была моя ошибка? Конечно, я неправильно оценил задачу: дистанция была стайерская, а я планировал спринт. Но и с этим можно было справиться. Главное — у меня не было реального интереса к ИТ. Одно дело писать про технологии, читать новости, смотреть обзоры. И совсем другое «залазить под капот» и делать что-то самому. Это уже не кажется таким магическим и увлекательным. Я хотел, чтобы слова схантить, удалёнка, ДМС, бонус вошли в мою жизнь. Но оказалось, что быть крутым программистом — это совсем другое.
Мне с самого начала твердили об этом: «Если нет реального интереса к программированию, быстро выгоришь. Высокая зарплата — слабая мотивация, тем более, что есть и другие способы увеличить доход». Но я не слушал.
Слёзы сожаления
А их нет. Я ни о чём не жалею и сделал бы всё точно так же. Потому что мне действительно понравилось учиться. А ощущение, когда попалась какая-то сложная задачка и твой код наконец заработал, — вообще одно из самых приятных в жизни. Серьёзно.
Так что, я надеюсь, ещё вернусь к программированию и всё-таки смогу стать программистов. В конце концов, Герман Греф сказал, что в России не хватает 1 миллиона ИТ-шников. Значит, брать на работу будут всех подряд.
А какой был ваш путь в ИТ? Расскажите в комментариях! Может, кого-то он вдохновит. Все-таки нужно как-то закрывать такой дефицит кадров.
Комментарии (228)
Lazhu
29.07.2024 10:36+2Выбрал курсы по Python на степике, потому что это самый популярный и довольно простой язык
Вот и разгадка потери мотивации. Надо было С /s
CrazyElf
29.07.2024 10:36+1Если уж так хочется C-образный язык новичку отрекламировать, то лучше уж JavaScript тогда. Для него как для Питона море библиотек на все случаи жизни, можно сразу что-то пощупать красивое без особых усилий.
Lazhu
29.07.2024 10:36Нене. Только Кнут, только хардкор. Ассемблер тоже неплох
CrazyElf
29.07.2024 10:36+1Но зачем? Чтобы как с учёбой в ВУЗ-е: после учёбы потом всё забыть и никогда не вспоминать?
onets
29.07.2024 10:36Это все был сарказм. Там тег стоит.
Питон, как бы не был хорош для некоторых задач - это язык с динамической типизацией. И это в любом случае лишняя попоболь. Вон для яваскрипта даже специально typescript придумали.
Новичку в любом случае придется объяснять, что тупо складывать строку и число не всегда хорошая идея, но с динамической типизацией он даже это не сразу заметит и потратит часы на отладку.
NeverWalkAloner
29.07.2024 10:36+2В Python кстати строгая динамическая типизация. При попытке сложить строку и число python выкинет TypeError: unsupported operand type(s) for +: 'int' and 'str'.
Neusser
29.07.2024 10:36А какой язык позволить сложить число и строку, а не выдаст ошибку?
Rsa97
29.07.2024 10:36+2Любой язык с неявным приведением типов. Просто результат может быть разный.
JS:1 + '1' // '11'
PHP:
echo 1 + '1'; // 2
Neusser
29.07.2024 10:36Ой блин, надо же.
Sequoza
29.07.2024 10:36+1Да ладно... Как вы можете столько лет тут обитать и не знать такого
JS
Rsa97
29.07.2024 10:36+5Справедливости ради,
0.1 + 0.2 == 0.3 // false
будет в большинстве языков. Это базовая проблема точности представления чисел , а не специфическая проблема JS.
Neusser
29.07.2024 10:36Про яваскрипт я знал, что он со странностями, в том числе и в смысле сложения чисел как строк в некоторых случаях. Но не знал, когда именно проявляется.
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;
}Да, варнинги посыпятся, но соберется и запустится. Весело. Да?
kuzzdra
29.07.2024 10:36В сях нет строк ;) И не уверен насчет auto.
eptr
29.07.2024 10:36В сях нет строк ;)
Зато там есть строковые литералы, причём, с самого начала.
И не уверен насчет auto.
Ознакомьтесь со стандартом C23, а также с работающим примером.
CrazyElf
29.07.2024 10:36+1Ну вообще-то строку и число вполне можно сложить даже и в
C#
, хотя казалось бы это строгий язык. Если вы прибавляете что-то к строке, то просто у этого чего-то вызываетсяtoString()
и дальше складываются две строки конкатенацией. Очень удобно. Вот если наоборот к числу попытаться прибавить строку, то это уже будет проблема.PowerMetall
29.07.2024 10:36Вот если наоборот к числу попытаться прибавить строку, то это уже будет проблема
Нууу, не такая уж и проблема, в некоторых случаях )))))
int a = 11;
string b = "22";
var c = a + int.Parse(b);(Да, я понимаю что случай надуман, но месье таки знает толк в извращениях )))
CrazyElf
29.07.2024 10:36Ну я имел в виду без явных преобразований. Вы то прибавляете уже число к числу )
onets
29.07.2024 10:36Две переменных - int и string, если между ними поставить + то компилятор выдаст ошибку. В любом(?) языке с динамической типизацией - все запуститься. И в лучшем случае выдаст ошибку в рантайме, или как js будет рандомно выдавать результат.
Rsa97
29.07.2024 10:36+1или как js будет рандомно выдавать результат
Ни в коем случае не рандомно. Поведение JS, в частности какие типы как приводятся при различных операциях, описано в стандарте.
SUNsung
29.07.2024 10:36Змеиный это один из худших языков для начинающих.
Он простой, но он не язык программирования, а сценарный язык (!!!)Его просто изучить когда ты же знаешь какой-то другой язык высокого уровня
И то все эти отступы и прочие "фишки" синтаксиса (и компилятора) не для всехС нуля же это как купить лего 100К мелких деталей и пытаться собрать звездный разрушитель без инструкции.
В теории реально, на практике все просто, но в реальности результат будет далек от ожиданияХотите вкатиться и при этом без коленных пулеметов как в си - Go, Lua и прочие языки с упрощенным синтаксисом. С которых специально убрали все лишнее.
Go в этом плане вообще идеален. Вы сразу будете знакомиться с типами, памятью и тд.maksimtor
29.07.2024 10:36+1Сценарные языки тоже являются языками программирования. И в чем проблема начинать с них обучение?
vovabush
29.07.2024 10:36+57Не хочу обидеть автора, но, думаю, камень преткновения был в этом:
Мои знания росли в геометрической прогрессии. Но когда ты стартуешь с нулевого уровня...
icya
29.07.2024 10:36+16Скорее поэтому:
Мои родители инженеры микроэлектронной техники, мой младший брат ML-разработчик уровня lead, друзья — системные и бизнес-аналитики. А я — гуманитарий. [...] В какой-то момент я понял, что так больше не может продолжаться и решил в свои тогда ещё 34 года «залететь в ИТ».
Все побежали
PanDubls
29.07.2024 10:36Ну вообще в этом что-то есть, нетворкинг решает, даже когда сам звёзд с неба не хватаешь. Не только в смысле "подпихнуть резюме в обход эйчаров", но и просто в смысле что можно проконсультироваться с друзьями о каких-то профессиональных и карьерных штуках. Так что чисто теоретически при не очень закоренелой гуманитарности наличие среды могло и вытащить.
Spiritschaser
29.07.2024 10:36+2искать формулы из математики за 5 класс
Дык.
LifeKILLED
29.07.2024 10:36+1Реально, нафига формулы гуглить. Надо гуглить библиотеку и функцию, которая все это делает сама
PowerMetall
29.07.2024 10:36+2нафига формулы гуглить. Надо гуглить библиотеку и функцию, которая все это делает сама
Да не, нафига это надо. Надо задать вопрос на staсkоverflоw, и ждать когда дадут готовый код!
В нынешних реалиях можно и в ChatGPT написать заодно ))
Сарказм, если что.А автору совет - не сдаваться. Отдохни, что называется, перевари всё, и с новыми силами с головой в борьбу. Оно получится, вот увидишь. Тем более есть брат - сеньор разработчик, есть родители - микроэлектронщики, есть друзья - системные аналитики. Да с такими вводными можно хоть в 55 лет начинать.
Лишь бы - и это самое главное - это нравилось. Без этого, увы, простиNeusser
29.07.2024 10:36В нынешних реалиях можно и в ChatGPT написать заодно ))
А потом все равно на стэковерфлой со словами: "я попросил чатгпт написать код, но код не работает. Помогите починить!"
denmaloyreb
29.07.2024 10:36+2А почему бы на зайти в IT не через программирование? Я перешел из IT-копирайтинга в техписательство. Сейчас уже есть скилы DocOps , заканчиваю курс системного анализа, приобрел еще массу полезных смежных скиллов. В общем, неплохо прокачался за 3 года в техписательстве и чувствую себя уверенно (в т.ч. и по ЗП).
Правда за время работы IT-копирайтером я успел еще вторую вышку получить и стать инженером-программистом (с кем поведешься, от того и наберешься, как говорится). Так что не совсем с нуля заходил :)
Lord_Alzov
29.07.2024 10:36+25В конце концов, Герман Греф сказал, что в России не хватает 1 миллиона ИТ-шников. Значит, брать на работу будут всех подряд.
Всех подряд брать не будут. Сейчас на вакансию ДЖУНА до 10000 откликов. Реально хантят сеньеров и выше. Мидл крепкий тоже думаю найдет быстро.
Мои родители инженеры микроэлектронной техники, мой младший брат ML-разработчик уровня lead, друзья — системные и бизнес-аналитики. А я — гуманитарий.
Не существует гуманитариев и технарей, есть тупые и ленивые люди, которые оправдывают отсутствие базовых знаний из школьного курса, тем что они не такие. Любой человек может освоить что угодно. Изначально ты в туалет ходить не умел, научился же? Просто кто-то с детства увлекается одним, кто-то другим, но в целом учебой увлекается малое количество людей, обычно людей можно отнести не к технарь или гуманитарий, а к категории ''ИДИОТ'', человек который не разбирается и не хочет разбираться ни в чем. даже как розетку поменять или как собрать компьютер( навыки уровня школьника).
Мне с самого начала твердили об этом: «Если нет реального интереса к программированию, быстро выгоришь. Высокая зарплата — слабая мотивация, тем более, что есть и другие способы увеличить доход». Но я не слушал.
Других способов увеличить доход, если ты не Москвич и не собрался в криминал нет. На данный момент доходы крепкого ИТшника превышают доходы малого бизнеса. Плюс ответвтеснность ниже и нет страха что все развалится и в твой магазин одежду/обуви/или на твою страничку маркетплейса никто не придет. Развалилась компания? Ушел в другую. В том числе в других странах. Плюс большинство кодеров реально работают пару часов в день. Не потому, что ленивые, а потому что успевают сделать, то, что от них требуется.
Правда, меня смущало несколько моментов. Первое, несмотря на обилие практических задач, было совершенно непонятно, как именно всё это можно применить в работе.
Потому, что ты занимался какой-то ерундой, нужно не сортировки изучать и алгоритмы, а начинать как раз таки с практики. Если бы ты изучал Fast API или Django вместе с ORM хотя бы уже был бы толк, с первого дня ты бы знал, что это и как можно применить. Вместо этого ты начал заниматься алгоритмами и прочим бредом, чем отбил желание вообще что-то делать. Большинство программистов на питоне и других языках, вообще в своей работе не используют алгоритмы.
edogs
29.07.2024 10:36+7Не существует гуманитариев и технарей, есть тупые и ленивые люди, отсутствие базовых знаний из школьного курса . Любой человек может освоить что угодно . Изначально ты в туалет ходить не умел, научился же? Просто кто-то с детства увлекается одним, кто-то другим
Дада, все люди равны, вся разница в том что кому-то не дали образование и не тем увлекли, поэтому это дискриминация и вот это всё. Осталось только спросить "have you tried confidence?"
Не-а. Есть разница и между мужчинами и женщинами, есть корреляция и между расами и интеллектом, есть отличия между гуманитариями и технарями и так далее.
Да, в туалет правильно научиться можно ходить, но для кого-то это будет высшим достижением в ИТ фирме и добьется он этого через 20 лет упорного труда, а кто-то за год вырастет до сеньора и ему это ничего не будет стоить.
Есть такая задачка из психологии - двухсторонняя бумажка на каждой из сторон написано "переверни меня", так вот - иногда надо вовремя понять что дальнейшие усилия в какой-то области бессмысленны. Упорное долбление в ИТ с мыслью "любой может что угодно" если не лежит к этому ни сердце ни мозг - это именно тупое переворачивание этой бумажки с надеждой на какой-то позитивный результат. И нет, это не лягушка в молоке.lair
29.07.2024 10:36+3есть отличия между гуманитариями и технарями
Отличия, несомненно, есть. Но вот мешают ли они заниматься ИТ - это интересный вопрос.
Ravius
29.07.2024 10:36+4Заниматься ИТ
Может вы хотели сказать программировать? Или это такая ловушка? И вы скажете, что дизайнеры тоже в ИТ.
Так вот, если вопрос "мешают ли отличия заниматься программированием" - да мешают.
Но если нет цели быть в топ5% специалистов и устраивает "средний" уровень - то можно попробовать.
lair
29.07.2024 10:36+2Может вы хотели сказать программировать?
Нет, я хотел сказать "заниматься ИТ, в том числе программировать".
Так вот, если вопрос "мешают ли отличия заниматься программированием" - да мешают.
Что же это за отличия, и как именно они мешают?
Но если нет цели быть в топ5% специалистов
Ну, у меня вот никогда не было цели быть в "топ 5% специалистов" (по какому признаку, кстати? и среди каких специалистов?). Вот попасть в верхний дециль оплаты в провинции в рамках своей профессии по коду - это да, (сейчас) есть. Но вроде бы справляюсь без особых проблем.
Lord_Alzov
29.07.2024 10:36Это оправдания слабаков. Возможно гением ты не станешь, это генетически детерменировано, но рядовым сеньером писать код за 500к рублей это посильно любому. В любом возрасте, работоспособном. Ничего там нет сверхестественного и даже математика часто не требуется. CRUD операции какие-то, бекенды или фронт на реакте, что сложного?
fen-sei
29.07.2024 10:36+1рядовым сеньером писать код за 500к рублей это посильно любому
Курсам вайти-в-айти свыше 10 лет, но я не вижу того, чтобы хотя бы 10% любых слушавших курсы смогло стать хотя бы джунами.
Lord_Alzov
29.07.2024 10:36Курсам на музыканта 100 лет, но я не вижу, что бы хотя бы 1% любых слушавших курсы смогли стать исполнителями. У вас ошибки в логике.
fen-sei
29.07.2024 10:36+1"рядовым сеньером писать код за 500к рублей это посильно любому" - ваше утверждение, не моё. Я не утверждал "рядовым музыкантом-виртуозом - это посильно любому".
edogs
29.07.2024 10:36Это не ошибка в логике, это правильная логика в обратном направлении. Так же как гуманитарию технарем быть сложно, так и технарю гуманитарием быть сложно.
сеньером писать код за 500к рублей это посильно любому. математика не требуется. CRUD операции какие-то, бекенды или фронт на реакте, что сложного?
Прямо как из рекламы курсов. Сеньор за 500к пишет себе crud не зная математики. То что Вы описали и на стажера-то не тянет:)
fen-sei
29.07.2024 10:36+1Как я перестал продавать еду на улице и стал работать в топовых технологических компаниях (с)
< sarcasm / >
lair
29.07.2024 10:36Так же как гуманитарию технарем быть сложно, так и технарю гуманитарием быть сложно.
Какими конкретно определениями слов "гуманитарий" и "технарь" вы пользуетесь, когда делаете это утверждение?
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
lair
29.07.2024 10:36...но это же англоязычные тексты про англоязычные термины, они не обязательно один-в-один переводятся. Английское слово humanitarian вообще не имеет отношения к гуманитарному знанию (для этого используется слово humanities), оно обозначает филантропию (и "гуманитарный" в контексте "гуманитарная помощь").
(Не говоря о том, что это вообще не определения, а какие-то непонятные статьи)
Zenitchik
29.07.2024 10:36Мне вообще кажется, что деление наук на точные/естественные/технические/гуманитарные - непродуктивно.
Мне больше нравится схема абстрактные/естественные/общественные. Причём, каждая конкретная наука (кроме предельных случаев, типа математики) не относится к одному классу, а является их взвешенной суммой.
lair
29.07.2024 10:36One 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”.
Вам вот не бросается в глаза, что это калькированный перевод с русского?
Легко находится как минимум один русский источник:
Один человек может писать хорошую прозу, стихи, красиво рисовать, но разобраться в устройстве даже сравнительно простого прибора для него – тяжелая задача. А другой при всем желании не срифмует пары строчек, зато с техникой «на ты». Это понятно и естественно, ведь один из них – «гуманитарий», а другой – «технарь».
...и этот текст (русскоязычный) тоже не дает никаких определений, и не ссылается ни на какие источники, где эти определения бы были.
Zenitchik
29.07.2024 10:36Вы сильно недооцениваете степень необучаемости шир.нар.масс.
Многим (но не всем) посильно стать рядовой обезьяной и писать код за 100к. На счёт больше - уже нужны данные.
Aizz
29.07.2024 10:36Мне кажется, конкретно в этой ветке (да и люди в целом), слишком привязались к идее "Войти в айти" = "Научиться программировать". И это я даже говорю не о дизайнерах. Есть куча задач, чисто айтишных, в которых требуются навыки гуманитария. Я, конечно, тоже не люблю клишированное "гуманитарии и технари", но тут речь скорее о софт-скиллз/хард-скиллз. К примеру, хороший айтишный менеджер продукта не должен разбираться в управлении памятью в питоне или знать правильный синтаксис SELECT'ов. Но он должен понимать объяснения специалистов о проблемах с памятью в его продукте или объемах выборки в BI-кубах по его данным.
Но ясно дело, такому нельзя обучиться на курсах и, скорее всего, вкатывание в правильное менеджерское айти возможно только начиная с какого-нибудь джуниор-аналитика, который как максимум делает скрипты в экселе.
Dolios
29.07.2024 10:36+1Других способов увеличить доход, если ты не Москвич и не собрался в криминал нет. На данный момент доходы крепкого ИТшника превышают доходы малого бизнеса.
Это сказки. В регионах на лексусах ездят и квартиры х2..х3 к рынку покупают совсем не айтишники. И далеко не все они криминал, даже не половина. В ИТ в РФ очень быстро упираешься в потолок в несколько тысяч долларов, а это совсем не много.
А что касается Москвы, так там просто хорошая, не илитная трёшка не на выселках в человейнике ~30 миллионов рублей стоит. Никакой среднестатистический айтишник такого себе позволить не может, особенно с безумной ключевой ставной. И живут там не айтишники, преимущественно.
Доходы в ИТ не сильно высокие. Просто нищему часто кажется, что бедный в роскоши купается. Это не попытка кого-то оскорбить, это горькая констатация факта. Минфин вон недавно заявил, что встарые $2к дохода в месяц имеют аж 3% населения. Это катастрофа. У меня волосы в самых нескромных местах шевелятся, когда я такое читаю. Страну с богатейшим потенциалом и невероятным количеством ресурсов вогнали в махровую нищету :(
fen-sei
29.07.2024 10:36+1что касается Москвы, так там просто хорошая, не илитная трёшка не на выселках в человейнике ~30 миллионов рублей стоит. Никакой среднестатистический айтишник такого себе позволить не может, особенно с безумной ключевой ставной. И живут там не айтишники, преимущественно.
Большая часть ITшников - совсем не сеньоры и не тимлиды, и потому получают существенно меньше.
binary_wizardry
29.07.2024 10:36Про последнее хочу поправить. Автор и не писал, что изучал алгоритмы, он изучал курсы на степике. Я ровно эти курсы сам сейчас прохожу. Они не про алгоритмы, а про базовый синтаксис питона по сути. Да, много задачек для закрепления каждой темы. Вроде как раз то с чего стоит начинать знакомство
dinabr
29.07.2024 10:36Потому, что ты занимался какой-то ерундой, нужно не сортировки изучать и алгоритмы, а начинать как раз таки с практики. Если бы ты изучал Fast API или Django вместе с ORM хотя бы уже был бы толк, с первого дня ты бы знал, что это и как можно применить. Вместо этого ты начал заниматься алгоритмами и прочим бредом, чем отбил желание вообще что-то делать. Большинство программистов на питоне и других языках, вообще в своей работе не используют алгоритмы
Для мотивации согласен, а так алгоритмы все же нужны для более глубокого понимания кода. Так что лишними они не были.
hrenhren
29.07.2024 10:36Не нужно звать в айтишку всех подряд, там нет больших зарплат, средняя 150к это значит, что человек без горящих глаз будет получать меньше. Зовя всех редакторов и прочих людей кому нужны только деньги и ДМС вы увеличиваете предложение. В айти нет дефицита кадров, есть дефицит дешевых кадров. Айтишники инфантилы и свои профсоюзы организовывать не хотят. Они думают что все миллионы атишников и сотни тысяч выпускников курсов дорастут до сеньеров 500к наносек. Но реальность такова что ЗП айтишников сравнялась с зп курьеров, а у джунов ЗП меньше чем у водителей автобусов.
parmatosser
29.07.2024 10:36+5>искать формулы из математики за 5 класс
Какой-то буллщит, может другого работодателя поискать с реальными проектами? Ну там, данные обрабатывать, жсонами пиу-пиу делать? Мне за 10 лет ни разу не понадобилось ничего такого. Начинал тоже в 35. Большинство "программистов" сейчас крудошлёпят и учат фреймворки.
Ну и напоследок, питон это пакость, я б тоже ИТ невзлюбил, если б по 8 часов в день на нем прогал. Про C# / java выше правильно написали.
CrazyElf
29.07.2024 10:36+2Да что ж такое. Я вот люблю C# и Python, а Java ненавижу. И не думаю, что "гуманитарию" Java хорошо бы зашла.
PowerMetall
29.07.2024 10:36+4Я вот люблю C#
а Java ненавижу
Но... Как же так... )))
У него просто нет LINQ )))
freeg0r
29.07.2024 10:36Работал на ObjC и Swift, потом в компании мобайл проект перевели за океан, предложили Java. Сначала было диковато после современного синтакса Swift, но со временем понял, что Java, это не только
геттеры и сеттерысам язык, но и огромная окружающая инфраструктура, в большинстве прекрасно стандартизированная, как и сам язык, академичный подход в решениях, куча профильных просвятительных ресурсов. Плюс строгое типизирование. Сейчас в основном на Pythone пишу, ноутбуки в Databricks, или лямбды. Тоже норм. :)
parmatosser
29.07.2024 10:36Я начинал с c#, ушёл в java и ни разу не жалел. Микрософт - говно. И их потуги в поппенсорс и linux тоже.
Revolt-or-die
29.07.2024 10:36Так говоришь, как буд-то бы это плохо знать формулы математики за 5 класс. Да и понадобиться они могут в большом спектре задач, даже в той же обработке данных.
wows15
29.07.2024 10:36+1Я прогаю по 8 часов в день на питоне на протяжении более 3 лет. Интерес к айти все 3 года больше чем у вас и продолжает расти.
MaxRyazan
29.07.2024 10:36+4https://habr.com/ru/articles/768926/
Зашел в 36. Главное, чтобы был интерес именно к этой сфере
spirit1984
29.07.2024 10:36+1Добрый день. В свое время специально накатал статью об этом с советами именно для такого случая - Вы, похоже, начали не с того конца.
morokk
29.07.2024 10:36+2Извините за вопрос не по теме, но как иметь две работы и еще успевать учиться?
Thomas_Hanniball
29.07.2024 10:36+11Никак. Что автор и доказал на своём примере.
Пока автор работает на двух работах, условный школьник Вася за 3 месяца летних каникул прокачается лучше и быстрее, чем автор за целый год, тратя время на две работы и уделяя обучению лишь редкие минуты свободного времени.
aleks-th
29.07.2024 10:36+13Скажем так, многие хотят, чаще потому что видят зарплаты в 5 раз выше чем у условного продавца супермаркета или рабочего на сборке заказов. Или хотят потому что это престижно. Это перспективно и модно наконец.
А фигли давиш клавиши в тепле получаеш больше чем рабочий на холоде.
А потом сталкиваются с тем что это не так просто как кажется, и именно период обучения часть не правильно оценивают.
Скажем если ничем иным не заниматся то нужно на обучение год - два по 4 часа в день минимум закладывать для приемлемого результата. И потом еще пару лет зарабатывать меньше чем ты зарабатываеш сейчас если ты не студент конечно с первой работой.
Запомнить и гуглить недостаточно, нужно на уровне автоматизма понимать, и давать результат.
Пока там мозг отрастит связи между нейронами пройдет много времени по моим оценкам год-два точно нужно.
И вот как раз эта пропасть по времени( а среднестатическому человеку в это время еще и на еду зарабатывать нужно) и служит водоразделом, тренировался бы этот навык за пару месяцев, сейчас бы труд ИТ-шника стоил как труд продавца в пятерке 50-60к и никаких перспекив.
ajijiadduh
29.07.2024 10:36+2Мне было очень тяжело.
Мои знания росли в геометрической прогрессии. Но когда ты стартуешь с нулевого уровня, это не так уж и сложно.
???
vedenin1980
29.07.2024 10:36+3Эффект низкой базы, же. Условно, если у Васи есть стадо на тысячу коров, а у Пети одна корова, то если Петя купит еще одну корову - его рост будет 100%, если еще 2 - 300%, еще 4 - 700% (та самая, геометрическая прогрессия).
А если Вася купит 50 коров, то его рост будет жалкие 5%. Хотя по итогу у Пети - 8 коров, а у Васи - 1050.
sasha_semen
29.07.2024 10:36Всё-таки если добавлять по одной корове, прогрессия будет арифметической. Для геометрической надо удваивать стадо.
vedenin1980
29.07.2024 10:36Я сказал, сначала +1, потом +2, потом +4. Это именно геометрическая прогрессия.
Но вполне очевидно, что за относительно небольшое количество удвоений стадо будет достаточно большим, чтобы эффект низкой базы прекратил действовать.
xSVPx
29.07.2024 10:36+15Чего ты как гуманитарий огорчаешься-то ?
Тыж как минимум на нескольких языках говоришь, можешь спокойно ямбом писать мемуары, хорошо танцуешь и рисуешь, играешь на музыкальных инструментах, можешь в живопись, скульптуру итд итп. Этож круто.
Это они пусть завидуют. Тому, что ты умеешь "как гуманитарий" даже на уровне "джуна" гораздо труднее, а подчас и невозможно научиться, чем "войти в айти".
lair
29.07.2024 10:36+1Тыж как минимум на нескольких языках говоришь, можешь спокойно ямбом писать мемуары, хорошо танцуешь и рисуешь, играешь на музыкальных инструментах, можешь в живопись, скульптуру итд итп. Этож круто.
Любопытно. Я вот - гуманитарий, но из этого могу только говорить на нескольких языках (да и то не очень).
Интересно, откуда у вас такие представления о гуманитариях?
Refridgerator
29.07.2024 10:36А как вы узнали, что вы - гуманитарий?
lair
29.07.2024 10:36+1Ну, у меня все детство и юность были подозрения, но потом мне выдали диплом, и тут уже сомневаться стало бесполезно.
Refridgerator
29.07.2024 10:36+2Ну, у меня тоже есть диплом учителя. А ещё есть диплом электрика. А на работе написано "инженер". На хабре статьи про математику в основном. А дома 5 гитар и один синтезатор, может, я вообще музыкант, а программирование за деньги - так, халтурка.
lair
29.07.2024 10:36Все может быть.
Вы спросили, как я узнал, что я гуманитарий, я вам рассказал свой подход. А уж что вы про себя думаете - ваше дело.
(Но вообще, конечно, ощутимая часть моих знакомых гуманитариев мне тоже уверенно говорит, что я гуманитарий, не вижу смысла им не верить. Более того, коллеги с техническим образованием то же самое говорят периодически.)
xSVPx
29.07.2024 10:36+5Вообще из опыта и Википедии. Если ты всю жизнь специализировался на нетехнических аспектах бытия, то должныж быть достижения.
lair
29.07.2024 10:36Если ты всю жизнь специализировался на нетехнических аспектах бытия, то должныж быть достижения.
...неа, не обязательно. "Достижения" вообще есть не у каждого человека.
Но представьте себе на минуту человека, который всю жизнь посвятил истории, получил степень, выпустил десяток книг, преподает в некольких вузах. Обязательно ли он может то, что вы перечислили? Нет. Гуманитарий ли он? Да.
xSVPx
29.07.2024 10:36Это ведь про ТСа? Ведь про него, да :)?
Я всего, что мог бы уметь гуманитарий затрудняюсь перечислить, этого всего много очень. Но как правило преподающие историю и написавшие десятки книг кое-что могут даже и из моего списка. А если составить их список, то становится даже как-то еще более завидно :). Я, к примеру, чем дальше тем больше завидую некоему толкиену, который всякие истории о беовульфе цитировал во время лекций на память в оригинале.
lair
29.07.2024 10:36Это ведь про ТСа? Ведь про него, да
Нет, я про него ничего не знаю.
Я всего, что мог бы уметь гуманитарий затрудняюсь перечислить, этого всего много очень.
Ну... вообще, список того, что мог бы уметь любой человек - это очень много всего. При чем тут гуманитарии-то?
Но как правило преподающие историю и написавшие десятки книг кое-что могут даже и из моего списка.
Откуда у вас такое "правило"? Или вы берете самых известных людей?
Преподавание истории само по себе слабо связано с умением танцевать, рисовать, ваять, навыками игры на музыкальных инструментах и так далее. Это вообще продуктивные навыки, а не аналитические.
xSVPx
29.07.2024 10:36А профессора толкиена никто и не знает. Он совершенно безвестный человек, который всю жизнь кроме последних лет подрабатывал в летние каникулы репетитором в своем гараже (кабинет у него в гараже был). Вы можете сделать эксперимент и спросить у десятка человек какая самая известная РАБОТА толкиена как специалиста. И хорошо, если они вообще будут знать о его профессии, стране где он жил, где и что преподавал итп.
Как-раз он - хороший пример именно рядового гуманитария. Мог в языки, в стихи, в философию и историю религии. Много во что мог, что гораздо затратнее, чем "выучить питона" или "осилить логарифмы".
И я не верю, что он мог бы написать, что "мне не повезло, что я гуманитарий".
lair
29.07.2024 10:36Профессор Толкин, несомненно, был хорошим гуманитарием, и остается хорошим примером гуманитария. Но из списка выше:
Тыж как минимум на нескольких языках говоришь, можешь спокойно ямбом писать мемуары, хорошо танцуешь и рисуешь, играешь на музыкальных инструментах, можешь в живопись, скульптуру итд итп. Этож круто.
...он (насколько я знаю) на хорошем уровне знал языки, писал и рисовал (причем рисование предшествовало гуманитарному образованию; важно понимать, что творчество - не гуманитарное знание).
Так что даже он не соответствует этому высокому стандарту.
urvanov
29.07.2024 10:36Он может рассказать про то, как ездил на раскопки. Как выпустил свои книги. Как выступал на конференции т. д.
lair
29.07.2024 10:36Ну, любой человек, увлеченный своей областью деятельности, может рассказать про нее что-то интересное.
Меня-то интересовало, почему предполагается, что абстрактный гуманитарий, без какой-либо дополнительной информации о нем, попадает под
Тыж как минимум на нескольких языках говоришь, можешь спокойно ямбом писать мемуары, хорошо танцуешь и рисуешь, играешь на музыкальных инструментах, можешь в живопись, скульптуру итд итп.
Я знаю много талантливых людей, но не припомню ни одного, кто мог бы это всё.
ShamanR
29.07.2024 10:36+1Плюсанул, и ещё отдельно напишу, что очень тонко, браво!
Очень хорошая иллюстрация того что нет никаких гуманитариев и технарей.
xSVPx
29.07.2024 10:36Неправда, есть. Я знаю людей, которые "вот все вышеописанное + несколько высших". Но их, кстати знаю гораздо меньше чем "сеньоров" и им не западло совершенно ни таблицу умножения, ни интегралы. Но в целом да, они сходу хуже решают проблемы типа "какого сечения балка", зато лучше типа "как правильнее поступить".
Специализация бывает.
lair
29.07.2024 10:36Очень хорошая иллюстрация того что нет никаких гуманитариев и технарей.
Гм. Словарь с вами не согласен.
data_analyst
29.07.2024 10:36+8мой младший брат ML-разработчик уровня lead
А не легче и не логичнее всего было бы брата попросить стать Вашим ментором?
А так, какие-то метания без чёткой цели и плана. Потому и результат такой. Закономерный чуть более, чем полностью.
CrazyElf
29.07.2024 10:36+7Менторить гуманитария... Брат, наверное, не захотел )
lair
29.07.2024 10:36Если кто-то не захотел менторить человека только потому, что тот - гуманитарий... оно и к лучшему, не надо с такими менторами дела иметь.
Zenitchik
29.07.2024 10:36+6Не могу не согласиться. Менторить человека с нулевой базой должен специально обученный человек, а не тот, кто сам научился (не справится).
Gadd
29.07.2024 10:36+8Кстати, наблюдение - несмотря на то, что основным языком ML-разработки считается Python, для ML-разработчиков, да и вообще датасайентистам глубокое знание Python как правило не требуется. Зачастую основной их инструмент - Jupyter Notebook/Lab, плюс pandas, pytorch, etc... Когда задача - не писать код, а ставить эксперименты с данными и прочее (простите, не моя стихия), то часто бывает, что поверхностных знаний Python вполне хватает, губокое знание предмета и нужных библиотек гораздо важнее.
CrazyElf
29.07.2024 10:36+2Подтверждаю. Я немного варился в этой среде. DS-ы зачастую используют какие-то устаревшие конструкции языка, массово накопипащенные откуда-то. Чистота кода и глубокое понимание его им и правда не нужно. Им главное свои ML модели понимать.
grt_pretender
29.07.2024 10:36Чистота кода и глубокое понимание его им и правда не нужно.
Люди, которым потом приходится читать их код, с вами не согласятся)
Advisers
29.07.2024 10:36+6Начинать надо с мат. подготовки, конечно, если за плечами тех. вуз и по складу мыслей не гуманитарий - легче.
" Хотя матрицы я так особо и не понял."
- чтоб "понять" матрицы нужно не заниматься программированием, а взять учебник и задачник по линейной алгебре и его порешать..., для начала...
а потом можно почитать Кнута..., например.
Advisers
29.07.2024 10:36+2Если сразу не заходит с Питоном - начните с макросов на экселе, VB, с простых задач, но научитесь решать практичные задачи и формулировать задачи..., и далее по Питону - тоже решайте практические, полезные и интересные задачи, читайте форумы, если что-то не получается в решениях...
engin
29.07.2024 10:36Математики без опыта в написании софта к примеру считаются лучшими алгоритмистами и даже в состоянии создать свой абстрактный язык, как правило такие люди осваивают визуальные языки программирования с применением концепта автоматного программирования, это отдельная тема которой здесь на хабре было предоставлено "поле боя".
Advisers
29.07.2024 10:36+1Математика нужна, чтоб научиться думать, и опыт в написании софта придёт в процессе решения практических задач. Без знания математики (без умения думать) можно писать..., но писать плохо.
FilIvanov
29.07.2024 10:36+7Куда вы там все всё заходите? На одну вакансию по 200-1000 откликов. Зарплаты не растут, растут требования, вакансии работодатели не закрывают месяцами - ищут абстрактного гения в вакууме с компетенцией двоих-троих специалистов.
Количество вакансий и резюме (статистика с hh) чётко показывает дела в IT:dv0ich
29.07.2024 10:36+2По С++ число вакансий примерно стабильно, остальное пофиг :)
FilIvanov
29.07.2024 10:36+2Число вакансий Вы увидели, но не увидели рост резюме за прошедшие 4 года. Ещё пару лет - и там куча готовых мидлов, способных закрывать задачи и участвовать месте с Вами в борьбе за теплое место :)
Gadd
29.07.2024 10:36+4Курсы, лекции, статьи и прочая теория - это, конечно, хорошо. Но вот лично мне кажется, что после того, как набирается какой-то минимальный багаж знаний - нужно найти, к чему эти знания применить. Нужно подумать о том, какую задачу можно решить с помощью программирования - задачу нужную и полезную, если не себе, то хотя бы соседу. Ну или pet-проект начать. Но pet-проект - эта такая штука, которую очень просто бросить, не всем подойдёт. Я вот, например, не могу сидеть над одной и той же задачей, которая делается для себя, "в стол", больше пары дней, а вот над рабочими задачами - без проблем.
Я к чему это все - после получения минимума теории нужно закреплять эту практикой, остальная теория наберётся в процессе решения возникающих проблем. На всё это нужно тратить очень и очень много времени. Вот с временем в 35, к сожалению, обычно большие проблемы.
К слову, сам я всегда всем рекомендовал читать Лутца, но, что характерно, так его и не дочитал, даже до классов не дошёл.
Boilerplate
29.07.2024 10:36+2Проблема в том, что сам по себе язык программирования, это хорошо, но в аббревиатуре IT нет ни слова "язык", ни слова "программирования". Питон это хорошо, но если нет, например, понимания, что такое http запрос, отправленный с помощью питона, то цена знанию языка ноль. Или если нет понимания, что такое БД и как туда записать что-то из питона (про проектирование и не говорю). Ну и так по всему областям, которые изучаются в старших классах школы / в техникуме / в универе.
Попробуйте для начала пойти в техникум или платное ВО по IT направлению, чисто чтобы базу пройти вот эту вот всю. Прямо не по какому-то направлению (веб, мл, мобилки и т.д.), а именно по площадям - основы устройства ВС, алгоритмы, ос, бд, ооп, асм, сети, автоматы, компиляторы, а также разный матан: диф. исчесление, линал, тервер - всё подряд.На хабре много говорят, что такие знания общего профиля не нужны, но на самом деле это не совсем правда. Выпадение одной или даже нескольких областей не очень критичны для разраба по какому-то профилю, если именно эта область не связана с его областью деятельность. Но если провал по всем областям, то это видно буквально с момента, как вы откроете рот. Вы просто путаете в таком случае Гегеля с Геделем, и о чём с вами тогда спать?
Gadd
29.07.2024 10:36+1что такое http запрос, отправленный с помощью питона, то цена знанию языка ноль. Или если нет понимания, что такое БД и как туда записать что-то из питона (про проектирование и не говорю). Ну и так по всему областям, которые изучаются в старших классах школы / в техникуме / в универе.
Всего этого вполне можно набраться, решая проблемы pet-проекта - мой опыт был таким. Но для этого нужен реальный интерес к кодингу, а не к деньгам, когда отрываешь голову от проекта, а вокруг - ночь и все спят, а у тебя ещё столько планов, которые ты хотел успеть перед сном.
А вообще, по этому поводу я люблю повторять, что ЯП - это всего лишь азбука, но кроме неё есть ещё и ядерная физика, органическая химия и астрономия.
olegl84
В IT много разных профессий кроме программиррования. Кроме этого я бы посоветовал бы попробовать другие языки. Я в индустрии более 20 лет, и 30 лет увлекаюсь программиованием, и из всех языков что знаю Python мне нравится меньше всего. Из современных мой любимый C#, но так как сейчас я работаю в web, то тут рулит PHP, особенно с учетом как стремительное развивается Ларавел и проекты вокруг этого фреймворка. Я лично считаю что первый язык программирования должен быть C. Он дает возможность говорить непосредственно с машиной и в этом заключается магия программирования. Вторая магия программирования это когда твой код хорошо структурирован, это как чистаю, убранная, фукнциональная комфортная комната. Python этого лишен из-за своей слишком динамической структуры, которая хорошо работает для людей которые не хотят погружаться в программирование, например ученые из других оюластей, но плохо работает на больших и очень больших проектах.
CrazyElf
Python
- универсальный язык. Библиотеки на любой вкус, позволяющие "на коленке" слепить работающий код почти для любой предметной области. Очень удобно что-то пробовать на нём, экспериментировать, благодаря тому, что есть интерактивный питон, и особенноJupyter Notebook
. У меня "профессиональный" язык тожеC#
, а наPython
я люблю экспериментировать, исследовать, делать прототипы. Очень удобный язык, если его правильно использовать.Newbilius
А вот просто из любопытства, встречали ситуации, когда какая-нибудь популярная библиотека есть для Python, но не для C#?
aleaksah
C# очень гибок в плане использования внешних библиотек, ситуация где доступна библиотека для питона, но не для шарпов может случиться только со специфично-питоновыми библиотеками, вроде pyplot или numpy
printf
Django :)
SukhovPro
Это всетаки фреймворк, а не библиотека.
lair
Pandas?
bak
Не то что отсутствуют, просто есть сферы где принято все делать на python, и инструменты намного лучше под него заточены (например machine learning, не значит что на c# его нет, но на python его больше и проще).
Аналогично есть сферы где обычно пишут на c#, например мобильные игрушки (да, есть всяки pygame / kivy / etc. но до unity им как до луны).
asurlot
Большинство библиотек для машинного обучения написаны только для Python
GoDFlameTM
Я твой фанат Дима! ))))
KirpaPuto
У человека нет интереса к программированию. Ну вот нет и всё.
CrazyElf
И вот чем можно пробудить этот интерес, если учить программировать на
C
? А вот наPython
можно по-быстрому нарисовать красивые графики. Написать телеграмм-бота. Предсказать погоду там я не знаю. Буквально в несколько строк кода.rpc1
Мне наоборот C очень нравился, можно было любые низкоуровневые штуки делать, работать напрямую с оборудованием, драйверами, библиотеками. Но С более user friendly чем тот же ассемблер.
CrazyElf
Ну, когда-то давно я тоже начинал с Asm и C. На Asm я вообще что-то графическое даже рисовал. Но тогда и не было ничего более высокоуровнего удобного. Сейчас нет смысла на это время тратить, Asm я забыл и не вспоминаю, он остался именно что нишево для работы с определённым оборудованием и т.п. Этим не всякого можно заинтересовать )
Sequoza
Ага. Классный совет (нет). Перед тем, как писать низкоуровневые вещи нужно разобраться что вообще происходит и как оно работает, что займет уйму времени и гарантировано убьет мотивацию. А она, как мне кажется, вообще самая важная вещь в учебе.
rpc1
Контекст конечно другой, когда я взялся за C (еще в школе), мне было интересно и соответственно мотивация совсем другая. В 35 лет, я бы сам не стал разбираться с ним :)
UFO_01
Тоже пишу на С, под микроконтроллеры. Имхо, советовать С как первый язык для изучения я бы вообще не стал. Лучше взять какой-нибудь более высокоуровневый язык (да тот же питон, я поначалу на него с паскаля перешёл), понять так ли оно тебе надо, разобраться что куда, как это вообще работает, потом понять что тебе интересно, и уже потом, если необходимо, углубляться в недры низкоуровневых вещей.
killyself
Это и правильно. Одно дело когда в крови интерес к проге, и особенно к железу - другое когда его нет. Я вот хотя и интересовался прогой с подросткового возраста, ся и паскаль недолюбливал как раз из-за их низкоуровневости (хотя еще и не зная такого понятия) , а вот джава потом зашла на ура с концепциями ооп
Rsa97
На тостере регулярно появляются такие начинающие изучать питон сразу с бота. И по вопросам видно, что код просто скопипащен с какого-то урока, а человек не знает базовых операций языка и не понимает, как в принципе работает то, что он скопипастил.
Всё-таки для начала стоит изучить сам язык и основы программирования на нём (то, что программирование, в принципе, безотносительно к языку, придёт со знанием нескольких языков). А изучение основ будет идти, скорее всего, как раз через небольшие и, в общем, скучные задачки.
CrazyElf
Ну, это в общем вопрос диалектический - как заинтересовать человека чем-то развлекательным, но в то же время и обучить чему-то серьёзному. Мне в своё время очень нравился Basic на Yamaha MSX/2, на нём были спрайты и можно было игрушки прям писать. Это было очень увлекательно. И гораздо интереснее, чем просто так какие-то числа считать. )
kdbot
Интерес может и появиться. Возможно просто не хватает вызова, который может дать практическая задача. И, как мне кажется, человек еще не определился что можно делать с инструментом, который он изучил. Обычно есть задача и изучают для нее инструмент, а курсы не дают подобного - они могут научить пользоваться инструментом, но не дают реальных задач. Хорошей идеей, как мне кажется было бы решеие совместно потоком обучающихся реальных задач из агрегаторов типа хабр, qwork и т.п. и работой в группах и выплатой заработанного на команду победителя. Но как подобное реализовать не знаю. Но интерес к учебе это бы точно подогрело и показало реальную применимость навыка.
atues
Точно! А на географии рассказывать, что земля покоится на трех слонах, стоящих на черепахе. И на физике рассказывать, что Земля - центр мира, а Солнце, планеты и звезды вращаются вокруг нее.
Вряд ли C зайдет абсолютному новичку. Он просто не поймет ценности и значения этого языка. Для него - это набор заумных идей, которые невесть откуда взялись и не пойми как их использовать. Исключения случаются, наверное. Но для большинства - это путь в тупик
Octabun
Как-то не убеждает. Sdl. WebAssembly или Wt. Unreal Engine или Godot. NDK. Модули Python, в конце концов.
Какой же это тупик? Можно прекрасно и самому учиться и других учить. Я и сам могу придумать много возражений, но они сводятся к двум - С без С++ как-то не очень и у C/C++ отвратительный тулинг. Хороште курсы снимают обе проблемы, и неторопливость в обучении тоже снимает обе проблемы.
И как-то тяжело, тупо из общих соображений, поверить, что любой язык из тех, которые во всех топах, может не подходить и/или вести в тупик. Я понимаю, это совковое наследие - стремление быть умнее системы и ни в какие рейтинги не верить, и оно донимает...
Если бы у меня был прилив лихости, я бы тоже мог сказать
ибо какое-то время и эту позицию можно защищать, а от того что Julia ведёт в тупик - скорее всего и защитить.
Gadd
Если у человека есть интерес, тяга и способности к программированию со школьной скамьи, а так же план развития, как программиста - то однозначно да. Во многих остальных случаях это может быть неоправдано или даже сделать только хуже, отбив интерес к программированию напрочь.
AlexMih
Это подход Ричарда Фейнмана. Иногда его спрашивали: "А вы понимаете, что ваш курс "Фейнмановские лекции" могут полностью понять от силы пять процентов студентов?"
"Да", говорил он. "Их я беру к себе в лабораторию. А остальные меня не интересуют".
Zenitchik
А я "Фейнмановские лекции" открыл и закрыл, потому что стиль изложения "для тупых". У нас только один препод в таком стиле читал, и его предметы все студенты называли "Сказками фамилия_препода".
AngryPinguin
Ну, давайте разбирать.
А я так не считаю, хоть первый язык и был монстр под названием C/C++, который в школе и вузе давали.
И теперь я расскажу почему.
Потому что для новичков - нифига не понятно. Никакой "магии общения с машиной". У тебя то компилируется, то не компилируется, если скомпилировалось - упадет, но почему - да хрен знает, сиди printf-дебагингом занимайся
Туллчейн, в котором у тебя во время сборки сообщения вида %TEMP__sdx__0x10000FUCK_YOU_x42 NOT IMPL LYNC NOT FOUND% а ты сиди-кури
100500 способов прострелить себе ногу, и даже не заметить этого
Тривиальные вещи - делаются с такой болью, что тебе уже пофиг на результат, тебе просто хочется выкинуть это все дело к чертям, купить билет до Страуструпа и авторам gcc и серьезно поговорить с ними на филосовские темы
Наимерзотнейший стандарт
UВ на UB и UB погоняет, живи с этим как хочешь
STL(да это плюсы, но все равно), которую писали так, будто ненавидят всех кто будет ей пользоваться
И, вот при всех таких вводных - Java, питон, шарп, да любой язык более-менее современный, который взял, и просто именно что учишься. Делаешь свой 100500 туду лист, 100500 компилятор, 100500 веб сервер, базу данных, да что угодно, и занимаешься РАЗРАБОТКОЙ, а не танцами с бубном вокруг вот этой всей фигни.
Ну, если уж не Java-питон-шарп, то хотя бы паскаль. Паскаль, если отбросить то что не применяется сейчас особо в проде - не обладает вот этими вот интересностями си-плюсов, имеет нормальный туллчейн, и при желании - хоть низкоуровневые вещи, хоть высокоуровневые. Отличный язык.
Sunny-s
с arduino/platformio в наш мир вошла очень юзер-френдли среда разработки на сях, с удобным подключением библиотек и громадным комьюнити, которое эти библиотеки пишет. Тем более что программирование микроконтроллеров это в принципе более осязаемая штука - пара строчек - и вот уже серва вращается, повинуясь твоему разуму, ну не здорово ли? ))
printf
Всё перечисленное это достоинства.
Нет, правда, тяжело в учении — легко в бою. И наоборот, учить первым языком Питон конечно очень легко, а в проде потом память течет, тривиальные вещи делаются с мучительной болью, легаси код выглядит как говно, и поскольку во время учебы ничего этого не было, то и справляться с этим фигурант не умеет.
MountainGoat
Кроме случаев когда, как в каком нибудь фентези, обучение переживает один из пяти.
printf
Один из пяти на выборке из трудоспособного населения это очень много. Мне кажется, обучение электродуговой сварке успешно закончит один из пяти. :) Разработка ПО немного сложнее.
Это характеристика профессии. Вы бы не хотели на прием к зубному, который сдавал практику на куклах Барби, т.к. на человеках ему сложненько.
Sequoza
Вот прям совсем нет. Подход "кинуть в озеро и смотреть кто начнет плавать" выявит тех, кто может быстро учиться, но не "лучших" в своей сфере.
Вы предлагаете сдавать практику сразу на людях, у которых есть множество особенностей, которые влияют на исход операции, но никак не относятся к закреплению определенного навыка практического занятия.
Утром неофит начнет писать Hello world на C, а вечер может закончить чтением структуры elf файлов. И каждый раз, когда у него будет что-то не получаться, он будет нырять в эту бесконечную кроличью нору, не сулящую ничего, кроме потерянного времени и разрушенной самооценки.
Лучшая стратегия, имхо, начинать с простого и решать по одной проблеме за раз. Когда не будет хватать питона/JS/java, тогда можно взглянуть на что-то более сложное.
printf
Разрушение самооценки это прекрасно. Нам всем пошло бы на пользу чуть меньше самооценки, на мой взгляд. Особенно тем из нас, кто с трудом пишет хелловорлд на Си — на этом этапе немного комично обладать высоким самомнением (применимо к предметной области).
Считать ли учебу потерянным временем? Конечно считать, тут спорить не буду. :)
Когда не будет хватать питона, как жертва вашей методологии «начинать с простого» должна это понять-то. Человеку не придет внезапно в голову мысль про арифметику указателей, если он не знает что это.
orenty7
Не понимаю как это можно не понять. На собственном примере: было интересно как всё внутри работает, быстро понял, что без си никак. Открыл K&R, пошёл читать
Sequoza
Есть разница между "чуть меньше" и "почему я такой тупой не и могу это освоить". С теми, кто начинает свой путь с C/C++ второе случается чаще.
Я не имел в виду учебу в целом, а трату времени на детали, которые важны в данной ситуации, но они отвлекают от понимания самой концепции.
Также как, как это делают 90% программистов - гуглят или спрашивают нейронки.
Это дохлый номер. Информации, которой необходимо оперировать стало слишком много, для одного человека. Подход столкнулся с незнакомой вещью и начал её изучать - губителен. Пару десяскоов таких хождений - и мы уже на такой глубине этого "дерева знаний", что рискуем не приступить к основной деятельности - собственно, программированию.
Когда-то я увидел вот этот xkcd:
How to learn с++ in 21 Days
и задался вопросом, да ладно? Теперь я проклинаю тот день.
Zenitchik
Не думаю. Когда нашу группу будущих инженеров туда загнали, все поголовно выучились на 3 разряд. А некоторые - на 4.
orenty7
Не обязательно ведь ограничиваться питоном. Мне в своё время его простота помогла быстро понять базовые концепции и перейти к более продвинутым языкам.
ruslan_sverchkov
можно развить эту мысль и заставлять новичков писать бинарники руками, ассемблер и прочие высокоуровневые тулы это для слабаков, тяжело в учении — легко в бою)
printf
Великорусский родной язык дан нам не для такого уровня аргументации, я уверен.
Yura_PST
Какой то странный разбор.
С - простой язык, содержит исключетельной простейшие конструкции: циклы, условия, функции. Даже арифметика указателей не сильно сложная тема.
Учебные программы на тему различных математических вычислений и работой со строками, на мой взгляд, идеальные задачи для изучения программированием.
Где тут в обучающих примерах можно найти хоть намек на UB не понятно. И STL в С тоже нету.
MountainGoat
Проблемы с С начинаются после того, как ученик написал свой первый цикл и захотел сделать хоть что-то хоть условно полезное. Он гуглит "как на С прочитать текст из DOC файла и как послать HTTP запрос" а там такое... Во первых, инструментария для работы с библиотеками нет, всё руками. Во вторых, эргономика у этих библиотек: там везде void* указатели, тут везде указатели на функции, кто в лес кто по дрова...
Большинству новичков С придётся быстро бросить - так зачем было начинать вообще?
Yura_PST
Базовые принципы программирования, синтаксис, на основе которого основано огромное количество языков.
Zenitchik
Базовые принципы и синтаксис можно изучить вместе с любым из пресловутого "огромного количества языков". Ни к чему использовать для этого Си.
GBR-613
С прекрасен, за исключением того, что в нем слишком много способов выстрелить себе в ногу. Начинающего это будет сводить с ума.
Если бы я открыл курсы, то в 1 семестре я бы учил основы Питона, а параллельно - основы архитектуры, двоичную логику и т.д., на втором - С, и параллельно функциональное и ООП па примере того же Питона.
Sunny-s
функциональное тогда уж на скале какой нибудь ) питон как то не очень
wert_lex
Не надо учить функциональное по скале.
Скалу я конечно нежно люблю, но там очень быстро нащупывается дно и ограничение того, как это в скале реализовано. Я на скале не пишу уже достаточно давно, но когда писал самый толковый путь нормально изучить функциональное программирование на скале был сначала изучить хаскель.
GBR-613
Не надо издеваться над новичками. И не надо слишком много языков сразу. Python c его map(), filter() и т.д. достаточен для того, чтобы понять, что это за зверь такой: функциональное программирование. Все остальное пусть осваивает потом, если понадобится (а абсолютному большинству не понадобится).
orenty7
del
kuza2000
Не соглашусь. Си хорош вторым языком, после ассемблера :)
Ну, по крайней мере, у меня было так :)))
ZhetoN
нулевой забыли упомянуть, начинать нужно с машинных инструкций для PDP-11 в восьмеричном представлении )
fen-sei
Тогда уж, сначала с паяльником создать свой тёплый ламповый компьютер, и программировать его переключая тумблеры. ^__^
ZhetoN
вы преувеличиваете, там всего 30 с хвостиком опкодов, в восьмеричном виде очень удобно, почти ассемблер, просто нужно все переходы нужно самому считать что в итоге мне кажется положительно сказывается на понимании
satmaelstorm
Эк сразу. Начинать надо с машины Тьюринга :-)
fen-sei
DnvMaster
Laravel класный фреймворк. Стоит только понять его принцип работы, и сним ох как легко. Много чего не нужно вручную писать. Модели , Миграции, контроллеры маршруты, консоль и композер это потрясающее.