вторник, 31 мая 2016 г.

Что нужно знать каждому программисту

В недавнем интервью, Джоель Спольски (один из создателей StackOverflow) говорил о вещах, которые могут помочь программистам в изучении экономики, писании и программировании на C. С первого взгляда, это может показаться странным, но если попробовать вникнуть в смысл сказаного оакзывается что магия совсем рядом.

Спольски советует изучать экономику, потому что “программисты часто не знают и следовательно не понимают как они добавляют стоимость в бизнесе”. Задумайтесь об этом на минтуку. Как часто мы слышали о дизайнерах и разработчиках,  которые жаловались на кошмарных заказчиков и их бессмысленные запросы? Я подскажу – достаточно часто. Но если такие заказчики существуют,  то вполне очевидно, что наша главная роль  как веб разработчиков – добавить стоимость в бизнес заказчиков. Понимание этого факта делает рабочие взаимодействия значительно лучше.

Дополнительно, понимание экономики поможет фрилансерам лучше понимать рынок самостоятельно (или хотя бы лучше оценивать соотношение потраченного времени и пользу которую они принесли заказчику). И это смогло бы им (да и всем разработчикам) помочь в осмыслении той ценности веб-сайта, которая сможет быть добавлена бизнесу того заказчика, который предъявляет нелепые требования.

Спольский также советует изучать письменную форму ( как способ комуникации вцелом), потому что «важно, что многие успешные люди – это те из немногих которые могут объяснить свою идею лучше всех». И он прав! Коммуникации жизненно необходимы, но часто недооценены. И не важно насколько вы крутой программист, если вы не умеете рассказать о ваших идеях вашей команде, то единственное что вам остается это забыть о ней.

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

И наконец напоследок Спольски советует изучать C. Когда я прочитал это, то подумал “Что за ерунда?!” Зачем мне это нужно, если я и так использую JavaScript и Ruby – с более приятным синтаксисом, которые берет на себя все вопросы по управлению памятью. В конце концов мне нужно что бы мои программы работали молниеностно.

Спольски объясняет это так: “Много программистов в наши дни ограничиваются изучением высокоуровневого языка – наким как Python, Ruby или Java  - и позже порой не имеют хорошего представления о том, как все работает и не могут определить причину поучему все работает медленно и странно.”  И когда вы думаете об этом, что тоже верно. Это как советовать людям которые хотят изучить JQuery или определенный фреймворк JavaScript сделать шаг назад и изучить сначала технологию на которой все базируется. Если вы потратите время на изучение базовых приницпов того с чем вы работате, то позже вы будете рады что нашил на это время (например когда будете пытаться отладить неработающий код).

Ну а что думаете вы? Каким вещам вы бы порекомендовали поучится новичкам в веб разработке и программировании?

Источник: https://www.sitepoint.com/three-skills-every-new-programmer-should-learn/