Archive

Archive for September, 2012

Как да пишем по-добър код

Попаднах на много интересна статия, написана от Joel Spolsky, който е измислил кратък въпросник, съдържащ 12 върпоса за оценка на това, какви практики трябва да съществуват в една софтуерна компания, която иска да пише добър и продуктивен код.

Статията е дълга, но определено си заслужава четенето! Всички Team Leaders и Managers, който си мислят, че знаят всичко, нека обърнат внимание на точка номер 8, а именно: “Do programmers have quiet working conditions?”.

Според статията, ако отговорите на по-малко от 10 въпроса с положителен отговор, то компанията, в която работите има сериозни проблеми. От личен оптит съм склонен да го потвърдя.

Към текущият момент не мога да дам ясна оценка, защото от доста време нямам пряк контакт с компанията, но ще отговоря според мен какво се случваше в предишната такава, в която работех.
Не искам статията да звучи като критика или възхвала на това, което се е случвало там, но за целите на теста взимам въпросната фирма като база за сравнение и оценка.

The Joel Test

Do you use source control? – Да. Въпреки, че не всички проекти го използваха в началото, отговора е положителен.
Can you make a build in one step? – Да. Доста полезно, особено когато се налага да го правиш всеки ден.
Do you make daily builds? – Да. Потвърждава предишният ми отговор.
Do you have a bug database? – Да.
Do you fix bugs before writing new code? – Не. Това беше проблем, който се надявам с времето да е бил решен. Опитах се да въведа подобна практика, но кратките срокове за новите задачи изпреварваха “ремонтирането” на бъговете.
Do you have an up-to-date schedule? – Да, но не веднъж се случваше да се променя, в което няма лошо, защото все пак е up-to-date 🙂
Do you have a spec? – Не. Никой програмист не обича да пише документация… А тя всъщност е толкова важна!
Do programmers have quiet working conditions? – Да/Не. Сложно… По-скоро да.
Do you use the best tools money can buy? – Не. Нещо, което винаги ми е тежало, а и не само на мен.
Do you have testers? – Да.
Do new candidates write code during their interview? – Да. Не точно по време на интервютата, но в последствие преди започване на работа, което смятам за положителен отговор на въпроса.
Do you do hallway usability testing? – Не. Отново, за съжаление не сме правили това.

8 от 12… не е зле, нали? А може би е доста зле?

Бих добавил още:
Успявате ли да поставяте реални срокове за изпълнението на задачите? – Според мен, всеки един срок трябва да се консултира с програмистите и да се взима под внимание тяхното мнение. Не само защото те са хората, които трябва да го спазят, но и защото те са хората, които имат най-реална преценка за това колко време би отнело завършването на конкретна задача. Всяко отлагане на release (build) поради незавършени задачи излишно натоварва програмистите и изнервя обстановката в екипа.

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

Как се случват нещата в компанията, в която работите? Успяхте ли да отговорите на всичките 12 точки положително?

Какъв хардуер използваме в Server-Backup.eu?

Може би знаете (или не?), но от известно време е стартиран проекта Server-Backup.eu, който цели да осигурни защита на вашите данните при проблем със собственият ви сървър, като ги записва на отдалечено backup пространство.

Прочетох няколко статии, показващи какъв хардуер използват компании като Etsy.com и 37signals.com и реших да напиша нещо по въпроса. Разбира се, Server-Backup.eu е доста далеч от тяхната хардуерна инфраструктура, но все пак се стремим да поддържаме същите условия за сигурност и uptime като тях и много други компании.

С какво разполагаме:

Nagios – винаги, когато има проблем с някоя от бекъп машините, Nagios е там и ни информира за да вземем незабавни мерки и да отстраним проблема. С него следим най-вече колко са пълни дисковете на съответните машини и дали всичко с тях е в изправност, дали имаме неработещ диск или пък имаме проблем с RAID масива.

Cacti – следим натоварването на дисковете, на мрежата и на машината като цяло. Не искаме да имаме проблеми с прегряла техника 🙂

SMART checks – няма как без тях 🙂

RAID 6 – най-сигурният (за момента) RAID, който използваме за да сме сигурни в надеждността на данните.

Hardware – разполагаме с общо 3 машини, с достатъчно големи хард дискове за да има място за всичките ни клиенти. Две от машините са само Backup и нищо друго, а третата служи като front-end машина за вътрешните системи и проверки, за консистенцията на бекъпите и за стартирането на бекъп процесите (когато това е нужно).

Не се плашете като виждате цени в паунди (GBP). Проекта беше стартиран за България, но малко фирми там оценяват важността на това да имаш резервно копие на данните си на място, различно от собственият ти сървър. Общо взето не им се дават пари за подобна услуга, при положение, че (цитирам) “за 100 лв си взимаме още един хард, слагаме го на сървъра/компютъра и сме готови с бекъпа”.

П.С. Hardware
Подсетиха ме, че в крайна сметка съм забравил хардуера 🙂

Преди не беше нищо особено, но сега имаме това: Supermicro 6027R-E1R12N. Две напълно идентични машини, разположени в различни data центрове за максимална сигурност на данните.

Categories: backup Tags: , ,

Полезни съвети по време на интервю за работа

Рядко ми се отдава възможност да чета, но един от малкото блогове, които следя е Standalone Sysadmin. Вчера прочетох интересна статия, която искам да споделя с вас.
Общата идея е, че когато търсим работа, не трябва да се подценяваме и трябва да вярваме във възможностите си. И най-важното – да търсим висок стандарт при бъдещият ни работодател така, както той би го търсил от нас.

Хвърлете й едно око, заслужава си четенето. Коментарите също са полезни: Looking for a job? Make sure you look hard enough.

Cannot start Microsoft Office Outlook. Cannot open the Outlook window

Проблема е лесен за решаване. Отваряме Start > Run и пишем Outlook.exe /resetnavpane

Categories: Windows Tags: