Tag: QA

Ще бъда лектор на QA Challenge Accepted 6.0

Малко може би закъснях с новината, но след като писах февруари месец, че ще съм лектор на QA Challenge Accepted 6.0 после дойде COVID-19 и така до 12 Септември. Та да – след седмица съм в София и ако някой иска може да ме дръпне и да си подрънкаме на конференцията.

Fun fact е, че времетраенето ми удължено от 25 на 30 минути така, че все ще се намери време евентуално да кажа нещо умно. Или пък ще е абсолютния провал (за който също ще си говорим там).

Наздраве. Хлъц.

Студенти, стаж и работа

Миналата седмица изнесохме две лекции респективно в Икономически Университет и Технически Университет във Варна.

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

 

Колко опит трябва да имам за да започна стаж?

За започването на стаж обикновено компаниите търсят студенти (или ученици), които имат интерес в сферата, но професионалния опит не е задължително изискване. Ако ви е интересно и сте правили задачки във вас или в университета и имате някакъв фундамент значи сте готови да се гмурнете в занаята.

Колко време ще съм стажант?

Обикновено стажовете продължават между 3 и 6 месеца (така е в Немечек например), като след като приключи предварително уговорения срок изборите са два:

  • Започване на Junior позиция в компанията:
    • Очакванията към вас са оправдани и двете страни са доволни. Следват промяна на възнаграджението (което трябва да е упоменато в договора ви още като започвате стажа си) и други придобивки (ваучери, втори монитор или каквото друго предлага компанията). Освен това четири други неща ще се променят:
      • Задачите ви ще станат по-отговорни и шанса да имате парче код, което ще работи при клиент е много вероятно. Вашите ментори вече няма да са с вас на всяка крачка, но ще продължат да бъдат на разположение. Тогава трябва и смяна на начина на комуникация – въпросите да са по-малко, по-структурирани и да сте се подготвили сериозно преди да ги зададете;
      • Вероятно ще имате втори изпитателен срок – това също е честа практика и отнема време. Не бъдете нетърпеливи, защото за няколко месеца/година ще влезете в бранша и оттам всичко остава във вашите ръце;
      • Бъдете самоинициативни – ако някой процес не ви хареса или имате идеи за развитие, курсове, споделяне на добри практики или каквото и да е било друго не се срамувайте, а говорете с вашия Team lead.
      • Бъдете готови да помагате на другите около вас без значение от това дали не са от 20 години в бранша или са стажанти. Бранша ни е толкова мащабен, че всеки може да даде ценна троха знания на всеки около него.
  • Прекратяване на Стажа ако една от страните не е доволна от другата:
    • Ако не се харесате с компанията в която работите и решите да я сменяте, го направете по възможно най-коректния начин. Това е първата ви компания и е важно да се разделите в добри отношения (без значение дали са били добри с вас или са били абсолютните задници). Пък и не е рядка практика HR-ките да звънят на предни фирми, в които сте работили за да разпитат;
    • Ако сте доволни от компанията, но не и от заплащането винаги можете да договорите. Съвет от мен е при преговори да се подготвите предварително с план в краткосрочна и дългосрочна перспектива. Това включва подобряване на hard skills (например ученето на нова технология) и по-трудното – работа по някой soft skill (комуникация, работа с екипа и т.н.);
    • Ако са ви пръснали от работа и това е причината да напуснете – тогава expectations management-а и на двете страни не е сработил добре. За това в началото при даването на задачите ако усетите, че има вероятност да не се справите разпитайте, прочетете повече и преговаряйте. Ще се учудите колко отворени са хората. И е нормално да не дадете супер точен estimation. Това идва с опита.

Колко време ще ми е нужно да стана Mid и Senior?

 

Всяка компания има политика за определяне на това кой в какъв seniority level e. За да придобиете представа ще дефинирам четирите основни нива:

  • Intern (стажант) – често млад и надъхан студент или ученик, но може да е човек, който сменя бранша. Обикновено има човек, който се грижи за него – ментор, който му дава задачи, оценява го как се справя и т.н. Очакванията към него са да е нахъсан и да му се учи, да се адаптира бързо към средата и да му е интересно;
  • Junior – стъпка над стажанта, вече може да се чувства, че опита му започва да става професионален. Задава си въпроси, които като стажант не е можел да си отговори ясно (например накъде да копае – frontend или backend, някоя конкретна технология или каквото се сетите). Задълженията му нарастват и вече има задачки за него, които не са тренировъчни, а реални. Трябва да можете да комуникирате ясно и стегнато и да знаете на кого да зададете въпросите си. Очаква се от вас ако имате мнение по някой въпрос касаещ кода, проекта или процесите да ги обсъдите с вашия Team Lead. Очакванията са да си задържите и засилите интереса към това, което правите и да се стремите да сте по-добри;
  • Mid – вероятно най-често срещаната позиция в бранша. Това са хора с изграден вече професионален опит, които имат добър фундамент, справят се с много голяма част от задачите, които има за правене по проекта. Те могат да виждат голямата картинка, да разбират бизнеса и да работят самостоятелно. Не е рядкост към Mid (програмист, QA, PM, изберете си сами) да закачат някой стажант или junior като човек за помощ и подкрепа, а понякога и направо като ментор. Очакванията са да са самоинициативни и самодостатъчни, да комуникират с лекота с всички членове на екипа и да знаят как работят нещата отдолу, да могат да се справят със заплетени проблеми и както обичам да казвам – да са настъпвали възможно най-много мотики за да знаят какво и къде да правят;
  • Senior – освен солидната техническа грамотност трбява да са мотивиращи и лидери (не е задължилно да са lead-ове), да могат да помагат на другите, да дърпат проектите напред и да бъдат хората, които като някой има въпрос да са там и да имат желание да помагат. Тези хора Виктор ги нарича oracles. Освен това дълбокото разбиране на проблемите и ясната позиция при решаването им са много важни. Комуникация с клиенти също е често срещано. И накрая, но не на последно място senior хората трябва да са израснали вътрешно – да са спокойни и да знаят как да приоритизират.

Както виждате за всички позиции човек трябва да е надъхан, да му е интересно и да рови. Ако нямате подходящия attitude сте обречени на вечно мънкане и бърз бърнаут.

Какво трябва да мога и какво ще науча освен техническата част?

Понеже обичам bullet points:

  • Трябва да се научите да комуникирате с хора – да сте спокойни и да задавате правилните въпроси, да можете да говорите с лекота както с програмистите, с вашия team lead и ако щете със CTO-то ви. Задаването на правилните въпроси носи удовлетворение и ефективност и в двете страни, но значи и че трябва да се научите да си структурирате въпросите правилно както и да четете предварително преди да задавате такива;
  • Научете се да … учите – в нашия свят много често се налага да навлезем много бързо в някоя непозната за нас технология и това е напълно нормално. И виждам как хора научават в движение Go или React и се справят отлично. Тайната е това, че тези хора имат стабилен фудамент на който да стъпят и разбират и методика на учене;
  • Да се стремите да виждате голямата картинка. Януари тази година бяхме с екипа в САЩ и там се срещнахме с нашия CEO и съответно имахме време да си поговорим на дълго и на широко. Още от първото изречение видях, че моя и неговия мироглед са толкова различни, че чак е стряскащо. Той гледа с няколко години напред, усеща кога идва нещо голямо и каква е голямата картинка. Аз към този момент (в аспекта на текущия ни проект) се грижих за абсолютно микроиоскопичните детайли. Такива разговори действат отрезвяващо и карат човек да се замисли за това;
  • Да се научите да вършите работата си по определен начин. Както във всеки проект текат различни процеси, които го държат стегнат и праволинеен така и вашата работа трябва да се основава на нещо подобно.  Всеки обича чистото и подредено бюро, но не всеки се замисля дали е проблем това, че работим едновременно по 6 различни задачи и имаме 145 отворени таба на браузъра.
  • Работа в екип – в идеалния случай екипът се събира като части от пъзел – лесно и безпрепятствено. Понякога обаче е все едно сте призовали 8 демона, които се бият с лопати през няколко минути. Без значение от коя страна сте работата с хората във вашия екип трябва да е първо на професиоанлно ниво и да оставите на заден план личните ангажименти. Защото ако в пъзела има една част, която не пасва тя обикновено бива изхвърлена. И е признак на зрялост желанието за подобряване на отношенията в екипа;
  • Да държите на критика. Ако сте програмист ще има цял екип от малки демони, които ще тестват вашата работа и ще логват къде адекватни, къде не проблеми, ще има колеги, които няма да харесат вашия pull request и ще пишат коментари, много коментари. И ще изглежда, че всичкие са гъзове и че не ви харесват и че изглежда, че ви казват, че за вас ще е по-добре да пасете овце/крави на село, но това не е така. Всеки в един работещ екип има една основна цел – проекта да върви напред. А за да върви напред качеството на работа на всеки един от екипа трябва да е на високо ниво. Не забравяйте, че качеството и ефективността на всеки екип е равно на този с най-малко опит;
  • Бъдете пич (пич е state of mind, а не полово определение, моля, моля!) – когато човек е пич нещата вървят по-лесно. Дребнавостта, нуждата за внимание на всяка цена и всякакви малки злободневни неща могат само да подразнят колектива.

 

И пак си бях обещал да не правя 100 страници пост и пак не ми се получи :)
Надявам се да съм бил полезен. Ако имате въпроси ги задавайте под статията в секцията за коментари.

 

P.S. Споделям с вас страхотния материал на WaitButWhy.com – How to Pick a Career (That Actually Fits You). Отделете му време, съветите са брилиантни.

Ще бъда лектор на QA: Challenge Accepted 5.0

Ииии ето, че тази година пак ще говоря на QA: Challenge Accepted.

Този формат е най-трудното нещо, което правя последните 2 години – приемам го доста насериозно и предния път ми отне немалко време и енергия да се подготвя.

Тази година темата ми ще е “Security Testing – Fast Forward” и ще продължи само 25 минути. Кандидатствах с две лекции – едната беше по-интересна и дълга (40 минути) и носеше по-епичното заглавие – “From lizard to wizard”.

И така – ще се срещнем с вас на 13 Април в София Тех Парк.

P.S. Ако на някой му е интересно нещо по темата нека пише тук и ако мога бих го включил в лекцията.

P.S. По време на лекцията ще има и малка изненада тук в блога.

Излезе видеото на лекцията ми в QA: Challenge Accepted!

Излезе видеото от лекцията ми на QA: Challenge Accepted 2018.

 

Освен, че гласът ми трепери като на ученичка мисля, че не се справих толкова лошо.

Линк към презентацията можете да намерите тук.

В канала са и останалите видеа и lightning talks също.

02.04.2018

Целия уикенд мина в почивка, разходка до Балчик за по една супа и да ни навали дъжда и четене.

In other news, освен, че се подготвям за QA: Challenge Accepted 4.0:

03.2018

Този месец се учудвам колко малко съм писал.

Personal update – в офиса ми дадоха освен QA задачи по новия проект и да вдигна един VPS като staging server с nginx, mysql, проекта е писан на Laravel. Деплоя мина добре, проектите са up and running и като има задачки на сървърно ниво ги поемам аз, което ме кара да се чувствам много добре. И това основно заради marvin, който неведнъж съм искал да запаля. Our relationship is complicated, както казват :)

Иначе ето няколко неща, които се случиха последните седмици без явна подредба:

 

  • След Meltdown и Spectre дойде ред на amdflaws. Това са колекция от сериозни уязвимости според сайта. След един бърз и некомпетентен поглед от моя страна май не са като Meltdown/Spectre, а Линус Торвалдс тегли една майна на авторите. Няма да ви развалям удовоствието от четенето. Линус си е епичен както обикновено :)
  • Branch prediction attacks на много ниско ниво откриха в семейството процесори на Intel (само те са били тествани). Прочетете статията, дава малко светлина върху една интересна техника за branch predictions;
  • Semantic Versioning е проект, който описва по прост начин идеята за означението на версиите (versioning) като например какво значи версия 3.2.17. За хората с опит това е ясно, но за по-новите в бранша е ценен ресурс;
  • Камерата на Google Pixel използва AI-то, което правило снимките по-яки или поне така твърдят. В общи линии използват image segmentation, което разделя снимката на сегменти и ги сглобява с техен си алгоритъм. Така според тях качеството на снимките се подобрява значително;
  • Новината на годината в digital signed certificates сектора е, че Let’s Encrypt пуснаха поддръжка на wildcard certificates на цената на техните нормални сертификати или точно 0 лв! За целта трябва да добавите TXT domain record и да използвате техния API endpoint. Имайте предвид, че трябва да използвате certbot 0.22.0 или по-висока. Другото можете да направите с подобен синтаксис:
./certbot-auto --server https://acme-v02.api.letsencrypt.org/directory -d *.nedko.info --manual --preferred-challenges dns-01 certonly
  • Излязоха данните от годишната акнета на StackOverflow за 2018 година. Винаги тази анкета е служила за много добра индикация накъде сме откъм технологии, навици, заплащане и т.н.;
  • Професор Стивън Хоукинг си замина на 76 г. оставяйки в много от нас нуждата да знаем, да погледнем нагоре (или в нас) и да се борим. Почина 50 години по-късно отколкото лекарите му бяха казали, че ще живее с ALS;
  • YouTube имат намерението да борят fake news с линк към Wikipedia под видеата. Много се кефя на идеята, но ако човек гледа видеа за рептили е малко вероятно да седне и да изчете 5-6 страници статии и научни обосновки да кажем. Ще видим, дано помогне;
  • На Pi Day излезе моята любима джажда Raspberry Pi  3 Model B+ (последния да затвори вратата). Новия модел ще има 1.4 ghz quad-core Cortex A-53 процесор, 802.11.ac и Bluetooth 4.2, гигабитов нет (over usb 2.0) и подобрено оглаждане. Цената остава $35;
  • Фейсбук ми напомни, че преди 7 години им писах един благодарствен мейл, който още им виси на сайта. Бях техен клиент от около 2007 до 2016;
  • Едно леко извратено видео как елементарните неща, които можем да правим с десетки библиотеки и драйвери навремето на асемблер са се пишели на ръка. Това не е урок как да пишете на Асемблер, а по-скоро да си даваме по-често сметка колко ненужни ресурси заемаме с някой елементарен npm пакет, js библиотечка или каквото се сетите;
  • И как можем да подкараме Kali Linux на Windows 10 – native! Изисква много малко подготовка и работи добре;
  • Google изгуби продъжилия над 8 години съдебен спорт с Oracle относно и трябва да платят около 8.8 милиадра долара. Така, че внимавайте с лицензите ;)
  • Винаги съм се кефил много на ентусиастите, а на Paulo Constantino съм особен фен откакто разбрах, че е направил 8 битов процесор ей така just-for-fun. Схваща ми се ларинкса само като видя колко сложно изглежда на външен вид;
  • А ако някой има нужда да деплойне Laravel server някъде може да ползва tutorial-а на DigitalOcean, който на мен ми свърши страОтна работа;
  • Из българския интернет (блогосфера звучи тъпо) Божо говори за две наболели теми тия дни – това, че ГДБОП НЕ ни следят чатовете и повече информация за защита на личното ни пространство;
  • Програмист сте и си пускате локална среда, която в hosts файла задавате да бъде neshtosi.dev или neshtosi.foo. Отваряте го през Chrome и/или Firefox и БАМ – не можете, защото сертификата ви не е валиден? Какъв сертификат, бе? И не можете да продължите, защото имате HSTS? WTF? Споко – проблема не е във вас. От извесно време насам Chrome и Firefox force-ват gTLD-тата .dev и .foo към https с hsts. Повече информация можете да прочетете тук;
  • GitHub преживя най-голямата DDOS атака някога. Историята е интересна и препоръчвам да я прочетете;
  • И свързано донякъде с горния ред – да не забравите да си ъпдейтнете memcache-а;
  • Един модел за git branching, който е кратък и извънредно полезен;
  • Най-тъжното нещо, което съм чел тази година е едно несъмсигуренколкоточно изследване финансирано от изобщо неподкупните и политически независими 24часа. Няма да пиша нищо за него, защото брадата ми е още мокра от сълзите, които текоха като реки докато го четох първия път;
  • От серията “Научи xx за хх минути”, този път JS от Jeremy Thomas;
  • Ся, нещо важно – пускат Unity C# под reference-only license;
  • ngxtop е един много полезен проект, който ви показва в конзолата real-time метрики за натоварването на nginx. Писан е на Python и се инсталира елементарно през pip:
    pip install ngxtop

    Можете разбира се да намерите и WEB модул, който прави това, но официалния е Luameter и струва 40 евро.

 

P.S. Ако се чудите каква връзка има комикса със статията – няма. Но ми е любим откакто го открих :D

 

P.P.S. Генерирането на Akismet api keys не работи така, че който иска да ми спами блога сега е момента.

QA: Challenge Accepted 4.0

Ще се кюейваме, ще се аксептваме и ще се челинджваме на 21.04.2018 година на QA: Challenge Accepted 4.0. Акнетата за лекторите е пусната (Секция “Гласувайте за лектор“) и има 20+ желаещи да заемат челни места и да говорят там.
Аз съм един от тях. Ще говоря за jMeter и как да направим eye candy (и разбираеми!) графики с Grafana и InfluxDB, сигурно пак ще си съборя VPS-а по време на демото (been there, done that) така, че сигурно ще напомпам още малко marvin да преживее и това извращение върху него и така.

 

Едно е сигурно – дали ще говоря или не на QA: Challenge Accepted лекцията ще бъде подготвена и при първа възможност ще я разкажа, сигурно пред колегите в софийския офис на Немечек.

 

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

Равносметката 2017

Мина още една година. И по навик казвам нещата, които не съм направил първо, защото са по-важни.

  • Не водих лекции в Социалната Чайна. Преди няколко месеца излязоха открито и казаха, че парите им не стигат. Тогава се свързах с тях и говорихме да водя лекции в тяхната зала, а приходите (всеки плаща колкото реши) да отиват в Чайната. По същото време смених работата и реших да забавя нещата за да мога да се концентрирам върху нея;
  • Почти не снимах. За поредна година;
  • Почти не танцувах;
    • Нямам нито едно представление за годината.
  • Не говорих на TEDx. Темите ми щяха да бъдат свързани с депресията или Quality Assurance in real live;
  • Не говорих на WordCamp Varna 2017. Предложените ми теми бяха за security и performance testing. Не ги одобриха;
  • Почти не свирих;
  • Не карах колелото точно колкото исках. За това вече писах;
  • Не четох толкова, колкото исках;
  • Не писах толкова, колкото исках.

 

Нещата, които се случиха:

  • Започнах нова работа. За момента това е най-доброто място в което съм работил в съотношение колеги/проект/условия. Компанията е Немечек;
  • Направих моето Голямо Каране. До половината. Три дни интензивно каране и общо 264 км, спане в колата, катерене на връх Ботев, ядене на малини и ягоди на средата на нищото;
  • Случи се това. И близките ми за здрави и повечето дори са щастливи. Повече не мога да искам. Дори и котката Иво е жив и здрав (и дебел);
  • Изкарах 2 дуатлна (Злати се включи във втория и го изкара също), на единия дори и завърших в контролното време. Имам си и медал!
  • Пътувахме със Злати много. Обикаляхме из България, а тази година направихме и няколко пъти Варна-София-Варна със самолет;
  • Изкачихме връх Ботев за ден и спечелих от габровец 10-тина бири;
  • Говорих в WordPress meetup Varna за “Security of WordPress”. Получи се много добре;
  • Говорих и в “ИТ Форум” в Технически Университет Варна. Там организацията беше зле, след като си написах лекцията после 5 (!!) човека от предната фирма в която работих я редакритаха, рязаха, добавяха, осакатяваха докато не стана една страхотно скучна лекция типична за скучно-университетските и/или корпоративни среди. И имаше 10 човека (заедно с лекторите);
  • Говорих във “Вечер на таланта” за моето Голямо каране. Беше интересно, даже има и видео как фъфля;
  • Говорих в “EU Code Week Varna 2017” – беше най-класното и посещаемо събитие провело се в зала “Black Sea Hall” на хотел “Черно Море”;
  • Месец по-късно говорих в “Zara Code Week 2017” поканен от Венко Добрев. Беше най-сърцатото събитие, срещнах ценни хора, имаше крайно черен хумор вечерта преди моята лекция, заразих се от ентусиазма на Орлин. Абе беше страхотно преживяване;
  • Започнах да се заигравам с микроконтролери. За момента съм загърбил Raspberry Pi-то и си играя с ESP8266 (контролер с 80 Mhz процесор, micro USB захранване, вграден WiFi, I2C, etc.), DH11 (датчик за температура, влажност и атмосферно налягане), BSP280 (като DH11, но много по-точен и производство на Bosch) и голямата ми гордост – SDS011 (датчик за твърди частици). Като сглобя всичко това ще се включа в Air Bulgaria да следим в колко мръсен въздух живеем;
  • marvin е още жив. Покрай него научих супер много за системната администрация и как работи отдолу nginx. Нико, Владо – благодаря за помощта, която ми дадохте през времето когато го омазвах солидно;
  • Тръгнах да чета Хари Потър, до момента съм към края на петата част – “Хари Потър и Ордена на Фениска”. Четох и Бакман, Весела Тотева и Агата Кристи. Следващата година ще дочета Потъра и после – Глуховски. И повече от 9 книги за годината(срам, срам…);
  • Отидохме на Hills Of Rock, счупихме главите и си изкарахме потресаващо добре.

  • Не мога да повярвам колко дълга ми стана косата.

Нещата, които ще ми се случат:

  • Да направя каквото мога за Чайната;
  • Да правя хората по-добри. Винаги съм вярвал в споделянето на знания и ще продължавам да го правя докато мога;
  • Да чета приказки в дома за деца лишени от родителски грижи;
  • Да се случи моето Голямото каране 2 – този път 500+ км за седмица, вероятно пак сам;
  • Силна бреветна година – 200км, 300км (евентуално 200+300 във Варненски бреветен уикенд) и ако успея да вляза във форма – и един 600 км (400 е за ден, а 600 има време човек да поспи 2-3 часа за това казват и че е по-възможен);
  • Дунав Ултра – много се надявам да успея да участвам и да финиширам в контролното време;
  • Да изкарам първия си мартон.

 

Нещата, които заболяха:

30.11.2017

Днес цял ден ми е едно ей такова:

 

И после ей такова:

 

Пуснах пост 200, после и малко писание около Zara Code Week 2017, смених галерията (най-накрая) с нещо по-адекватно и за последно – вече всеки нов пост ще бъде пускан автоматично и в twitter акаунта ми.

 

Александър Тодоров сподели и едно видео на Claudiu Draghia, изглежда полезно: