войти зарегистрироваться

Программирование«Программист» — это сверхобобщение

В этом коде могут быть ошибки; я только доказал, что он правилен, а не проверял его.
Дональд Кнут

Сегодня я наткнулся на пост, в котором утверждалось, что использовать функцию C++ STL make_heap нельзя, потому что почти никто не умеет использовать ее правильно. Сначала я возмутился смехотворностью этой идеи — любой человек, имеющий хотя бы начальное представление об алгоритмах, должен знать, как правильно использовать make_heap. Но потом я задумался о том, сколько программистов не знают, что такое куча, более того, им это даже не нужно… А потом я понял, что все эти люди в равной степени зовутся программистами.

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

Термин «программист» покрывает колоссальный спектр способностей и умений. По вертикальной оси, программист может едва уметь писать на vbscript — или разрабатывать компиляторы для Intel или научный софт для авиакомпаний. По горизонтальной оси, он может быть экспертом в базах данных, улучшать производительность GPU, писать библиотеки параллельных вычислений, физические движки или драйвера для принтеров, заниматься обработкой изображений, генерацией 3D моделей или исследованиями в области искусственного интеллекта, использовать coffeescript, HTML5 и AJAX для разработки веб-приложений или nginx и PHP для разработки LAMP-стека, на котором веб-приложения работают… И это все — программисты.

ПереводыО пользе и вреде специализации для разработчиков

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

GTDЧувствуете ли вы опасность специализации?

imageПредставьте себе сапожника, который занимается ремонтом башмаков, он подшивает рваную кожу, прибивает каблуки. С каждым годом у него получается все лучше и лучше, он способен отремонтировать разбитый нос башмака практически с закрытыми глазами. Клиенты чрезвычайно довольны, он получает удовольствие от работы — но такая идилия по законам жанра не может продолжаться бесконечно.
Резкая смена моды — и вот уже башмаки почти никто не носит, все выбирают стильные кроссовки и туфли. Наш сапожник пытается сводить концы с концами, обслуживая бедных крестьян, неспособных купить новую модную обувь. Проходит еще немного времени — и к нему в каморку захаживают лишь любители ретро.
К чему все это я? Дело в том, что в последнее время, наблюдая за ситуацией на IT-рынке, я часто замечаю похожую ситуацию. Очень много специалистов выбирают определенную платформу, язык программирования, совершенствуются в нем до превосходства. Но нестабильная, динамичная ситуация, особенно в нашей сфере, крайне часто меняет правила игры. Еще пять лет назад почти никто не слышал про язык Objective-C, и уж точно никто не мог представить сегодняшние размеры рынка мобильных приложений. А сейчас, к сожалению, многие сталкиваются с ситуацией сапожника, пытаясь запрыгнуть на подножку отъезжающего поезда.

Персональные блоги Выпуск 005 — «Структура программы MBA»

image — Ошибка в названии предмета
— Студент/ работодатель должен влиять на программу
— Быть спец. выпуску об IELTS
— Чему не учат в CIIM?
— Длительность музыкального проигрыша
— Модульно-кредитная система
— Если предмет уже пройден?
— 85 кредитов при среднем 70 (B-) и дипломная работа
— Course descriptors www.tixey.ru/docs/course_descriptors.doc
— Типы предметов (Core/Electives)
— Специализация студентов
— Course descriptors закрывает кучу вопросов
— Опрос студентов CIIM
прослушан 26 раз

Учебный процесс в ITПроблемы высшего образования

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

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

Во-первых, одной из самых важных проблем является отсутствие понятия о будущей специальности, не говоря уже о более узкой специализации. И это не на первом курсе, куда приходят неопытные школьники, которым на все вопросы отвечают: «Подождите, у вас еще не было спец. предметов, вы еще ничего не знаете, чтобы понять», а в середине обучения. Самое обидное, когда бегаешь в поисках преподавателя, который может хоть в чем-то помочь определиться, или рассказать хотя бы о направлениях, в которые можно пойти, а натыкаешься или на отсутствие желания поговорить (хотя зачастую это занимает 10-15 минут) или на слова о том, что «ваша специальность никому не нужна, специалисты выходят плохие и по специальности никто не работает». Зачем же тогда по ней учить? и не лучше ли постараться что-либо изменить, если обе стороны недовольны качеством? Можно много говорить об огромном количестве книг, форумов и сайтов по любой тематике, из которых можно попытаться получить интересующую информацию, но, согласитесь, она не сравнится с мнением преподающего/работающего по ней специалиста, который примерно представляет в каких условиях ты находишься, и может посоветовать что-нибудь дельное.

НЛО прилетело и опубликовало эту надпись здесь.

GTDРазмышление о программировании и программистах

Навеяно в ходе последних событий
Необходимость знаний математики
и
Кризис программиста

Несколько слов о программистах для студентов младших курсов и тех, кто еще только собирается поступать в институт.


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


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

(Разбор комментариев в конце статьи)