Как се става по-добър програмист? Е, има сериозни научни доказателства в подкрепа на принципа на съзнателната практика. Преднамерената практика е метод за развитие на умения, написан за първи път от Андерс Ериксон в книгата „Пик: Тайните на новата наука за експертизата“. Бих препоръчал също да прочетете „Талантът е надценен: Какво наистина отличава изпълнителите от световна класа от всички останали“ от Джеф Колвин.

Преднамерена практика

Преднамерената практика може да се обобщи до следните точки:

  • Талантът не е достатъчен и за да станеш страхотен в дадена задача, са необходими много практика и повторение.
  • Умишлената практика е трудна работа, за да укрепите уменията си чрез практика, трябва да бъдете предизвикани. Това означава, че повторението само по себе си няма да развие умения. Това също означава, че трябва постоянно да увеличавате предизвикателството на вашата практика, докато ставате по-добри в нея.
  • Фокусът играе голяма роля в умишлената практика. Това се свързва с предишната точка за необходимото предизвикателство на практиката. Това може да се свърже и с принципите на потока, както е описан най-добре от Mihaly Csikszentmihalyi в книгата му „Flow: The Psychology of Optimal Experience“.
  • Поставянето на цели се превръща в мощен мотиватор. С постигането на дадена цел се отделят ендорфини, които предизвикват чувство на удовлетворение. Целите също могат да се използват за увеличаване на трудността на практиката, превръщайки иначе лесната задача в предизвикателство.
  • Обратната връзка е важна. Обратната връзка осигурява мотивация чрез сравняване на текущото с предишното представяне.

Приложение за програмисти

И така, как програмистите могат да включат принципите на съзнателната практика? Наскоро ми препоръчаха сайта Hacker Rank и мога да кажа, че е фантастичен. Сайтът Hacker Rank предоставя широк набор от предизвикателства за програмисти с различни нива на умения. Има избор от различни теми от Алгоритми до Регулярни изрази.

И така, как Hacker Rank се вписва в умишлената практика? Е, със сигурност има добро ниво на предизвикателства, през които да работите. Има три различни нива на тема, като предизвикателствата в същата трудност нямат нищо общо.

Дизайнът на сайта е доста прост, с много малко, което да ви отвлече вниманието от вашето предизвикателство. Има опция за тъмна тема, ако сте, като мен, изискан човек. Освен това е доста лесно проблемът да е от едната страна на екрана, а програмирането да е от другата.

Има множество вградени цели, върху които да работите. Сертификати за всяка тема, за да тествате текущото си ниво на умения и да рекламирате пред потенциални работодатели. Има подготвителни комплекти за интервюта с времеви рамки между 1 и 12 седмици, което е най-удобно за вас.

Има незабавна обратна връзка от заданията, с автоматизирано тестване на програмата. Осигурена е класация за най-конкурентните, които се интересуват от глобалното си класиране. Вие също така получавате обратна връзка от вградената IDE за вашите програмни грешки.

Критики на сайта

Наистина харесвам сайта, но все още имам някои дребни проблеми. За негова чест, сайтът поддържа множество програмни езици, дори различни версии на един и същ програмен език. Това обаче затруднява следването на уроците, ако са направени на език, който не познавате.

Освен това в момента изглежда няма поддръжка за повторно полагане на сертификационни изпити за някои теми. Аз самият се провалих на основното сертифициране на R, тъй като съм свикнал повече да използвам пакета tidyverse, а не базовия R.

Не мога да говоря от името на включването на потенциални работодатели в него. Но това изглежда като много обещаваща идея. Все още смятам, че това е страхотен инструмент за програмистката общност и ще продължа да го използвам за моето лично развитие на умения, тъй като може лесно да предостави източник на съзнателна практика.

Първоначално публикувано на адрес https://datasandbox.netlify.app на 1 май 2022 г.