Недавно
ознакомился с увлекательной статьей Скотта
Хенсельмана о взглядах на разработку программного обеспечения с помощью диаграммы
Венна. Диаграмма Венна - это схематическое изображение всех
возможных пересечений нескольких множеств (чаще всего трёх). Если конкретика пересечений позволяет указать не
все аспекты этих множеств, получается общий случай -
круги Эйлера. Со статьи с незаурядным названием 'A Coder, a Programmer, a Hacker, a Developer, and a Computer Scientist walk into a Venn Diagram' можно открыть новый
взгляд на процесс обучения разработке ПО. Её автор приводит иллюстративную диаграмму с использованием кругов Эйлера и по ошибке называет ее
диаграммой Венна.
В диаграмме довольно интересное соотношение между разработчиком (developer), программистом (programmer) и кодером (coder). Каждый термин обозначает разную роль и степень отношения к саморазвитию. К сожалению, в русском
языке нет чёткого разделения в определении этих терминов. Например, обычно для роли "developer" в современном IT-мире больше
подходит роль архитектора программного
обеспечения.
- Кодер (Coder) может в достаточной степени разобраться в нужной области по разработке программного обеспечения. Обычно такой подход работает, но он не будет хорошим специалистом в своей области.
- Хакер (Hacker) – специалист с глубоким (часто в устрашающих масштабах) пониманием тонкостей некоторой области.
- Программист (Programmer) способен написать солидный код и понять алгоритмы; часто работает в одиночку.
- Разработчик (Developer) – лучший универсальный специалист, который может использовать множество различных систем и языков и заставить их взаимодействовать друг с другом.
- Специалист по компьютерным наукам (Computer Scientist) способен доказать принципы работы компьютеров на теоретическом уровне.
Я
позволил себе несколько вольно перевести термины, описанные Хенсельманом. Автор предлагает посмотреть на нашу с Вами работу или хобби как разработчика
программного обеспечения со стороны. Можно быть хорошими программистами в
своем деле, но без расширения кругозора специалист застревает на одном месте. Всегда есть выбор. Вот как автор
смотрит на это с точки зрения веб-разработчика:
"If
you want to be a coder today, or, let me go further and say if you want to be
an effective coder, you will want understand the web and what really
happens when you type twitter.com in your web browser. Just like you
should understand how trees grow if you want to be a carpenter, how engines
work if you want to be a race car driver, or where the water comes from if you
want to be a plumber. Heck, you should really understand all of these things if
you want to be an effective human ;)".
("Если
сегодня Вы хотите быть программистом, или, позвольте сказать, если Вы хотите
быть эффективным программистом, Вы захотите понять сеть и что действительно происходит в момент, когда Вы набираете twitter.com в Вашем веб-браузере. Это так же необходимо, как понять принцип роста деревьев – для плотника, или как работает двигатель – для гонщика, или как поступает вода – для водопроводчика.
Черт возьми, нужно действительно понять все эти вещи, если Вы хотите быть
эффективным человеком").
Мой взгляд на
разработку программного обеспечения и развития себя как личности полностью совпадает
с Хенсельманом. Специалист, который читает новую литературу или знакомится с
новинками в мире разработки ПО; постоянно находится в курсе событий, ежедневно стараясь
уделять время саморазвитию, становится истинным, востребованным профессионалом.
К сожалению, сейчас множество разработчиков предпочитают застрять на одном
уровне и просто плыть по течению. Если среди таких разработчиков Вы увидели себя, стоит задуматься о том, является ли это Вашей целью. Технологии и языки
разработки сейчас развиваются гигантскими темпами, но это не является объективным
оправданием заскорузлости. В этом мире деньги не решают всех проблем. Подумайте
о том, что для Вас более привлекательно: то, что Вас ценят как специалиста и на
Вас равняются другие, стараясь Вам подражать, или то, что у Вас спокойная
размеренная работа, о Вас никто никогда не слышал и не услышит, и Вы радуетесь
только той мыслью, что у Вас зарплата на несколько долларов больше, чем у
некоторых других разработчиков.
Нужно поставить перед собой цель и просто двигаться к ней. В мире разработки, как и везде, не бывает легких путей. Если Вы не уверены в своих силах, то посмотрите по данной ссылке, чего можно достичь за год: My first year of programming July 11 2011- July 12 2012. Если после всего, что написано в данной статье, у вас все равно нет мотивации к саморазвитию как специалиста и профессионала в своей области, тогда демотиватор ниже, вероятно, станет более радикальным (считаю его мощнейшим, железно срабатывающим стимулом к действию).
Нужно поставить перед собой цель и просто двигаться к ней. В мире разработки, как и везде, не бывает легких путей. Если Вы не уверены в своих силах, то посмотрите по данной ссылке, чего можно достичь за год: My first year of programming July 11 2011- July 12 2012. Если после всего, что написано в данной статье, у вас все равно нет мотивации к саморазвитию как специалиста и профессионала в своей области, тогда демотиватор ниже, вероятно, станет более радикальным (считаю его мощнейшим, железно срабатывающим стимулом к действию).
Хотелось
бы закончить данную статью цитатой Альберта Эйнштейна: "Очень важно не переставать
задавать вопросы. Любопытство не случайно дано человеку. Умные люди всегда
задают вопросы. Спрашивайте себя и других людей, чтобы найти решение. Это
позволит Вам узнавать новое и анализировать собственный рост." Спасибо за то,
что читаете мой блог. Буду благодарен за Ваши комментарии по данной статье и
за Ваше видение процесса обучения и развития как специалиста.
No comments:
Post a Comment