В недавнем
интервью, Джоель Спольски (один из создателей StackOverflow) говорил о вещах, которые
могут помочь программистам в изучении экономики, писании и программировании на C. С первого взгляда, это
может показаться странным, но если попробовать вникнуть в смысл сказаного
оакзывается что магия совсем рядом.
Спольски советует изучать экономику, потому что “программисты
часто не знают и следовательно не понимают как они добавляют стоимость в
бизнесе”. Задумайтесь об этом на минтуку. Как часто мы слышали о дизайнерах и
разработчиках, которые жаловались на
кошмарных заказчиков и их бессмысленные запросы? Я подскажу – достаточно часто.
Но если такие заказчики существуют, то вполне
очевидно, что наша главная роль как веб
разработчиков – добавить стоимость в бизнес заказчиков. Понимание этого факта
делает рабочие взаимодействия значительно лучше.
Дополнительно, понимание экономики поможет
фрилансерам лучше понимать рынок самостоятельно (или хотя бы лучше оценивать
соотношение потраченного времени и пользу которую они принесли заказчику). И
это смогло бы им (да и всем разработчикам) помочь в осмыслении той ценности веб-сайта,
которая сможет быть добавлена бизнесу того заказчика, который предъявляет
нелепые требования.
Спольский также советует изучать письменную форму
( как способ комуникации вцелом), потому что «важно, что многие успешные люди –
это те из немногих которые могут объяснить свою идею лучше всех». И он
прав! Коммуникации
жизненно необходимы, но часто недооценены. И не важно насколько вы крутой
программист, если вы не умеете рассказать о ваших идеях вашей команде, то
единственное что вам остается это забыть о ней.
И это не о программировании а о жизни вцелом. Как
редактор, я имел дело с большим количеством различных публикаций. И те которые
написаны просто и понятно, проходят в печать очень быстро.
И наконец напоследок Спольски советует изучать C. Когда я прочитал это, то
подумал “Что за ерунда?!” Зачем мне это нужно, если я и так использую JavaScript и
Ruby –
с более приятным синтаксисом, которые берет на себя все вопросы по управлению
памятью. В конце концов мне нужно что бы мои программы работали молниеностно.
Спольски объясняет это так: “Много программистов
в наши дни ограничиваются изучением высокоуровневого языка – наким как Python, Ruby или Java - и позже порой не имеют хорошего
представления о том, как все работает и не могут определить причину поучему все
работает медленно и странно.” И когда вы
думаете об этом, что тоже верно. Это как советовать людям которые хотят изучить
JQuery
или определенный фреймворк JavaScript сделать шаг назад и изучить
сначала технологию на которой все базируется. Если вы потратите время на
изучение базовых приницпов того с чем вы работате, то позже вы будете рады что
нашил на это время (например когда будете пытаться отладить неработающий код).
Ну а что думаете вы? Каким вещам вы бы
порекомендовали поучится новичкам в веб разработке и программировании?