Нагласа

Спомням си програмистски разговор отпреди осем години. Още бях в училище. Ползвах Windows, знаех (почти) всички особености на C++ и можех с лекота да разплитам спагети код. Или да го пиша.

Разговарях с един приятел. Бях прекарал последните няколко години в усилено писане на C и C++ (в училище). Занимавах се с OpenGL и линейна алгебра. Той пък бе открил Java. Водехме дълъг разговор кое е по-добро – C++ или Java. Спомням си как ми каза „Java има много добър garbage collector“, на което отговорих с „Е какво, не можеш ли да си управляваш паметта сам?“. Той отвърна „Мога, ама защо да се занимавам?“. Бях изненадан. Защо не разбираше, че garbage collector-а е излишен? Всеки адекватен програмист може да си управлява паметта. Пък и несъмнено е по-бързо. Не успя да ме убеди.

Continue reading

Поглед назад III: Швеция

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

Такава беше днешната дата преди три години. Тогава се преместих в Стокхолм. Станах, събрах си багажа, разходих се из слънчева София и следобед хванах самолет към една по-студена държава. Не знаех езика. Не знаех дали отивам за година или се местя за неопределено дълго. Не знаех, че ще ме промени толкова. Continue reading

Разликата

Научавате за нова практика. Design patterns, mock обекти, Selenium или дори функционален език за програмиране. Около нея се вдига доста шум. Ред опитни хора твърдят, че е добра. Прекарвате няколко дни – дори седмица – в експерименти. Евентуално откривате, че не ви дава обещаната отплата.

Тук може да направите два извода. Единият е тази практика не работи. Другият е прилагам я грешно. Почти без изключения мога да категоризирам всичките си познати колеги в един от двата лагера. Почти без изключения, тези във втория са по-добрите програмисти. В крайна сметка, кое е по-вероятно? Опитните занаятчии в областта да грешат или да прилагате нещо, което едва сте разбрали, грешно? Докато първото се случва понякога, опита ми показва, че второто по-често е вярното.

За това търся проблема първо в себе си. В крайна сметка, „select“ Isn’t Broken.

Поглед назад II: Перфектното, враг на доброто

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

– Ти си твърде голям перфекционист. Винаги искаш да правиш нещата по академично коректния начин. Искаш да е перфектно. Не разбираш, че в бизнеса това не важи. Човек не трябва да се стреми към най-якия код въобще. Перфектното е враг на доброто. Няма нужда да е написано правилно – важното е да работи.

Continue reading

Поглед назад I: 07-09 от птичи поглед

Това е част от серия постове. Ако се чудите откъде е дошло, може да разберете тук.

Завръзката започна преди около две години. Работех работата, на която съм се чувствал най-добре. И работата, в която изкарвах най-малко пари. Повечето ми колеги не ги биваше и отношенията ми с шефа бяха… особени. Въпреки че имаше и добри, аз се държах като пълен гъз. Имах най-добрите възможни намерения и най-лошото възможно изпълнение. Имам един характерен начин, по който всички опити да направя някому добро пропадат с гръм и трясък. Continue reading

Поглед назад

Последните две години бяха особено време за мен. Едновременно много се развих и направих много крачки назад – както лично, така и професионално. Макар да научих много нови неща и станах чувствително по-добър програмист, направих много грешки. Загубих време. Подминах събития, от които трябваше да си извадя изводи рано. Започнах да се държа нахално с хора, които не го заслужават. Започнах да се имам за много велик. Имам нужда от шамар и чаша студена вода в лицето. И ще се опитам да си ги дам сам, преди живота или някой друг да ме е изпреварил.

Continue reading

Днес…

…се събудих посреднощ. В съня си бях осъзнал нещо важно. Хората постоянно правят грешки в разсъжденията си и ги наричат „мнения“. Така съвсем неочаквано се промъкват покрай барирерите ми от здрав разум и разклащат изоснови рационалното ми съзнание с неточности и логически фалове. И целият този хаос, с грешен етикет „резумна мисъл“, заплашваше да погълне съзнанието ми и да ме приготви за лудницата…

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

* – освен ако не е Буш, както би уточнил Ричард Сталман.

Как светът ще полудее

Ето какво чух от един мой приятел вчера. Мисля, че ми отне целия ден да го осъзная в пълната му сила.

(програмистите трябва) да спрат да пишат програмите. те трябва да пишат само инструментите с които хората да си решават проблемите

Разбрахте ли, колеги? Стига сте писали програми, пишете програми! Кралят е мъртъв, да живее кралят!

Разбиране, сложност и мисъл

Последния ми пост предизвика повече емоции, отколкото бях приготвен да поема. Очаквах да подразня доста хора, които в последствие да ме заклеймят като краен фундаменталист и да престанат да ме занимават с наивните си разсъждения по ICQ-та и GTalk-ове. Обаче не стана точно така. Като го написах, очаквах да остане неразбран. Сега ще направя допълнение, което също очаквам да остане неразбрано. Ще го отбележа пак, към края на текста. Continue reading

Deadlock

Установих, че и хората могат да изпаднат deadlock. Например – спи ми се, но в момента съм се излегнал на дивана и си цъкам. Твърде много ме мързи за да изключа компютъра и да се преместя на леглото. Но не мога да заспя така както съм в момента. Ерго, в deadlock съм.

Гадна работа.