My opinion about NodeJS course from Udemy

Hi there,

On 26 December 2018 I got certificate of finishing course of ” Node.js: The Complete Guide to Build RESTful APIs (2018) “.

On this course was opened follows topics such as:

  1. How to getting started with NodeJS.
  2. NodeJS environment: node module system and node packages manager.
  3. Author gave a good description about build RESTfull API using Express Framework and noted all important things which helped me to got whole picture about asynchronous JavaScript and authentication and authorization with using JWT (JSON WEB Token)
  4. He also gave me a good knowledge about validation in NodeJS routes, type validation and MongoDB models validation.
  5. He noted all small features of MongoDB and explained them on easy way.
  6. Testing and handling the errors. He explained several packages which give us possibility to test our application more quality. On the same section he explained new approach to build application. This approach names Test-Driven the seance of that is to write test before you write code.
  7. Deployment to production using Heroku.

The course duration is 15 hours and includes 224 lectures which give you advance knowledge about server-side JavaScript as NodeJs.

I suggest you to give time for this course and will learn more about NodeJS.

Thank you for attention.
Evgeny Skarlat

Наближава ли времето на самоуправляващите се проекти?

На 23 ноември 2018 г. в Sofia Event Center се проведе осмото издание на PMDay Bulgaria, почетно място в което беше отредено на разумните технологии за управление на проекти – или project management intelligence.

Конференцията започна оптимистично с лекция на двама експерти от Швейцария – Мануел Пробст и Марк Ламан от PWC. Те представиха свой вътрешен експеримент, целящ да предвиди успеваемостта на проекти (и най-вече да идентифицира тези с висок риск от провал) въз основа на исторически данни с помощта на изкуствен интелект. Въпреки внушителните инвестиции обаче крайният резултат е далеч от задоволителен. Най-вероятното обяснение за това е, че алгоритъмът не успява да предвиди например социалната динамика между заинтересованите страни в проекта.

От експеримента на PWC стана видно, че все още е далече денят, в който управлението на проекти ще може безусловно да се довери на технологиите. В тази връзка гост-лекторите изказаха мнение, че от триъгълника с таланти на PMI (talent triangle – включващ стратегическо и бизнес управление, лидерство и техническо управление на проекти) най-вероятно единствено техническият аспект би могъл да бъде заменен от изкуствения интелект, и то на много по-късен етап.

Докато швейцарците от PWC бяха устремили поглед към високотехнологичното бъдеще, лекцията на Майк Паладино по забавен и въздействащ начин показа колко назад във времето могат да се проследят притесненията на работещите в най-различни сфери, че новите технологии застрашават работните им места. Когато французинът Тимоние изобретява шевна машина с капацитет от до 200 бода в минута вместо стандартните за един средностатистически шивач 30 бода например, шивашката гилдия (и най-вече на освободените от фабриката на Тимоние шивачи) се вдигат на бунт, жертва на който без малко не става и самият изобретател. Повече от век и вероятно стотици нововъведения по-късно обаче дори най-високотехнологичната шивашка техника в текстилните предприятия все още се обслужва от хора.

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

https://www.forbes.com/sites/rickferri/2012/12/20/any-monkey-can-beat-the-market/#674506db630a

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

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

Забележка: Не на последно място трябва да се отбележи, че PMI Bulgaria Chapter бяха създали организация за автоматично докладване на седем кредита (PDUs) за участие в конференцията, които бяха отразени в профилите ни в рамките на по-малко от месец и половина.

PMPDay България 2018

PMPDay България тази година се проведе на 23.11. Темата на осмото издание на най-голямата конференция в областта на управлението на проекти в България и на Балканите беше „Project Management Intelligence“. Организатор на събитието беше PMI Chapter Bulgaria – българското подразделение на една от най-големите водещи организации в областта на управлението на проекти – PMI(Project Management Institute).

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

Осъзнавайки това, организаторите бяха подготвили програма, която включваше лекции, практически упражения (workshops) и дискусии, обхващащи три основни направления:

Технологична интелигентност – или как се променя ролята на ръководителя на проекти в ерата на цифровизация и изкуствен интелект (Artificial intelligence).
Емоционална интелигентност – или как да ръководим, мотивираме и вдъхновяваме хората, с които работим.
Бизнес интелигентност – или как да постигнем желаните резултати и какви инструменти да използваме за ефективно управление на проекти, анализирайки и използвайки правилно наличните данни.

Поканени бяха лектори, доказани експерти в областта си, с много опит и успешни проекти зад гърба си.

Организацията на събитието беше отлична. Конференцията се проведе в няколко зали, като имаше лекции и практически семинари, които се провеждаха едновременно. Програмата и резюме на презентациите бяха предоставени предварително и всеки можеше да прецени какво би искал да посети. Между лекциите имаше достатъчно време за почивка, кафе пауза и разговори с останалите участници. Бяха организирани и различни игри, които направиха събитието по-интересно и динамично.

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

Първата лекция беше „Artificial intelligence and project management: Beyond Human Imagination!“. Manuel Probst и Marc Lahmann от PwC Switzerland ни запознаха с историята на изкуствения интелект, какъв е бил в началото, какъв е сега и какъв различни експерти си представят, че ще бъде в бъдеще. Бяха дадени примери за приложение на изкуствения интелект в ежедневието на хората преди, сега и в бъдеще.
Днес всички сме наясно, че изкуственият интелект се развива много бързо, особено с развитието на технологиите и по-големите възможности на изчислителните машини. Всички сме наясно, че все повече човешки дейности ще бъдат заменени с машини. Въпросът, който вълнува човечеството днес е дали роботите могат да заменят изцяло човека. Тезата беше представена много интересно с аналогия от филма „Железният човек“. Изводът беше, че колкото и да напреднат технологиите, въпреки заложените алгоритми за самообучение на системите, никоя машина не може да замести човека. Защото това, което отличава човека от машината са емоциите, а емоциите не могат да бъдат предсказани. А кой знае, може би грешим :).

Втората лекция, която посетих беше „How to lead when we lack authority“, водена от Srinivas Maram.
Темата на лекцията беше за това, че не е необходимо човек да бъде на ръководна позиция, за да бъде лидер.
Факт е, че повечето от нас не са готови да поемат отговорност. Според проучване повечето хора от деца са обучавани да искат разрешение от някой преди да направят нещо. Това ни прави нерешителни и ни учи да очакваме някой друг да взема решения вместо нас и да ни казва какво да правим. Когато някой друг взема решения е по-лесно, защото ако нещо се обърка обвиняваме другите за нещата, които се случват с нас. Такова мислене ни отнема правото на контрол върху собственият ни живот. Такова мислене ни отнема правото да вземаме решения и това води до пропускане на добри възможности.
За да постигнем целите си трябва да повярваме, че всеки може да бъде лидер и за това не е необходимо да бъде на управленска позиция. Промяната в начина на мислене обаче, не става за една вечер. За да успее, човек трябва да се фокусира върху това, което има и това, което може да контролира. Много често ние губим енергия да се разтройваме и ядосваме от неща, които не можем да променим.
Чрез примери, Сринивас Марам представи различни техники и принципи, които биха помогнали на всеки от нас да бъде успешен в това, което прави, както и да бъде полезен на хората около себе си. Такива са:
– дефиниране на ясна цел за това, което искаме да постигнем
– предприемане на действия, които биха ни довели до дефинираната цел
– критично мислене, реална оценка на ситуацията
– оценка на влиянието на различни фактори
– прокарване на нови идеи, какво различно бихме могли да предоставим
– социална отговорност – какво бихме могли да дадем на обществото
– вяра в собствените възможности и необходимост от непрекъснато самоосъвършенстване.

И накрая нещо много важно, за успеха на всеки един от нас:
Никога не трябва да се предаваме!

Третата лекция беше за „Set-up the stage for execution at scale with Scaled Agile Framework® (SAFe®)“, водена от Nina Prodanova-Iozeva.
Вниманието беше насочено върху това, какво е важно да се направи, за да се практикува SAFe в една организация. Лекторката ни запозна с начина, по който са въвели тази структура в тяхната компания. Фокусът беше върху това, колко важно за една голяма компания е на определен период от време да се съберат всички екипи на едно място и да бъде представена визията на компанията за следващите няколко месеца. На тази среща се прави планирането и всички участват в него. Тъй като всички са събрани на едно място, при необходимост може да се поиска информация от ръководителите или от членове на други екипи. Тъй като всички са наясно с целите, които трябва да бъдат постигнати, може да изкажат мнения дали те са реални и какви са необходимите предпоставки да бъдат постигнати.
Фактът, че всеки е запознат с целите, дава свободата на екипите да вземат информирани решения в процеса на работа, ако се появи проблем.

Следващата лекция беше „Artificial intelligence in project management“.
В продължение на лекцията на Manuel Probst и Marc Lahmann, Khaled Hamdy ни запозна с приложението на изкуствения интелект и как може да бъде използван в различните дейности в  управлението на проекти.
И тъй като в основата на изкуствения интелект стоят данните, ключовата фраза в лекцията и темата за размисъл беше: „Данните са валутата на бъдещето“(Data is the currency of the future).

В следващата лекция „Making project management funking easy“ Frank Turley ни запозна с начините и основните предпоставки, необходими за навлизане в областта на управлението на проекти. В днешно време животът е доста сложен. На всеки от нас се налага да управлява проекти дори и в ежедневието си. На едни от нас се отдава по-лесно, на други не. Според Frank Turley са необходими следните предпоставки за въвеждане на управление на проекти в дадена компания:
– Опростена лека система, за управление. Тя трябва да бъде визуална, лесна за разбиране(да не отнема повече от 15-20 мин за обучение за работа с нея), да може да се използва от повече от един чеовек едновременно, да може да се споделят документи и информация, да бъде безплатна.
– Да има примерни проекти.
– Да има online платформа за управление на проекти
– Да се организира практическо упражнение, на което да бъдат отиграни дейностите с реални малки проекти.
Представена беше P3.express платформата, нов феймуърк за управление на проекти. Повече информация за нея може да бъде намерена на http://p3.express/.

Една от най-интересните лекции за мен беше  „Secret of Engaging Presentations“.
Борис Христов, основател на една от най-успешните агенции, помагаща на едни от най-големите компании да представят идеите си през клиенти, ни запозна с основните стъпки и принципи, които трябва да се следват, за да бъде една презентация успешна.
Много от нас са чели и гледали лекции за това, как трябва да бъде структурирана една презентация. В интернет могат да бъдат намерени много шаблони, които да бъдат използвани. Истината, обаче е, че за една истинска презентация е необходимо много повече от няколко слайда на powerpoint.
Как трябва да бъде структурирана една презентация и какво трябва да бъде нейното съдържание, зависи от няколко неща. Преди да започнем трябва да знаем:
– Каква ще бъде публиката. Много е важно да познаваме хората, пред които трябва да говорим. Важно е да знаем: пол, възраст, религия, семейно положение, лична информация, хоби, професионална кариера.
– Каква е целта на презентацията. Какво искаме да постигнем. Както трябва да се случи като резултат от презентацията.
В зависимост от събраната информация, структурата на презентацията може да бъде различна.
За да бъде една презентация успешна, обаче трябва да се следват „Трите метода за убеждаване“ – триъгълника на Аристотел.
Трите метода на убеждаване (съставките на ефективната комуникация) според Аристотел са:
Етос – достоверност на комуникатора
Патос – емоционален ефект на комуникатора или посланието
Логос – логика на посланието.
Всяко едно от трите неща по-горе има значение за ефективната комуникация и се оценява от аудиторията на презентатора/писателя, съзнателно или несъзнателно.
Всеки от тези три метода, трябва да присъства в една презентация. Каква част ще заема всеки от тях зависи от аудиторията и целта.
Всяка презентация трябва да се състои от въведение, съдържание и заключение.

Уводът трябва да привлече вниманието на аудиторията. В него трябва да се отговори на въпросите: Какво е текущото състояние и какво искаме да постигнем.
Съдържаниeто е основната част. След като сме привлекли вниманието на аудиторията, тук е трудната задача да го задържим. Особено ако става дума за дълъг период от време. Важна техника е да има „драма“. Трябва да следват данни за минало-бъдеще, минало бъдеще, проблем-решение, проблем-решение, какво е сега-какво може да бъде. Изложението трябва да следва крива линия, непрекъснато съпоставяне, а не права линия – първо да се обяснят всички проблеми и после да се представят всички решения.
Може да се използват и различни техники за привличане на вниманието – говор, видео, задаване на въпрос, разходка из аудиторията, трябва да има емоция – силен говор, после тих, сериозна тема – шега. За да се привлече вниманието за по-дълго време трябва да има динамика.
Заключение
Хубаво е да се състои от 3 части:
– Обобщение на съдържанието на презентацията. На кратко, без подробности.
– Насоки какви действия се очакват от аудиторията.
– До какво ще доведат тези действия. За да накараме някой да свърши нещо, трябва да му дадем основателна причина защо. Резултатът трябва да бъде привлекателен за него.

За мен това беше много полезна презентация, много практически насочена.

Последната лекция, която посетих в рамките на конференцията беше „The art and science of transforming any relationship“, водена от Tolee Fotitzidis.
Много интересна лекция, за това как действията ни са продиктувани от нашите мисли и как реакцията ни на действията на останалите, се базира на нашите собствени мисли.

Това, което мога да кажа в заключение за конференцията е, че беше много полезна за мен. Радвам се, че имах възможността да я посетя, за което съм признателна на организаторите и на колегите си, благодарение на които това беше възможно.

„Финит Софтуер Системс“ обявява нов търг по процедура „Специфични обучения“ на ОПРЧР 2017-2020

Оттук можете да изтеглите тръжната документация за избор на изпълнител/и с публична покана с предмет:

Доставка на услуги по провеждане на специфични обучения за безработни и заети лица във фирма “ФИНИТ СОФТУЕР СИСТЕМС” ЕООД, включващи:

  • Обособена позиция №1:

Тема 1: Проектиране на системна архитектура и документиране на изисквания в развойните проекти на “Финит Софтуер Системс” ЕООД;

  • Обособена позиция №2:

Тема 1: Надграждащи курсове по езици за програмиране, използвани в проекти на “Финит Софтуер Системс” ЕООД (онлайн обучение) – ГРУПА А;

Тема 2: Надграждащи курсове по езици за програмиране, използвани в проекти на “Финит Софтуер Системс” ЕООД (онлайн обучение) – ГРУПА Б;

  • Обособена позиция №3:

Тема 1: Технологии в администрирането на уеб-базирани решения и мобилни приложения (онлайн обучение), използвани във “Финит Софтуер Системс” ЕООД;

  • Обособена позиция №4:

Тема 1: Междукултурна комуникация и управление на приоритетите и стреса в ИТ аутсорсинга на софтуерни услуги;

Тема 2: Управление на мотивацията в сферата на софтуерните разработки.

За повече информация за проекта: https://blog.finite-soft.com/index.php/2018/05/09/specialized-trainings-prroject-announcement/

„Финит Софтуер Системс“ обявява търг по процедура „Специфични обучения“ на ОПРЧР 2017-2020

Оттук можете да изтеглите тръжната документация за избор на изпълнител с публична покана с предмет:

„Доставка на услуги по провеждане на специализирано чуждоезиково обучение за безработни и заети лица във фирма “ФИНИТ СОФТУЕР СИСТЕМС” ЕООД в обособени позиции:

  • Обособена позиция 1: Английски език за програмисти;
  • Обособена позиция 2: Немски език за програмисти“.

За повече информация за проекта: https://blog.finite-soft.com/index.php/2018/05/09/specialized-trainings-prroject-announcement/

Integrated Management System and its ISO/IES certification

Since the beginning of 2017 the company initiated series of actions for establishment  of an Integrated Management System. These actions came as logical response to our professional approach and priorities to be more than just experts.

The focus in our approach is the reliable partnership with you as a client.

The keywords are: expertise, quality, security, clearly defined processes.

The main goal: customer satisfaction.

Efforts that we as a team made were to achieve compliance to the globally accepted ISO/IEC standards which requirements serve and support all the processes inside our joint business projects.

Up to now we are successfully certified on ISO/IEC 9001:2015 (Quality Management System), ISO/IEC 20000-1:2011 (IT Service Management System) and ISO/IEC 27001:2013 (Information Security Management System).

ISO/IES 9001:2015 specifies requirements for a Quality Management System that could ensure:

– the ability of the organization to provide consistently products and services that meet customer and regulatory requirements, and

– enhancement of customer satisfaction based on effective application of the system and of the incorporated processes for its constant improvement.

Certification on ISO/IEC 20000-1:2011 was a logical upgrade of the Quality Management System in the direction of IT Service Management. The standard specifies requirements for the company as service provider to plan, implement, operate, monitor, and improve the Service Management System. It defines clear processes in the field of Service Configuration Items Management, Management of Emergency Releases, Service Complaints, Change Management, Capacity Management, etc.

One of the most important assets our-days and especially of IT companies is information which varies from personal to financial, industrial and intellectual property, etc. The ISO/IEC 27001:2013 is part of the ISO/IES 27000 family of standards that support organizations to keep those assets secure. ISO/IEC 27001 is the best-known standard in the family. It is a base for number of Security Policies defining the parameters of Information Security starting from Physical Security, Network Security, Access Control, going through human factor like Human Resources and Suppliers and regulating the Uninterruptability of the Services and Incident Management.

The aim of all the requirements drawn by the Information Security Management System is to maintain uncompromising high level of information inviolability.

The Integrated Management System built on these three standards define our main statement which is well known in formal logic as “necessary and sufficient condition”. Following this necessary and sufficient condition keep our focus and values on the right road where the target is always the win-win partnership and the customer satisfaction.

„Финит Софтуер Системс“ стартира проект по процедура „Специфични обучения“ на ОПРЧР 2017-2020

На 2 април 2018 г.  „Финит Софтуер Системс“ ЕООД стартира изпълнението на проект BG05M9OP001-1.022-0070-C01 по процедура „Специфични обучения“ с финансовата подкрепа на Оперативна програма „Развитие на човешките ресурси”, съфинансирана от Европейския социален фонд на Европейския съюз. Инициативата е част от стратегията на компанията за системно подобряване на качеството и разгръщане на потенциала на служителите. Предвижда се заложените в проекта външни и вътрешни обучения да подпомогнат трансфера на знания сред служителите на „Финит Софтуер Системс“ ЕООД и да допринесат за оптимизиране на процесите по планиране, проектиране, имплементиране и поддръжка на софтуерни решения за клиентите на компанията. Continue reading “„Финит Софтуер Системс“ стартира проект по процедура „Специфични обучения“ на ОПРЧР 2017-2020”

Bulgaria Web Summit 2018

On 14th April, 2018 me and my colleagues attended the Bulgaria Web Summit event, which was held in Inter Expo Center Sofia. It was the first time I ever attended such event, so I didn’t know what to expect. I was pleasantly surprised with the good organisation and the great variety of activities the event offered. In the website of the event there were timetable for all 32 lectures, which were going to be presented throughout the day. Unfortunately there were only 8 time slots and each four lectures were held in the same time in one of the 4 rooms provided, therefore, we had to choose the lectures that were most attractive and most useful to each one of us and visit only them.

Having seen the timetable in advance, I was prepared with a list with the timings and rooms of all the lectures I wanted to attend, as well as some additional ones, in case the room capacity was not enough to fit all who were interested.

The first lecture I attended was “How to hack a mobile app?”. The lecturer Asim Hussain talked about the kind of weak spots hackers look for in all apps in general. The main point was that real security issues do not come from the big holes in security, but from the small ones, that we often neglect. Not escaping html for example, puts our web sites in risk of SQL injection. Example for this is Company House based in the UK, where you can register your company, without your information being protected. Hackers often rely on users` or programmers` distraction as in the case of open source projects, which are believed to be trustworthy and safe, but often are easy target for hackers. They use the same name with dot (.) or remove slash from it, therefore making it hard to notice at first glance. In this way one could download libraries with malicious code instead of the desired open source project. The last, but not least that I learned from this lecture was how important it is to keep all your software and packages up to date, since programmers constantly improve their products’ security.

The second lecture on my list was about Building Scalable Web Apps For Patients” by Krasimir Tsonev. He talked about the company he works for and their aim to help people. It is a digital health company, which mission is bridging the gap between medical research and the people who need it. Their “clients” are often people who are incurably ill and have no time. The major point he made was that such people are tired from waiting and searching for what they need, so the company aims to provide web apps that are scalable and adjust to the users’ needs. They study their patients needs daily and create profiles for them, thus allowing the delivery of valuable information only and avoiding unnecessary questions and adds.

The lecture that I found most interesting was “Simplicity is not Simple”. The lecturer was Dave Hogue, who works as Psychologist and UX Lead at Google. He was very enthusiastic and made it obvious that he takes the subject seriously. He told us, it is easy to make everything complicated, but the reverse process takes a lot more time and efforts. The main point was that one needs to think before they act. If you take the time to plan and decide what you really need to have in your app, you will not add anything unnecessary. Common mistakes are adding functionalities only to check if user would use it, to search similar websites and to take everything, nonetheless, you might not really need it. When you start to think whether something is good to have as functionality, but then you find something that is even better and better you end up in a mess of functionalities, most of which do not even have place in your project. Hence, it is crucial to find the balance between adding all necessary functions and keeping it simple in the same time. All in all, the essence of that lecture perfectly summarizes in a quote by Albert Einstein that states “ Everything should be made as simple as possible, but not simpler.”

Following the afore discussed lectures, we all had a lunch break, after which I continued my day with “Art of noise” given by Léonie Watson. She talked about the evolution of voice technologies over the years. There were examples of computer voice sounds from 1992 and current modern technologies. Nowadays, voice interaction is very common. People often use it to communicate with and control their phone or other connected home devices. However, while some of us use voice technologies just for fun or convenience, for others they are necessity that helps them go through everyday tasks. Voice technologies’ development strives for better interaction with human beings, therefore aiming to improve punctuation accuracy, clarity of speech and similarity to human speech. What is even more impressive, is the possibility of integrating voice recognition and other voice technologies into artificial intelligence.

Following the “Art of noise” I continued with “The next evolution of the Web” presented by Bilyana Vacheva. She talked about upcoming Virtual Reality Browsers which allow you to see and navigate through web pages via VR glasses. This type of browsers are still developing, but there are already some initial versions created. The idea behind this evolutionary technology is that VR glasses could be used in jobs such as web developing instead of for fun only. For this purpose, new generation browsers need to be more coordinated. However, when talking about getting a job done via VR browser, one should feel confident about what they press and when, while in games this is not of great importance, since the major purpose is to have fun. My personal opinion, about such use of VR browsers is that it will not be applicable, due to the long duration of sessions and the fact that a person doing this is expected to wear the glasses for up to 6-8 hours a day, which I believe will be very uncomfortable and difficult to achieve no matter how isolated one is from external distractions.

The last lecture I attended was “Working the right way by knowing all the wrong ways” by Boyan Djumakov. He talked about bad practices, teamwork, self improvement, and helping each other to improve self knowledge and self confidence. Unfortunately, he could not finish his lecture because of the time, but the way I see it the essence of the lecture was that one should not feed their ego, but their knowledge and respect the people who they work with. Another aspect, he came across with, was work laziness and how employees need to find the way to go over it and do the job they are being paid for and learn to be proud of their goals and achievements.

There were another two lecturers that I attended, however I did not find them as interesting as expected. Overall, I was impressed with the event and I got to learn many interesting things and familiarize with new innovations and technologies. As unfortunate as it is, I was more impressed by the foreign lecture presenters and believe they master presentation skills, that the Bulgarian ones lacked. The foreigners, whose lectures I attended, were able to better express themselves without using too sophisticated language or inappropriate words, as some of the Bulgarians did. Moreover, some of the bulgarian presenters spent a lot more time than needed, on side issues that had nothing in common with the lecture, which was uncalled for. Even though, some lectures overlapped I still think in general the organization of the event was very good. It was nice there was a variety of interesting lectures, as well as number of different innovations that were exposed in the lobby, where everyone could see them and ask questions about.

Bulgaria Web Summit 2018

На 14.04 посетих конференцията на Bulgaria Web Summit 2018. Това беше и първото ми посещение на подобно събитие. Разбрах за него от колегата Кирил, проверих темите на сайта http://bulgariawebsummit.com/ и набелязах доста интересни теми. Проблемът беше, че по едно и също време щяха да се провеждат 4 различни лекции. Изборът не беше лесен, но нямахме право на глас :).

Денят започна лекцията на Светлин Наков на тема “Blockchain Cryptography for Developers“.  Беше доста технически ориентирана. Ставаше въпрос за:  елиптични криви, secp251k1 (кривата на Bitcoin), цифрови подписи, генериране на Ethereum адреси, подписване на транзакция в Ethereum, хеширане, SHA256, SHA3, keccak256, HMAC, извличане на ключ по парола, шифриране на данни, AES, SCrypt, крипто-портфейли и някои стандарти около тях като BIP39 и BIP44. Беше полезно, но имаше твърде много информация на кратко време.

Втората лекция, която посетих беше “Building scalable web apps for patients” с водещ Красимир Цонев. За съжаление не можах да остана до края, тъй като имаше много хора и не се чуваше добре в края на залата. Темата беше интересна и доста популярна в последно време – софтуер за връзката между пациент и лекар или т.нар. дигитално здравеопазване.

Третата и със сигурност най-интересна за мен лекция беше на тема “Simplicity is not Simple.” на Dave Hogue. Тя беше интересна по няколко причини – водещият грабна аудиторията с ораторските си умения, презентацията беше изключително добре подготвена, темата е изключително наболяла в днешния свят на дигитализиране. Стана въпрос за това, че твърде лесно на вид и най-простият софтуер, разполагащ с най-малко функционалности може да стане излишно сложен. Накара всички ни да се замислим върху какви проекти работим ежедневно, как можем да ги подобрим и най-вече защо. Само заради тази лекция си струваше цялото събитие (лично мнение) :).

Четвъртата лекция беше “React Native App: Expectations vs Reality.” на Калоян Косев. Той ни разказа за неговия опит с набиращата все повече популярност работна рамка за нативни приложения React Native. Имаше няколко основни точки в неговата презентация, които ми се набиха:

– трябва да имаш предишен опит с ReactJS, за да преминеш на     React Nativе в противен случай, би отнело доста време докато свикнеш с технологията.

– няма почти никакви плъгини и разширения за React Native

– дебъгването е трудно

– производителността е изключително добра.

В крайна сметка не успя да ме убеди, че трябва да пробвам да науча и да се занимавам с React Native.

Следващата лекция беше на тема “The next evolution of the Web” с водещ Биляна Вачева. Тя разказа на навлизането на т. нар. виртуална реалност в съвременните уеб технологии. Показа ни, че тя ще се използва не само за забавление, както до момента. Разказа ни за новите тенденции при разположението на елементите на една уеб страница в режим на виртуална реалност.

Шестата лекция също беше интересна “There is a lot of buzz around the progressive framework named VueJS. But why is it truly special and interesting?” с водещ Roman Kuba. Той ни разказа за новата работна рамка за JavaScript – VueJS. Изключително интересна технология, която бихме могли да имплементираме в PMS4 някой ден :).

Предпоследната лекция беше за ревюта на кода “Practical code reviews” с водещ Илко Качаров. Имаше полезни съвети, но нищо което и преди не сме чували за ревютата на код.

Последната лекция “Storing Data in MongoDB” беше с автора на Xdebug и старши софтуерен инженер в екипа, разработващ MongoDB – Derick Rethans. Интересна лекция за това как се работи с нералационната база от данни на MongoDB. Показа ни основните концепции при дизайна на базата данни в зависимост от нуждите на софтуера, който разработваме. Наред със силните страни на използването ѝ ни показа и нейните слабости, което беше доста интересно.

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

Нещо друго, което ми направи впечатление е, че чуждите лектори бяха по-добри от нашите. Жалко, но факт!

The Mythical Man Month

Една от класиките сред книгите за управление на софтуерни проекти. Написана преди повече от 40год., много от тезите са валидни и днес, което е и причината за преиздаването ѝ след толкова време.

Описват се основни възприятия в процеса на разработка, върху които малко хора са се замисляли и осмисляли – като защо обичаме да програмираме, какви са негативните страни от това, защо не успяваме да прогнозираме добре необходимото време за разработка. Някои от причините за последното са това, че сме оптимисти, не включваме в преценката си времето за комуникация, за дебъгване и тестове. Съществува също така грешното схващане, че работата на един разработчик е константа като човекочас. Съответно при забавяне в разработката на проект най-лесното решение е да се добавят още хора. Пропуска се обаче, че това внася допълнително натоварване към останалите и изисква повече време докато екипът се сработи. От тук произлиза и изводът, станал известен като закон на Brooks – “Adding manpower to a late software project makes it later”.

Друга интересна концепция, която се развива в книгата е начин за управление на разработката на голям софтуерен проект от голям екип разработчици (100+). Представят се предизвикателствата пред ефективното управление на много хора и един подход, който може да помогне – създаването на малки “хирургични екипи”. Малките екипи се състоят от един основен разработчик – “хирургът”, който взима решенията и разработва най-важните части от софтуера. Около него се създава екип от поддържащи роли – “копилот”, който може да върши всичко, но е с по-малък опит; “администратор”, който се занимава с административните дейности; “редактор” – документацията; двама “секретари” помагащи на администратора и редактора; “чиновник”, “инструменталист”, “тестер”, “адвокат на езика”, който познава тънкостите на използвания език за програмиране. По този начин комуникацията се разделя по определени роли и се улеснява скалирането на екипите.

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

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

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