6 съвета за повишаване на ефективността на програмистите
Програмистите са особено племе. Хем са най-обикновени служители (т.е. не изпълняват никакви ръководни функции), хем са високо квалифицирани, скъпи и трудно заменяеми. Това принуждава мениджмънта да се опитва да “изстиска” максимална производителност от тях. Само че, поради навик или поради ограничено мислене, единственият механизъм, който повечето мениджъри прилагат, е увеличаване на работното време. За съжаление, той винаги води до изтощаване – физическо и психическо – и до напускането на програмиста, което едва ли е бил целения резултат.
Ето няколко съвета, които ако не пряко, то косвено могат също да доведат до повишаване на производителността на програмиста, без да разрушават неговата мотивация или здраве.
1. Поддържайте съвременни хардуерни конфигурации.
Съвременните информационни технологии се развиват с главоломна скорост. Един компютър, който миналата година е бил последен писък на технологията, днес вече е не само морално остарял, но и не достатъчно ефективен. Ако някои процедури, като компилирането, например, отнемат по 5 минути, това води не само да чиста загуба на време (особено ако тази дейност се извършва по няколко пъти на ден), но и прекъсва творческата мисъл на програмиста. Понякога изчакването на подобна операция може да го изнерви, с което допълнително се нарушава работния му ритъм. Връщането в режим на креативно мислене, може да отнеме до половин час на всяко едно прекъсване. Като вземем предвид и факта, че цената на хардуера е значително по-ниска от заплатата на програмиста, ще разберем, че наистина няма смисъл да се пести от разходите по техническото оборудване, защото качествения хардуер несъмнено води до по-висока производителност.
2. Не карайте програмистите да “откриват топлата вода”.
Купете всички компоненти, визуални контроли и библиотеки, които екипът прецени, че могат да свършат работа. Щом едно нещо е разработено от други хора и може да влезе в употреба – купете го, вместо да карате вашите програмисти да го разработват наново. Възползвайте се от труда и времето, които други хора са инвестирали, вместо да ги инвестирате и вие. Не карайте вашия екип да открива топлата вода отново, а ги фокусирайте върху специфичните особености на предметната област, която автоматизирате.
3. Създайте комфорт на работното място.
Работата на програмиста е свързана с целодневно седене на едно място и взиране в екрана на монитора. Поради това, удобните бюра и столове, качествените монитори, клавиатури и мишки, са естествено необходими за качествената работа на програмистите. Един човек, който страда от болка в ставите или в кръста поради неудобна мишка или стол, не може да работи качествено. За да работи максимално ефективно, човек трябва да бъде здрав. Качествените мебели гарантират доброто здраве на екипа.
Към тази точка трябва да се добави доброто проветрение и отопление на офиса.
4. Не губете времето на хората излишно.
Някои мениджъри изпитват някакво нарцистично желание да говорят дълго и безцелно пред хората и затова организират чести, продължителни и безполезни срещи, на които присъствието на целия екип е задължително. Това е сериозен принос към намаляване на ефективността на програмистите. За да го избегнете, спазвайте следните правила:
- Организирайте екипни срещи само ако са крайно наложителни
- На срещите поканете само хората, които имат отношение към темата
- Изгответе предварителен дневен ред и се придържайте строго към него
- Планирайте срещите за не повече от 30 минути
5. Погрижете се за професионалното обучение и развитие на екипа
Много често, още при постъпването си на работа, хората биват засипани със задачи и тяхното ежедневие още от първия ден се превръща в “гасене на пожари”. Случва се така, че дори и да могат да решат някой технически проблем, доста програмисти не разбират смисъла на това, което правят. Отделно, новите технологии, които се появяват на пазара, често биват игнорирани под претекст, че имаме твърде много работа.
Изключително важно е, за да могат програмистите да се развиват професионално и да могат да си вършат работата с разбиране, да се създаде система на наставничество (mentorship). Хората с повече опит и знания трябва да ги предават на по-младите си колеги, обучавайки ги в процеса на работа. За целта, при планиране на задачите, винаги трабва да се оставя време както за обучение в предметната област на фирмата, така и за разучаване и тестване на новите продукти, които излизат на пазара. Твърде вероятно е някой нов продукт да може да реши нашите технологични проблеми и да ускори производителността на екипа.
6. Правете ревюта на кода (code reviews)
Ревютата на кода са отдавна доказана добра практика в програмирането, въпреки че все още не се практикува достатъчно масово. Този подход не само създава унифициран стил в писането на код, но и дава възможност да се отстраняват съществени греши още в зародиш, спестявайки изключително ценно време и ресурси от по-късните фази. Чрез ревютата на кода програмистите могат и да обменят идеи, които да доведат до измислянето на ефективни решения, ускоряващи процеса на работа или повишаващи качеството на разработвания продукт.
Сигурно вие можете да се сетите и за други добри идеи, които биха довели до повишаване на производителността на програмистите, вместо традиционното удължаване на работния ден. Ще се радвам да ги споделите в коментар по-долу.
Гласувайте за тази статия в Svejo.net: [wp:svejo-net]
Ако харесвате статиите в този блог и се интересувате от тематиката, която разглеждаме, за да си гарантирате, че няма да изпуснете публикация, абонирайте се за съдържанието му чрез RSS feed или по имейл.
Още няколко:
1. Тийм билдинг – хората, които се познават по-добре, работят по-добре заедно. Ако седнеш с тима си на по водка можеш да научиш много повече за тях, отколкото по време на дългите срещи и дискусии.
2. Даване на пример – аз лично смятам, че за да може да се наложи някакъв модел (на поведение, на работа, на държание), той трябва да бъде спазван неотменно от този, който го налага. Ако искаш хората ти да са старателни, старай се и ти, ако искаш дисциплина, не си тръгвай час по-рано всеки ден и т.н.
3. Уважение към другия – важно е всички да могат да дадат и отстояват мнението за това, което ги засяга. Иначе се подготвя почвата за създаване на настроения на непукизъм.
4. Лична мотивация – когато програмиста (как не обичам пълния член) и интервюиращия го застанат един срещу друг, и двамата мислят: “Какво ще получа аз от това?” Отговорът на този въпрос трябва да е ясен и на двете страни както в началото, така и след година, две, три, за да бъдат дълготрайни и удовлетворяващи взаимоотношенията помежду. Едно от нещата тук е да се обучават хората, както Майк казва по-горе в т.5. Също така са важни регулярни срещи и дискусии на теми около личното удовлетворение, за да се избегнат негативни настроения.
Мунчо, коментарът ти е изключително точен и аз също заставам зад него. Все пак, трябва да отбележим, че това, за което пишеш ти, повече се отнася до мотивацията и взаимното доверие в екипа. Това, разбира се, също има отношение към производителността на програмистите, но е доста косвено.
“Не губете времето на хората излишно” – че какво друго правят мениджърите? Свидетел съм, че колкото работници – толкова и клатихуйци (менажерци) има по чуждите компании 🙂
Всичко в рамките на шегата естествено 🙂
Сега остава фирмите да прочетат този пост и да си вземат поука 🙂 Аз като напусках едната работа ми казаха, че съм имал много изисквания. То първо, че нямаше мениджмънт, второ – за шефа не важеше работата в екип
Мисля, че ще Ви е от полза да прочетете тази книга:
http://books.bg/book.php?ISBN=9789547711693
Всеки изхожда от позицията, че трябва да получи нещо от работодателя си. Включително и аз самия съм така, но понякога мрънканията и исканията прехвърлят всякакви граници. Лошото е че тази тенденция се налага все повече.
Какво всъщност даваме ние като работници, служители, изпълнители и подчинени на компанията и на целия цикъл на производство?
Щом фирмите трупат пачки и вървят напред, значи даваме достатъчно. Въпроса е къде ми е европейската заплата !
bat_Jopo, явно си изпуснал много събития, щом мислиш така, и не си забелязал десетките фалирали фирми само в областта на ИТ. Това с трупането на пачките е мит, с който ни пълнеха главите по времето на социализма. Истината е, че никой не може да бъде сигурен в бизнеса и така, както някои печелят, други губят. Твоята европейска заплата въобще не е гарантирана, ако и ти не положиш някакви усилия за успеха на фирмата.