Пока меня тут джависты в конец не съели (хотя я и сам в большой степени джавист). Еще один небольшой тред. Про computer science.
Дело в том, что широко бытует у подрастающего поколения заблуждение о том, что программирование - это то же самое, что и computer science.
На самом деле нет. Computer science еще дальше от прикладного программирования, чем физика. Computer science - это в большой степени изучение теории алгоритмов решаемости отдельных задач и вопросы асимптотической сложности.
Это абстрактная математика. Для меня в свое время было большим открытием, что на конференции по computer science люди вообще не в курсе каких-то широко распространенных промышленных технологий или даже соответствующей терминологии.
К сожалению, до недавнего времени разделения образования на собственно программирование и Computer Science не было и набирали математиков и пытались делать из них программистов. Или наоборот набирали программистов и мучили их математикой.
К счастью, в последнее время появился термин Software Engineering. Который сразу предполагает, что инженерная дисциплина, которая в большей степени требует практического опыта и в меньшей (или совсем ни в какой) научных знаний.
Это разделение пока еще не полностью устоялось, но виден хороший прогресс в этом направлении.
Что не может не радовать.
• • •
Missing some Tweet in this thread? You can try to
force a refresh
Все, доделал часть дел. Теперь #треддня. Как обещал про IT образование вообще и "первый язык" в частности.
Ну для начала непопулярное мнение. Не всем нужно войти вайти. Да, на данный момент, в IT сильно не хватает людей, поэтому зарплаты все еще высокие. Особенно в России, которая к сожалению страна достаточно бедная и возможность работать на международную компанию очень ценится.
Тем не менее как раз потому что зарплаты высокие, люди часто идут в IT не потому, что оно им нравится, а в погоне за этой самой зарплатой. Часто это так себе заканчивается. Даже в самих IT есть разные задачи, не связанные с программированием.
Забабахаю все-таки на ночь глядя небольшой тредик.
Мне тут на интервью очень хороший вопрос задали: какие технологии надо в первую очередь осваивать для научного программирования. Я как-то об этом даже не задумывался. А вопрос отличны. Подумал. Пишу приблизительный ответ.
Питон (да простит меня @_bravit) все-таки маст-хэв. Он есть и, я думаю, долго еще останется, некоторым общим минимумом среди научных программистов. Разумеется, не столько Python, сколько numpy.
К счастью, его освоение занимает пару недель максимум (см. тред про идеологию).
Учить бы я стал в первую очередь веб-технологии. И клиентские и серверные. Как ни удивительно, эта область уже содержит многие вещи, нужные для науки. Коммуникационные протоколы, технологии работы с данными и соответствующие архитектуры.
В продолжение утреннего треда, возвращаемся к программированию.
Дело в том, что у каждой программной экосистемы есть если не философия, то идеология. В большинстве случаев, это не "официальная позиция" а просто некоторая совокупность взглядов большинства членов сообщества.
С++: разработчик - бог, мы даем ему все инструменты, чтобы он мог при их помощи сотворить все, что хочет.
Python: написать программу должно быть легко. Все инструменты должны быть в шаговой доступности и максимально быстро подключаться.
Сегодня #треддня немного пораньше, потому что надо ехать на физтех и там будет не до этого.
Философия - это важно.
Но не для всех, разумеется.
В нашей стране (странАХ на самом деле) к сожалению имеет место стигматизация философии. Под философией до сих пор подразумевается так называемая марксистско-ленинистская идеология (уже у Ленина никакой философии там нет).
Ну и само существование институтов философии, наполненных бывшими учителями истории КПСС не помогает. Тот предмет, что изучается в ВУЗах, это конечно никакая не философия, а история философии. Полезная, но не супер-осмысленная дисциплина.
Я уже сильно пожалел, что выбрал в том числе и тему собеседований, ибо о них сказано уже столько, что что-то добавлять к этому кажется излишним. Но я где-то читал про то, что в мире в ближайшем будущем намечается дефицит воды, поэтому налью её немного в этом треде⬇️
У меня пока значительно преобладает опыт участия в собеседованиях со стороны кандидата, поэтому наблюдения будут достаточно субъективными. Если же вы у вы участвовали в процессе найма с другой стороны и не согласны с тезисами, буду рад любым возражениям
Самый главный ингредиент плохого собеседования это нежелание интервьюера его проводить. Вот взяли и выдернули тимлида из работы собеседовать, а ему оно нахрен не надо. У него таски горят, джун проект не вывозит и еще три созвона на сегодня. По итогу все выливается на кандидата