Quantcast
Channel: Найцікавіше на DOU
Viewing all 8151 articles
Browse latest View live

Quality in embedded solutions

$
0
0

I want to share experience achieved in electronic gaming of chance. This article may be important for all interested in quality.

Disclaimer: This article has as main goals to turn attention onto unclear things and underwater rocks. So many clear things are skipped ever there where they need for some reason. Also almost all statements are based on long, extensive and meticulous researches and investigations.

Introduction

In the first version of this article I was detailed and precise but all reviewers found out that version too bored and inaccessible. So current version is simple, accessible, funny and full of fun ;)

1. Quality definition

There are a lot of quality definitions. Most of them we can find at wikipedia/Notable_definitions. But in Embedded we can let:

Quality ≈ reliability

and mention some attributes of quality embedded product:
1. Reliability itself;
2. Stability and predictable behavior;
3. Matching of declared and real behavior;
4. Matching of declared and implemented functions and features.

As a reference of the most quality system we can take sunrise ;).

Because:
1. we trust sunrise every morning;
2. we can predict the moment of sunrise;
3. sunrise, as every embedded product, sometimes fail on very seldom basis.

2. Quality Metrics

In steps to deal with quality, such as improve or monitor we need to measure it using some metrics. As far as we let in previous paragraph in Embedded we can let:

Quality metrics ≈ reliability metrics

I want mention most useful of them:

1. MTBC (Mean time between crash)
2. MTBF (Mean time between failure)

In my systems I achieved MTBC ≈ 20 years. So 20 years, in mean, no reboots, resets, repairs and like for every product. It is something outstanding on that market and our customers liked it.

And according to huge number of legends we can take as a reference:

MTBC ≈ 2000 years

for the most quality system from previous paragraph ;)

3. Basics of quality

The quality of final product start from quality of every single component. The key of the quality is setup of production process.

HW Staff

1. No Chinese connectors, switches, rele, and like;
2. No national (CIS) or Chinese PCB;
3. No Chinese wires.

Assembling — soldering

Some time ago instead of mature Pb soldering technology was introduced a set of pb-free technologies. So quality in relationships with soldering technologies:

1. only Pb — excellent;
2. only ROHS (pb-free) — bad. Ever Swiss producers was not able to provide acceptable quality using this type of technologies;
3. mixing of Pb and ROHS — very bad. This case provide too much mystics and strange and unpredictable behaviors.
4. Unification and replaceability of HW and SW components

What is bad for people is good for quality:

in software and in hardware ;)

5. SW Architecture

Hardware and System Simulation Layer

So Simulation Layer was implemented in DSL and DSL interpreter was implemented separately. It was excellent invention of my friend and was one of keys of quality of our products because:
1. No memory allocations;
2. No pointers;
3. No distracting details;
4. Only game flow.

6. Key technology and technics

So following software technologies and technics allow us to provide so hi quality:
1. TDD + DSL
2. Automated and non-interactive debugging such as vallgrind + strace + logging + ...
3. Code generators (cog). Everything what can be generated must be generated, because it avoid human factor in critical moments;
4. Cross-platformity. Sometimes compilation of code for another platform show hidden bugs for original platform.
7. Custom Workflow

So quality projects definitely need dedicated workflow engineer or dedicated workflow activity. Well-known and popular workflows usually are not enough effective. Also our workflow had following key moments:
1. TDD;
2. Dedicated QA activity. Not just testing but researches and investigation in quality;
3. QA on every step;
4. Dedicated integration activity;
5. Brain Storm;
6. Automated and non-interactive debugging;
7. Static code analyzing;
8. Automated testing.

Specifically I want to turn attention than we didn’t need codebase stabilization phase.

8. Team Members

So not all of team players have same importance in achieving good quality of target product. According to my experience I want to mention following team roles:

1. Dedicated quality engineer.
In embedded if you want to achieve excellent results generic testing activity is not enough. So you need to provide all the time explicit researches and investigations in quality specific for you project.
2. Dedicated maintainer.
When particular team members switch from task to task they lose image of overall target project. So role of this player is to watch for consistence of overall project in independence of implementation processes.
3. Wide-area specialists are much more critical than narrow-area guru.

If you will create a team of narrow-area guru and give them embedded project for implementation they will fail them with 90% chance just because they will not understand each other.

9. Bad friends

So this guys will move your project in directions opposite to quality:
1. SCRUM;
2. ADGILE;
3. KANBAN;
4. Cont. Int;
5. Other modern fashion words.

Yes, often we need to balance in triangle above with help of that guys, but just now I’m talking about quality as much as possible.

10. Inconsiderate decisions

Using this technologies has killed many ideas, startups and companies. It is better ever don’t try them.

11. С++

When I saw C++ at the first time it look so beautiful, powerful and cute like this animal:

But when I tried to use it, it already wan not be so cute and I was not able to deal with it by unweared hands:

The most disappointing was that it is too often impossible to fit C++ object code into common platform ABI.

So my final feeling about this language is like this:

Some of significant C+±related issues:
1. Bad exportability of functionality via “extern C”, so we must limit C++ by C-compatible subset OR use OS-specific tools like IPC.
2. Bad handling of exception: too slow and non-reliable. I think some people know about “lost exceptions”.
3. If one of component is written in C++ - usually it affect all other components of product.
4. Hi cost of support: average Embedded-programmer knows about 20% C++ but at this time everybody knows his own 20% which most likely will be inaccessible for somebody other.
5. Very bad consistency.

So C++ was interested experiment but nothing more. I finally suggest to everybody to avoid C++ in new projects if you don’t have clear understanding and really significant reasons to relationships with this angry animal.

12. USB

As far as every good embedder knows USB is not more than well-known experiment of Indian students with all related consequences. USB is good as element of HMI or for updating and maintenance embedded device, but no more. So every good embedder prefer to don’t use USB as sensor interface, components interconnect or storage interface.

The main problem of USB is unsuccessful design: sometimes host or function can fit into situation like this ass:

and block all USB exchange until human intervention. For that who still want USB there are science researches, investigations and thesises about how to deal with it, and also HW-SW commercial solutions, for example, from Analog Devices.

But also there are some useful tricks which can significantly improve situation:

1. Well-known mature optical isolation, or some other kind of galvanic isolation:

2. Earthing

Yes, this tricks don’t solve main USB trouble, but you will fill yourself like ass much more seldom.

13. Windows

There still are a lot of naive who believes in MS and Window. Because this piece of famous art:

we can see in embedded products up to ten times more often, than on regular desktop, I perceive that naives like this keen guy:

So, I believe, one of that guys in the nearest future will be nominated for

14. Native threads

This picture illustrates how I see generic multi-threaded application:

Really usually there are no reason to use threading in Linux userspace at all. Because threading is just increasing complexity and no more.

My main points about threads:
1. Threads are usable until they are too simple.
2. Reasons which caused introducing posix threads into Linux is not actual today.
3. On x86 HW threads made ineffective caching, TLB and CPU pipeline. So threads usually made application slow and luggy.
4. Good multithreaded application, in steps to be effective, must know almost everything about underlying HW, what lives in kernel platform code and is not exported to userspace in simple way. Here I bring greetings to JAVA guys ;).

Also we can get some cookies and benefits using cooperate or other kind of manual multithreading like this:

It allow us to handle most of issues from list above.

15. Mixing of FrameWorks

Mixing different frameworks inside of single applications is also a good root of nuances and unpredictable behavior.

Just for illustration: if you use Qt and Gtk+ simultaneously you can’t safely use any common way to run child application.

So if you mix different frameworks you can trust your application in same way as you trust gypsy foreknow future.

16. Summary

A paradise of developer

So having so more benefits from DSL we spent a lot of time in finding a way to avoid DSL developing effort in small applications. Finally we found than we can use variant of event driven development: direct programming in finite state machines. It’s good and flexible because:

1. FSM can be instantiated in multiple equivalent representations and converted between them.
2. FSM is very simple to learn and is known to every good engineer.
3. FSM is simultaneously enough hi-level to don’t worry about implementations and at same time allow low-level operation in natural and flexible way.
4. You have simple and accessible way how to explain for non-programmer engineers what and how you software do.

And finally main benefit: FSM can have same graphical and binary machine representation. So you don’t need to use debugger to find a trouble, because on top of good FSM engine FSM work in same way as on paper.

Codeless workflow

And here I have tried to illustrate how FSM can change your development workflow of ever avoid coding from them.

So it is good to start from ragel as FSM description language, UML as design environment and Moore machines as base for both of them.


Мы их теряем: друзья уезжают за границу

$
0
0

Весной 1969 в самый разгар войны во Вьетнаме каждый второй американец знал лично кого-нибудь, кто погиб или был ранен во Вьетнаме. Весной 2015 мы приближаемся к тому моменту, когда каждый второй украинец, который лично знает IT-специалиста, будет провожать его на ПМЖ за границу.

Профессия IT-специалиста уникальна не столько высоким окладом, который в 10 раз превышает среднюю зарплату по Украине, сколько возможностью свалить легально, всерьез и надолго.


Если открыть в Linkedin одну из ТОП-20 компаний и пошерстить по сотрудникам, на глаза попадутся ужепереехавшие за кордон товарищи. И не когда-нибудь, а еще летом, осенью и зимой 2014 года. Да что Linkedin, — еще совсем недавно на главной странице висел баннер о поиске сотрудников с последующей релокацией в Краков.

И всё бы ничего, если бы не одно но: уезжают друзья. Но не все, а именно программисты и тестировщики.

Если, по данным опросов, в 2013 о долгосрочном выезде за границу и ПМЖ задумывались около 35% IT-специалистов, то под конец 2014года их число увеличилось до 75%. То есть более чем в два раза.

Уезжают кто сам, а кто — с семьями. И здесь волнует уже не абстрактное и мало что значащее «мозги текут на Запад», но разорванные дружеские связи. Не стоит себя обманывать тем, что вы будете продолжать общение. Проходит полгода-год, у каждого по отдельности течет своя жизнь — и оказывается, что вы вполне можете жить друг без друга. Но что такое жизнь без друзей?

Конечно, в ответ меня спросят: «А что это ты тянешь своих друзей вниз? Давай-ка сам постарайся свалить». Для чистоты эксперимента опустим неудобный момент «уезжать не хочется» и перейдем сразу к реализации, как будто бы человек этого действительно хотел. Для долгосрочного отъезда нужны три вещи: работа, рабочая виза, деньги. Начнем с самого банального и легкодоступного для IT-специалиста ресурса.

Деньги

Работа в IT позволяется множество финансовых маневров, в том числе и покупку авиабилетов. Случай из жизни знакомого тестировщика: приходит он в банк снимать наличку с зарплатной карточки, предъявляет документы, ждет. И тут, в момент выдачи наличных, уже немолодая кассирша с завистью и укором говорит ему: «Ой, у вас такая зарплата. Что ж вы не уедете?». То есть в среде простых смертных основными вопросами являются даже не «как найти работу» или «как сделать визу», но банальное и забытое многими «где взять денег на билет». Знала бы эта леди, что только с финансовой стороны нужно заготовить немного больше капусты, чем только на билеты. И что деньги — это ещё самая легко решаемая часть в вопросе эмиграции.

Но что делать человеку с зарплатой в 200-300 долларов?Брать в долг даже 2-3К при таких условиях — не каждому под силу. На это пойдут либо отчаявшиеся, либо авантюристы. Не относишься ни к тем, ни к другим? Обречен прозябать на родине.

Но, допустим, друг-неайтишник решил финансовый вопрос и готов к эмиграции. Что дальше?

Работа

Для IT-специалиста сойдет и удаленный поиск. Но в случае простого смертного, которому проще искать на месте, возникает порочный круг: чтобы уехать на поиск работы, нужна работа. Западные (да и восточные) компании намного более сговорчивы, если ты программист. Но и тогда тебя не то чтобы встречают хлебом-солью. Повезёт — попадешь в приятный город, где комфортно жить — там и осядешь, как холоп у феодала. Но какова вероятность, что к тебе в тот же город пробьется твой друг-простолюдин? На позицию охранника, грузчика, сантехника. Здесь помогут разве что огромное желание и везение. Опять же, если друг работает менеджером в зоопарке или журналистом в русскоязычной газете — количество вакансий для него в США/Европе/Азии будет стремиться к нулю. А вероятность попасть в один город будет примерно равняться вероятности случайно собрать Кубик Рубика.

Виза

Найденная за границей работа не значит, что работодатель сможет или захочет оформлять визу и брать на себя связанные с этим риски. Опять же, в случае IT-специалиста с этим как-то проще. Работодатель понимает: «этот гений сможет принести мне сотни тысяч долларов. Конечно, я оформлю ему визу и возьму на себя спонсорство его гринкарты, помогу с жильем».

Но допустим, удача улыбнулась русскоязычному журналисту, и он нашел позицию в небольшом англоязычном издании, где закрыли глаза на «дыры» в его CV. Что ж, пора оформлять визу! Упс, а как это делается? И ты рассказываешь им, что они должны сделать, чтобы ты получил свои вожделенные бумажищи. Остается только молиться, чтобы всё происходило так же гладко, как в истории Роберто Артилеса, который попал в стартап, где некому было оформлять рабочую визу.

И даже если работодатель согласится оформить рабочую визу, то этот процесс может растянуться на месяцы. Если IT-специалист не застрахован от «сюрпризов» в виде накрывшейся фирмы или удачно подвернувшегося работодателю ручного индуса, который согласен выполнять его функции за гроши, то что уж говорить о смотрителе зоопарка и забытом журналисте? У них шансов и того меньше.

Деньги, работа, виза — три ингредиента в одном IT-флаконе: с одной стороны они позволяют путешествия, командировки и, наконец, жизнь во многих странах мира. Но c другой — в некоторой степени развращают:
— Какие проблемы, Коля? Приезжай жить ко мне в Америку!
— Но я ж не программист. Как быть с визой и работой?
— Точно. Совсем забыл, что ты кондиционерщик. — У тебя ни визы, ни денег.— Может, хочешь подучить программирование?

Решение

Возвращаемся во Вьетнам: если во Второй мировой пехотинец союзников воевал в среднем 10 дней в году, то во Вьетнаме эта цифра была в 25 раз больше. Каждый десятый служивший во Вьетнаме был ранен или убит. На этом фоне популярной была практика не вступать в тесные дружеские отношения с новоприбывшими, так как была большая вероятность, что зеленца подстрелят. Зачем лишний раз огорчаться?

Подобную тактику скоро можно будет наблюдать и у нас: понимая соблазны и возможности друга-программиста свалить в забугорье, никто из простолюдинов не будет с ним вступать в тесный контакт. Вдруг уедет?

Порой сбиваешься со счета — так часто попадаешь в ситуацию, когда тебе рассказывают про анонимуса, который переехал в США/Европу, и на вопрос «чем он занимается?», отвечают, либо что он тестировщик, либо программист. Когда очередной случай переезда на ПМЖ касается девушки, то магическим образом оказывается, что у неё муж работает сами знаете кем. Лишь в редких случаях золотым ключиком от заграницы бывает выигранная Greencard или (сюрприз) неайтишная профессия.

С другой стороны, идет аналогичный процесс: сегодня многие программисты помогают своим друзьям стать на путь IT. Но как быть с кондиционерщиком Колей, который не может или не хочет учить программирование или тестирование? Солдаты во Вьетнаме знали ответ на этот вопрос: не дружить.

Таким образом, мы станем свидетелями ещё более явной кристаллизации IT-касты в Украине. Не только по признаку доходов, но и по возможности в случае чего уехать. Найдется место для жен программистов, их матерей, отцов, детей. Социальный разрыв увеличивается, мы идем по пути Индии.

Начинаешь с опасением поглядывать на тех своих друзей из IT, кто не поддался пока эмиграционным настроениям. Потому что кто его знает — вдруг в один прекрасный день соблазн станет слишком велик, что-то «щелкнёт» — и ищи-свищи их потом по всему миру. Но они остаются. Поэтому их компанию начинаешь ценить даже больше, чем прежде.

26 марта, Киев — Grammarly AI Club Meet-up #21: Делаем четвероного робота

$
0
0

Докладчик:Ян Цыбулькин, предприниматель и основатель нескольких технических компаний
Тема:Делаем четвероного робота, способного научиться ходить

В этом докладе будет рассмотрен процесс создания четвероного робота-паука, способного самостоятельно научиться ходить. Мы обсудим основные сложности, с которыми пришлось столкнуться при выполнении этого проекта от его начала до момента создания рабочей модели, готовой к построению первого прототипа в железе.

Регистрацияобязательна для всех участников :)

Приходите, будет интересно!

Беседа с Андреем Адамовичем, CEO Aestas IT

$
0
0

196-йвыпуск подкаста «Откровенно про IT карьеризм». В подкасте пойдет речь о Groovy, Риге и конференциях.

В программе:

  • Про во’IT’и
  • Роль Архитектора
  • Общение с людьми в карьере
  • Специализация
  • Монетизация соцсетей и опросов
  • Как создавалась Groovy 2 Cookbook
  • Что такое Groovy
  • Конференции

Книги в выпуске:

Прямая ссылка на файл
Подкаст на iTunes

Текстовая версия доступна на itpodcasts.com.ua.


Выпуск записан при поддержке IT-компании AltexSoft.
Спасибо за помощь в записи подкаста сервису QuickBlox.com.

Подкаст «Откровенно про IT карьеризм» от идеи до реализации — интеллектуальная собственность Михаила Марченко и Ольги Давыдовой. Все вопросы, касающиеся подкаста, адресуйте нам на shami13@gmail.com.

2 апреля, Киев — Онлайн курсы Android программирования от U-Rise

$
0
0

Онлайн курсы Android программирования от U-Rise. С Бесплатной Неделей обучения и гарантией результата. Первая онлайн школа программирования, которая гарантирует результат либо возвращает деньги.
В конце Бесплатной Недели Вы уже запустите свое первое приложение.
Мы делаем БЕСПЛАТНУЮ неделю для того, чтобы Вы могли проверить нас в деле, и убедиться в качестве обучения.

Для кого эти курсы?
— для тех, кто хочет проверить, стоит ли ему идти в ИТ
— для людей, решивших поменять профессию
— для новичков в программировании.
— для программистов, которые хотят увеличить свои профессиональные скилы/

Почему у нас обучаются?
— даем результат или ВОЗВРАЩАЕМ деньги. До конца обучения сделаете свое приложение или вернем Вам деньги.
— личное общение с преподавателем. Обучение проходит в малокомплектных группах.
— обучение происходит онлайн — Вы сможете обучаться где бы Вы не находились. Не нужно тратить время и деньги на проезд.
— не хватает на обучение? Возможна оплата частями.

Программа курса:

— Знакомство
— Base Java Core
— Android Environment
— OOP
— Android Fundamentals
— Clean code, command work
— Android Elements
— Android Components

Полная программа обучения

Внимание, скидка!

Если Вы уже решили обучаться у нас, мы даем скидку на весь курс 1000 грн. Для того, чтобы получить скидку, нужно сделать предоплату в размере 500 грн. Скидка действует только для читателей DOU.uaи только до 29 марта!
Код для получения скидки DOU1000. Его нужно назвать менеджеру, который с Вами свяжется для записи в группу.

Длительность обучения:
7 недель, по два занятия в неделю. Длительность занятия 3 часа.

Запись на Бесплатную Неделю

Як ми розробили додаток на Apple Watch для управління машиною Tesla

$
0
0

Зацікавившись появою розумного годинника від Apple, ми взялись за розробку додатка, який дає змогу керувати електромобілем Tesla Model S через Інтернет за допомогою веб-сервісу API. Додаток досконало вписується в концепт розумних годинників, дозволяє користувачам отримувати важливу інформацію про їхнє авто та керувати ним швидко, не витрачаючи часу на те, щоби дістати з кишені та розблокувати свій телефон.

Можливості Apple Watch для розробників

Якщо ви знайомі з WatchKit, SDK для розробки додатку для Apple Watch, то можете одразу переходити до частини, що безпосередньо стосується додатку.

Якщо ж ні, то у вас є можливість ознайомитися з технічними можливостями WatchKit. Apple люб’язно надав бета-версію SDK учасникам Developer Program. А тут, на жаль, не все так гладко, як це розказує у своїй презентації Тім Кук. Коротко кажучи, Apple Watch — це всього-на-всього додатковий монітор для вашого iPhone, і він не здатен робити що-небудь самостійно. Ось що кажуть з цього приводу представники Apple:

«Застосунки для Apple Watch доповнюють ваш основний iOS-додаток, але не замінюють його. Якщо сьогодні час, який користувач проводить в програмі, вимірюється у хвилинах, то час роботи з додатками Apple Watch буде вимірюватися у секундах».

Саме додаток для iPhone містить у собі весь код у вигляді так званого Watch Extension (ще один тип розширень на додачу до Today Extension, Share Extension та ін., які існували в iOS8), а на боці Apple Watch — виключно ресурси додатка та UI дисплей (у вигляді Storyboard). Ось, власне, діаграми, надані нам компанією Apple, які пояснюють, як це працює і яким чином відбувається взаємодія між смартфоном і розумним годинником.

Тобто, як бачимо, розумний годинник Apple без iPhone — просто іграшка, з якої жодної користі. І хоча Apple згадував про WatchKit Apps — повнофункційні додатки, які, теоретично, повинні працювати без iPhone, поки що вони недоступні, і ніхто не знає, коли з’являться на ринку.

З іншого боку цей істотний недолік — як би парадоксально це не звучало — є великим плюсом. Зважаючи на те, що додаток годинника, по суті, працює на iPhone, програміст має у своєму розпорядженні увесь функціонал і дані з самого iPhone (щоправда, Apple вже попередив нас про ймовірні обмеження на енергозатратні операції). Сам же WatchKit — це такий собі «місток», що з’єднує код на iPhone з інтерфейсом на Apple Watch.

Усі додатки для Apple Watch мають три cхеми роботи:
1) повноцінний додаток, з яким можна працювати з екрану розумного годинника;
2) Glances, що відображає лише картки з необхідною для користувача інформацією;
3) активні сповіщення із двома сценаріями виконання:
— коли ви піднімаєте руку, щоби прочитати нотифікацію і не опускаєте її впродовж кількох секунд, розумний годинник показує вам детальнішу інформацію;
— ви можете швидко реагувати на нотифікації, виконуючи певні дії.

Якщо зануритись глибше і подивитися на можливості, доступні розробникам додатків, відкриється доволі невтішна картина. Apple не балує девелоперів надміром функціоналу та інструментів. Проте, є надія, що така обмеженість функціоналу пов’язана з тим, що це лише перша бета-версія.

А зараз про погане, тобто про функції, які не доступні для девелоперів:
— у розумного годинника є акселерометр та гідроскоп, але девелопери не мають до них доступу;
— існує також Bluetooth, проте, через нього можна з’єднатися виключно з вашим iPhone, і девелоперам він також не доступний;
— екран годинника чутливий до сили натиску, однак розробникам доступний тільки Force Touch, який використовується для виклику контекстного меню;
— поки що також недоступна система тактильних сповіщень TapTic Engine;
— є вбудований динамік і мікрофон, але доступу до нього немає;
— щодо GPS, то ніби-то він є, але тільки на вашому iPhone.

Таким чином, з точки зору розробки, Apple Watch на сьогодні є дуже обмеженим пристроєм зі слабким потенціалом для програмістів. Хоча сміливі висновки з цього приводу ми зможемо робити після 24 квітня, коли годинник з’явиться у продажі. Наразі говорити про нього ми можемо лише виходячи із наданого SDK, який, нагадаємо ще раз, перебуває на першій бета стадії.

У результаті в нас складається досить неоднозначне враження про новинку від Apple. З одного боку все гарно, інноваційно і цікаво, а з іншого — обмежений функціонал не дає можливості розробити дійсно функціональний додаток із гарним дизайном.

Apple Watch для Tesla Car

Але ми не здалися і поставили собі за мету використати увесь доступний функціонал управління Tesla Car, адаптувавши UX до контексту Apple Watch. Після брейнштормінгу ми зупинилися на 6 екранах:
— main screen (водночас екран статусу автомобіля) —повідомляє про загальний стан електромобіля: стан батареї, температуру повітря, пробіг та ін.;
— controls menu (контекстне меню з командами) — дає можливість відчиняти/зачиняти авто, вмикати/вимикати фари та сигналити;
— charging screen (екран заряду батареї авто) — детально інформує про стан батареї та перебіг процесу заряджання;
— climate screen (екран клімату всередині авто) — показує температуру і дає можливість змінювати її в різних зонах авто;
— location screen (екран місця перебування авто) — повідомляє про поточне місце перебування електромобіля;
— glance screen — екран, на який виводиться інформація про стан автомобіля для Apple Watch Glance.

Технічні деталі додатку

Watch Extension для годинника, так само як і версія додатка для iPhone, взаємодіє із веб-сервісом API від Tesla через окремий модуль роботи з сервісом, у формі окремого Cocoa Touch Framework (ще одна порада для розробниківвід Apple з написання додатків, що містять Extension).

Окрім цього був реалізований механізм обміну даними між iPhone і Apple Watch за допомогою shared app group:
«App group — це спеціальний контейнер групи додатків, що уможливлює одночасний доступ до спільних даних. Звичайний обмін даними між додатком та розширенням не можливий, оскільки кожен з них виконується у своєму „sandbox“ і не має доступу до пам’яті інших додатків. Тому, щоби уможливити передачу та обмін даними між додатком і розширенням, компанія Apple розробила App Group. Завдяки цій технології розробники можуть без будь-яких проблем додати функцію обміну даними між додатками».

Із документації Apple для девелоперів

Ось приклад коду, який забезпечує завантаження і збереження контейнера даних у NSUserDefaults:

+ (void)saveSummaryModel:(SummaryModel *)summaryModel {
    NSData *archivedData = [NSKeyedArchiverarchivedDataWithRootObject:summaryModel];
    NSUserDefaults *defaults = [LocalStorageHelper getSharedDefaults];
    [defaults setObject:archivedData forKey:SummaryModelKey];
    [defaults synchronize];
}
+ (SummaryModel *)loadSummaryModel {
    NSUserDefaults *defaults = [LocalStorageHelper getSharedDefaults];
    NSData *archivedData = [defaults dataForKey:SummaryModelKey];
    SummaryModel *summaryModel = [NSKeyedUnarchiverunarchiveObjectWithData:archivedData];
    return summaryModel;
}
+ (NSUserDefaults *)getSharedDefaults {
    NSUserDefaults *sharedDefaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.eleks.TeslaModelS"];
    return sharedDefaults;
}

Окрім цього, ми створили гарний і зручний дизайн для додатка, який відповідає усім вимогам Apple.


Проблеми і труднощі

У процесі розробки додатку у нас виникали певні труднощі, переважно — під час імплементації дизайну. Ось детальніше про деякі з них.

Перша і найприкріша — це запуск додатку для годинника на симуляторі. Час від часу він просто-напросто не запускається, зависаючи на статусі «Waiting to Attach». Скоріш за все, проблема викликана нестабільністю бета-версії XCode і не пов’язана з налаштуваннями проекту чи чогось іншого.

Застосування кастомних шрифтів до текстових об’єктів.Спроба використовувати шрифти у редакторі storyboard в IDE не дала бажаного результату: сам шрифт змінювався, однак колір і розмір шрифта залишалися тими ж. Кастомізація шрифта наразі доступна тільки в коді.

// Configure an attributed string with custom font information.
let menloFont = UIFont(name: "Menlo", size: 12.0)!
var fontAttrs = [NSFontAttributeName : menloFont]
var attrString = NSAttributedString(string: "My Text", attributes: fontAttrs)
// Set the text on the label object
self.label.setAttributedText(attrString)

Цифрова Коронка доволі обмежена.Перш за все, вона не доступна в емуляторі, отже ми не могли використати її для нашого додатку. Але що гірше — сторонні додатки можуть використовувати її лише для прокрутки (scrolling). Сумно, але наразі це не дає достатньо можливостей для розробників third-party додатків.

Застосування стилів дизайну до контекстного меню, що викликається за допомогою Force Touch. Кнопки меню та іконки на кнопках — сірого кольоруі не дають простору для дизайнерських пошуків.

Елемент WKInterfaceSliderмає напівпрозорий сірий фон, що накладається екрану на фон самого екрану, і його неможливо замінити чи забрати. Тому, щоби застосувати створений дизайн, довелося робити зовнішній аналог слайдера з двох кнопок — WKInterfaceButton і тексту в WKInterfaceLabel.

Через відсутність ProgressBar, ми змушені були створювати щось подібне.

Як бачимо, більшість проблем пов’язані саме із застосуванням елементів дизайну до інтерфейсу. Навіть той невеликий набір елементів, який сьогодні надає розробникам WatchKit, має дуже обмежені можливості для кастомізації. До того ж обмеження накладає сильно врізаний функціонал SDK, який на сьогодні доступний для розробників.

Результат

Увесь вихідний код ви можете знайти на нашій сторінці у Github, а ось скрінкасти функціонування додатку на емуляторі:

Попри загальне враження, що Apple Watch пропонує широке поле для творчості, на жаль, поточні можливості розробки на емуляторі не збігаються із очікуваннями. Робити щось дійсно потрібне і функціональне для Apple Watch з поточною версією SDK дуже і дуже непросто. До того ж, деякі початково обіцяні функції, що ідеально підійшли би до цікавих бізнес-ідей, поки що не доступні.

Єдине, що залишається розробникам, — чекати на реліз нової версії WatchKit і початок продажу Apple Watch.

Робоча група
— Олександр Маляренко — співавтор ідеї, iOS-інженер;
— Влад Кріченко — дизайнер;
— Олександр Болховецький — iOS інженер;
— Олександр Кабаченко — співавтор ідеї;
— Віктор Малейчик — співавтор ідеї.

25 апреля, Киев — Мастер-класс "NoSQL решения в Android приложениях", Антон Минашкин

$
0
0

Организатор: SmartMe
Спикер: Минашкин Антон

NoSQL шагает по планете огромными шагами, эта тенденция не прошла и мимо мобильных платформ. Несмотря на доминирование SQLite в мире мобильной разработки существуют и альтернативные решения, которые не только не уступают во многом старшему реляционному брату, но и имеют свои преимущества.

На мастер-классе мы рассмотрим NoSQL решения на платформе Android, которые доступны на рынке сейчас, какие у них достоинства и недостатки, а также, в каких случаях какое решение необходимо применить.

Ставь на свой лэптоп Android Studio + Android SDK и будем вместе ломать стереотипы о способах хранения данных в мобильных приложениях.

О тренере

Антон Минашкин

Android разработчик с 5-летнимстажем, сооснователь сообществ GDG Kremenchug и IT Kremenchug. В качестве спикера выступал на UA Mobile’14, конференции «IT-ПЕРСПЕКТИВА», Kyiv Android gathering, Android Dev Club и др. На данный момент занимает должность Android Developer в GlobalLogic.

Программа тренинга:

— Что такое NoSQL и зачем он нужен?
— NoSQL databases.
— Что из этого сейчас доступно для мобильных платформ?
— Практика. Заменяем SQLite базу в своем приложении на документо-ориентированную NoSQL базу.
— ORM для NoSQL базы
— Как писать приложения так, чтобы без проблем менять базу данных.
— Практика. Пишем CRUD с помощью паттерна Repository.
— Практика. Строим индексы.

Воспользуйтесь скидкой:

Cкидка 10% для читателей DOU по промо-коду douNoSQL_10 (введите промо-код в регистрационной форме, поле «Код скидки»)

Детали мастер-класса и регистрация

23 мая, Киев — SQLSaturday Kiev

$
0
0

Обратный отсчёт до третьей конференции SQLSaturday в Киеве пошёл!

SQLSaturday — это однодневная бесплатная конференция для разработчиков, администраторов, BI аналитиков, архитекторов баз данных и других профессионалов, которые работают с SQL Server.

Итак, конференция SQLSaturday Kiev, это:
— 5 параллельных потоков докладов,
— Доклады от ведущих мировых и украинских специалистов,
— Уникальные доклады по оптимизатору запросов,
— Советы по оптимизации SQL Server от экспертов-практиков,
— Тонкости работы SQL Server о которых вы не знали,
— Двое авторов книг по SQL Server,
— Восемь Microsoft MVP (Семь из них по SQL Server),
— Два SQL Server MCM,
— Множество новых знакомств,
— Призы от Microsoft, PASS, Pluralsight, Red Gate, Idera, SQLCentry, Wintelect, DevArt и других компаний,
— Возможность поймать спикера в коридоре в перерыве и задать ему свой вопрос :)

Для участия необходимо зарегистрироваться на сайте конференции. Поторопитесь, количество мест ограничено!

Официальный сайт конференции: sqlsaturday.com/377

Регистрация на SQLSaturday Kyiv

Не упустите шанс стать частью #sqlfamily и принять участие в этом грандиозном событии! Регистрируйтесь, и да пребудет с вами SQL!

PS: официальные хештеги конференции #sqlsatkiev. Пожалуйста, используйте его в ваших постах о конференции в твиттере и фейсбуке. Также вы можете задать интересующий вас вопрос спикеру или организаторам, используя этот хештег.


Кто такой HR, и почему он забывает ваше имя

$
0
0

Много нынче ходит толков о рекрутерах и HR. Но далеко не каждый программист понимает, какая между ними разница. Есть даже люди, которые убеждены, что работа с кадрами — это piece of cake, мол «Дайте мне пачку резюме, я буду их читать, хохотать, похлебывать кофеек и выбирать кандидатов!» — Нет, бро, не сейчас.

Сегодня мы поговорим с Катей Русаковой — HR из Беларуси, которая не только получала выучку в Yandex, но и пошла учиться на программиста в целях повысить свою HR-квалификацию. С её помощью мы прольем свет на подводную часть айсберга IT-рекрутинга и научимся лучше понимать друг друга. В добрый путь.

Катя, до работы HR’ом ты работала в рекламе. Что общего у этих двух профессий?

— Общего много. Реклама тоже направлена в первую очередь на генерацию определенных лидов, которые нужны рекламодателю. Реклама, которая не делает ничего — это так, развлечение. В рекрутинге тоже нужно что-то сделать, чтоб найти нужного человека и добиться результата. Но есть определенные различия между HR и рекрутером.

Рекрутер занимается своей отдельной задачей — привлечением сотрудников. Он его нашел, с рук на руки «сдал» — и на этом его функция заканчивается.

HR — это более ёмкое, масштабное понятие. В организациях HR’ы часто занимаются ивентами, обучением сотрудников, их адаптацией, сбором exit-мнений. Не говоря уже об оформлении документов и других вопросах законодательного уровня. HR тоже заточен на генерацию определенных лидов. Здесь навыки человека из рекламы очень востребованы. Умение убеждать, продавать, понимание того, какие психологические пертурбации происходят в человеке, когда он что-то слышит, что-то читает. Понимание того, что может в человеке измениться при прочтении объявления или вопроса, может сыграть HR’у очень хорошую службу. А когда приходится читать полуграмотные вакансии или объявления с претензией на «креатив», понимаешь, что для HR’а даже умение писать грамотные тексты — ничуть не лишний навык.

Почему ты решила пойти в HR’ы?

— Я работала в рекламе долго — около 8 лет. У людей, которые подолгу занимаются креативом, иногда наступает такой момент, когда они выдыхаются. Наступает кризис жанра: если в первые несколько лет у меня была высокая эффективность труда, и я, например, могла легко сделать крутую вещь, придумать классный слоган или фишку для кампании, то со временем у меня уже не было того драйва. Я поняла, что результаты моих трудов теперь отображают те муки, которые я начала испытывать при работе, поэтому решила уйти.

В итоге я стала искать те сферы, где можно применить те навыки и умения, которые у меня уже есть. Выбор был сделан в пользу HR.

Тебе приходится овертаймить?

— Да, несмотря на то, что везде, где я работала, овертаймы не являются стандартом компании, и отношение к ним скорее негативное. То есть тебя ни в коем случае не заставляют овертаймить. Ты можешь в шесть вечера сложить все бумаги и уйти домой.

Но я не могу уйти домой, если у меня висит какой-нибудь кандидат или дело. То есть пусть лучше я не де-юре, а де-факто завершу работу — и тогда буду свободна. С другой стороны, эти овертаймы искупаются тем, что есть дни, когда ты можешь уйти намного раньше. В какой-то степени выходит, что это не овертайм, а скорее более гибкий график. Меня это устраивает.

В чем заключается самая большая сложность в работе HR?

— В выносливости. В большей части эта выносливость должна быть моральной. Риск морального истощения особенно значим для холериков. Если ты очень быстро погружаешься, загораешься, и тебе сложно переключаться без потери психологического равновесия, в работе HR тебе будет сложно. Потому что каждый раз ты будешь делать задачу на разрыве. Мало того, тебя будут сильно обижать неизбежные трудности. Если ты не сможешь к ним достаточно абстрагированно относиться — будет очень сложно.

Дело даже не в прямой грубости. Иногда человек может не очень разбираться в сути твоей работы. Иногда он предъявляет к твоей работе такие претензии, которых у него бы не было, если бы он знал, в чем она заключается.

Например, «вольные» рекрутеры достаточно часто сталкиваются с претензиями типа «А что это вы пишете одно и то же?», «Вы могли бы уже договориться и перестать спамить». Это технически невозможно, ведь кадровые агентства и вольнонаемные рекрутеры не пользуются одной базой. Если бы возможность проверки была, упрек был бы правомерен. Или если бы речь шла о сотрудниках одной и той же компании.

Если есть возможность избежать повторов, ею пользуются всегда. Потому что на самом деле такая ситуация, во-первых, неприятна, во-вторых, не оправдана с точки зрения продуктивности. Зачем тратить время на человека, который уже обработан? Тем более, недавно. В чем смысл вводить человека в курс технических деталей? Здесь будет корректнее извиниться и постараться сгладить ситуацию.

Какие навыки важны в работе с персоналом?

— Способность держать в голове одновременно большие объемы информации. Кстати, для рекламиста он тоже очень полезен. Когда работаешь с несколькими заказчиками, тебе нужно помнить отличительные особенности их товаров, услуг, все их пожелания, и так далее. Очень редко бывает так, что закончил один заказ — и после приступаешь к следующему. Обычно в работе идут параллельно несколько проектов.

У рекрутера в ведении может быть по несколько десятков человек. И помнить нужно всё, вплоть до тональности разговора. Один общается исключительно официально, и ни в коем случае нельзя с ним в разговоре использовать демократические конструкции, иначе он может это воспринять как неуважение к себе. С другим надо помнить, что он уже приходил в компанию на собеседование пару месяцев назад, помнить результат этого собеседования, что могло его напрячь, что могло нас напрячь. По третьему, опять-таки, может, надо помнить что-то по тестовому заданию. По четвертому — время, когда он может прийти на собеседование. По пятому — пожелание тимлида, что бы такого у человека спросить. Ты, по сути, ведешь одновременно несколько диалогов.

Грубо говоря, сложно даже запомнить имена этих пяти десятков человек. На самом деле это самый распространенный косяк среди рекрутеров :-) Надеюсь, люди, которые прочтут эту статью, начнут чуть более лояльно к этому относиться, потому что в таком режиме путать Алексея и Александра — практически неизбежно.

С той стороны это незаметно. Человек думает: «Как это, со мной же говорили неделю назад!».

Конечно, каждый кандидат уникален. Но вас, уникальных, много.

Причем история общения может растягиваться не то что на дни, на месяцы! Если рекрутер не пытается себя обезопасить от этих проблем, его можно только пожалеть. Часто бывает так, что перед разговором хистори не смотрится, потому что нет времени. Хотя я считаю, это неправильно.

Так что ничего не заменит большого объема оперативной памяти. Если ты умеешь много помнить, это всегда круто.

Какие технические навыки полезны для HR’а ?

— Техническое образование абсолютно не нужно. Лично я просто перестала скучать на собеседованиях во время технической части. Раньше, когда человека просили написать код, — сидела, как обезьянка, рассматривая потолок и старательно делая заинтересованное лицо. Сейчас у меня эти полчаса пролетают незаметно — я сижу и активно читаю, что там человек пишет. Хотя, конечно, на самом деле, объективно, ничего еще не знаю — моего уровня хватает максимум на «школьные задачки» в три действия, которыми мучают тестировщиков-автоматизаторов. Просто мне стало интереснее.

В любом случае, если я что-то понимаю, то стараюсь соблюдать pokerface. Даже если вижу, что кандидат допускает ошибку. По моему твердому убеждению, HR должен человека расслаблять, а не напрягать.

Нужны ли рядовому HR эти знания? Абсолютно нет. Что ему нужно — так это навыки офисного персонала. Знание офисных пакетов (например, умение быстро сделать автозамену подстановочными знаками) — это уже хорошо. Это в значительной степени увеличивает твою продуктивность.

HR’ы пользуются базами данных — если умеешь составлять несложные запросы, это тоже хорошо. Бывает так, что нужно сгенерировать какой-нибудь отчет. Выборка данных вручную может занять кошмарное количество времени. Но если знать какой-нибудь самый примитивный язык запросов (булевы операторы, как складываются AND, OR и так далее) — это уже будет хорошо. Тем более что многие современные соцсети, с которыми работают рекрутеры, поддерживают этот язык запросов.

Это всё. Но главное, чем должен HR обладать в своей работе, — это понимание основных понятий. Например, чем отличается проджект от продакта. Чтоб смотреть в вакансию и более-менее представлять, что требуется.

Если HR более продвинут и напрямую работает с тех. командой и составляет эту вакансию сам, он должен понимать, как трансформировать то, что ему рассказывает руководитель проекта, в нормальное красивое описание, в котором не будет хотя бы очевидных ляпов.

В соцсетях тоже есть свой язык, который поддерживает boolean search. Поэтому в работе HR ценится умение быстро составлять корректные запросы с использованием спецсимволов и операторов. В Linkedin, например, раньше было много всяких фишек — то, что доступно только в платном акаунте, и с помощью языка запросов можно было вытащить информацию. Найти прошлую компанию кандидата, людей, которые работали или работают в определенной компании, и так далее. Но этот функционал урезали.

Сейчас, по-моему, остался только булев язык, но, в принципе, с ним тоже можно очень хорошо поработать. Например, можно вести поиск по соцсетям, не прибегая к возможностям самих соцсетей — например, через Google. Таким образом можно обойти ограничение соцсети по выдаче определенного количества профилей на бесплатный акаунт. Это называется X-Ray search — очень популярный инструмент рекрутеров. То есть ты пользуешься сторонним поисковым движком, но при этом задаешь запрос, который позволяет тебе залазить в соцсеть, которая этого не хочет. Такой маленький хак системы.

Чем ты занималась в Yandex?

— Я была ассистентом рекрутера. Мне очень повезло дебютировать в крупной компании. Это круто! И всем, кто хочет попробовать себя в этой сфере, я рекомендую начинать с больших, красивых компаний. Это здорово поможет сформировать те привычки, которые в дальнейшем сослужат очень хорошую службу.

Что бы ни говорили о больших компаниях, в них очень четко отработаны все процессы. Да, в этом есть свои минусы — это стандартизация, формализация, негибкость процессов. Но эти минусы имеют значение для людей, которые уже достаточно прокачаны для того, чтобы существовать самостоятельно. Если ты ничего не знаешь, ничего не умеешь и только пришел в эту сферу — тебе будет очень полезно повариться в крупной компании вместе со всеми бонусами, которые дает большая корпоративная система.

Рекрутерская школа в Яндексе действительно очень хорошая. Тебя активно вводят в курс всего, что происходит в данной сфере, но прим этом не просто вываливают на тебя информацию валом, как это происходит при самообучении, когда трудно построить какую-то систему. Все это там систематизируют и раскладывают по полочкам.

Придет, допустим, человек из банка, который ничего не знает об IT. В большой компании ему дадут возможность все эти знания получить структурированно и в полном объеме. Такой возможности в маленькой компании (или в крупной, где не поставлены эти процессы) не будет.

В маленькой компании ты, в принципе, должен всё делать на свое усмотрение. А это достаточно сложно для человека, который не имеет представления о том, что и как должно работать. Опасность заключается в том, что ты будешь делать ошибки, которые потом, в силу незнания, будешь считать нормой — потому что так комфортнее и удобнее.

Думаю, для программистов этот совет тоже применим. Конечно, есть определенные сложности с тем, чтобы сразу дебютировать в большой компании. Многие начинают с фриланса, с маленьких компаний — лишь бы взяли. Но важно отдавать себе отчет в том, что ты можешь приобрести привычки, которые в дальнейшем могут очень сильно осложнить тебе жизнь.

Простой пример: покрытие тестами кода. На небольших проектах это не всегда применяется. Если же ты работаешь не в команде, тебе не нужно думать о том, как твой код будет поддерживаться в дальнейшем. Ты избавлен от многих вещей, которые неизбежны в большой команде. Ты не будешь понимать, зачем нужен тот же Code Review и зачем на него тратить время. Мол, если ты изначально написал хорошо и красиво, то зачем нужно какое-то там тестирование? Честно говоря, не знаю, где бы не потребовались юнит-тесты. Разве что ты пишешь какую-нибудь страничку простенького сайта.

Но потом, уже имея собственные паттерны поведения, тебе будет сложно приспособиться к тому, что это делать надо. Тебе будет казаться, что эти требования замороченные, что у тебя придирчивое руководство, что оно отнимает твое время, и так далее.

Теперь я могу решать, что из полученного в крупной компании опыта стоит применять на практике, а что — нет. Конечно, многими вещами я уже не пользуюсь. Тем не менее, я понимаю, для чего это надо. Например, если ты работаешь в большой команде, то для HR’а очень важно вести определенную отчетность.

Мы говорили о том, что часто разные HR’ы рассылают одному человеку одинаковые предложения. Согласна, это очень нехорошо. Чтобы этого не происходило, нужно вести определенный учет. Фактически мы приходим к тому, что сильно снижаем продуктивную часть работы (контакт, общение, убеждение) и переходим к бумажной работе. В больших компаниях этот процент имеет сильный перекос в область отчетности. Но она необходима. Когда ты работаешь один, тебе это не нужно. Ты в принципе можешь и сам помнить с кем и когда контактировал. Но если ты уверен, что помнишь все — чувак, ты ошибаешься. Даже если работаешь один, или в паре, эти вещи стоит соблюдать хотя бы в минимальном объеме.

Как ни странно, если сравнивать оба подхода — «отчетный» и «продуктивный», то эффективность в конце месяца будет одинаковой. Ты думаешь: «Воу, я не буду ничего писать, буду нарабатывать себе стаж для дальнейшего конвертирования в результаты». Но это не работает. Потом все равно придется тратить очень много времени на восстановление истории.

Какой случай из практики тебе запомнился больше всего?

— У меня есть очень жестокий принцип на тему обсуждения кандидатов. Я считаю, что это абсолютно непрофессионально. Хотя многие мои коллеги этого принципа не придерживаются. Мало того, они в принципе не понимают, зачем он нужен.

Существуют определенные сообщества, комьюнити, чатики HR’ские, где происходит постоянное обсуждение в режиме онлайн: «К нам приходил Вася Петров, у него дурно пахнут носки». На мой взгляд, это просто кошмарно.

Расскажу про позитивный случай. Мы кандидата доводили до результатов 7 месяцев — это время от первого контакта до его выхода на работу. Он прошел через много собеседований. Думаю, это многим поможет понять тайминг — кажется, что у тебя сейчас собеседование, через неделю оффер, еще через неделю вышел — и всё. На самом деле это может быть настолько долговременный и кропотливый труд!

Есть такие люди, которые говорят: «Я сходил на собеседование, оно оказалось неудачным». И, как только ты им озвучиваешь результаты, немедленно удаляют твой скайп и больше никогда не рассматривают эту компанию. На самом деле даже если одно собеседование было пройдено не совсем успешно, это не значит, что на этом всё. «Всё» происходит только в том случае, если кандидат явно неадекватен. Но это бывает редко. Не стоит вычеркивать человека только за то, что он неправильно начал искать простые числа.

Результат собеседования может быть «так себе». Но в дальнейшем может быть назначено ещё одно собеседование, предложено еще одно тестовое задание. Немногие люди доходят до конца этой сложной дороги, ведь нужна также и достаточная заинтересованность человека. Здесь и нужна хорошая работа рекрутера, чтобы дать человеку понять, что мы его не просто так мучаем тестами, что мы ведем эту работу к обоюдному конструктиву.

То есть написанный кандидатом код мы не кладем под стол, не коллекционируем и не пропускаем через шрёдер. А ведь есть люди, которые всерьез считают, что мы пытаемся встроить написанный ими код в свои программные решения — мол, «Ага! Вот вы соберете эти кусочки кода, а потом слепите и продадите!». На самом деле нам иногда присылают такое, что невольно хочется брать деньги просто за прочтение.

Это не только обоюдная работа, но также и командная, работа с техническими специалистами. Рекрутер может пойти и развернуть «челночную дипломатию».

Ты должен контактировать с техническим специалистом, чтобы понимать, насколько критичны те нюансы, которые были обнаружены в процессе общения. Бывает так, что руководитель проекта ошибается — может, ему не нужны все эти качества, которые он пытается найти. Бывает и наоборот.

Рекрутинг — это продажи, причем продажи обоюдные. Мы не просто продаем кандидату вакансию и компанию, мы продаем и кандидата компании. Причем это надо сделать достаточно филигранно, чтоб не получилось в дальнейшем большого фейла.

У рекрутеров (в отличие от HR) очень часто зарплата зависит от результатов — от количества нанятых и прошедших испытательный срок. Здесь таится опасность в том, что он нацелен нанять как можно больше людей. Какими они будут, как они потом впишутся в команду — это рекрутера уже не волнует.

Когда ты один за все отвечаешь — начинаешь понимать важность того, что тебе не надо продать любого человека. Ты должен быть точно уверен в том, что этот человек проходит. Если ты точно готов понести ответственность за то, что будет в дальнейшем происходить в команде, только тогда ты должен применять все эти «приемы» и раскручивать эту «цепочку». И если она приводит к успешному результату и ты понимаешь, что все это проделано не зря, что действительно команда приобрела хорошего человека и человек приобрел хорошую команду — мне кажется, в этом и есть глобальный смысл всего того, что мы делаем.

Проблема HR’ов — достаточно низкий порог входа. Во многих случаях компании, которые решили сэкономить на услугах кадровых агентств и открыть себе отдел рекрутинга, не имеют четких представлений о том, что это должен быть за человек. Что он должен уметь делать? Он должен уметь писать 50 писем-приглашений в день? Так это и спам-бот может делать — cиди, на кнопку нажимай. Мне кажется, HR должен обладать определенными личностными качествами — моральными, и логикой, и мышлением, которое немножко выходит за область того, что он непосредственно делает.

Вот есть у тебя обязанность — копать яму. И ты сидишь себе, копаешь и не вылазишь. Не смотришь, что происходит вокруг. Собственно, ты не понимаешь, зачем ты вообще этим занимаешься. Тогда у тебя нет понимания, как сделать эту яму лучше, нет понимания, как сделать твой труд эффективнее.

Поэтому, нанимая человека в рекрутеры, не нужно отталкиваться от того, знает он SQL или нет. Это всё ерунда, этому можно научиться буквально за неделю. И вбить в него понятие разницы между Agile и Waterfall. Исходить нужно из его личностных качеств.

Почему в этой профессии мужчин меньше?

— Во-первых, женщина — это все-таки женщина. Она располагает, с ней хочется обращаться более лояльно. Во-вторых, женщины привыкают слушать, обращать внимание на невербальную сторону общения, у них более «намётан глаз». Моральная выносливость здесь играет большую роль.

Опять же, женщине проще смириться со второстепенной ролью. Мужчине нужна определенная «позиция». Здесь сама профессия не предполагает такого доминирования в коллективе: ты должен быть незаметным, тихим, но при этом делать большую работу — то, что делают наши женщины, матери, жены и сестры по своему природному предназначению.

А у мужчины может возникнуть внутренний психологический конфликт, к которому он не будет готов. Но это не всегда так. Каких-то ограничений «Ой, нет, мужчину не возьмем» нет. У мужчин — свои плюсы. Очень многие кандидаты с ними охотнее общаются. Считается, что мужик, да тем более с техническим образованием — это более приятная персона для общения о работе, чем женщина с гуманитарным, потому что он более умный (ладно, не будем скрывать этот факт).

Но порой и технари совершают ошибки. Например, приносишь резюме, говоришь:
— Вот, классный кандидат, он тебе подойдет.
— Ой, у него ж не написано там ... , он же джуниор.
— Ты читай резюме. Давай с ним поговорим. Давай спросим. Я чувствую, что он должен выстрелить.

Какая разница, что он у них мидл, а у нас вакансия на сеньора? Когда-то же мидлы становятся сеньорами. И не всегда в рамках одной компании. Иногда бывает, что до перехода они задерживаются. То есть человек может работать мидлом, хотя он давно уже перерос свою роль. Так что технари здесь не лишены ошибок.

Какие сейчас тенденции намечаются на рынке труда в IT Беларуси?

— За последний год можно отметить потрясение, которое не смогло обойти стороной белорусский рынок — это кризис в России. У нас довольно много компаний работало или работает с российскими заказчиками, которые платили российским рублем. Мало того, у нас на рынке были представлены непосредственно российские компании. У них возникли проблемы, в том числе финансового плана.

То есть появился такой «движ» на рынке, которого довольно давно не было. Для IT-рынка характерен дефицит кадров — обычно рекрутеры бегают за IT-специалистами и уговаривают их. Здесь впервые за долгое время IT-специалисты начали сами обращаться. Пошел обратный процесс. Достаточно много людей ощутили на себе нестабильность российского рубля. Некоторые компании даже этого не выдержали, и в итоге прекратили свое существование. Поэтому на рынке образовался свободный кадровый резерв. Этот процесс идет до сих пор — буквально недавно еще одна компания треснула по швам.

Естественно, я за этим слежу. Хорошему HR’у важно держать руку на пульсе рынка, чтобы вовремя, как коршун, ухватить человека быстрее, чем конкуренты. Был и у нас определенный кризис. Вводили комиссии на курс валюты, которые не компенсировали большинству компаний. Это также спровоцировало движения в том проценте людей, которые давно думали куда-нибудь перейти, но не решались.

Вакансий стало меньше, людей — больше. Причем таких людей, которых раньше выцепить на джоб-борде — это было что-то удивительное. Сейчас они стали встречаться гораздо чаще. То есть они более активно принялись искать другую работу. Это такая кратковременная тенденция. Если говорить о долговременной, то я думаю, что рано или поздно рынок поглотит все это, и всё вернется на круги своя.

Есть определенные особенности белорусского рынка — у нас существует свободная экономическая зона, называется ПВТ. Это такое образование, которое имеет большую льготу по налогам. ПВТ задумывалось для того, чтобы привлечь в страну высокие технологии, обеспечить им благоприятный климат. Порог входа был достаточно невысоким. Сейчас там состоит очень много крупных компаний. Поэтому мелкой компании, которая только вчера образовалась, войти в ПВТ довольно сложно. Соответственно, есть определенный перекос между теми зарплатами, которые могут предложить компании, не состоящие в ПВТ, и теми компаниями, которые в этом ПВТ состоят. Там действительно очень большая экономия.

Причем надо понимать, что в Беларуси оформление на работу полностью легально. Мы не платим зарплаты в конвертах (это характерно для подавляющего большинства IT-компаний Беларуси). Мы вынуждены считаться с тем, что происходит в ПВТ, который занимает достаточно большой удельный вес на рынке. Там компании-гиганты. Они, конечно, задают тон — платят по-белому, зарплата выплачивается в белорусских рублях с привязкой к курсу доллара. Это означает, что компания несет огромные налоговые потери, которые скрыты от глаз работника — отчисления в соцстрах, пенсионный фонд и так далее. Работник видит только подоходный налог, а реально получается почти 50% разница между начисленной зарплатой и тем, что человек получает на руки. Это для компаний, которые в ПВТ не состоят.

Я к чему всё веду — сейчас может сойти на нет тенденция, которая была раньше, когда рынок только формировался. Тогда повышение часто оказывалось одной из немногих причин, почему люди меняли работу. Теперь ресурса для повышения зарплат уже практически не осталось даже у компаний из ПВТ. Это при том, что у белорусов, если брать зарплату в формате gross, а не net, она и так очень большая. Но для проекта-то расходы исчисляются в том, что мы начислили, а не в том, что получил человек.

Соответственно, играть этой материальной разницей не может ни рекрутер, ни руководитель проекта. А кандидаты по прежнему по инерции продолжают хотеть повышения. «Вот я переходил, мне дали +300 долларов, потом опять +300, значит, и сейчас давайте ещё — продолжим хорошую традицию» — Всё, дальше некуда. Дальше ему придется переходить, уже рассматривая какие-то другие условия. И компании начинают играть не на зарплатах.

Этот процесс уже достаточно давно наметился, потому что умные люди давно поняли, что путь бесконечного повышения зарплаты не только неэффективен, но и ведет тупик. Сколько ты сможешь накидывать и накидывать и накидывать? То есть строится определенная корпоративная структура — всякие футболы, кухни, массажные кресла, поездки и так далее. Хотя этим уже, наверное, никого не удивишь.

Многие компании еще 3-4года назад начали переходить на режим воспитания будущих сотрудников. Сейчас они организовывают учебные центры, которые сотрудничают с ВУЗами, чтоб человек сразу попал в нужное место и оттуда уже не вышел. Есть подвижки к более цивилизованному рынку, хотя, в принципе, рынок IT и так на фоне остального рынка труда в Беларуси — гиперцивилизованный. Так что, думаю, переходы по материальным соображениям скоро сойдут на нет. Потому что нечего будет предлагать.

Ты сейчас получаешь второе высшее, техническое. Ты хочешь стать программистом?

— На самом деле я поступала на инженерно-психологическое обеспечение информационных технологий. Гуманитарное у меня есть, и его не хватает. Иногда возникает ощущение, что надо было и физику в школе получше учить.

Я сдала какие-то жуткие экзамены — до сих пор не знаю, как мне это удалось. И 1-госентября мне звонят из института и говорят: «Вы знаете, на вашу специализацию было подано очень мало заявлений, посему мы переложили ваши документы на родственную специализацию, практически то же самое» (больше, видимо, чокнутых в стране не нашлось).

Специальность отличалась только на одну букву. Моя называлась ИПОИТ, а меня перевели на ПОИТ — программное обеспечение информационных технологий. Я говорю им — «Вы что, с ума сошли?». Я в принципе себе такого не представляла. Хотя я знаю, что у многих людей, которые работают на административных должностях в ИТ — у них есть такая голубая мечта — прибиться к «белой касте». Но у меня такого не было, я рассматривала это обучение как определенный этап в карьере HR. И тут — такой поворот сюжета.

И вот мне звонят первого сентября — и я понимаю, что уже никуда не могу подать документы, потому что везде набор уже закончен. Что ж, наверное, это судьба. Давайте попробуем, раз так вышло. Меня сразу начали грузить хардовыми предметами, к которым я не готовилась. Я думала, там будет высшая математика «lite», а там сразу началось и программирование, и так далее. При том, что я работаю на фултайме, у меня семья, есть двое детей. Многие мои однокурсники успешно завалили первую сессию. Но мне удалось её сдать с оценками выше медианы. Так что, думаю, прорвемся :-)

11 апреля, Киев — Конференция по проектному менеджменту и управлению командами - PM Lab

$
0
0

11 апреля в Одессе в рамках проекта GeeksLabсостоится конференция по проектному менеджменту и управлению командами Project Management Lab.
Конференция пройдет в два потока (Begginer и Advanced), соберет около 150-200специалистов со всей Украины, со своими докладами выступят 14 спикеров-практиков.

Свое участие подтвердили:

— Алена Прихнич (Senior Scrum Master, E5)
“Изменение Scope спринта посередине разработки”
Мы поделимся нашим опытом и постараемся ответить на вопрос: почему заказчик меняет спринт Scope посередине спринта,как убедить заказчика не делать это,как научить команду не поддаваться на угрозы и мольбы заказчика, что делать самому, чтобы избежать подобных ситуаций?

— Виктор Богомолов (директор игровой студии Appturn)
“Практический пример применения Scrum и Kanban на одном проекте”
Scrum и Kanban — безусловно одни из самых популярных гибких методологий на текущий момент. Как выбрать подходящую для вашего проекта гибкую методологию? Стоит ли ей следовать на протяжении всего проекта? Можно ли менять методологии на ходу? Когда нужно переходить со Scrum на Kanban и наоборот? Как правильно это делать?

— Дмитрий Миндра (SDET в Unity Technologies, Ciklum)
“Про взлеты, падения и публичные выступления”
Ораторами не рождаются, ими становятся. За 4 года публичных выступлений я меня были и взлеты и падения. Были очень успешные выступления, были провалы. В этом докладе я поделюсь своим опытом и наблюдениями, расскажу о некоторых хитростях и дам практические рекомендации.

— Павел Антоненко (PM в Looksery)
“Эффективные коммуникация на больших проектах”
В современном IT все маштабные проекты зачастую являются длительными, комплексными и распределенными, именно по этому эффективность коммуникаций имеет огромную важность. В докладе рассказываются и описывается best practices, как сделать коммуникации эффективными и быстрыми.

— Татьяна Денисова (Operations Manager в Divio AG)
“Какие требования к ПМу сейчас на ІТ рынке труда”
Поговорим о разных типах IT компаний Украины со стороны их подхода к требованиям при найме ПМ. О том, какой опыт требуется и что ожидает услышать работодатель при собеседовании.

— Виктор Кириченко (Project Manager, Prom.ua) и Руслан Мамедов (Product Manager, Prom.ua)
“Через ретроспективы к звездам. Или путь непрерывного совершенствования”
В этой презентации мы постараемся показать вам пользу ретроспектив для всех участников проекта, и как они помогают достичь нужных результатов. А тем, кто уже знает и использует эту практику, предложим расширить области ее применения.

— Виктория Верведа (PM в Intersog)
“Работа с требованиями — анализ кейса”
Расскажу про кейс, где мы с клиентом разбирали требования и я брала на себя работу как Product Owner для быстрой коммуникации, вкладывания в сроки и освобождение занятого клиента с оверхеда от детализации требований с командой. Как итог — проект был сдан в срок с заявленным списком функционала.

— Тимофей Евграшин (Консультант по управлению проектами The Improved Methods
“Культура лидерства в ИТ”
Парадигма менеджмента безнадежно устарела. В особенности ИТ-отрасль требует иной культуры взаимодействия, а культура — набор привычек. Роль менеджера и лидера претерпевает существенные изменения. Мы поговорим о нескольких простых инструментах взаимодействия с командой, направленных на повышение эффективности работников интеллектуального труда.

— Вадим Розов (PM в Noosphere Nest)
“Проектный менеджмент в условиях постоянно меняющихся требований”
Делаем MVP, а потом все перепишем! Как часто вы такое слышали? Как часто потом переписывали? В современном мире скорость создание продута может быть одним из решающих факторов успеха. Зачастую необходимость проверить бизнес идею важнее формирования полного тех задания на этапе планирования. Как построить процесс в такой ситуации и все же сдать продукт? Я расскажу о своем опыте на примере реального проекта.

— Артем Быковец (ScrumMaster, IT Coach Betlab and StartIT)
“Смотрите по сторонам собираясь ‘переходить дорогу’ или чем чревато игнорирование Bus Factor”
Риски низкого показателя Bus Factor известны большинству менеджеров, но практика показывает, что их частенько игнорируют или борьбу с ними откладывают “на завтра”, так как у нас и так очень много срочных задач, и нет времени заниматься распределением опыта между “незаменимыми” работниками и новичками. Вместе сравним и проанализируем, какой подход был бы рациональнее на выходе — с учетом Bus Factor и своевременными коррективами в процессе управления командой и потоком знаний/задач или тот, который был использован в описанных примерах.

Стоимость участия:

Для читателей DOU.UAскидка 15%, промокод: DOU
18.03 — 04.04 — 800 грн.
05.04 — 11.04 — 1000 грн.

Подробности и регистрация на сайте конференции: geekslab.co

2 апреля, Киев — SMART TALKS: Technology Academy Learn Know Share

$
0
0

Сколько нас? Сотни? Тысячи?

Что мы делаем? Держим базу на плечах на стороне клиента? Исследуем новейшую версию в разработке продукта?

Зачем? Любим Dynamics? Просто работа такая?

Мы разные? Мы одинаковые?

Приглашаем всех, кто связан с разработкой в Dynamics, стать частью сообщества энтузиастов, готовых учиться и делиться. Мы будем еженедельно организовывать встречи, подбирать интересные темы и не давать зациклиться на одном проекте Смайлик «smile».

Ближайшие встречи SMART TALKS:

2 апреля 2015: Dynamics NAV
1) Теория и практика нового подхода к слиянию ежемесячных хотфиксов — RapidStart Upgrade
2) Обзор новой функциональности создания верстки отчетов в Word в NAV 2015
Спикер: Сергей Олефиренко

9 апреля 2015: Dynamic AX
1) Change Tracking в AX с версии 2012R3.
2) Патерн фабрика в AX и варианты ее использования.

16 апреля 2015: .NET, C#
1) Использование Resharper 9.0
2) TBD

23 апреля 2015: Dynamics CRM
1) TBD

Будь частью комьюнити! Давайте получим fun от общения друг с другом, ведь успешным людям нравится делиться опытом!

Первая встреча по теме SMART Dynamics NAV TALKS состоится 2 апреля в 18:30.

Регистрация

Facebook

smart-it.com

Дайджест цікавих вакансій № 179

$
0
0

Львівська компанія TechMagicшукає Junior / trainee розробника, готового стати Node.js гуру.

Сервіс LookSMI, який займається моніторингом ЗМІ України, шукає молодшого системного адміністратора. Зарплата 6000 грн.

Компанії Joobleпотрібен тестувальник контенту, який полюбляє знаходити помилки і нестиковки.

Мережа ресторанів «Пузата Хата» запрошує на роботу керівника IT-відділу.

VoxUkraineта Київська школа економіки шукають менеджера проектів. Конкурентна зарплата. Зручно розташований офіс в історичному будинку і відмінна кава.

ВВС Українашукає перекладачаз англійської на українську мову з вищою гуманітарною освітою.

Громадське телебаченняшукає SMM-менеджераз вищою освітою.

Асоціація інвалідів-спинальників Українизапрошує на роботу викладача комп’ютерних курсів.

Міністерство інформаційної політикиУкраїни оголошує конкурс на заміщення вакантних посад (DOCX):
— начальникі головний спеціаліствідділу захисту інформаційного простору;
— начальникі головний спеціаліствідділу моніторингу
— завідувачі головний спеціалістсектору медійних комунікацій.


Слідкуйте за QA вакансіями в twitter за допомогою @qa_vacancies.


Більше вакансій шукайте на jobs.dou.ua.
← Попереднійвипуск дайджесту.

Якщо зустрінете цікаву вакансію, яку варто додати в наступний дайджест — надсилайте її на editors@dou.ua.

Кодекс рекрутера

$
0
0

Рекрутинг вже давно став невід’ємною частиною ІТ галузі. Як би не намагалися принизити роль рекрутерів на ринку праці (мовляв, і без них можна обійтися — хай компанії запостять вакансію у себе на сайті, і кандидати самі набіжать), але без умілого пошуку кадрів страждали б і роботодавці, і, власне, ІТ спеціалісти.

Слід визнати, що без «набридливих кадровиків» багато хто так і сидів би на одному проекті просто тому, що немає часу вийти на ринок праці й подивитися, що там пропонують. Адже звичайна співбесіда може допомогти спеціалісту поглянути на свій досвід під новим кутом і зрозуміти свій рівень та напрямки розвитку. Це не означає, що варто ходити на співбесіди щотижня або за першої нагоди: кожен сам виставляє собі фільтр на такі пропозиції і визначає строки, коли варто озирнутися довкола і протестувати себе. Втім, ця стаття все ж про рекрутинг і про те, як заробити і зберегти репутацію більш-менш професійного кадровика.

Тут варто визначити різницю між власне рекрутером і HR менеджером. Основна задача рекрутера — це пошук, відбір та співбесіда з кандидатом, тобто все, що стосується залучення потрібного спеціаліста в компанію. А HR менеджер займається, так би мовити, «внутрішньою кухнею» і працює уже з тими людьми, яких привів у компанію рекрутер. Доволі часто ці посади суміщаються (бюджет же не гумовий, ага?), але тоді в більшості випадків страждає або пошук кандидатів, або організація кадрів всередині підприємства. Вся справа в тому, що в одній людині рідко вживаються і тяга до пошуку чогось нового, і бажання сталості й організованості. Я належу до першої категорії, хоча в моїй кар’єрі була й друга, тому цей висновок з’явився не на порожньому місці.

Головний постулат

Коли я тільки починав кар’єру в сфері пошуку та підбору персоналу, перше, що дійсно врізалося мені в пам’ять — це слова мого тім ліда Колі Грибова (Коля, привіт!), який вже давно і успішно перейшов у розробники: «Завжди пам’ятай що ти працюєш з людьми». Не з резюме, не з профілями в LinkedIn, а з живими людьми. Зі своїми проблемами і поглядами на життя.

Для рекрутера не повинно бути жодної різниці у ставленні до сеньора чи джуніора, архітектора чи інтерна. На першому плані завжди має бути особистість, а вже потім її професійні якості. Професійні якості постійно змінюються, і той розробник чи тестувальник, що не підійшов вам сьогодні, буде як влитий виглядати на іншому проекті за якийсь місяць.

Перший контакт

Я завжди надаю перевагу коротенькому запиту в Skype, де представляюсь і подаю назву вакансії, яку я пропоную. Якщо рекрутер не знає, як шукати кандидата в Skype, йому є куди рости. :)

Якщо пошук в Skype не дав результату, перший контакт переноситься в професійні і соціальні мережі. На мій погляд, він все одно має бути коротеньким: зацікавлений кандидат відповість у будь-якому випадку, а незацікавлений проігнорує чи пробурчить про «многабукафф». :)

Це правило не розповсюджується на тих кандидатів, які у своїх профілях прохають рекрутерів надавати повний опис проекту.

Але найголовніше, що має бути присутнім як у першому контакті, так і в подальшому спілкуванні — це ввічливість. Завжди треба пам’ятати, що своїм «месседжем» рекрутер вторгається в приватний простір кандидата. Саме тому я і віддаю перевагу «тихому контакту» через Skype чи інтернет-мережі, а не дзвінку по телефону, як це практикується в американському рекрутингу.

Знання предмету

Можливо, я розчарую товариство розробників, але потрібно визнати, що рекрутеру не обов’язково знати всі глибини глибин програмування, щоб бути успішним. Але і невігласом в тій царині, для якої ти шукаєш кадри, бути неприпустимо.

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

Але оцінити, чи підходить кандидат на проект, зможуть тільки учасники цього проекту. Часто буває так, що резюме тягне мінімум на докторську ступінь, і знань у кандидата більше, ніж потрібно, — а співбесіда провалюється. Або навпаки — резюме підходить під вимоги проекту відсотків на 50, а співбесіда показує, що кандидат миттєво віллється в проект і в колектив.

Push!

Ні в якому разі не можна тиснути на кандидата. Це не означає, що рекрутер має виходити з розмови при першому «ні» в діалозі з ним. Тут треба відчувати, в якому напрямі йде переписка. Якщо бачите, що кандидат не налаштований на бесіду і стверджує, що наразі не зацікавлений у зміні місця роботи, краще ввічливо запитати, коли можна до нього завітати в майбутньому (думаю, зараз мої знайомі розробники посміхнуться, бо ця фраза звучить у кожній моїй переписці з ними). І якщо ви почули чітку цифру строку, то її треба дотримуватися, а не писати людині щомісяця.

З цього правила можуть бути виключення (коли ви, наприклад, дізналися, що цей кандидат таки надумав піти від нинішнього роботодавця, а вам ще не написав). Але виключення на те і виключення, щоб траплятися досить рідко.

Мотивація

Рекрутер, якщо він дійсно рекрутер, а не «рекрутьОр», не може втомитися від самого процесу рекрутингу. Буває, настає виснаження після великих об’ємів пошуку і запаморочливої кількості співбесід, але це все — наслідки інтенсивності виконуваної роботи. Адже не можна втомитися від солодкого почуття незвіданості, що чекає тебе за порогом нової вакансії. В ці миті розумієш, що от зараз тобі випаде честь змінити чиюсь долю. Свою ж долю рекрутер міняє постійно — з кожним новим кандидатом.

Ще хотів би звернутися до своїх колег-кадровиків. Я ще розумію, коли розробники можуть наплутати і не там поставити наголос в назві нашої професії, але коли самі рекрутери називають себе «рекрутьОри», то в мене немає слів. Поважайте себе і свою професію. І тоді вас будуть поважати інші.

Терпіння

Найголовніше, що має в собі виховати рекрутер — це здоровий пофігізм до відмов при контакті та неприйнятих оферів. Треба розуміти, що вони будуть, і їх буде багато — набагато більше, ніж прийнятих. Але задумуватися над цим категорично не варто. І от ця упевненість, що тобі неможливо відмовити, обов’язково зіграє на вашу користь.

Рекрутер має звикнути грати «в довгу»: багато з тих кандидатів, які зараз з певних причин відмовилися від вашої пропозиції, будуть готові повернутися до розмови через деякий час. Тим більш ви вже виставили строки, коли і кого контактувати, щоб запропонувати щось нове або просто дізнатися, як йдуть справи на теперішньому проекті кандидата.

Тим, хто тільки робить перші кроки в рекрутингу слід пам’ятати, що реальні результати будуть далеко не відразу. Але обов’язково будуть.


P.S. Також хочу додати, що рекрутер завжди має бути позитивним. Навіть, якщо у вас кепські справи, а на душі темна ніч, ви все одно маєте бути життєрадісним. Якщо це не вдається, то краще візьміть вихідний на день-два, щоб розібратися зі своїми проблемами. Адже можна за день два наламати таких дров, що будете потім довго і болісно все переживати і відновлювати. З іншого боку, якщо ви не можете втримати емоції в собі під час переписки або співбесіди з кандидатом, то, можливо, треба задуматися над зміною професії. Бо рекрутер — це така роль, яка сама по собі розганяє похмурі хмари настрою і приносить життєдайний позитив.

1 апреля, Киев — Курс «IT-рекрутинг»

$
0
0

Длительность: 12 занятий.
График: среда (19:30–21:30),суббота (10:30— 15:00).

Кому будет полезен курс «IT-рекрутинг» (подбор и управление персоналом в IT-сфере).
— Начинающим IT-рекрутерам, которые хотят «прокачать» уровень знаний.
— Рекрутерам/менеджерам по персоналу не IT-компаний, которым необходимо эффективно закрывать IT-вакансии.
— Молодым специалистам, которые хотят освоить профессию IT-рекрутера.
— Тем, кто любит общаться с людьми.
— Тем, кто хочет поменять профессию и хорошо зарабатывать.

Темы занятий:
— IT-рекрутинг. Компании. Технологии. Люди.
— 1 правильное резюме — 1 звонок — 1 placement.
— Освоение практического инструментария для эффективного поиска IT-специалистов.
— «Охота за головами».
— Переписка с кандидатами. (Встречают по «мылу» провожают по Уму).
— Нет ничего эффективнее, чем простое собеседование.
— Искусное взаимодействие с людьми.
— Выйти замуж за программиста не понимая, что такое рефакторинг или же введение в техническую специфику. :)
— Рекрутер — самая впечатляющая профессия.

Зарегистрироваться на курс

С наилучшими пожеланиями, IT Labs

31 марта, Киев — Курс "Менеджмент в ІТ"

$
0
0

Длительность: 10 занятий
График: вторник/четверг (с 19:00 до 21:00)

Первое занятие мы проводим бесплатно. На нем Вы сможете ближе познакомиться с преподавателем, тренинговым центром, технологиями изложения материала, задать все интересующие вопросы!

О курсе:
Особенностью курса является то, что мы не будем рассматривать на нем традиционные подходы и инструменты менеджмента в IT, о которых много пишут и говорят сейчас. Цель курса — научить слушателей стать менеджерами своей карьеры. Вы будете учиться создавать команду своей мечты, где плодотворно и комфортно работается и опытным Senior и начинающим Junior инженерам.
Этот курс разработан на основе собственного опыта нашего преподавателя — успешного менеджера, который поделится с вами своими, проверенными в деле подходами и инструментами, приносящими потрясающие результаты в процессе управления командами и взаимодействии с заказчиками.

Темы, которые будут рассмотрены:
— Лидер — это позиция или набор качеств?
— Иерархия в компаниях и глубокий смысл этого.
— Типичные шаблоны поведения людей.
— Деловая переписка.
— Настройка процессов, оценка результатов.
— Бизнес коммуникации, разрешение конфликтов.
— Грамотное мотивирование команды.
— Как правильно проводить митинги и получать пользу от них.
— Ораторское искусство и техники переговоров.
— Как отбирать «правильных» кандидатов на собеседовании.
— Что нужно для того, чтобы вырасти в текущей компании и укрепиться.
— Управлять энергией команды, а не временем.

Особенности курса:
— Психологический подход, способствующий развитию и совершенствованию лидерских качеств.
— Курс наполнен практическими упражнениями, которые в игровой форме эмитируют ситуации на работе.
— Индивидуальное занятие с каждым слушателем и проработку конкретно Вашей ситуации, планирование стратегии дальнейших действий и шагов развития.

Кому будет полезен данный курс:
— Инженерам, которые стремятся управлять командой, настраивать процессы и хотят узнать, что для этого нужно и какие шаги достаточно сделать, чтобы в самое ближайшее время перейти в ранг лидов и менеджеров.
— Начинающим менеджерам и лидам, которые смотрят в сторону развития и совершенствования, хотят систематизировать свои знания и применить новые успешные подходы.
— Всем тем, кто хочет развить в себе качества, необходимые для успешной и стремительной карьеры.

Зарегистрироватьсяна первое занятие.


31 марта, Киев — Курс "Automation for beginners: Selenium+Ruby"

$
0
0

Длительность: 10 занятий.
График: понедельник / четверг (с 19:00 до 21:00).

Приглашаем на курс по автоматизации тестирования с использованием Selenium+Ruby.

Для кого этот курс?
Этот курс посвящён автоматизации веб-приложений с помощью Ruby: здесь вы познакомитесь не только с автоматизацией, но и с прекрасным простым языком программирования. Курс предназначается для тех, кто хочет расти профессионально и развиваться в сфере автоматизации.

Автоматизация тестирования веб-приложений на Ruby настолько проста, что в пределах этого курса мы успеем освоить много особенностей и нюансов самого языка. Это позволит вам не только писать тесты, но делать это хорошо и грамотно. Язык позволяет легко масштабировать и изменять ваш проект (тестовый фреймворк).
Вы освоите все самое необходимое и даже немного больше, чтобы овладеть умением создавать надёжный, правильно организованный фреймворк для тестирования веб-приложений, который будет отвечать всем требованиям и принципам ООП.

По мере прохождения курса вы познакомитесь с «магией» творческого подхода к созданию тестов на Ruby. От занятия к занятию ваши тесты будут расти, усложняться, переписываться, наращиваться, затем снова меняться... Цель этого: привить вам навыки тестировщика, который не боится что-то переделывать, менять, экспериментировать. Это понадобиться вам для того, чтобы созданный вами фреймворк мог всегда соответствовать требованиям проекта. Язык Ruby позволяет достигать всего этого легко и быстро.

Регистрация

С наилучшими пожеланиями, IT Labs

11 — 26 апреля, Киев — Подготовка к сдаче экзамена ISTQB Foundation level c гарантией результата

$
0
0

Приглашаем пройти подготовительный курс к сдаче экзамена ISTQВ Foundation Level с гарантией успеха!

Если у Вас есть опыт в тестировании и знание английского языка, Вы обязаны сдать экзамен ISTQB и получить свой заслуженный диплом международного уровня, а команда SkillUp, в свою очередь, сделает все для успешной подготовки.

Наш тренер-профессионал откроет много практик тестирования, расскажет все нюансы экзамена, предоставит нужные материалы — полностью подготовит Вас к тестированию! С финансовой гарантией результата!

ISTQB-сертификация в сфере разработки ПОпредоставляет специалистам и компаниям уникальные преимущества, а именно:
— Практичность.
— Общемировая известность бренда. На данный момент сертификация ISTQB является наиболее известной сертификацией по тестированию и обеспечению качества в мире
— Преимущества перед другими соискателями при приеме на работу
— Дополнительный аргумент в пользу карьерного роста и большей З/П
— Документальное подтверждение своих знаний признаваемым во всем мире сертификатом

Не упустите свой шанс! Набор в группу на апрель уже начался! Приходите с друзьями и получайте скидку!

Подробную информацию Вы можете найти на сайте: skillup.com.ua.

Для записи на курс звоните по телефону: +38(066) 733 −73 −56 — Ольга

Ждем Вас!

9 апреля, Киев — Курсы "Автоматизированное тестирование" и "Базовая подготовка тестировщиков"

$
0
0

Друзья! Не все желающие смогли записаться в мартовские группы базового и автоматизированного тестирования, так как количество мест в аудиториях ограничено. Именно поэтому, было принято решение стартовать параллельно еще две группы, одну по автотестам, вторую по базовой подготовке. Сейчас лучшая инвестиция — инвестиция в себя, свое развитие! Тем более, что пройти обучение вы можете по зафиксированному курсу — 1$ = 15,0 грн. и, уже через пару-тройку месяцев, устроится на работу с зарплатой в долларах!)
На данный момент желающих по 3-4человека в каждую из групп. Если у вас или ваших знакомых есть желание начать обучение, пожалуйста, отправляйте нам заявку через сайт.

Организатор: QA Factoy

Немного о курсе «Автоматизированное тестирование. Selenium WebDriver.»:

— Стартует, предварительно, 9 апреля 2015 г.
— Длительность 7 недель (30 часов, по 2 часа 2 раза в неделю — четверг, пятница с 19:00 до 21:00). — Стоимость курса 6000 грн за весь курс. Оплата возможна частями.
— Занятия проходят в группах до 15 человек, в комфортных залах, оборудованных компьютерами, проектором и доступом в Интернет в аудиториях НТУУ КПИ.

На данном курсе вы узнаете, что такое автоматизация тестирования, как ее применяют в современных методах ведения проектов и поработаете с автоматизацией реальных веб приложений, используя Selenium WebDriver. А также, приобретете навыки в программировании, необходимые для написания автоматических тестов.

Требования к ученикам: Опыт мануального тестирования реальных проектов. Минимальное представление о том, что такое программирование. Желание развиваться и делать свою работу более эффективно.

Программа курса
Философия тестирования и ведение проекта разработки
— о тренере;
— тестирование: определение, назначение, виды, основные понятия, примеры из реальной жизни;
— автоматизация тестирования: зачем проекту, зачем менеджеру проекта, что можно и что нужно автоматизировать, как извлекать пользу из автоматизации;
— процессы на проекте: пирамида автоматизации тестирования в Agile и место автоматизации в Agile, взаимодействие с разработчиками, Continuous Integration, Definition of Done.

Основы программирования (на примере Java) и его культуры
— переменные;
— типы данных и преобразования;
— ветвления и циклы;
— простые структуры данных;
— лёгкое введение в ООП;
— системы контроля версий;
— правила написания поддерживаемого кода: code conventions, comments, readability, code reuse;
— базовые техники разработки: debugging, refactoring.

Создание пакета тестов при помощи WebDriver
— настройка окружения, set up и tear down;
— компоненты задействованной системы (взаимодействие клиента, сервера, браузера и WebDriver);
— структура страницы и селекторы;
— написание тестов (основная часть курса);
— консольный запуск тестов;
— отчёты о прогоне тестов.

Финальный тест

Немного о курсе «Базовая подготовка инженеров по тестированию ПО»:

— Старт, предварительно, 9 апреля 2015 г.
— Длительность 10 недель (40 часов, по 2 часа, 2 раза в неделю, четверг, пятница, с 19:00 до 21:00).
— Стоимость курса 6000 грн. Возможна оплата частями.
— Подробнее о программе курса смотрите на сайте qafactory.kiev.ua.

Занятия проходят в группах до 15 человек. Вы получите теоретические знания, для прохождения собеседования и практические навыкиработы на реальных проектах, которые сможете указать в резюме как опыт работыв сфере QA. На нескольких последних занятиях вы вместе с тренером оттачиваете свое резюме на английском языке, доводя его до состояния, которое хочет видеть работодатель. Будет занятие с HR менеджером реальной IT компании, которая посвятит в специфику собеседований.

Для предварительной регистрации на курс и резерва места в группе необходимо внести предоплату в размере 300 грн через сайт qafactory.kiev.ua.
Пожалуйста, прежде чем вносить предоплату, позвоните или напишите и уточните наличие мест в группе.

Если возникнут вопросы, пишите, звоните:

— E-mail: info@qafactory.com.ua
— Тел.: (093) 15-55-242
— Тел.: (097) 55-35-232
— Тел.: (095) 68-02-185

Android дайджест #4: Android Auto, блеск и нищета ViewPager, скорость отклика приложения

$
0
0

Новости и аналитика

Android 5.1: скорость, безопасность и новшества

Приложения для Android Auto: принцип работы, публикация на Google Play Store, поддерживаемые устройства и SDK.

The Billion Dollar Startup Club. Обратите внимание на количество mobile first и must have mobile приложений.

И более сдержанный взгляд на этот вопрос от Mark Cuban: ’Uber, Twitter, Facebook’ driving a new tech bubble.

Изменение в политике Google Play Store: ручная проверка приложений и новая система возрастного рейтингирования.

Project Ara: everything you need to know.

Meet Cyanogen, The Startup That Wants To Steal Android From Google. Большая разговорная статья в американском Forbes.

Мероприятия

Android Community Meet-Up: встреча сообщества киевских Android-разработчиков. В эту субботу, 28 марта.

Онлайн-курс на Coursera Programming Mobile Applications for Android Handheld Systems: Part 1. Первая неделя занятий началась 25 марта.

Google и e-Legion открывают бесплатные онлайн-курсыпо созданию приложений на Android. Старт 30 марта.

Блеск и нищета ViewPager

Из документации: «Note this class is currently under early design and development. The API will likely change in later updates of the compatibility library, requiring changes to the source code of apps when they are compiled against the newer version». В таком состоянии он уже не первый год.

Презентация CommonsWare: A Deep Dive Into ViewPager.

Детальный тьюториал на CodePath: ViewPager with FragmentPagerAdapter.

Дискуссия на SO: Difference between FragmentPagerAdapter and FragmentStatePagerAdapter.

ViewPager and Hardware acceleration. Плавность перемещения между страницами — серьёзная проблема.

Using ViewPager for Screen Slides.

UI/дизайн

Material Design: на Луну и обратно. Весьма ёмко описано всё то, что нужно знать о Material Design программисту.

Tips and tricks for Android Material support library: часть 1, часть 2.

Эра фаблетов: Проектирование для крупных экранов.

Пишем эффективный blur на Android.

Как измерить скорость отклика вашего приложения

Использовать инструменты New Relic — работает out of the box, удобное представление по каждому вызываемому методу.

Google Analytics — понадобится ручная настройка.

Meter — micro-benchmarking инструмент для Android (и Java), тоже нужно добавлять код.

Hugo — дело рук Jake Wharton, логирует входящие/исходящие данные и время работы каждого метода, помеченного специальной аннотацией.

Полезности

Android библиотеки и ресурсыпо версии популярного на DOU сайта Getawesomeness.com.

Библиотеки для просмотра базы данныхи shared preferencesразрабатываемого приложения.

Top Ten Memory Management and Tuning Tipsот CommonsGuy.

Группа Android Performance Patternsна Google Plus.

Простой рецепт: установка и запуск Android-приложений на Linux.

Недавно Google обновил пример приложения, которое правильно работает с форм-факторами смартфона, планшета, Auto, Wear и Cast


Спасибо за ссылки Andrey Derkach.

Какие темы/материалы стоит добавить в дайджест — пишите в комментариях или мне в линкедин/фейсбук/G+.

Хороших выходных!

← Предыдущий выпуск: Android дайджест #3

Дайджест: визы для работы в США, рецепты успешных выступлений, если бы паттерны были программистами

$
0
0

Новости

Howto

Интервью

Для поднятия настроения

Если бы паттерны были программистами.

Если бы украинские операторы мобильной связи были ЖЭКами.

9 truths that computer programmers know that most people don’t (+перевод на русский).

resume.c





Hacker News, Builder’s Edition:


Entering the BIOS

Viewing all 8151 articles
Browse latest View live