| RSS



Меню

Bookmark and Share


Статистика
Ваш IP: 127.0.0.1
Вы используете: v





Сейчас на сайте:

Тех поддержка ->

Облако тэгов
ОС видио Tor Обратная сторона антенна 4.6 php libc rand() эксплоит Windows Server 2008 FreeBSD Jail Elastix QIP Virtual chroot Limit kernel proc sysctl Tune freeBSD bridge Boot LiveCD Disk Bluetooth GEO game DirectX emulator Python Shell червь Conficker вирус троян лаборатория касперского пиратство Apple iPhone Microsoft twitter социальная сеть анонимность лицензия Open Source уязвимость MySQL база данных Закон Франция Пират Skype мобильный Deutsche Telekom хакер trend micro кибератака Германия робот Персональные данные Ноутбук Интернет китай цензура windows vista acer Linux патент браузер Firefox Internet Explorer Opera Safari Intel Oracle патч Банкомат IBM США Dell Ford MAC контроль Internet кибербезопасность приговор Mozilla Chrome безопасность Госдума СМИ Windows 8 взлом Пентагон Украина Facebook Cisco Cloud Windows XP нетбук торрент музыка Биометрический Nokia Hardware Manager ФБР IP-адрес sms RSA java Google Captcha Symantec Спам Антивирус тест Anti-Malware Windows 7 операционная система windows провайдер авторское право rapidshare UNIX свиной грипп шантаж Дети ipod копирайт McAfee HTTPS icann студент Норвегия New York Times YouTube Warner Music КНДР Ubuntu AMD ATI касперский Россия РФ сервер хостинг Wi-Fi суд пароль блог фишинг одноклассники Медведев контрафакт мошенник sony Gps по JavaScript Хакеры Yahoo фас компьютер софт Минкомсвязи Сбой мошенничество Доктор ВЕб Вконтакте ie8 исходный код МВД фильтр порнография свобода слова казахстан Autodesk сисадмин Gmail кредитная карта LiveJournal шифрование Deep Purple банк HTML5 Нанотехнологии wikipedia выборы DNS bind KaZaA Android Basic атака Mac OS X домен ФСБ прокуратура уголовное дело ICQ Sophos Google Voice ошибка DARPA военные сайт турция конференция спамер Полиция Koobface Великобритания IRC белоруссия Грузия Bittorrent Европа Dr.WEB Linux Mint Билл Гейтс спецслужбы Royal Bank of Scotland смартфон Canonical F-Secure Symbian фильм Microsoft Office Новая Зеландия Adobe Австралия IDC Internet Explorer 9 iPad Ирландия поиск GOOGLE EARTH МТС Реклама слежка Mandriva BSD Zeus личные данные eset avast Avira G Data Software защита Defcon виртуализация dll LibreOffice Черный список BlackBerry индия Москва DVD социальные сети flash player paypal BitDefender email сертификат honda MasterCard Anonymous технологии IPv6 Ассанж Оптоволокно передача данных арест Fedora Samsung Иск Apache учетная запись iTunes исследование Cert Санкт-Петербург McDonald's SOPA PIPA Bioshock Infinite: Burial at Sea - ico Megaupload CES hotfile отчет приложение Инвестиции платформа DRM DDoS-атака роскомнадзор

Главная » Статьи » Общие Статьи

Четыре уровня компетентности в программировании

Одним из краеугольных камней современной психологии является психоанализ. Зигмунд Фрейд был одним из первых, кто смог чётко разделить и описать уровни, на которых происходит психическая деятельность человека. В течение первой половины своей жизни он в результате своих исследований и размышлений установил существование трёх взаимодействующих уровней психики человека – бессознательное, подсознательное и сознательное.

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

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

В этой статье мы попытаемся применить эту простую схему на том умении, которое мы с вами практикуем каждый день – программировании.

Уровень 1. Неосознанная некомпетентность.

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

В реальности Джон – это безжалостный копипастер. Он считает, что выскакивающие при клике сообщения это и есть весь JavaScript. PHP? Проще простого – он может установить Wordpress. Linux? Он умеет загружаться с лайвсиди Ubunt’ы, он может организовать кластер сбалансированных по нагрузке веб-серверов Apache. Его знания не знают границ.

Проблема здесь в том, что не только не знает того, что он мог бы всё-таки выучить, но и не собирается. Он пузырь, ему невозможно объяснить на форуме или в конференции, что основа всех его проблем это его сугубо поверхностные звания. Это просто бесполезно. Но печальнее всего это то, что его почасовая ставка больше, чем ваша и моя, вместе взятые.

Джон – неосознанно некомпетентен.

Уровень 2. Осознанная некомпетентность

Марк – преподаватель математики. Он работает в маленьком университете в деловой части города, у которого ресурсов и возможностей, по мнению Марка, раз в пять меньше, чем ему необходимо. Он считает, что его университет отстаёт в плане использования современных информационных технологий на несколько шагов от конкурирующих ВУЗов и решает, что пора взяться за дело и снивелировать этот разрыв. Он хочет организовать онлайн-платформу для обмена учебными материалами и наработки в университетском сообществе.

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

Он выбирает наиболее подходящий, по его мнению вариант и начинает с изучения документации и туториалов на сайте, а после этого, наконец, загружает программу. Все его восторги и энтузиазм исчезают в мгновение ока, когда он видит перед собой сообщение ‘Database connection error’. Он пытается ещё раз и ещё раз, трижды проверяя каждый шаг вплоть, но всё без толку. Однако Марк нисколько не раздражён, он прекрасно знает, что это просто не его сфера компетенции.

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

Марк – осознанно некомпетентен.

Уровень 3. Осознанная компетентность

Прошло два года с тех пор, как Адриан взял в руки свою первую книгу по HTML. Эта книга оказалась для него билетом в один конец – с тех пор Адриан каждый день думает только том, как усовершенствовать свои навыки. Несколько месяцев назад он взялся на фрилансерском сайте за первый простенький проект, и, несмотря на невысокую оплату и примитивность задачи, он вкладывает в его разработку всю свою душу и страсть.

В одном он твёрдо убеждён – лучший способ узнать и изучить что-либо это упорство – пытаться, терпеть фиаско и начинать каждый раз снова и снова. Он каждый раз раздумывает над тем как лучше выполнить задачу до тех пор, пока решение, в конце концов, не приходит к нему само. Он старается писать исключительно безопасный код, поэтому проверяет и фиксит всё раз за разом.

На днях он написал 30-40 строк кода для своего собственного проекта. Однако он не может скрыть лёгкого разочарования, когда через пару дней замечает в сети гораздо более элегантно решение, объёмом при этом в добрых два раза меньше. Он мечтает о том, что будет когда-то способен и сам самостоятельно писать код такого качества. Однако уже после минутных мечтаний он начинает просматривать свои собственные файлы в поисках ошибки. Он знает, что если он сейчас не перепишет этот участок, он сегодня не заснёт. Но он, так или иначе, не будет копипастить.

Адриан на пути к тому, чтобы стать блестящим профессионалом, но он не гонится за титулами и званиями, он может не торопиться и всё делать обстоятельно.

Адриан – осознанно компетентен.

Уровень 4. Неосознанная компетентность

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

Нельзя не восхищаться при работе с таким программистом тому, с какой лёгкостью он решает самые трудные и сложные задачи. Складывается даже ощущение, что такие программисты единственно верное решение находят буквально на нюх, а не путём каких-то умозаключений.

Этот парень может с легкостью работать на нескольких языках и платформах, он пишет безопасный, предельно оптимизированный код каждый раз выбирая оптимальные паттерны или набор тулов.

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

Категория: Общие Статьи | Добавил: aka_kludge (30.04.2009)
Просмотров: 2072 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
    Главная      
...
На службе : дней

23:51
Обновить


Пользователи
aka_kludge
qwerty
LeadyTOR
aka_Atlantis
AdHErENt
mAss
Sissutr
hiss
DrBio
tHick

Поиск


Copyright tHR - TeAM 2025 г. admin: aka_kludge (ICQ:334449009) Moderator's: LeadyTOR, ... Яндекс.Метрика