Dart – DevStyleR https://devstyler.bg Новини за разработчици от технологии до лайфстайл Wed, 27 Mar 2024 10:53:09 +0000 bg-BG hourly 1 https://wordpress.org/?v=6.8.5 По-Малко от Месец до Конференцията Polyglot 4 DART Apprentices https://devstyler.bg/blog/2024/03/27/po-malko-ot-mesets-do-konferentsiyata-polyglot-4-dart-apprentices/ Wed, 27 Mar 2024 10:49:46 +0000 https://devstyler.bg/?p=197100 ...]]> Остава по-малко от месец до конференцията Polyglot 4 DART Apprentices. Тази година тя е посветена на езиците за програмиране DART и Flutter, а неин домакин ще бъде Факултетът по Математика и Информатика към Пловдивския Университет.

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

Организаторите споделят, че по време на събитието участниците ще имат възможността да се потопят в света на програмирането с DART и Flutter и да научат много и ценна информация за тях за само един ден.

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

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

Конференцията се провежда всяка година, посвещавайки се на различни езици и технологии.

За допълнителна информация посетете уебсайта на събитието ТУК. За да се регистрирате за участие е необходимо да попълните формата ТУК.


ГЛЕДАЙТЕ: Къде Инвестират ИТ Специалистите? Успешните Стратегии – Част 1

ГЛЕДАЙТЕ: Къде Инвестират ИТ Специалистите? Успешните Стратегии – Част 2

ГЛЕДАЙТЕ: ИТ Индустрията във Варна – част 2 | Епизод 2 | The BIG TECH #BG | DevStyleR


Прочетете още:
1. Временно Класиране в Топ Софтуерна Компания 2023
2. 30% от ИТ Професионалистите Инвестират Суми Между 50 000 и 500 000 лв.
3. Стефка Мавродиева е Новият Главен Дигитален Директор на Nasekomo


Последвайте ни във Facebook, Instagram, LinkedIn и YouTube.

]]>
Ролята на програмистите няма да отпадне след 10 години, по-скоро ще се промени https://devstyler.bg/blog/2022/05/23/rolyata-na-programistite-nyama-da-otpadne-sled-10-godini-po-skoro-shte-se-promeni/ Mon, 23 May 2022 06:00:42 +0000 https://devstyler.bg/?p=72569 ...]]> Денис Юхно е управляващ директор на DataArt България и ръководител на развойния център на компанията у нас от средата на 2018 г. Преди да поеме ръководния пост в софийския офис, Денис е бил Delivery Manager в компанията. Завършил е магистратура по ”Приложна математика” в Националния технически университет на Украйна, Харков. Оттогава насам е натрупал повече от 15 години опит в софтуерния бранш, както като разработчик, така и като бизнес анализатор, консултант и проектен мениджър.

Кои са бъдещите професии в ИТ сектора?

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

Има ли и кои са технологиите, които променят пазара на кадри? 

В момента имаме доста бързо развитие на технологии като NoCode, LowCode, както и на frameworks за по-лесно и по-бързо създаване на информационни системи и различен тип приложения. Така че специалисти с познания  в областта на Salesforce и ServiceNow ще засилват своята роля и ще стават все по-търсени.

Кои са технологиите, които променят пазара на ИТ кадри? Какви специалисти вече се търсят и предстои да се търсят през следващите 10 години? Какво е образованието, което бъдещите професии ще изискват и в кои компании ще има необходимост от най-много кадри? Цялото интервю с Денис Юхно, както и още мнения на водещи експерти от ИТ индустрията в България може да намерите в специалното издание „ИТ Професиите в Бъдещето“.

]]>
Радо – Големият Български Талант в Програмирането Зад АзБуки.ML https://devstyler.bg/blog/2021/02/04/rado-golemiyat-balgarski-talant-v-programiraneto-zad-azbuki-ml/ Thu, 04 Feb 2021 08:44:54 +0000 https://devstyler.bg/?p=39192 ...]]> Радостин Чолаков е едва на 15 години, а вече е признат за един от най-големите таланти в програмирането. Той се занимава с разработка на мобилни приложения и софтуерни проекти, като дори е отличен от Google, а през 2019 г. работи по мобилното приложение за продуктивност AnyGoal, което прераства в мини-социална мрежа. Лауреат е на българската олимпиада НОИТ и е съорганизатор на технологични събития. Радо има повече опит и талант от множество програмисти на 30 или отвъд. Но важното е, че дори да е спряган за бъдещия Марк Зукърбърг или Стив Джобс, неговият стремеж е да бъде просто бъдещият Радо. 

Откъде най-напред се появи интересът ти към технологиите? 

Още от малък когато виждах хора с лаптопи и телефони, винаги ми е било интересно да ми покажат нещо или да гледам отстрани. Когато получих лаптоп, започнах да се ровя в Google за различни теми и интересът ми се появи. Дори помня, че първият ми сайт, който измислих, беше свързан с планетите от нашата Слънчева система. Разбира се, бе доста детско, но все пак винаги съм се старал да се интересувам от различни неща. Друг фактор е, тъй като произходът ми е от село Барутин, че нямаше кой да ми помага или при кого да ходя на уроци. Моментът в който имах достъп до интернет, веднага започнах да търся кое как да се направи. Сам започнах да се интересувам от технологиите и да чета за тях. Към самото програмиране пък се запознах покрай съпругът на леля ми. И двамата са програмисти и когато ни дойдоха на гости веднъж, видях че пишат код. Стана ми изключително интересно и ги попитах какво правят и дали аз мога същото. Точно така започна самото програмиране и след това отново напълно сам продължих да търся в интернет. 

Какво представлява АзБуки.ML и как стартира работата по платформата – откъде ти хрумна? 

Това е платформа, която предоставя софтуери за обработка на език – NLP (natural language processing). Общо взето самите програми правят граматичен анализ, могат да анализират дали един текст е положителен или отрицателен, text summarization и т.н. АзБуки обединява всичко това, така че аз предоставям тези услуги като API, а оттам различни компании, организации и хора с интерес могат да използват това API като интеграция в техните продукти. Има изключително много приложения. Виждал съм и други платформи, като Google Cloud NLP, Amazon Comprehend – подобни софтуери, но за английски език. Няма поддръжка на български. Реално ми се наложи да използвам Google Cloud NLP за мой страничен проект и оттам дойде идеята ми да има вариант и с български език. Колкото и да сме малки като държава, употребите могат да са много.
Когато кажа на хората „анализ на езика“ и те си представят
глаголи, прилагателни, наречия… Това е така – имам и граматичен модул, който прави анализ на части на речта, но моят анализ е в основата на много по-интересни неща. Например, ако един сайт за продажби използва платформата, може да направи анализ на коментарите в сайта и да се разбере дали продуктът е добър, дали се харесва на хората, защо не го харесват и т.н. Могат да се автоматизират много задачки, които ако трябва реално да се извършват от човек, ще отнеме много време някой да изчете хиляди коментари. Също така, модулът за резюмиране на текст или text summarization – при новинарски статии това може да е много полезно. Ако четеш много новини, ще е отегчително да преминеш през 15 дълги статии по дадена тема, но ако има приложение, което да ти ги представи накратко с най-важната информация би било полезно. Google News има нещо подобно, но като цяло моята идея е просто да има поддръжка на български език. 

Ако някой вземе твоя продукт и разработи една новинарска платформа, да речем, може по тема да селектира и систематизира най-важното? 

Могат да се дадат различни примери. Общо взето идеята е в платформата да има различни модули, които да изпълняват различните обработки на езика, за да може след това някой да ги използва. От друга страна, “sentiment analysis” или определянето на настроението в даден текст може да се използва и от социални платформи, така че да се хващат негативни постове и коментари. Както бяха изтрити на Тръмп дадени постове. За такива неща може да се намира приложение, но също и от научна гледна точка, защото подобни неща в България не са добре развити и правени, и когато ти започнеш да правиш нещо на едно по-добро ниво, трябва сам да си набавиш информация. След това пък тези ресурси можеш да ги предоставиш и да са полезни на друг. Например, в Софийския университет ми казаха, че биха използвали АзБуки в лекции по лингвистика. Това за мен е страхотно. 

АзБуки изглежда е сериозен инструмент, който с малко усилие и от чужда страна може да се използва в много насоки свързани с български език. Може ли да се имплементира като Speech to text инструмент? 

Може да се направи, разбира се. Бих искал да има такъв модул. В момента все още платформата е в разработка и още не съм стигнал до този момент за Speech to text или text to Speech, защото фокусът ми е в другите модули. Един журналист ми каза, че има такива предложения и на български език, но са с много малка точност. Но пък АзБуки може да се използва от граматическа гледна точка като намира грешки – пунктуационни, граматични, които да бъдат поправяни и да се повиши точността дори на вече съществуващи решения. С малко въображение, много хора могат да имплементират АзБуки за много неща. 

Сам ли разработваш всичко или имаш помощници? 

По принцип винаги като започвам проект го започвам по моя идея и сам. Същото важи и за АзБуки, но приветствам хора, които да помагат. В момента сме хем в процес на разработка, но същевременно търсим и партньори, а клиенти на платформата също са добре дошли. Приветствам всички, които имат интерес. Откакто започнах, вече имам няколко приятели, които се включват в разработката. От професионална гледна точка АзБуки.ML изисква много познания за езика, а за това си трябва експерт. Аз не мога да твърдя, че сам човек може да направи нещо толкова голямо. Има професори от СУ и БАН, които много харесаха идеята и ми помагат от научна гледна точка. 

Какви технологии използваш в разработката? 

Моделите са базирани на Machine Learning и използвам TensorFlow, който работи с Python. Има и цял друг куп от различни неща, които съм използвал. Cloud технологии, като Kubernetes за хостване в Google, за front-end използвам React.js, въпреки че сайта ни е демонстративен, а основният продукт ще се предоставя през API

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

Винаги когато работя по нещо подхождам с експериментаторски дух и подхождам към нови и нови неща. До момента съм разработвал много, наистина. Преди АзБуки работих по една мобилна платформа AnyGoal, където можеш да си записваш напредъка по всякакви задачи. Имаше доста интерес и прерасна в нещо като мини социална мрежа. Трябваше да го ъпдейтна, за да могат хората да качват видеа и т.н. Разработката бе с Flutter и Dart. Освен това съм правил много уеб приложения. Имам благотворителен уебсайт, който е направен за фондация „Усмивка за Африка“ и в него хората могат да даряват за различни кампании. Правил съм и мобилни игри, много други сайтове, плъгини за Chrome и какво ли още не. Имайки експериментаторски дух са ми интересни и новите технологии като AR и VR. Виждам много потенциално развитие там. Например започнаха да излизат различни умни очила, но са твърде ограничени, а можем да предположим, че след време могат да бъдат новите телефони дори. Би ми било интересно аз да разработвам и създавам такива футуристични неща. Също така съм се забавлявал много със Siri, Google Assistant и т.н. Донякъде и оттам дойде идеята за АзБуки, защото с тях трябва да си говориш, но ги няма на български. 

Доста проекти изброи. Доколкото разбирам, всичко това е самоинициативно? Сам решаваш и пробваш в различни насоки? 

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

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

Точно така. Това го виждам все повече. Разбира се, звучи странно 15 годишен да казва „едно време“, но аз мога наистина да кажа, че едно време съм правил определени грешки, от които съм се научил в последствие. Понякога ми се смеят когато казвам „аз съм правил тези грешки, вие не ги правете“. Обикновено ми казват „ти пък все едно си старец, че да ни даваш мъдрост“. Но аз вече почти 6 години програмирам. Малко или много този опит наистина е полезен. Дори проект по който съм работил и не се е получил, пак е носил много опит. 

Една голяма част от ИТ сектора няма и 6 години опит, така че си в правото. В момента е много модерно да изкараш бързи курсове и да стартираш работа, за това наистина повечето в бранша са с между година и три години опит. Ето, че ти можеш да си позволиш да казваш „едно време“. Въпреки, че си само на 15 ми прави впечатление, че с теб говорим за кариерно развитие, имаш опит и си работил и по повече проекти в сравнение с много 30 годишни програмисти. Печелил си конкурси и състезания, отличен си от Google, съорганизатор си на събития… Мотивацията ти явно е огромна. 

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

Всъщност, съвсем наскоро ти отново участва на GDG събитие? 

Да, имах лекция, която бе с тема Machine Learning и NLP – обработката на естествени езици и как от техническа гледна точка тези неща се правят. Целта на лекцията е да въведа както тези, които са нови в материята, така и тези, които искат да разберат повече или т.нар. най-добри практики. В YouTube може да се гледа и запис на лекцията

Виждаш ли в своите връстници същия нюх и дух към технологиите? Говоря са съучениците ти в Математическата гимназия. За тази възраст е по-популярно да гледаш да се забавляваш, да играеш компютърни игри, да излизаш с приятели (изключвайки пандемията). Какво е впечатлението ти? 

Има хора, които дори да нямат опита, имат този дух да се научат. Искат много да се развият, но са малко на брой. С риск да обидя някого, по-голямата част от хората, не конкретно тези от Математическата гимназия, а по принцип, някак си не им се започва – дори и да искат да направят нещо. Казват „аз ще направя това и това, ама не сега“. Това много ме дразни и често съм аутсайдера поради тази причина. Мисля, че манталитета на масата трябва малко да се подобри. Разбира се, има и изключения, но като цяло това е картинката. 

Може би повечето дори няма да разберат ти какво си направил и постигнал. Но така като гледам, едва ли нещо ще те спре. Играеш ли компютърни игри? 

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

А разработката им интересна ли ти е? 

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

В момента Unity и Unreal Engine са много популярни и не изискват много кодене. Какво е мнението ти? 

На Unity съм правил една или две игри, но отново с кодене. Знам, че той има визуален редактор и можеш да работиш без да кодиш. Не ми харесва. Използвал съм и други такива софтуери, но наистина предпочитам да седна и да си го напиша, за да имам пълен контрол над всичко. Освен ако не е нещо много простичко и в същото време би било по-удобно и бързо с визуален редактор. Ако е гейм чейнджър, да. Но не и по принцип. 

Имаш ли други хобита освен технологиите? 

Хората често ме питат какво правя в свободното си време, защото мислят, че коденето ми е нещо като работа. А всъщност не е така – основното ми хоби са технологиите. Работя много, да, но не съм фанатик – от тези, които дори не излизат от вкъщи. Много ми харесва възможността да изляза навън и малко да се разходя, да подишам чист въздух. В момента съм в Барутин и планината си е планина. Също така прекарвам време със семейството ми. 

Спомена, че водиш курсове? Школа в училището. Как твоите връстници възприемат това, след като сте на една възраст, но ето, че ти им преподаваш? 

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

Как се виждаш след 10-15 години? При положение, че в момента си супер навътре в нещата и работиш по много проекти и 100% си по-добър от много, които са на 30 г. Следователно – как ти се виждаш на тази възраст? 

Споменахме за други, които обичат да си губят времето по разни начини. Аз не обичам. 30 години е двойно на колкото съм живял досега, хаха. Виждам се като човек, който е стартирал софтуерна компания, която прави нови неща с нови технологии – AI, AR, VR и т.н. Надявам се да стане. Технологии, които да са полезни. В някои медии се казва „той е българският Марк Зукърбърг“, но това ме дразни. Да, Facebook е супер успешен, но донякъде води до много проблеми и не знам дали искам да създавам подобни проекти. Или пък са ме наричали “Бъдещият български Стив Джобс”. Това е прекрасно, но аз най-вече се стремя да стана бъдещия Радо. 

Видео с демонстрация на АзБуки.ML можете да видите ТУК

Интервюто проведе Пламен Михайлов

]]>
AWS, Docker и Kubernetes – най-търсени умения https://devstyler.bg/blog/2021/01/21/aws-docker-i-kubernetes-edni-ot-nai-tarsenite-umeniq/ Thu, 21 Jan 2021 09:54:48 +0000 https://devstyler.bg/?p=38752 ...]]> Както знаем, избирането на нови умения и програмни езици за учене, никак не е точна наука. Въпреки това има ясни индикации за нарастващата популярност на някои от тях, което трябва да се вземе предвид. Например, Java и JavaScript са много силни и добре остановени, но по-модерните Go, Rust и Dart определено повишават своето търсене за последната година. Колкото до ML и AI – то ориентирането към тях си заслужава всяка минута време.

Съдейки по Indeed, то Java остава втори най-необходим език, след SQL, който организациите масово използват за анализи и данни. Python пък е на трето място по търсене в същата платформа, а според PayScale средното заплащане за специалист с усъвършенствани умения с езика е 91 000 долара – значително повече от 75 000 долара за Java разработчик.

В back-end частта контейнерите и cloud уменията са най-привлекателни когато става въпрос за in-demand умения. Най-популярният пакет умения е високото ниво на Amazon Web Services cloud стака, комбиниран с Docker и Kubernetes.

Трябва да се има предвид, че търсенето на AWS разработчици се е покачило драстично в периода на 2014 – 2019 г., като дори задминава необходимостта от специалисти по Microsoft Azure и Google Cloud Platform. Уменията за работа с Docker като част от едно CV пък са се повишили с цели 4, 162% като търсене от 2014 г. Можем да си представим в каква неотлъчна част е станала технологията от работата на разработчиците.

Забелязва се как организациите определено се стараят да разширят cloud стратегиите си. Този тренд не е новост разбира се и е бавно ескалиращ процес, който COVID пандемията ускори. В САЩ например, необходимостта от web и full-stack разработчици, както и cloud инженери се е покачила с почти 25% в сравнение между април-октомври 2019 и април-октомври 2020, според анализ на LinkedIn. Разбира се, необходимостта от работни позиции много ясно очертава трендовете и посоките на технологичния свят – 32% по-висока е необходимостта за Machine Learning и AI инженери и специалисти за 2020 г. Но това не е единствено отвъд океана. Ролята на тези инженери е с 45% по-търсена и във Великобритания.

]]>
C++ възвръща популярността си сред програмните езици https://devstyler.bg/blog/2020/09/09/c-vazvrashta-populyarnostta-si-sred-programnite-ezitsi/ Wed, 09 Sep 2020 10:25:24 +0000 https://devstyler.bg/?p=34438 ...]]> 35-годишният C ++ претърпява възраждане, според Tiobe Software, чийто индекс за популярността на програмните езици за септември 2020 г. посочва, че това е най-бързо растящият език от всички в момента и се позиционира на четвърто място след C, Java и Python. За достигането до тези резултати е използвана информацията за търсене от 25 търсачки, включително Google, Yahoo, Wikipedia, Bing и др.

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

Пол Янсен, CEO на Tiobe определя, че пикът на C++ се случва през 2003 г. със 17.53%, което го поставя в топ 3 на програмните езици. Една от вероятните причини за неговото възраждане сега обаче, се счита, че може да е излизането на C++20, което е първото водещо такова от C++17 насам, а според някои дори от C++11.

“След 2005 г. C++ дори не правеше 10%, а през 2017 г. достигна дъното си за всички времена с 4.55%. Но в сравнение с миналата година, C++ вече е най-бързо растящият програмен език,” споделя Янсен. Един от ключовите фактори за покачването на популярността на C++ са нововъведените модули, които заменят механизмът за включване.

За разлика от възходът на C++ обаче, най-популярният език за програмиране – Java, пада с 3.81% в сравнение с миналата година. Google Go се покачва с три места за този месец и вече е на 11-то място. Swift преминава от 16-то на 12-то, а езикът на Google Dart, също среща възход и преминава от 24-то на 20-то място.

]]>
WebAssembly ли е бъдещето на уеб приложенията? https://devstyler.bg/blog/2020/07/15/webassembly-li-e-badeshteto-na-ueb-prilozheniyata/ Wed, 15 Jul 2020 10:49:53 +0000 https://devstyler.bg/?p=32749 ...]]> Когато изграждате уеб приложение, производителността обикновено е компрометирана. Ограниченията на JavaScript правят тежките изчисления бавни и това влияе значително на потребителското изживяване. Ето защо повечето от популярните игри и мощни приложения се предлагат само като native приложение за десктоп.

WebAssembly се опитва обаче да промени играта. Този формат цели native изпълнение сред уеб приложенията. С WebAssembly кодът на всеки език за програмиране може да бъде компилиран в байт код, който работи в браузър. Работи с все повече и повече браузъри, включително Microsoft Edge, Safari, Chrome, Opera Mobile и др.

Кодът на WebAssembly се изпълнява по-бързо от JavaScript. В резултат на това можете да напишете критични за производителността части на приложението с най-подходящия език (C / C++ / C# / Rust / Kotlin и т.н.). След това WebAssembly ще се грижи за изпълнението в браузъра. Native приложенията могат да се стартират в браузъра веднага. Това означава итдостъп до повече потребели, като същевременно предлага сравнителна производителност в мрежата.

Уеб приложенията стават и все по-мощни с WebAssembly. Тази технология определено си заслужава да се опита, ако планирате да изградите онлайн редактор на изображения или видео, уеб игра, P2P платформа, музикално приложение, интерактивни приложения за обучение, приложения за 3D картографиране и т.н.

Първоначално Dart е бил предназначен да реши всички тези проблеми, но е пренасочен да управлява мобилната разработка с Flutter. Разработването на сложната функционалност, от която се нуждаят GUI, не е тривиална задача, а JavaScript не е идеалният език, тъй като трябва да работи чрез DOM. Но благодарение на WebAssembly езиците, които обикновено се използват за графични графични интерфейси, като C и C++, се използват за изграждане на уеб GUI.

Въпреки че C / C++, Go и Rust са най-популярните езици за разработка на WebAssembly, други езици също могат да се използват за разработване на сложни уеб приложения. Но дали WebAssembly е бъдещето не е напълно ясно, защото все още кънти ехото от доклада на Техническия университет в Брауншвайг, в който се анализират проблемите в сигурността.

]]>
Всичко за Flutter с Томи Младенов https://devstyler.bg/blog/2020/03/13/vsichko-za-flutter-s-tomi-mladenov/ Fri, 13 Mar 2020 18:12:15 +0000 https://devstyler.bg/?p=27643 ...]]> Flutter е тренд, но дали е достигнал до България отговаря Томи Младенов. Той е Solutions Architect в Tide. Той е част от няколко проекта, свързани с Mobile, Web и други. Започва да се интересува от Flutter преди година и половина.

Как започна да се занимаваш с Flutter?
Започнах да се интересувам от Flutter от преди година и половина. Не съм сигурен как точно разбрах за Flutter и как започнах да експериментирам с него. Но мисля, че беше породено от факта, че работих дълго време с React Native. И след като разбрах, че има някаква алтернатива бяха доста хайпнат и реших да го пробвам. Тогава разбрах, че съм живял в заблуда, че React Native е добра технология. Промених си мнението и го казвам като човек, който е правил лекции за React Native и е повтарял навсякъде колко е полезен. Вече не го правя, откакто ползвам Flutter.

На какво се дължи този тренд, че Dart и Flutter да бъдат толкова харесвани?
Лично на мен ми харесва това, че има екосистема, която можеш просто да свалиш и да започне да работи out of the box. С React Native беше напред-назад – кое работи и кое не работи. Докато дивелъпваш използваш една JavaScript версия, а когато диплойнеш използваш друга. Много други неща има, които няма откъде да разбереш, защото Facebook, дори не си бяха направили труда да си напишат документацията. Всички се базикаме, че без Stack Overflow не можем да програмираме, но за React Native, ако нямаше Stack Overflow, нямаше да можем да подкараме “Hello World”.

Най-големият плюс на Flutter e, че когато свалиш SDK и всичко започва да работи. В началото липсваше документация за някои неща и нямаше проекти, но беше лесно да се започне. На уъркшопите, които съм правил за Flutter, виждам, че хората просто се справят. Винаги има някой, на който му е трудно и примерно не знаят хората, че ако са на Windows, не могат да компилират за iOS. Ако не са се занимавали с това и им идва като гръм от ясно небе. Но за хора, които са малко по-напреднали, просто свалят SDK и започва да работи. Свалят си Android Studio или Visual Studio Code и всичко работи – дебъгингът работи, рефрешът работи, лайфрилоудът зарежда незабавно. Това са неща, които докато експериментираш и докато си бос в технологията са фундаментални. Защото React Native, например, пишеш нещо и когато рефрешнеш трябва да билдваш наново. Докато при Flutter, всичко е почти незабавно. Това е нещото, което ми хареса и което не ме отказа. Точно защото върви много бързо и реших да се поровя повече за него.

Забелязал ли си някакви минуси в актуалната версия?
Има неща, които са по-нишови и не работят. Когато правих уъркшоп за Flutter на миналия DevFest, доста време ми отне да подкарам едно приложение с out of the box on device machine learning. Не трябва да обучаваш модели в клауда, а си работи директно. Но докато не го тествах на друг телефон и камерата не работи. Проучих случая и разбрах, че изобщо камерата във Flutter си е доста бъгава. Докато си снимаш и не можеш да си пуснеш светкавицата. Тогава за първи път реших да допиша кода и да допринеса за общността. Дописах кода и пуснах pull requests, но екипът на Flutter са решили да си направят собствен плъгин. Не е пуснат новият плъгин, нито моето предложението, защото никой не се интересува от старата камера. Доста компании се оплакват от подобни нишови проблеми. Но сигурно минават към React или React Native.

Първоначално си търсил много информация за Dart. Учи ли се лесно?
Зависи от какъв бекграунд идваш. Ако идваш от Python няма да е лесно, но ако ползваш Dart за Flutter. Това играе важна роля дали си практикувал някакъв Mobile Development. Ако си бил Data Scientist, ще ти е трудно, защото ако минеш на Dart, за да си пишеш само ML нещата, няма смисъл. Но ако идваш от TypeScript, Dart ще ти е супер лесен. Ако си писал React само с JavaScript без Flow и никакво типизиране, ще ти е трудно. Дори ако сега навлизаш в програмирането и не си минал през обектно-ориентирано програмиране, ще ти е тежко. За мен най-важно е да има документация. Dart и Flutter имат доста добра документация, имат примери, има илюстрации. Google наливат много пари да се правят code labs, тренинги и лекции по конференции. Досега не съм се сблъсквал с нещо, което искам да направя и езикът не го поддържа.

Говорил ли си с програмисти от България? Как се приема на Flutter и Dart в страната?
Мисля, че са доста малко. Според мен хайпът в България си е React и React Native. Това е така, защото преди мобилната разработка си е Android и iOS, а преди Cordova и Ionic, PhoneGap, Xamarin. Аз не познавам някой, който би казал, че Xamarin натрупа много популярност и много хора го ползват. Но много стартъпи, компании и хора въобще, когато излязоха React и React Native всеки направи всичко възможно, което може да направи с тези технологии. Flutter доста се забави, а компаниите в момента си казват, че преди 2 години да се научили да програмират на React и няма как да пренаписват всичко на Flutter. На хората им се вижда много апетитно да има coder usability между Web и Mobile при React Native. Но според мен е твърде малко.

Забелязал ли си, че през не толкова далечния август, направихме едно интервю с гръцката юзър група за Flutter? Каква е обстановката в другите държави? Запознат ли си?
Друга държава или по-точно общност, която инвестира в Dart и Flutter, е Германия. Съдя по това, че имам много предложения за работа от всякакви малки и големи компании. Стартъп хъбовете в Берлин и Мюнхен правят доста Flutter приложения. За други държави не знам, но в момента в България почти няма Flutter/Dart общност. Просто са незначително малко.

Какво ще е бъдещето на Dart и Flutter? Къде ще се използват най-много?
Бъдещето ще е голямо и много дългосрочно. Причина за това е, че Google налива много в Dart и Flutter. Само като се замислиш, че много компании използват Dart и Flutter, като например, Alibaba, BMW, ключови продукти на Google като мобилното приложение на Google Ads и др. Има проект “Fuchsia” с по-таен дивелъпмънт, за който си мисля, че много хора не са чували. Това ще е операционна система алтернатива на Android, но е предназначена да работи на всякакви IoT устройства. Може да върви на хладилник, часовник или телефон.

Когато си поиграх си малко със сорс кода и видях, че на доста места е пригодено за Flutter и Dart. Всички тези устройства няма как да ги форкнеш, нямат USB и ще съпортват out of the box Flutter. Google залага много на тази платформа, която не е само за мобилни устройства, но работи и за уеб, че вече са твърде напред и работи добре. Няма как да кажат, че спират бюджета на Flutter, няма да излизат нови фийчъри и дебрикейтваме всичко. Няма да го кажат, защото Flutter няма алтернатива от гледна точка на какви устройства може да върви и каква производителност предлага. React Native също върви на много устройства, но там производителността ще е друга. Начинът, по който се използват UI за Flutter, няма конкуренция, според мен.

 

Интервюто проведе Атанас Нейчев

]]>
Dart и Flutter се налагат все повече https://devstyler.bg/blog/2019/11/25/dart-i-flutter-se-nalagat-vse-poveche/ Mon, 25 Nov 2019 09:16:35 +0000 https://devstyler.bg/?p=25487 ...]]> Все повече нови събития, свързани с Dart и Flutter се създават в Европа, а дори вече се говори за технологична общност в София. Google Flutter SDK отдавна позволява на разработчиците да създават собствени приложения за Android, iOS и други. Сега основният език на Dart за програмиране на Flutter придобива способността да създава собствени приложения за Windows, Linux и Mac с издаването на версия 2.6.

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

С версия 2.6 на Dart SDK, това става по-лесно от всякога благодарение на новия инструмент „dart2native“. Докато Dart вече поддържа компилирането на вашите програми за по-добра производителност, dart2native обединява необходимите дейности, за да подобри времето за изпълнение на Dart за вашата платформа.

]]>
Python измести Java от второто място в класацията на GitHub https://devstyler.bg/blog/2019/11/11/python-izmesti-java-ot-vtoroto-myasto-v-klasatsiyata-na-github/ Mon, 11 Nov 2019 11:45:35 +0000 https://devstyler.bg/?p=24628 ...]]> Python измества Java от второто място като най-популярен програмен език в GitHub. През последната година 10 млн. нови разработчици се присъединиха към общността на GitHub, като допринесоха за 44 млн.+ хранилища на всеки континент на земята. От GitHub съобщават, че 80% от тях са извън САЩ, но България не присъства в резултатите за разлика от Румъния.

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

След САЩ тази година използването на отворен код се среща най-вече в Китай, Индия и Германия. Разработчиците в Китай разписаха и клонираха с 48% повече проекти в сравнение с миналата година.

Интересно е да отбележим, че C# и Shell се изкачиха в списъка. И за пръв път Python надминава Java като втори най-популярен език в GitHub. Развитието на Flutter не е изненадващо, нито че Dart спечели най-много точки тази година. Също така видяхме тенденции към статично-типизирани езици, фокусирани върху безопасността и оперативната съвместимост от типа – Rust, Kotlin и TypeScript, който все още бързо нараства.

Пълна информация от статистиката ще намерите на този линк.

]]>
За разликата между кеш и хеш… и още от най-забавните интервюта в ИТ бранша https://devstyler.bg/blog/2019/10/02/kakva-e-razlikata-mezhdu-kesh-i-hesh-i-oshte-ot-naj-zabavnite-intervyuta-v-it-bransha/ Wed, 02 Oct 2019 10:57:00 +0000 https://devstyler.bg/?p=23059 ...]]> Борислав Мирчев е Senior Java Developer с много години опит в IT индустрията. Работил е за различни правителствени институции, както и за български и международни компании. Завършил е с отличие магистърска степен по специалност “Информатика” в УНСС. През кариерното си развитие използва широк набор от технологии и участва в почти всички етапи от жизнения цикъл на софтуерната разработка. От технологиите любима му е Java и всичко свързано с нея, например: Java Web, Java ORM, Java Middleware технологии. Към момента работи като Full Stack Developer и използва интензивно: Kotlin, Dart, AngularDart, GWT, Google Guice, Hibernate, Restlet, PostgreSQL и др.

Как бихте описали софтуерния бранш у нас?

Сравнен с много други отрасли на икономиката, софтуерният бранш е като “Сред слепите и едноокият е цар” тоест бих казал, че работещите в другите сфери са много силно подценени откъм възнаграждение и работни условия. Това, комбинирано със сериозен PR и наличието на много академии, води до пренасочването на хора от други професии към IT сектора – било то бармани, таксиметрови шофьoри, пилоти на военни хеликоптери, ядрени физици, микробиолози, математици, хореографи или представители на някой друг бранш.

Реално погледнато, след завършване на курс, програма в академия или друг IT образователен метод, докато човек достигне прилично ниво на развитие, са нужни няколко години самообучение и професионален опит. Като следствие на това, сред стартиращите кариера в софтуерния бранш, бих казал, че около 5-10% се задържат в нея.

 Висококвалифицирани разработчици определено има, въпреки че много от най-опитните кадри работят или са работили зад граница – най-често в САЩ, Канада, Германия, Люксембург, Англия, Ирландия, ОАЕ, Катар, Белгия, Швеция, Русия, Дания, Чехия.

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

Има ли условия за развитие в ИТ сектора извън столицата?

Извън София има потенциал за развитие, макар и по-малък. Проблем пред това развитие са опитите за спекулация на някои работодатели с нивата на заплащане. За сходни позиции в София и останалата част на страната се правят опити да се предлагат чувствително по-ниски заплати – нещо, което несъмнено отблъсква програмистите. Като резултат много от колегите, след натрупване на повече опит, напуснаха тези градове и се преместиха в София или в чужбина. По мои наблюдения в България като IT центрове (освен София) се оформят Пловдив, Варна, Бургас, Велико Търново, Русе, Стара Загора и Враца.

Кое е ключово за Вас, когато взимате решение дали да започнете работа при определен IT работодател?

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

Кои са най-нетрадиционните подходи за наемане на служители, на които сте попадали?

Като нетрадиционни подходи съм наблюдавал:

  • Наемане на хора на база единствено препоръки или симпатии, без да се направи адекватна оценка на способностите и желанието им за развитие, както и мястото им в цялостните процеси на фирмата.
  • Наемат се 10 души без необходимите знания, като фирмата поема 8-часовото им обучение от външни преподаватели за определен период от време, като “за през нощта” имат задачи “за домашно” и вследствие на напрежението от тях, остават 1-2 души, а останалите напускат по собствено желание. 
  • Добра практика, която съм срещал е държавна програма за заетост на младежите в публичната администрация. Тя дава шанс на младите хора без опит да започнат кариерното си развитие, но възнагражденията по нея бяха неадекватни и не беше дообмислено точното място на младежите в държавните учреждения. Този недостатък, комбиниран с някои недобри практики на служителите с повече години опит, породи смесени чувства.
  • Виждал съм частна компания да плати следването на студент, след което той да работи за дълъг период там. Някои от преподавателите в университетите имат и софтуерни компании и наемат най-добрите студенти там.
  • С психо тест и тест по английски, без тест на технически познания.

Мога да споделя и много интересни неща, които са ми се случвали по време на интервюта за работа.

Веднъж водех техническата част на интервю за подбор на програмисти. Появи се кандидат, който не беше добре подготвен. Не отговори на серия от въпроси, които му зададох. Реших, че е притеснен и може би има пропуски в подготовката и трябва да го окуража. Свалих нивото на трудност на въпросите. Кандидатът се почувства до такава степен уверен, че помисли, че нивото му на подготовка е над това, което се изисква. В крайна сметка мениджмънтът хареса човек, който имаше потенциал, чувствително над този за отворената позиция, но не се беше готвил за конкретното интервю. Той отказа. Затвориха позицията, без да наемат човек.

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

Друг път, след интервюта за работа и подписани договори с кадри, се е случвало да се откаже клиент. Тогава с един мой колега бяхме единствените опитни програмисти в компанията. За да не се разбере, се опитаха да привлекат нов клиент, който реши да провери какво е нивото на старши разработчиците в България. Така след наемане държах интервю, близко до това, с което бях нает!

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

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

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

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

Имаше и момент, в който трябваше да се отвори нов офис в България. За целта се интервюираха различни хора. Аз бях на Junior позиция от седмица, но трябваше да симулирам 7 години мениджърски опит пред интервюиращите! От фирмата ми даваха ново CV, което учех на момента. Когато ми казаха “Имате ли въпроси към нас?” попитах интервюиращите: “Защо избрахте София, а не Москва или Букурещ?”.

По време на интервю бивш мой работодател с фирма, която бях напуснал два пъти, се оказа, че е отворил друга фирма. Интервюиращите бяха бивши колеги. Попитаха ме: “След като ни знаеш кои сме, има ли смисъл да провеждаме интервю?“.

Преди интервю се обади техническият директор на една компания и ме попита: “Защо кандидатстваш през агенция?! Ние сме колеги от университета”. Не държахме връзка и нямаше как да знам в коя компания работи и на каква позиция е. Случвало се и едновременно аз и мои познати да търсим работа за сходни позиции и да ни интервюират в едни и същи фирми. Не съм злоупотребявал с получената информация.

По време на интервю съм бил в позицията да попитам човек, който твърди, че е от Холандия, дали реално не е от Израел. Локацията на офиса и той самият визуално напомняха на мой бивш работодател от Израел. Веднъж пък попълвах тест на Java. Казах на работодателя, че вероятно човекът, правил теста има опит със C-подобен език, но не и с Java. Оказа се, че не греша. Имаше на едно от интервютата въпрос: “Каква е разликата между кеш и хеш?”

Има ли нещо определено, което може да Ви накара моментално да се откажете от работодателя срещу Вас, още на интервюто за работа?

Много неща, но обикновено не го показвам по време на интервюто! В това число приспадам некоректно и надменно отношение към мен или друг служител. Има и някои индикации, че работодателят би могъл да бъде некоректен, например, задава ненужно сложни въпроси с цел кандидатът за работа да се почувства неподготвен и да се съгласи на по-ниско възнаграждение.

Според Вас, каква трябва да бъде средната заплата на Junior/Mid-Level/Senior програмист? А колко трябва да бъде максималната заплата?

Не трябва да има фиксирани граници, защото някои от компаниите използват различни дефиниции за качествата на различните нива програмисти. Отделно взимаме предвид и наличието на различни бюджети, различни натоварвания, както и инфлацията в течение на времето. Всяка фирма има различни социални придобивки.

Ако трябва да има нещо “стандартизирано”, то биха били: 2000-3000 лв. нето за Junior /3000-5000 лв. нето за Mid-Level/  и над 5000 лв. нето за Senior Developer. А колко над това – решава пазарът! Възнагражденията за определени Senior позиции с много специфичен опит могат да са и 5-цифрени.

Споменатите суми са в комбинация с добри социални придобивки. При споменаване на диапазон за заплата от страна на програмист, работодателите е добре да се опитат да го надскочат, а не да се опитват да се пазарят. Фиксиран максимум не трябва да има. При свободна пазарна икономика подобно понятие е абсурдно!

Редно ли е да бъде поставен таван на заплатите на софтуерните специалисти? До какво би довело това?

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

Кой смятате, че може да помогне за промяната в софтуерния бранш и в каква посока трябва да бъде тя? 

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

Даже и един програмист да получава добро възнаграждение, ако неговите роднини са на ниски такива – разполагаемата за него сума не би била особено висока. Друг момент е, че много от хората у нас са зле финансово и се опитват да внушат усещане за вина на програмистите, че са по-добре платени и много от останалите хора се чудят как да ги измамят по някакъв начин. За да не се случва това – трябва да се подобрят условията и в останалите сектори. Тук трябва да има сътрудничество между държавата и бизнеса. Биха могли да се положат усилия в посока понижаване на нивата на корупция и престъпленията. Също така да се подобри инфраструктурата – напр. БДЖ, пътищата или условията в студентските общежития и учебната база. Би било добре да се подобри образованието, за да заема страната мястото си сред развитите страни, а да не бъде компромис между цена и качество на разработка.

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

Би могло да се подобри сътрудничеството между държавата и бизнеса, като образованието стане по-практически ориентирано и се спестят някои ненужни обучения. За да има добро образование трябва да има качествена администрация и преподаватели. Бизнесът вероятно има по-добър опит в администрацията от държавните структури. Той би могъл да инвестира в подобряване на качествата на преподавателите и условията им на труд, както и в стимулирането на надарени ученици и студенти.

Всяка година медиите отбелязват какви успехи имат националните отбори по математика и информатика, но никой не казва какъв процент от участниците в тези отбори остават в България и работят за тази страна! Освен това – малък процент от учениците в масовите училища и малките населени места имат необходимото ниво на подготовка за да влязат в IT-сектора. Бизнесът и държавата могат да се опитат да изградят цялостна концепция за подобряване на текущата ситуация, а неда се правят някакви хаотични действия с пожелателен характер.

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

Интервюто проведе Вяра Стефчева

Четете още по темата “Пазарът на ИТ кадри от А до Я”

 

]]>