Как да „помпаме“ умения за програмиране ... с малко или никакво програмиране
Има много добри ресурси, посветени на развитието на техническите умения за добро програмиране. Само няколко от тях обаче дават представа за знанията, които идват само с опит. В тази статия сме събрали съвети, които ще ви помогнат да увеличите производителността си, да работите по-добре и да мислите по-бързо в процеса на разработка.
За важното и баналното: храна, сън, тяхното количество и качество
Всеки, който сериозно се занимава със софтуерната (или друга) работа, трябва да се грижи за телата си. Както каза Кен Робинсън, съветник по креативно мислене, хората прекарват твърде много време в домашни проблеми, така че не обръщат внимание на здравето. Проектирайки гледната точка на Кен в разработката на софтуер, Ливио Де Ла Круз, бивш служител на Microsoft, а сега работещ на свободна практика и програмист на Unity3D, казва, че програмистите подценяват въздействието, което физическото им състояние има върху производителността.
Програмирането е работа, която изисква концентрация и енергия, а откъде идват те, ако разработчикът редовно не спи или се храни лошо. За да поддържате високо ниво на ефективност и да мислите ясно и бързо, опитайте се да се придържате към режим (разбира се, тук няма нужда от най-строга дисциплина - но липсата на каквато и да е рутина може значително да подкопае силата ви).
Не са редки случаите, когато разработчиците работят „в извънработно време“ – късно вечер или през нощта. Ако това не е необходима мярка, когато става въпрос за третата работа на непълен работен ден, която е напълно невъзможна за извършване в друго време, все пак се опитайте да прехвърлите по-голямата част от работата в „светли часове“.
В допълнение към съня си струва (колкото и банално да е)не забравяйте да ядете. Не подценявайте силата на закуската – тя осигурява на тялото гориво и активира тялото след сън. Без закуска си като кола без гориво - никъде няма да отидеш. Сутрешното хранене ви позволява да възстановите нивото на глюкозата, необходимо за функционирането на мозъка. Според проучвания хората, които закусват, са по-малко стресирани, по-щастливи и имат по-добра памет и концентрация от тези, които пропускат това хранене.
Що се отнася до по-късно през деня, диетолозите съветват да ядете на всеки три часа (в зависимост от ритъма ви на живот). С този подход нивата на кръвната захар се поддържат на нормално ниво и няма да се чувствате сънливи, което със сигурност ще увеличи продуктивността. Редовното хранене не само ви осигурява енергия за решаване на важни проблеми, но също така помага за поддържане на добро настроение. Ето защо, за тези, които забравят за глада в разгара на работа, експертите съветват дори да настроят будилник, за да не пропуснат времето за обяд.
Също така си струва да кажете няколко думи за водата. Експерти от Университета на Източен Лондон и Университета на Уестминстър във Великобритания проведоха проучване и анализираха потенциалните ефекти на водата върху когнитивните функции и човешкото настроение. Те успяха да установят, че пиенето на вода повишава работата на нашия мозък.
Относно планирането: правете почивки
Хората често планират работния си ден така, сякаш ще работят еднакво добре през целия му период. Трябва обаче да вземете под внимание енергийните резерви на тялото, които определят колко дълго вашата продуктивност ще остане на високо ниво.
Точно както бегачът се уморява по време на маратон, вашиятконцентрацията ще намалее при продължителна работа. Един от жителите на платформата Stack Exchange отбелязва, че за 8-часов работен ден си струва да вземете поне две почивки от 15 минути и една голяма почивка за обяд за един час. Кратките почивки през работния ден стимулират умствената ви дейност: когато знаете, че ви предстои кратка почивка, работата става много по-лесна.
По време на почивка е добре да се съсредоточите върху неща, които не са свързани с работата (това помага да се възползвате максимално от почивката – и да се върнете на работното място с нови сили). Ако все пак вашите мисли не искат да се отдалечават от темата за програмиране, тогава трябва да обърнете внимание на различни пъзели и игри за разработчици. Потребителите на Reddit предложиха няколко опции.
Относно мотивацията: научете се да се настройвате за работа
Навиците също могат да ви помогнат да се върнете към бизнеса - ако, докато пишете код, обичате да въртите нещо в ръцете си, тогава просто започнете да го правите и мозъкът автоматично ще преустрои и насочи мислите ви в правилната посока.
За любителите на музиката добрата новина е, че енергичната музика помага да се разтърсите и да се настроите за активни действия - но след като сте се настроили към работно настроение, е по-добре да преминете към нещо по-спокойно или да работите в тишина. Това ще избегне илюзията за многозадачност - опитите да изпълнявате няколко задачи наведнъж (а замисленото слушане на сложни, динамични композиции не е толкова лесна задача за вашия мозък), докато работите, намалява нивото на концентрация.
Относно ограниченията: не работете повече от 8 часа на ден
Когато се принудите да работите само определен период от време, започвате да правите повече. Знаейки, че имаш време да завършишзадача вечерта, отлагате и отлагате нещата за по-късно. Ако времето е ограничено - използвате максимално всеки отделен час. Има много истории за хора, работещи извънредно, започнали да работят по-малко часове, за да прекарат вечерта със семейството си, но за тяхна изненада производителността им само се е увеличила.
Ако по някаква причина все още изоставате от графика, тогава може би трябва да обърнете внимание на практиките за управление на времето. Добра поредица от съвети за управление на времето дойде от Оливър Ембъртън, програмист и основател на Silktide. В неговия блог има много интересни неща на подобна тематика.
Относно реда: записвайте идеи, водете си бележки
Малките бележки няма да ви позволят да забравите нещо важно и просто ще ви помогнат да организирате собствените си идеи. Тъй като тази дейност е много лична, струва си да експериментирате с различни специализирани инструменти. Потребителите на Reddit цитират Evernote, Onenote и TheBrain като най-добрите приложения за организиране на работния ден.
Добрият програмист трябва да познава границите на собствената си памет: най-лошото в идеите е, че дори не забелязвате, че изчезват от главата ви. Както Джеси Шел, анализатор и главен изпълнителен директор на Schell Games, пише в The Art of Game Design.
Един лесен начин да губите време е да преминете направо към задача. Първото решение, което идва на ум, често не е най-доброто. Освен това в процеса на размисъл може да стигнете до извода, че проблемът, който сте толкова нетърпеливи да разрешите, изобщо не е проблем и не е необходимо да отделяте време за него. Психологът Даниел Канеман пише за тази способност на нашия мозък да действа бързо и ирационално.Канеман в книгата си Мислене, бързо и бавно.
Ако решите да се възползвате от възможностите на непозната рамка, трябва предварително да прецените колко трудно ще бъде да я научите. Запитайте се дали резултатът си заслужава отделеното време? Също така се запитайте дали този код ще бъде лесен за поддръжка? Егор Бугаенко, програмист и блогър, написа добър материал по тази тема. Можете да разгледате неговата статия Девет стъпки за стартиране на софтуерен проект.
Относно преките пътища: Знайте кога можете да използвате преки пътища
Мнозина ще се съгласят, че решението, което е най-ефективното използване на ресурсите, понякога не си струва да отделяте ценно време за него - може да е достатъчно просто да „занитите“ приложение, което върши правилната работа.
Ако просто искате да тествате функция за „жизненост“, тогава няма смисъл веднага да я внедрявате от и до. Излъскайте всичко по-късно, ако вие (или някой друг) харесвате новата „функция“. Да знаете кога да използвате преки пътища и да свършите работата по-бързо за сметка на някои функции е трудно умение за овладяване. Това изисква ясно разбиране на това, върху което работите в момента, но ще ви спести много ценно време.
Прогноза: Овладейте изкуството на отстраняването на грешки
Силно влияние върху вашите умения за програмиране е способността да намирате и коригирате грешки. В същото време няколко фактора влияят върху скоростта на коригиране на грешки, например опит, способност за запазване на спокойствие в трудни ситуации, разбиране на използваните технологии и т.н.
Отстраняването на грешки е важна част от процеса на разработка на софтуер, така че трябва да отделите допълнително време в графика си за това. Струва си да направите това, дори ако сте 100% сигурнипри изпълнението на определена задача, тъй като във всяка ситуация могат да възникнат непредвидени трудности, които не са причинени по ваша вина.
Добро умение е и способността да се предвиди появата на грешки и да се заобиколят, преди да развалят всичко. Почти всеки програмист има навика да се пита: "Какво ще стане, ако ...?". Всичко, което трябва да направите, е да направите една крачка напред и да вземете предвид далечните последствия.
Поръчайте отново: отделете време, за да „почистите кода“
Работата в "мръсен" код е като да живееш в бъркотия. Постоянно се спъвате в разпръснати неща, а онази купчина чорапи там мирише добре. Важно е да разберете, че безпорядъкът е естествен страничен продукт от програмирането, но също като почистването на кухнята след готвене, струва си да подредите кода, след като внедрите няколко функции.
Рефакторингът има полезен страничен ефект. Като четете и реорганизирате кода, започвате да го разбирате по-добре. Когато запомните какво къде се намира и какво прави, става много по-лесно да откриете грешки. Елиът Чанс, инженер в Kounta, добавя, че е добре да придобиете навика да пишете прост код веднага. Колкото повече редове напишете, толкова "по-мързелива" ще бъде програмата. Би било хубаво да отделите малко време, но намерете по-просто и по-елегантно решение.
Разглеждайки сайтове и форуми за програмиране, ще покажете себе си и ще научите от другите - това е добър начин да си припомните отдавна забравени теми, функции, техники. Така че можете да придобиете знания по тема, която може би никога не сте срещали сами. Известно е със сигурност, че при отговор на въпрос, отговарящият печели първи.