Комментарии 158
Смотришь на человека и думаешь «ты же супер спец, что ты здесь забыл??». А ничего не забыл. Просто нигде больше не ждут. Или просто состыковаться не могут…
scrapers.space/seniorvsjunior
Нужны, по цене middl'ов.
Вы смеетесь? Работы за бешенные деньги просто задницей ешь. У меня за последние несколько месяцев не было ни одного отказа при запросе $17k/мес. (это очень высокая цифра для моего города, почти втрое выше миддла). Некоторые даже предлагали больше, чтобы перекупить.
У сениоров все намного лучше, чем у миддлов — рынок более голодный в этом сегменте.
Если вы работаете в команде, где готовы платить и работать — будет отличный код.
Если платить и работать не готовы, хоть кто там будет писать код — получится дрянь.
Выйти тоже не мало. Знакомый айтишник стал сам варить мороженое и торговать им. Занимается тем, чем любит (после 15 лет работы). Чел капитально вложился, даже курс на 300 (или 400) часов обязательный даже-если-ты-все-умеешь прошел.
Я бы забил на все, и работал с деревом, резьма очень расслабляет и сделал бы небольшую кузницу где бы ковал классные ножи до кучи.
Другая знакомая полностью забила на айти и просто "руководит" своим мужем (который свою фирму недалеко основал 3 или 4 месяца назад), тусуясь с детьми дома, посещая автошколу.
Не надо входить в айти. Тут количество желающих войти превышает все разумные пределы.
Может вы тогда моему бывшему начальнику это объясните, который уже пол года ищет DevOps'а высокого уровня и не может найти? И шансов у него нет.
Алгол, фортран, Пл1 и ассемблер 360/370.
Очень популярный в те далекие времена путь.
После ассемблера 360/370 любой другой язык можно и не учить, достаточно справочника
Мой путь (88 года рождения)
(*) на самом деле на этом этапе в школе нам вдалбливали Fortran-77 (редакция 1980-го года), причем подавали его как суперсовременный язык программирования, на котором пишут все-все-все физики и математики, и без которого нам в ВУЗе делать будет нечего. Ну, история нас рассудила, непригоддиллса!
При этом в отличии от Pascal его реально используют в современно разработке, то есть это знания которые реально пригодятся, а не обучение ради обучения.
Какая мотивация будет у думающего студента учить «мертвый» язык?
Но зачем человеку привыкать к вашему паскалю, если он может сразу изучать то, что даст ему хлеб.
* Начать изучать программирование на простейших примерах, даже без функций вообще
* Потом изучить процедурный подход
* Потом изучить основы ООП
* Потом изучить основы функционального подхода
И все это в рамках ОДНОГО языка, то есть можно показывать решение одних и тех же задач разными подходами.
А в качестве плюса — огромная библиотека позволяющая решать реальные задачи в разных сферах, то есть сразу показывать не абстрактные непонятные задачи, а вполне реальные, типа того же парсинга сайта или работы с графикой, или даже простой 2-Д геймдев (На Курсере есть замечательный курс где как-раз изучают основы, делая простые игры).
Кроме того, на этом же языке можно изучать работу в современных IDE, методы тестирования кода, и многое другое, так как все это под него есть, так как он активно используется в коммерческой разработке.
И еще, что очень важно — огромное сообщество, создавшее огромное количество справочного материала — на практически любой вопрос новичка на СтэкОверфлоу уже есть готовый ответ.
Можно с C# начать, тогда можно не месяц, а хоть целый год ему посвятить. Языки с динамической типизацией, имхо, нельзя новичкам давать.
Забыли про старый добрый Basic. Есть еще живые свидетели сего чуда? Откликнитесь, Ау-у...
Ура! Я не один такой :) Но в 2000-х был Гугл! Это уже цивилизация. Когда я писал на Basic'е — у меня был ПК "Сура" пензенского производства. И Гугла еще не существовало. Отличный был интерпретатор. На нем я и начал заниматься программированием.
ru.wikipedia.org/wiki/ZX_Spectrum
Собственно, почему был выбран VisualBasic? Потому что запускался на любой машине з Windows, и я посчитал, что каждый valenok © сможет разобраться в моём быдлокоде (благо я на комментарии не скупился) и дописать всё необходимое себе. В результате в первую неделю люди без моего участия дописали и скачивание через proxy, и ещё чёрт знает что.
Так что Бэйсик ёще может дать чаду в умелых руках ;-)
Но с другой стороны, я отлично осознаю, что это скорее всего проявление синдрома утёнка, и аналогично вижу проявление синдрома утёнка в предложении изучать Паскаль сейчас.
Без обид.
Но вообще-то я сказал именно то же самое — если мне так кажется, вовсе не значит, что это действительно так. Стоит отлавливать у себя синдромы утёнка и пытаться подбирать решения по более объективным критериям. А им неплохо соответствует Питон.
Не понимаю, с чем вы спорили вообще.
На нормальных кафедрах в ИТМО паскалю не учат. Так что так себе секрет:)
Чтобы потом получить мучительное переучивание на С++ — и горы говнокода, где С и С++ перемешан?
которые дают саму суть программирования
Да не в этом суть современного программирования, уж извините… Вся эта низкоуровневость 90% разработчиков низачем не нужна, важнее уметь декомпозировать проблему, построить внятный логичный алгоритм для решения задачи, написать красивый (простой и понятный другим людям) код, а не с указателями извращаться
Паскаль очень прост и интуитивно понятен
for i:=1 to 15 do
begin
if /* господи, как же пишется if на паскале?, забыл уже всё... */
end
versus
for (i=0;i<15;i++) {
if (!!вырвиглазная конструкция с указателем на указатель на указатель) {}
}
Тут надо на самом деле понимать, кого обучают программированию.
Если это гик, которому это всё интересно и нужно — он скорее всего уже сам знает больше того, что ему предложат на курсе. Он пойдет и договорится с преподом… если препод адекватный — ему повезло, они договорятся.
Другое дело, если это человек, которому программирование в общем-то нужно как собаке пятая нога, как инструмент, который поможет ему решать какие-то свои задачи, которые могут быть очень далеки от глубин кроличьей норы. Такого человека все эти безумные скобочки, весь тот гиковский синтаксический сахарок только запутает и напугает.
P.S. Ах да, самое главное при изучении паскаля — вырвать из учебника страницу с упоминанием goto. Вырвать и сжечь!!!
Я, как человек покусанный SICP'ом, предпочел бы Scheme.
После ВУЗа последовательно взял несколько курсов и только они поставили мозги и руки на нужное место. В основном это были открытые курсы от Стенфорда: по базам данных, алгоритмам, криптографии, конечным и бесконечным автоматам, сетям, компиляторам, машинному обучению.
Вообще путь в программирование, зависит от образа мышления и желания.
И путь в веб-программисты совсем другой, чем путь в программисты микроконтроллеров.
Basic — это классическая вещь. Кто-то скажет "фу", а на самом деле очень простой способ научиться алгоритмическому мышлению. Конечно, к ООП он никакого отношения не имеет, но зато на нем сможет писать даже 8-ми летний школьник во втором классе. Ну хорошо, может в третьем )
А по ассемблеру — мало кто понимает, что это фактически набор процессорных команд. На ассемблере могут писать лишь гуру, понимающие весь стек системных технологий. По сути, любой язык программирования в результате компиляции приводится к ассемблерному коду, поскольку только его понимает ПК.
По сути, любой язык программирования в результате компиляции приводится к ассемблерному коду, поскольку только его понимает ПК.ПК понимает машинный, а не ассемблерный код. Также, «любой язык программирования» (в т.ч. и асм) «приводится» к машинному коду.
Пусть язык ассемблера и близок к машинному коду, но всё же он созданый для людей.
Глобальность области видимости бэйсика может научить плохому. Да и пресловутый GOTO
может сыграть дурную шутку
Странно что Бейсик никто не вспомнил
Потому что для учебных целей он недостаточно строгий, по сравнению с Паскалем.
Кроме того, обычно не планируется изучать в дальнейшем Фортран (перед изучением Фортрана, полезно потренироваться на Бейсике, и тогда Фортран будет учить очень легко).
В статье указаны плюсы высшего образования, могу привести ещё один — при желании поработать и пожить в других странах отсутствие диплома может стать серьёзным препятствием для получения долгосрочной визы.
Когда я иммигрировал, можно было вместо диплома предоставить опыт в нужной области и референсы от клиентов, начальства и коллег, не ниже должностью. И это виза на перманент резидент, с рабочей должно быть проще. Возможно, в вашей стране всё сложнее?
— вуз — это престиж, принадлежность к людям с высшим образованием, и одни деньги тут ничего не решают
— вуз — это будущие контакты и связи
— вуз — это единственно возможный выход в научную среду
— вуз — это БАЗА, полная база комплексных знаний: от теории алгоритмов и матана до основ права и умения читать нормативно-правовые акты
— вуз — это шанс получить доступ к работодателям, не хватая звёзд с неба, по-прежнему в институты приходят запросы на вакансии
— вуз — шанс попасть в какую-нибудь программу-стажировку и т.д.
Да и время это прикольное, эмоции крутые, студенческая жизнь как приятное дополнение.
Я вижу, много людей пытается рационализировать годы, впустую потраченные на 'прикольное время и крутые эмоции'. Поверьте, мне тоже нравилось бухать по общагам и лазить студентам под юбки. Но мы же говорим о пользе Вуза, верно? На 'точный комментарий' я уже ответил выше. Вам я могу сказать, что я в этом году взял курс в университете, это было потерей времени. С Курсерой или EdX вообще никакого сравнения.
нравилось бухать по общагам и лазить студентам под юбки? :-)
Например, в нашей компании нет ни одного сотрудника, не имеющего высшего образования. Просто мы не принимаем таких людей на работу. Интересно, это сильный аргумент в пользу высшего образования?
Это аргумент не в пользу вашей компании.
Сильно сомневаюсь. Аргументируйте, плиз!
Вам шашечки или ехать?
Мне предлагал работу учёный суперстар, с публикациями в Science, при этом у меня профильное образование только специализация на Курсере. Если ваша фамилия не Брин, то он для меня больший авторитет, извините.
Я говорю, основываясь исключительно на собственном опыте. И не претендую ни для кого быть авторитетом типа Брина или кого-либо еще. При этом, прекрасно осознаю, что в мире много успешнейших людей, не имеющих не только высшего, но даже и законченного среднего образования. Однако утверждаю, что высшее образование, независимо от того, соответствует ли полученная специальность выбранной потом стезе, поднимает общий уровень развития человека даже в общих знаниях. Человек смотрит на мир другими глазами — глазами понимающего человека и может быть более эффективным. Возможно это зависит от уровня раздолбайства в студенческие годы, возможно от уровня самого заведения. Но факт есть факт — сужу по себе и своему кругу знакомств.
Всё очень сильно изменилось и меняется каждый день. Когда я учился, интернета не было, например. Ваш и мой круг нерелевантны для оценки эффективности сегодняшнего образования.
Ну, я еще не так стар, чтобы все мои наблюдения канули в лету :)
Кроме того, мой сын сейчас заканчивает 11 класс и перед ним стоит задача выбора ВУЗа, так что эта тема сегодня весьма актуальна для меня и волей-неволей приходится в нее погружаться последние полтора года.
А по поводу полученных знаний в ВУЗе — нужно различать фундаментальные знания (которые даются в ВУЗах) и узкие практические навыки, которые человек получает либо на специализированных курсах, либо в боевой практической обстановке (в реальном бизнесе).
Mудрые люди, однако, все с вышкой наверное :)
Я сейчас понимаю, что мой тезис был неверно мною сформулирован. Я должен его скорректировать. Его смысл не в том, что мы не берем людей на работу без высшего образования по принципиальным соображениям. А так получается. На собеседования, понятно, приходят разные люди и есть законный конкурс. При этом проходят дальше и остаются с нами именно люди с высшим образованием, поскольку оказываются сильнее как кандидаты. При этом какое именно у человека образование — это на третьем или четвертом месте в рейтинге важности. На первом всегда значатся навыки, квалификация и стабильность кандидата. Если же придет "Звезда" без образования вообще, у такого кандидата будет приоритетное положение. Но на моей памяти звезд без высшего образования к нам не заглядывало… :)
Знания нужны, знания.
Плохо то, что это превращается в самоцель. Ты должен сдать предмет, потому что должен сдать, должен знать именно этот материал или инструмент. К этому добавляются преподаватели типа тех, которые считают, что их предмет должны знать все и читать учебник каждый день перед сном, это ведь несложно (случай из личного опыта). Или ситуации, когда успевающего студента могут отчислить из-за физкультуры. И это все тянется несколько лет. На мой взгляд, это неправильно, надо что-то менять.
И как в вузе заинтересовывают и дают попробовать?
Никак не заинтересовывают. Дают информацию и задания, то есть возможность узнать. А интересоваться дальше или нет вы сами решаете.
От самостоятельного изучения это отличается тем, что самостоятельно человек может просто решить "не хочу, не нравится, непонятно". Вы ведь не изучили тервер заранее, а он вам понадобился.
еженедельные рефераты по истории, лабораторки по химии и прочие «очень нужные» предметы
С этим я согласен, в вузах много лишнего, что можно сократить.
Поэтому взрослый человек, которому ценно свое время и другие ресурсы, за знаниями вряд ли пойдет в вуз
А речь не про взрослого человека с готовой профессией после техникума, а про школьников, у которых профессиональных знаний еще нет.
Сейчас мне например понадобились знания, базовые, которые преподают в вузе, например мат анализ, алгоритмы, тервер
Но вы знаете, что эти области есть и зачем они нужны в вашей профессии. Кроме того, у вас есть знания, которые вы получили в техникуме. Вы же не считаете, что техникум вам ничего не дал? Вот вуз дает все вместе, это плюс. А то что есть ненужные предметы, это минус.
Только те годы, когда ты учишься в ВУЗе — когнитивные способности на пике.
А в те годы, когда ты уже, не имея вышки, задумываешься о получении этих знаний другим путем — когнитивные способности не на высоте.
Проблема в том, что в те годы, когда учишься в ВУЗе — когнитивные способности на пике, а мозги и жизненный опыт в эпсилон-окрестности нуля. И очень часто в одно ухо влетает, а в другое вылетает. И гулянки-вечеринки важнее, чем учёба.
Но вот потенциальная пластичность мозга уже похуже.
А из чего вы делаете такие умозаключения? Я часто сталкиваюсь с этим убеждением в разных форматах: в 18 лет самая быстрая скорость усваивания/большая пластичность мозга/большой IQ/…
При чем такого понятия как "пластичность" беглый поиск не дал. Зато есть "нейропластичность", и не очевидно что оно коррелирует со способностью обучаться.
Накопленный жизненный опыт никуда не девается — вас есть память, в которой существует множество ассоциаций (связей).
И чем мозг старше, тем он более опытнее в том, как с минимальными расходами упихнуть новые сведения в рамки уже существующих ассоциаций — ведь проще создать 10-20 связей с уже похожими, уже известными вам понятиями, чем создавать 10-20 тысяч связей для описания того, что вы изучили новое.
Это энергетически и биологически дешевле.
Из этого возникает проблема, что новое знание, которое вы изучили, привязав его к уже известным старым ассоциациям, связано с ними настолько прочно, что и применять его вы хотите старым известным способом — по наезженной лыжне, потому что вам так комфортнее, привычнее, надежнее — то, что называется «зашоренность» или непластичность.
это как? второе заведение не ВУЗ?
согласитесь, странно изучать Windows Server 2003 или Pascal в 2017 году
Странно быть стильно-модно-молодежным Angular разработчиком, и на слова " у тебя течет виртуальная память в приложении", пожать плечами и сказать «а что такое виртуальная память».
Язык не более чем инструмент, а при изучении, чем он проще — тем лучше.
Хочу уточнить, есть простые языки, а есть легкие. К моему мнению, простой язык, это Си: что написал — то получил, не никаких неявных состояний, каких то магических функций и других, с точки зрения прозрачности, вещей. К легким языкам, могу отнести Python. Нет избытка синтаксиса ( я не о скобочках), простая структура, некоторые стили программирования уже в коробке.
простой язык, это Си: что написал — то получил, не никаких неявных состояний, каких то магических функций и других, с точки зрения прозрачности, вещей
Вы точно про С? Вы на нем писали вообще? Способов запутать код или получить undefined behaviour там больше, чем где угодно еще (кроме С++ конечно).
А насчет «undefined behaviour» и различных «стреляний:
Да, на С++ очень просто выстрелить себе в ногу. Даже множеством разных способов. Но для некоторых людей это плюс. Возможность выстрелить себе в ногу предполагает возможность стрелять вообще куда-угодно, как-угодно и сколько-угодно.
Да, результаты могут быть ужасными.
Но и мощь устрашающа.
Способ первый — полное самообразование
При кажущейся абсурдности абсолютно возможный способ.
Что-то? Абсурдный способ?
По моему глубокому убеждению — это самый лучший способ. Когда ты понимаешь нужность знаний лично для себя, когда понимаешь какую выгоду ты от них получишь — только тогда знания воспринимаются и запоминаются. Все остальное — в одно ухо влетело, из другого вылетело.
Единственное о чем нужно побеспокоиться при самообучении — чтобы был человек, к которому можно было обратиться с советом. Но и если знакомых нет — могут выручить форумы и сервисы ответов-вопросов.
P.S. Сам в жизни менял профессию два раза. И с самообучением просидел ни один год. После самообучения годы проведенные в школе и техникуме вспоминаю как просиживание штанов. Конечно, какие-то полезные знания они дали, но по эффективности знания/время — в глубоком дне.
P.P.S. За программировании на паскале и тому-подобных языках готов бить преподавателям лица. В техникуме, когда нам на программировании давали бейсик (обычный, не visual) — я с детской наивностью хотел на нем написать свою игру. Сколько часов потратил… но на этом убогом инструменте невозможно было создать что-то стоящее. Показал бы мне в тот момент кто-нибудь C# и простоту работы с ним — уже давно был бы программистом. Но нет, «благодаря» д***лам, которые считают, что «первый язык программирования должен быть исключительно в целях обучения» — более десяти лет болтался по жизни то там, то сям, прежде чем вновь вернулся в программирование, и понял, что вот оно — мое.
Если заниматься самообразованием, то можно пропустить целый раздел. Типа как «искать под фонарем», а не там где нужно. Образование должно быть фундаментальным.
Есть такие разделы, с виду сухой матан, а присмотришься, нееет, ставит границы достижимого и вычислимого в реальных проектах.
Да и первый язык изучают самый простой и наглядный для того, что бы объяснить сущность алгоритма и саму природу дискретной вычислимости.
А не для того, что на этом языке потом выходили в продакшен
Он пишет «я с детской наивностью хотел на нем написать свою игру.» Очень многие люди в процессе обучения думают, что любой препод «может шарить». Ему дали язык, он загорелся, но выгорел. Вот и явный пример того, что система образования порой может отбить тягу к учёбе.
Тут не дают практику по интересующему языку, в художках заставляют отказаться от любой стилистики. Пам пам.
После самообучения годы проведенные в школе и техникуме вспоминаю как просиживание штанов
А как давно в ВУЗе отменили СРС?
СРС = Самостоятельная Работа Студента, то есть самобучение.
Главное в ВУЗе — это Фундаментальные Знания, которые при самостоятельном изучении есть риск пропустить как "необязательные".
А всякую, конкретную практическую специфику, можно выучить и самостоятельно.
С другой стороны, обучение в вузе помогает не попасть в одну очень коварную ловушку — сломав первый молочный зуб в попытке разобраться в графах, численных методах, структурах данных, любой другой теме по вашему вкусу, решить, что все это не нужно, забить, а потом строить велосипед вместо применения хорошо известного алгоритма, или решать задачу в лоб, хотя широко известно красивое решение, или вообще получить ошибочные результаты, неверно задав шаг интегрирования. В вузе все-таки придется разбираться в этих темах, даже если пока кажется, что оно не нужно, и никогда нужно не будет. Хотя если вы точно знаете, что ваше призвание делать сайты, то возможно лучше и правда не отвлекаться на всю остальную computer science, а изучить какой-нибудь популярный фреймворк.
p.s. Еще вуз дает какие-никакие базовые знания в области экономики и права, что снижает вероятность принять за истину различные фриковатые идеи в этих областях.
Начал писать в 7 на Pascal, увлёкся, теперь мне 14 годиков, пишу на C#/Java/Python/JS, черкаю на C/C++ и интересуюсь Go и R.
Но при этом всем, мне суют Кумир и не дают способа получить что-то большее.
Ох уже эта система образования...
вся жизнь и без того была похожа на обучение (а точнее, гибрид армейской дедовщины с дрессурой манула)
забавная опечатка
В разделе «без чего нельзя обойтись» в первых пяти пунктах написал бы: без общения со специалистами (преподавателя в расчет не берем).
Потом это дело проверял препод на правильность (глазами, уже 6), после чего нужно было перебить код в IDE и скомпилировать. Если компилировалось с ошибкой, то оценка не изменялась, если без, то можно было даже получить 9.
Спасибо за красивое изложение практически всех моментов для новичков!
просить критики в экспертных сообществах
А где можно получить фидбек на свой код, если только начинаешь?
Я бы и рад критике, но не представляю, где можно показать, что получилось.
На русском языке — на ru.stackoverflow.com, с меткой инспекция-кода.
На английском языке — на codereview.stackexchange.com.
В обоих случаях внимательно прочитайте правила. К коду на ревью есть ряд требований.
Кроме того, мне чисто жалко тратить время на 4-5 лет вуза, когда мне всего лишь надо сконцентрироваться на двух-трёх предметах/направлениях, без привязки к экзаменам (от них одни только расстройства, особенно если тебя боженька не наградил нужными мозгами). А то приходится каждые полгода по 4-5 предметов учить и терять нервные клетки со скоростью быстрее света. Вот сами посудите, сейчас за 4-5 лет столько всего меняется в гораздо более быстром темпе, чем раньше, а дальше будет ещё быстрее. Какие, к чёрту несколько лет вуза?!?
Я б в программеры пошёл, пусть меня научат