Статьи

Три навыка, которым должен учиться каждый новый программист

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

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

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

Сполкси также советует учиться письму (а также общению в целом), потому что «по сути, наиболее успешные люди — это те, кто может объяснить свои идеи лучше всего». Он прав! Общение является жизненно важным, но часто недооцениваемым навыком. Неважно, если вы программист, если вы не можете поделиться своими идеями с остальной частью вашей команды, то вы можете fuggaboutit.

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

Последний совет Спольски — выучить C. Когда я прочитал это, я сказал: «Какого черта ?!» синтаксис и заботится о таких вещах, как управление памятью для меня. Мне не нужны мои программы, чтобы быть быстрым, в конце концов …

Спольски рассуждает так: «В наши дни многие программисты в конечном итоге изучат язык более высокого уровня, такой как Python, Ruby или Java, и даже не поймут, что именно вызывает выполнение этого кода в языке. и, следовательно, не понимая, почему дела идут медленно или странно ». И когда вы думаете об этом, это тоже правда. Это все равно что советовать людям, которые хотят изучать jQuery или конкретную платформу JavaScript, сделать шаг назад и изучить технологию, на которой она основана. Если вы потратите время на изучение основной механики того, с чем вы работаете, это поможет вам в дальнейшем (например, при отладке чего-то, что работает не так, как ожидалось).

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

Первоначально опубликовано в SitePoint JavaScript Newsletter .