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

24 апреля, Львов — Бесплатный семинар “Старт IT карьеры с JavaScript”

$
0
0

В конце апреля во Львове пройдет бесплатный семинар «Старт IT карьеры с JavaScript».

Приходите на семинар в своем городе! Харьковский ивент (28 апреля).

На семинаре мы расскажем:
— Почему стоит работать именно в Web development.
— JavaScript: от второго языка веб-программиста к первому.
— Не вебом единым: где еще применяют JavaScript.
— Как не надо учить JavaScript.
— Рекомендованные книги и источники.
— Какие компании работают на JavaScript.
— Про курсы JSBursa.

Среди зарегистрированных участников семинара будут разыграны стипендии на курсы JavaScript.

P.S. — JavaScript является одним из самых востребованных языков программирования.

Регистрируйтесь здесь


24 апреля, Киев — Курс “Java for beginners”

$
0
0

Приглашаем на курс «Java for beginners».

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

Весь курс состоит из 18 занятий по 3 часа (с 19:00 до 22:00), 3 раза в неделю (понедельник/среда/пятница)

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

Для удобства изучения курс разбит на две части:
— Java for Beginners
— Java Advanced

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

Данный курс полностью посвящен изучению основ языка Java (Core). Ориентирован в первую очередь на новичков, не имеющих ранее опыта в Java или в программировании в целом. На протяжении курса будут рассмотрены фундаментальные понятия ООП и их реализация в Java. Достаточное количество времени отводится на практические задания, которые будут выполняться как дома, так и непосредственно на занятиях.

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

Записаться на первое бесплатное занятие

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

Елена Денисенко — о карьере программиста и должности Team Lead в 19 лет

$
0
0

О карьере

Лена, как вы пришли в ИТ?

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

По моей просьбе мне купили книгу по C#, объемом более 1000 страниц. Тогда я впервые столкнулась с трудностью понимания и изучения. Пришлось сильно потрудиться, проявить терпение, настойчивость. Как награда — через год я могла программировать достаточно сложные Web-приложения, в том числе знала SQL и front-end. Тогда я осознала, что способности не гарантируют успех, а самое важное — постоянно работать над собой. После этого мне и открылись двери в сферу IТ.

Во сколько лет начали работать?

— Мой неофициальный опыт коммерческого программирования начался в 10-летнемвозрасте — разрабатывала сайты, отдельные компоненты, как back-end на С#, так и front-end. Заказчиками были мелкие фирмы и предприниматели.

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

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

Как развивалась ваша ИТ-карьера?

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

Потом мне рассказали, что компании более охотно приглашают на собеседование кандидатов с профессиональной сертификацией. Я считаю, что сертификаты не в полной мере свидетельствуют о профессиональной подготовки специалиста, но для увеличения своих шансов на лучшее место работы в 16 лет я получила квалификацию Microsoft Certified Professional. В дальнейшем мне это очень помогло получить достойную работу. Мой совет молодым программистам — обязательно получать профессиональные сертификаты. Они способствуют позитивному восприятию работодателями.

В аутсорсинге я впервые начала работать в IBA Group в должности Software Engineer. Благодаря этой компании изучила стек Java технологий. Потом получила должность Senior Software Engineer в компании EPAM, работала с .NET, С#. Мне повезло с Team Lead-ом, я многому у него научилась.

Качественный скачок в профессиональном росте произошел, когда я работала одновременно в двух зарубежных небольших компаниях на связанных проектах в качестве Software Architect. Там получила опыт создания с нуля мощных алгоритмических конструкций, распределенных параллельных вычислений в облачных средах, Big Data, NoSQL.

Как вам удалось стать Team Lead в 19 лет?

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

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

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

В то же время всегда находятся люди, утверждающие, что настоящим Senior разработчиком можно стать только после 30 лет, и так далее. Хочу сказать, в большинстве случаев они правы, но есть исключения, и не только я. Таких молодых людей достаточно много, а если бы система IТ-образования базировалась на современных методиках, было бы еще больше.

Каким видите свое дальнейшее профессиональное развитие?

— Мне ближе развитие в техническом направлении, поэтому в ближайшее время собираюсь сосредоточиться на работе в качестве Software Architect в областях Big Data, Data Analisys, Functional Programming, Cloud Computing.

О науке

Где вы учились? Приходилось ли совмещать учебу с работой?

— Поступила в Гомельский государственный университет в Беларуси в 15 лет. Училась заочно по специальности «Программное обеспечение информационных технологий», по которой досрочно прошла полную программу обучения. В традиционном понимании студентов не совмещала работу и учебу, приходилось только два раза в год приезжать на сессию для сдачи экзаменов и зачетов.

По учебе проблем никогда не было, так как при изучении учебных предметов я не ограничивалась программой обучения университета. Всегда изучала дополнительные материалы, в частности курсы MIT и другие. В университете участвовала в научных конференциях, писала статьи. Пользуясь случаем, хочу поблагодарить руководство Гомельского государственного университета — ректора А. В. Рогачева , первого проректора С. А. Хахомова, декана математического факультета С. П. Жогаля, заведующих профильных кафедр и всех моих преподавателей за их помощь и поддержку.

Научные интересы развиваете?

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

Недавно я получила приглашение стать кандидатом на избрание в качестве члена Совета попечителей организации «F# Software Foundation» (FSSF), что стало приятной неожиданностью. Эта организация представляет собой сообщество признанных экспертов, которые определяют будущее развитие языка F#. Результат голосования будет известен в конце апреля — начале мая.

«Способности не гарантируют успех, а самое важное — постоянно работать над собой»

О работе

Как ладите с подчиненными, которые вдвое старше вас? Воспринимают ли они вас как начальницу? Возникают ли сложности?

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

Меня скорее воспринимают как функционального менеджера, помогающего в достижении продуктивного результата каждому программисту и компании в целом, а не начальника в общепринятом понимании. К счастью, я никогда не испытывала сложностей в управлении командой.

А как реагируют заказчики компании? Доверяют вам как специалисту?

— Будет нескромно судить о собственной работе. Единственное, что могу отметить — претензий и жалоб со стороны Заказчиков еще никогда не поступало.

Были ли какие-то интересные случаи, связанные с вашим юным возрастом на высокой должности?

— Лично со мной не происходило ничего необычного. Но я могу рассказать интересный случай, произошедший с моей сестрой Натальей. Ей 16 лет, и она тоже работает в компании Luxoft в должности Software Engineer. В первый рабочий день она пришла в офис и попыталась пройти на свое рабочее место через пост охраны. Там ее остановил сотрудник службы охраны, спросил, куда она идет и какова её цель визита. Наташа ответила, что она здесь работает. Однако в ответ он посмеялся и долго её не пропускал. В итоге всё-таки пропустили :)

Как вы думаете, почему в IТ мало девушек?

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

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

В Западной Европе и Северной Америке ситуации иная, и там количество женщин в IТ постоянно растет. Я думаю, что и в Украине, и в Беларуси ситуация вскоре начнет меняться.

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

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

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

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

Какие навыки важны, чтобы грамотно управлять командой?

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

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

О личном

Сейчас в ИТ-кругах популярна тема о переезде за границу. А вы об этом не задумываетесь?

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

Я убеждена, что именно IТ-отрасль наряду с аграрной способна кардинально повлиять на рост ВВП в стране, и это не 10-20%,а возможность роста в разы. Тогда никакого желания уезжать из Украины у программистов в принципе не возникнет.

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

Расскажите о книге, которая повлияла на вас больше всего.

— Наибольшее влияние оказала на меня книга по С++, про которую я упоминала. Я не прочла её полностью, но именно благодаря ей убедилась, что программирование — моё будущее. К сожалению, я не помню точного названия и автора. Эта книга ценна для меня не столько своим содержанием, сколько как источник интереса к профессии программиста.

Чем занимаетесь в свободное время? Есть хобби?

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

Что можете посоветовать молодым людям, желающим стать IТ-специалистами?

— Во-первых, не стоит идти в IТ, если тобой движет только желание много зарабатывать. Это достаточно сложная профессия, требующая постоянного обучения. Одни только деньги не смогут стать мотивирующим фактором.

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

В-третьих, учите английский язык. Это откроет перед вами многие двери.

DOU Ревизор в MacPaw: «Космическая станция, управляемая с помощью смартфона и планшета»

$
0
0

DOU Ревизорпобывал в офисе MacPaw — продуктовой компании, известной своими разработками приложений под OS X и iOS. Самая популярная программа — CleanMyMac, релиз уже третьей версии ребята отметили в начале апреля этого года.

MacPaw основана в 2008 году. Сейчас в компании работает 70 человек, в том числе 18 разработчиков (софт и веб), 25 технических специалистов и 2 кота.

Признаемся честно: узнав, что архитектурное бюро BARABAN DESIGN получило Гран-При на ежегодном Всеукраинском архитектурном конкурсе «Интерьер года» за дизайн нового офиса MacPaw, команда DOU Ревизор с нетерпением ждала, пока ребята окончательно переедут и обустроятся на новом месте, чтобы показать вам, что же такого космического в этом интерьере...

В округе и поблизости

Не так давно компания переехала в новый офис в недавно построенном БЦ «Торонто-Киев» по адресу ул. Большая Васильковская, 100. Общая площадь нового офиса составляет 1000 м2, не включая просторной террасы.

Перевозить вещи далеко не пришлось, и сегодня, сидя на террасе нынешнего офиса, можно заглядывать в окна прошлого.

В здании БЦ «Торонто-Киев» находится сетевой отель Holiday Inn, в ресторане которого можно плотно пообедать на 70-100 грн.Неподалеку от офиса можно также найти Salateira, Руккола, AlFaro и Pinocchio, где сытный обед вам обойдется в ту же сумму. Из недорогих пунктов питания поблизости есть столовая Конструкторско-технологического бюро Института электросварки им. Е.О. Патона со средним чеком на 30 грн. По четвергам в компании соблюдают недавно сложившеюся традицию — организовывают бесплатные «семейные» обеды, когда все сотрудники компании обедают вместе.

Совсем по соседству, дверь в дверь с офисом, расположен супермаркет «BILLA», немного дальше по ул. Горького — «Мегамаркет». Неподалеку от офиса, ближе к ст. м. Олимпийская, есть просторный сквер.

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

















Рабочее пространство

Офис MacPaw расположен на 5-мэтаже бизнес-центра. Когда переступаешь порог офиса, складывается впечатление, что попадаешь на космическую станцию. Всем этим «смарт офисом» можно без труда управлять с помощью приложения Thinknx. В приложении все офисные комнаты разбиты по зонам, что позволяет менять освещение, температуру, выводить музыку, и делать другие настройки в каждой по отдельности.

Здесь все офисные столы регулируются по высоте нажатием одной кнопки, каждому сотруднику полагается нашумевшее офисное кресло Herman Miller Aeron, а в одной из кофе-зон установлена точно такая же кофе-машина, как в офисе Google. Top Brewer — новое поколение универсальных кофе-машин, приготовлением напитка в которых можно управлять посредством iOS...

Что тут еще сказать? Здесь даже унитазы с нагревающимся до желаемой температуры сидением, а также дезодоратором, который включается автоматически, как только вы садитесь на унитаз (модель TotoWashlet GL TCF891G).

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

В компании нет фиксированного графика работы, но на рабочем месте необходимо быть к 11 утра, так как в это время в отделах проходят stand-up митинги. Количество квадратных метров на человека в рабочем помещении составляет около 8 м2 (по данным компании).








































Отдых и вдохновение

В офисе MacPaw есть очень просторная терраса с грилем и уличной оборудованной кухней. С помощью приложения Thinknx в нелетную погоду она с легкостью закрывается «парусами», которые могут защитить либо от ярких солнечных лучей, либо от мелкого дождя.

Сотрудники компании уже не представляют свой офис без Фикселя — кота тигрового окраса, который все время ходил за нашей съемочной группой. Казалось, что именно он пригласил нас в офис... Когда-то, еще котенком, Фикселя подобрала Team Lead одного из проектов и не смогла оставить животное у себя дома. Так зверь и стал всеобщим любимцем. Когда компания переехала в более просторный офис, у Фикселя появился друг — белый кот Хувер (от английского «hoover» — пылесос. Уж больно любил он плотно покушать и сметал все на своем пути).

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

Здесь даже есть своя собственная валюта — «фикс» с изображением кота. Концепцию дизайна монеты придумал один из дизайнеров компании: логотип MacPaw с одной стороны и Фиксель с зашифрованными номерками с другой. Только настоящий сотрудник MacPaw может разгадать тайну цифр.

Идея создания «фиксов» появилась в 2012 году, когда по просьбам трудящихся в офис решили приобрести снековый автомат. Но подошли к этому нестандартно — поставили такой автомат и сделали брендированные монеты, тем самым ввели свою валюту в компании. Потом придумали выдавать эти монетки как поощрение. Раз в неделю Team Lead выдает по одному «фиксу», а остальные можно заработать. Фиксами поощряют друг друга: сделать что-то очень круто/быстро/хорошо в своих тасках или же проявить инициативу и помочь коллеге. Например, протестировать программное обеспечение и найти баги; если ты HR или дизайнер — нарисовать плакат для вечеринки в свободное время, круто и быстро закрыть зависшую задачу.

За одну монетку можно выбрать один item из автомата (шоколадку, сухофрукты, орешки, драже, напиток или что-то другое). Ассортимент всегда обновляется.




































DOU Ревизор спрашивает

Мы решили поинтересоваться у самих сотрудников компании, как же им живется, и задали два несложных вопроса: «Что больше всего нравится в офисе?», «Что бы хотелось улучшить или изменить?»

Александра, Techwriter, в компании буквально 3 месяца

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

Дмитрий, Senior Designer, в компании около 6 лет

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


Ну что, мы поехали дальше... А если вы хотите, чтобы DOU Ревизор приехал к вам, пишите нам — revisor@dou.ua

Следите за нашей страницей на Facebook — www.facebook.com/dourevisor

* ДОУ Ревизор — фотообзоры офисов ИТ-компаний Киева. Они отображают три категории:

  • «В округе и поблизости» (где расположен офис, что есть полезного рядом: магазины, кафе, общепиты, спортзалы и другое),
  • «Рабочее пространство» (рабочее место разработчика, митинг-румы и другие локации для стендапов, коллов с клиентом, переговоров),
  • «Отдых и вдохновение» (все, что вдохновляет и помогает созидать).

28 апреля, Харьков — Старт IT карьеры с JavaScript

$
0
0

Приходите на семинар в вашем городе: Львов- 24 апреля, Харьков.

На семинаре мы расскажем:
— Почему стоит работать именно в Web development.
— JavaScript: от второго языка веб-программиста к первому.
— Не вебом единым: где еще применяют JavaScript.
— Как не надо учить JavaScript.
— Рекомендованные книги и источники.
— Какие компании работают на JavaScript.
— Про курсы JSBursa.

Подробности и регистрация

Среди зарегистрированных участников семинара будут разыграны стипендии на курсы JavaScript.
P.S. — JavaScript является одним из самых востребованных языков программирования.
Регистрируйтесь!

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

$
0
0

MaxPayшукає технічного керівника проекту (CTO)зі знанням PHP і JS. Зарплата $5000—7000.

Компанія MacPaw, яку недавно відвідав DOU Ревізор, запрошує на роботу Product Designer’а.

Concepter (див. інтерв’ю з Олегом Маленковим, операційним директором) шукає Junior/Middle Android Developer’а.

Olerom Consultingшукає молодшого Python-програмістазі знанням Python 3. Зарплата 30 000 грн.

Харківській компанії WEB4PROпотрібен молодший Project Managerз хорошим знанням англійської.

Західукрвибухпромшукає в Житомирі Web програміста, бажано з гірничою освітою. Зарплата 3000 грн.

25 квітня відбудеться вступне online-тестування в Binary Studio IT Academy 2015за напрямками PHP, .NET и JS. Завтра останній день реєстрації.

«Часопис» відкриває Школу Українського Підприємництвата оголошує набір у першу програму. Реєстрація до 30 квітня.Набір триватиме ще тиждень. Але тільки до кінця сьогоднішнього дня, 23.04., для тих, хто зареєструється, діятиме спеціальна early bird пропозиція.

Бізнес-акселератор GrowthUP запускає програму стажуваннядля студентів 4-5курсів без досвіду роботи.

Code Club UA, національна волонтерська мережа клубів кодування для дітей 9-11 років,шукає волонтерів, локації з комп’ютерами та зацікавлених батьків з дітьми.

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


Слідкуйте за вакансіями для .NET-розробників в twitter за допомогою @sharp_vacancies.


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

Закрылся крупный киевский разработчик игр LevelUP

$
0
0

С 21 апреля прекратила свое существование киевская компания LevelUP, которая занималась разработкой игр для социальных сетей и мобильных платформ, а также другими интернет-проектами.

До ноября прошлого года в LevelUP работало 250 человек, к февралю 2015 их количество уже сократилось до 150.

Как рассказывают бывшие сотрудники, закрытие компании может быть связано с экономической ситуацией и финансовыми проблемами:

«Массовые увольнения совпали по времени с началом падения рубля. Бизнес LevelUP был сильно завязан на российский рынок, а рубль просел почти вдвое за год, и Украина сильно зажала валютные операции».

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

Руководство компании ситуацию не комментирует.

IT Евротур 29: Fastpool (Гоа, Индия)

$
0
0

Вот и готов наш двадцать девятый выпуск проекта «IT Евротур», который мы записывали в Гоа во время моей зимовки в Индии. Ждем ваших отзывов и комментариев к этому выпуску. Подробную таблицу с цифрами по Гоа вы найдете на DOU или у нас на iteurotrip.com.ua.

Дом

Остальное

Полный выпуск

ШтатГоа, Индия
Площадь3702 км2
Население1 457 723 (26-еместо)
Город существует с неизвестно
В миреШтат на юго-западе Индии, самый маленький среди штатов по площади и один из последних по населенности. Бывшая португальская колония в Индии. Столица — Панаджи. Крупнейший город — Васко-да-Гама.
Средний счет в кафе 3,70 евро
Средняя цена за капучино0,95 евро
Пачка сигарет1,75 евро
БигМак меню6,47 евро
Аренда однокомнатная квартира в центре города (в спальном районе)123 евро в месяц (95 евро в месяц)
Аренда аппартаментов с тремя спальнями в центре города (вне центра)280 евро в месяц (194 евро в месяц)
Цена за кв метр в центре (в спальном)680 евро (475 евро)
Средняя ЗП после налогов195 евро в месяц
Одноразовый проезд0,28 евро
Проездной на месяц5,18 евро
Литр бензина0,77 евро
Плата за 1 км в такси0,26 евро
Час простоя такси1,29 евро
Общие затраты (электричество, отопление, вода, мусор) на 85 квадратов квартиру19,20 евро
Мобильная связь9 евро в месяц
Интернет( 6 Mbps)18,12 евро
Фитнес клуб безлимит35 евро в месяц
Цена за билет в кино2,59 евро
Воду из под крана пить можнонет
Рабочее время магазинов8:00 — 22:00
Есть ли маршруты городского транспорта в Google Mapsнет


Спасибо нашим спонсорам:
Wargaming.net, DataArt, Luxoft, Drucode, DAXX, MacPaw, QuickBlox.

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


Предыдущий выпуск


Сдача электронной отчетности через Приват24: Путь Самурая

$
0
0

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

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

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

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

Но теперь я почувствовал, что отступать дальше некуда.

0. Собираем амуницию

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

  • получить цифровую подпись у одного из Авторизированных Центров Сертификации Ключей (АЦСК)
  • подготовить и отправить на визирование в налоговую Договор о предоставлении данных в электронном виде, заверенный полученной цифровой подписью
  • дождаться положительного результата рассмотрения договора, если же будут выявлены ошибки — исправить их
  • отправить текущий отчет и дождаться результатов его рассмотрения

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

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

1. Получаем цифровую подпись

Давайте зайдем в Приват-24 для бизнеса и проследуем в меню «Услуги» — «Электронная подпись АЦСК». Щелкаем «Заказать».

Этот процесс требует наличия установленной и работоспособной Java на компьютере. Из-под Linux Mint 17.1×64 в Файрфоксе процесс довести до конца не удалось, поэтому пришлось продолжить из-под виртуальной среды VirtualBox с Windows 7×32.

Меню генерации сертификатов потребует пароли для подписи директора предприятия (предпринимателя) и для печати, при этом допускается ситуация, когда эти подписи одинаковы. Подтверждение генерации ключа фиксируется СМС-кой, отправленной на номер телефона, который зарегистрирован в системе.

Результат процесса генерации — это файл с расширением .jks, который содержит сигнатуру подписи для дальнейшей работы. Кстати, он заместит ваш предыдущий ключ в системе, которым вы подписывали платежки раньше, будьте внимательны!

Ключ генерируется быстро и немедленно готов к работе с документами, что также радует самурая.

2. Составляем договор

Теперь, нам необходимо оформить договор, согласно которого мы будем отправлять в налоговую данные в электронном виде и «подписать» его.

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

А где же договора?... В это просто невозможно поверить, но договора — в отчетах :) Нас интересует «Договiр про визнання електроних документiв (ДФСУ)»

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

Автоматическое заполнение реквизитов договора сыграло со мной злую шутку: недавно поменялся код ЕДРПОУ районной налоговой, а в шаблон автоматом подтянулся старый. Ну и название налогового органа также поменялось. Вместе с тем, фамилия начальника территориального органа — так вообще меняется чуть ли не ежемесячно. Поэтому при заполнении не обращаем внимание на то, что поля со стороны налоговой частично заполнены — идем искать верные данные.

Искать будем в первоисточниках — на сайте налоговой, которая на текущий момент гордо именуется «Государственная Фискальная Служба Украины»: sfs.gov.ua . Я было полез сразу в раздел «Контакты», что вполне логично, но нам не туда. Истинный самурай просто обязан зайти в раздел «Про службу», выбрать «Структура» и на последующей странице щелкнуть на ссылке «Территориальные органы». Далее выбираем область и район из списка ссылок, и вот только тогда вы попадете в нужный раздел с (возможно) актуальными данными про ваш территориальный орган налоговой.

Здесь мы видим и правильно название органа, и адрес, и код ЕДРПОУ, и фамилию начальника. Аккуратно копируем эти данные в соответствующие поля договора.

Вроде как договор готов, кликаем слева вверху «Сохранить» и переходим к процессу отправки электронного документа.

3. Отправляем документ

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

Процедура инициализации может подзатянуться, поэтому не стоит впадать в панику после 10 секунд ожидания.. или даже после 20-30..

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

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

Но в какой-то момент мой первый отчет-договор таки успешно отправился в неведомую цифровую даль. Через некоторое время в списке моих электронных документов в колонке «Статус» появилась строка «Получена квитанция (не расшифрована)» .

Отлично, щелкаем на нашем отчете и в меню отчета кликаем на кнопке «Статус отчета»:

Чтобы получить результат на человеческом языке, нам нужно полученную квитанцию расшифровать. Делается это также с помощью нашего ключа ЭЦП, аналогично подписанию подготовленного документа, иначе говоря — еще раз вводим пароль директора и печати, и после этого получим Квитанцию № 1:

Эта квитанция говорит о том, что наши данные поступили на сервер и приняты к обработке. Но это не значит, что отчет сдан! Это просто транспортное уведомление о том, что событие произошло. Здесь же мы видим регистрационный номер документа, на случай если необходима будет аргументация о случившемся факте отправки.

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

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

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

Не прошло и недели, как после очередной отправки взгляд самурая был обласкан такой вот квитанцией:

Документ принят! Теперь можно отправлять отчеты...

4. Готовим и отправляем отчет

Теперь, нам следует вернуться в меню «Электронные документы и отчеты» и выбрать там создание отчета, который называется «Податкова декларацiя платника единого податку (ФОП)»:

Заходим в этот документ и заполняем его, согласно требований к заполнению декларации. В основном, это данные предпринимателя, которые будут подтянуты автоматически, но не везде — это обязательно нужно проверить по документу. Для третьей группы плательщиков ЕН мы заполняем соответствующий раздел, в котором вносим выручку за отчетный период с нарастающим итогом и начисленный налог на эту выручку (в 2015 году — это 4%, если работать без НДС).

Визуально проверяем документ, сохраняем и отправляем аналогично отправке договора. Ждем Квитанцию № 1 (доставлено) и Квитанцию № 2 с результатом «Прийнято пакет».

Когда электронный документ принят органом, то он перемещается из раздела «Текущие» интерфейсам управления документами в раздел «Отправленные», поэтому не впадайте в панику, если в текущих внезапно станет пусто:

Итак, путь самурая успешно пройден, можно спокойно пить сакэ под сакурой.

16 мая, Одесса — Hack'n'Tell JavaScript

$
0
0


Любите ли вы JavaScript так сильно, как любим его мы? Если ваш ответ положительный, то ждем вас на однодневной встрече Hack’n’Tell JavaScript. Здесь вы не найдете скучных лекций — только практические советы от матерых специалистов.

Спросите насколько серьезны наши чувства к JS? Настолько, что мы готовы делиться с вами знаниями абсолютно бесплатно. Поспешите зарегистрироваться — количество мест ограничено, а зал не резиновый ;)

Программа мероприятия:

11:30-12:00 —Регистрация

12.00-12:30 —Вячеслав Потравный,
«WebComponents + Material Design= Polymer»

12:30-13:00 —Геннадий Мороз,
«ES6. Эволюция JavaScript»

13:00-13:30 —Максим Климишин
«Изоморфный React.js»

13:30-14:00 —Кофе брейк

14:00-14:30 —Сергей Пчелинцев
«Reactive angularjs»

14:30-15:00 —Евгений Жарков
Название доклада уточняется

15:00-16:00 —Панельная дискуссия

16:00-16:30 —Неформальное общение. Фуршет

16:30-18:00 —Музыкальный сюрприз от разработчиков компании Intersog

Узнать более подробную информацию и присоединиться

27 апреля, Киев — Курс “Web дизайн для начинающих”

$
0
0

Курс состоит из 12 занятий по 2 часа, 2 раза в неделю (понедельник/среда) с 19:00 до 21:00

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

Цель курса — подготовить специалистов, которые смогут разрабатывать графику для web и задать вектор дальнейшего развития. Курс рассчитан на тех, кто только начал свой путь web-дизайнера. Занятия включают в себя выборку из самой необходимой и полезной информации — ключевые понятия из теории и самое интересное из практики. Практическим подкреплением полученных на курсе знаний будут готовые работы для портфолио. Как бонус — подготовка к прохождению собеседования на должность web-дизайнера.

— Введение, общие понятия * Виды сайтов * Терминология.
— Основы дизайна web-сайтов * Основные тренды и направления * Категории сайтов * Психологические аспекты пользовательского интерфейса * Этапы разработки web-сайта * Прототипирование.
— Основные элементы интерфейса сайта * Структура и элементы web-сайта * Стилевое оформление * Примеры и разбор ошибок на существующих сайтах.
— Работа с цветом. Фирменный стиль * Цветовая гармония, сочетаемость цветов * Психология цвета * Фирменный стиль.
— Типографика и инфографика * Основные понятия * Виды шрифтов * Подбор и использование шрифта.
— Юзабилити * UI, UX * Адаптивность и мобильная версия * Дизайн приложений iOS, Android.
— Основные инструменты создания web-сайтов * Axure RP * Adobe Photoshop * Adobe Illustrator * Другие программы создания графики для web.
— Frontend, тестирование и коммуникации * HTML, CSS. Основные понятия. Свойства и возможности * Анимация * Тестирование сверстанного сайта * Работа с клиентами * Работа внутри проектных групп * Планирование времени, дедлайны.

Записаться на первое бесплатное занятие

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

#ITeaTalks: Вадим Роговский (Clickky/WannaBiz) — про mobile, бизнес в Азии и конкурс красоты в Одессе

$
0
0

#ITeaTalks — это разговор двух айтишников и фанатов своего дела за чашкой чая. Автор и ведущий — Alex Grechanowski, marketing expert and consultant.

Досье:Вадим Роговский — основатель и CEO мобильной рекламной платформы Clickky, управляющий партнёр бизнес-инкубатора WannaBiz. В 2011 году окончил Одесский национальный университет имени Мечникова по специальности «Менеджмент». Живет и работает в Одессе.

Глава 1. Возможности мобильного рынка

По оценкам BI Intelligence, рынок рекламы мобильных приложений должен вырасти на миллиард долларов в 2015 году. За счет чего произойдет этот рост?

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

Какие рекламные автоматизированные решения сегодня наиболее востребованы на рынке?
— Если мы говорим про self-service, когда клиент сам размещает рекламные кампании, то это, конечно, Facebook и Google Adwords — на сегодняшний день это 2 самых больших канала привлечения мобильных пользователей.

Какие сейчас мировые тренды в мобайле? M&A? О чем говорят все эти сделки вокруг Glispa, MobPartner, TrialPay, Appia? На каких игроков стоит обратить внимание?

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

Это говорит о том, что рынок уже становится зрелым, что уже появилась прослойка рекламных сетей и платформ, которые генерируют обороты, интересные для стратегических инвесторов (покупателей), которые могут быть как профильные (Yahoo, Google), которые покупают компании в своих собственных целях, так и непрофильные, выступающие в основном как финансовые инвесторы. В этом и следующем году будет еще больше сделок по покупке мобильных рекламных сетей большими игроками из online рекламы, агентствами и непрофильными компаниями.

PPI модель для iOS приложений работает?

— Да, работает, так как по ней часть рисков переходит на рекламную платформу, которая берет на себя обязательство приводить пользователей из конкретных стран по конкретной цене — отсюда и название «Pay Per Install».

Глава 2. Платформа Clickky

Как Clickky помогает разработчикам мобильных приложений привлечь новых пользователей?

— Более 1000+ наших партнеров (источников трафика) подключены к платформе и размещают у себя рекламу приложений наших клиентов. Мы продвигаем приложения как по модели оплаты за инсталл, так и по оплате за действия внутри приложений (Engagement).

У вас есть интересный продукт — Cost Per Engagement. Для каких типов приложений такая модель наиболее эффективна?

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

Какой средний бюджет продвижения у ваших клиентов?

— В среднем чек в системе — на 3000-5000 $в месяц на одного клиента.

В прошлом году открылся офис Clickky в Берлине. Кроме Европы и Штатов, у вас большие планы в Юго-Восточной Азии и Китае. Что происходит на этих рынках сегодня, это платежеспособная аудитория?

— Это сейчас одни из самых быстрорастущих рынков мобильного интернета и смартфонов, а учитывая общее количество населения, и, соответственно, потенциал этих стран Юго-Восточная Азия — наверное, самый интересный рынок для разработчиков мобильных приложений и рекламных сетей на сегодня. Тут есть свои особенности, связанные, например, с низким покрытием платежных карт, с локализацией, но если их все учитывать в маркетинговой стратегии, проблем не возникнет, и можно будет использовать потенциал этих рынков в своих целях.

Чем азиатские рынки в целом отличаются от штатовского и европейского?

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

Критерии оценки качества пользователей также совсем разные, что часто вызывает сложности при работе. Ты просто не понимаешь, как они будут оценивать трафик. Это можно сделать, например, по Retention Day 1 (% пользователей, которые вернулись в приложение в тот же день после установки) или Retention Day 7 (которые вернулись через неделю после установки). Как вы понимаете, показатели чаще всего очень разные, от этого зависит и настроение клиента.

Как ты организовываешь Business Development в Азии? Как наиболее эффективно выйти на малоизвестный рынок — например, Японии? Нужно нанимать агентство, персонал... что у вас работает?

— Сначала мы выбираем самые интересные рынки для нас, потом разрабатываем план их тестирования. Обычно готовим value proposition для него, отражаем его в промо лендинге (сайте) и медиа ките, дальше даем нашей business development команде задачу найти N клиентов, подходящих по требованиям, и разослать эти предложения им по ним. Дальше мы смотрим конверсию в запущенные рекламные кампании и доход на клиента и понимаем, стоит ли двигаться дальше. Обычно, если рынок нам нравится, сначала мы формируем удаленную команду в нашем главном офисе в Одессе, а потом уже — местную команду.

Глава 3. Конференции

Clickky участвовал в нескольких конференциях, например Mobile World Congress, Casual Connect, Affiliate West Summit. Что вам дает участие в подобных мероприятиях?

— Чаще всего мы ездим на такие мероприятия для прямых продаж, и после каждого мероприятия считаем ROMI (Return of Marketing Investment). Но есть и ивенты, на которых нужно просто «отметиться», чтобы пообщаться со старыми партнерами и клиентами, обменяться идеями, чтобы быть в тонусе. К таким относится, например, Mobile World Congress в Барселоне.

Как правильно компании использовать конференции?

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

23 мая в Одессе Clickky проводит Mobile Beach Conference. Помимо барбекю и новостей в мобайле, вы готовите конкурс красоты «Mobile Princess». Кто может участвовать в конкурсе, какие цели конференции?

— Участвовать в конкурсе могут все симпатичные девушки, имеющие прямое или косвенное отношение к IT и Интернету:) Цели конференции для нас — это в первую очередь собрать наших главных клиентов и партнеров, а также всех, кому интересен этот рынок, чтобы пообщаться, обменяться мыслями, обсудить тренды, заключить новые партнерства и, конечно, хорошо отдохнуть и развлечься:)

Глава 4. Команда

Как проходит твой рабочий день как CEO компании?

— Раньше он проходил так, что я повесил на двери табличку с новой расшифровкой моей должности — Chief Emergency Officer:) с прошлого года я постарался настроить все так, чтобы до 30% времени в день тратить на стратегические задачи, направленные на развитие компании. Например, что мне очень нравится, это инициация новых проектов в рамках нашей деятельности, или планирование выхода на новые рынки. Также регулярно занимаюсь people менеджментом и точечным подбором и хантингом топ-менеджеров — лучше CEO этого, как правило, в компании никто не сделает.

Как выстраивается процесс разработки, какие методологии вы используете?

— Мы работаем по стандартно по SCRUM, спринты идут по 2 недели, дважды в месяц релиз. Планирование разработки идет в соответствии с продуктовым roadmap, который мы строим на год и разбиваем на кварталы. Далее руководители отделов, имеющих отношение к генерации дохода, совместно выставляют приоритеты по фичам/доработкам в системе, которые должны быть разработаны в течение квартала. Это порисходит под руководством директора по продукту, который затем через CTO доносит информацию до разработчиков. Планирование фичи начинается с формирования бизнес-требований, затем идет ее описание уже на более низком уровне, и затем она идет в разработку.

Есть ли у вас какие-то свои наработки и фишки, которые помогают в процессе?

— Я использую один прием тайм-менеджмента, который советую всем сотрудникам: всё, что занимает меньше 5 минут, я делаю сразу же в момент, когда про это вспомнил/узнал. Например, нужно отправить e-mail или быстро поговорить с коллегой. Я не переношу это «на потом», а делаю сразу же. Казалось бы, очень просто — а мне очень помогает и повышает мою продуктивность.

Что вам помогает поддерживать хорошую атмосферу в команде?

— Во-первых, мы пришли к тому, что главное в сотруднике — это его личные качества и амбиции, а потом уже — профессиональные. Таким образом, мы стараемся нанимать только тех, кто подходит нам по духу — молодых, с активной жизненной позицией, амбициозных, с яркой индивидуальностью, и немного больных на голову:) Во-вторых, хотя бы раз в месяц мы устраиваем различные тимбилдинги, а раз в квартал — веселые вечеринки с нестандартной программой. На 3-летиекомпании у нас в офисе был стриптиз, катание на лимузинах, и потом вечеринка в лаунже. На 4-летиеразыграли в офисе целое представление по теме «Радиационное заражение» с приглашенными актерами, реквизитом и т. д., а потом был фуршет и вечеринка с DJ и go-go, было весело:) И главное — людям без обостренного чувства юмора у нас делать нечего, это точно!

Есть шансы у распределенной команды добиться успеха? Как ты относишься к удаленной работе?

— Да, конечно есть, если грамотно настроить все процедуры, начиная с информационной карты компании и заканчивая ДО каждого сотрудника и отношениями между отделами — при удаленной работе это особенно важно. Успешная настройка удаленной работы сегодня — это один из залогов успеха IT-компании, которая работает на глобальном рынке.

С какими проблемами ты столкнулся при развитии компании — люди, управление, партнеры?

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

Недавно вы посетили офис Zappos в Штатах — по твоим словам, «один из самых атмосферных и креативных». Что именно тебе понравилось в помещении с трубами на потолке?

— Ну, во-первых, я давно прочитал книгу «Zappos: доставляя счастье», которая стала одной из моих любимых бизнес-книг, и я с нетерпением ждал визита к ним. Их офис понравился мне в первую очередь своей индивидуальностью. Что можно сказать с первой минуты пребывания там — этот офис не такой, как все, и это уже привлекает. Он ярко отражает индивидуальность коллектива Zappos, и сразу видно, что большинству сотрудников там очень комфортно, и они проводят там гораздо больше времени, чем 8 часов. А, как мне кажется, это одна из главных задач любой компании — сделать так, чтобы сотрудники с нетерпением ждали не выходных, а начала следующей рабочей недели, чтобы им было действительно максимально комфортно и увлекательно в помещении, где они проводят большую часть дня.

Сама экскурсия была очень интересная. Гид рассказал много интересных вещей и про коллектив Zappos, и про каждое помещение в офисе. Всем, кто будет в Лас-Вегасе, очень рекомендую заранее записаться на экскурсию через сайт zapposinsights.com/tours, и вы точно не пожалеете.

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

— Конечно, многое зависит от должности, на которую он идет, но 2 важные вещи, без которых, например, к нам будет нереально устроиться, если соискатель
1) не объяснит в сопроводительном письме и затем на собеседовании, почему он хочет работать именно у нас
2) уже на собеседовании не расскажет в подробностях, чем занимается наша компания. Для меня самое главное, чтобы человек хотел именно к нам, а не просто «куда возьмут», это критично.

Глава 5. Ментор


Команда WannaBiz

Как управляющий партнер стартап-инкубатора WannaBiz скажи, какие наиболее частые ошибки допускают предприниматели в своих заявках на участие в программах фондов и акселераторов?

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

Какие ты можешь отметить тренды в украинских командах за последние несколько лет?

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

Как ты считаешь, что главное в стартапе — команда, процессы, идея, умение привлекать деньги?..

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

В какие сроки можно выйти на рынок, протестировать свой продукт-идею?

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

Глава 6. Личное

Что помогает тебе совершенствоваться как предпринимателю?

— В первую очередь — любимые занятия и личная жизнь, которые позволяют качественно отдыхать, чтобы потом продуктивнее работать. Под занятиями я подразумеваю в первую очередь спорт, без которого я не представляю свою жизнь. Я активно занимаюсь большим теннисом и очень люблю футбол. К слову, Clickky — организатор турнира по футболу среди IT-компаний в Одессе, а идея турнира появилась у меня просто из-за того, что сам давно не играл :) Также я очень люблю путешествовать — как в теплые страны, так на лыжные курорты.

Что тебя мотивирует?

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

Ситуация: тебя высадили на необитаемый остров на три месяца, еда и вода есть, дали ноутбук(и) с Интернетом. Чем будешь заниматься?

— Ура, у меня целых 3 месяца, когда меня никто не будет отвлекать от творчества! Вернусь с кучей новых идей по развитию моих текущих компаний и по новым проектам. Кстати, хорошая идея. Может, надо как-нибудь устроить себе такой тур:)

Поделись лайфхаками. Какие приложения у тебя на телефоне? Какие приложения используешь для удаленного управления проектами?

— Я не играю в игры на телефоне и планшете, так как это отнимает время, которого всегда не хватает. Как таск-трекер мы используем Worksection, как CRM — Pipedrive, у нее есть и мобильное приложение. Как личный таск-трекер я использую Wunderlist, а все идеи и мысли записываю в Заметки на iPhone.

Какие книги и подкасты ты можешь порекомендовать нашим читателям?

— Некоторые из моих любимых книг, которые, на мой взгляд надо прочитать всем, кто строит или хочет построить бизнес или карьеру в IT:

  • Rework;
  • Zappos: доставляя счастье;
  • От хорошего к великому;
  • Стратегия голубого океана;
  • Фиолетовая корова.

Какая музыка тебя вдохновляет?

— Я в принципе слушаю все подряд, а работаю всегда в тишине, чтобы ничто меня не отвлекало. Когда хочется послушать что-то динамичное — то слушаю хаус и электро, когда спокойное — то музыку 80-90-х, тогда рок и попса были гораздо качественнее, чем сейчас:)

На каких конференциях планируешь побывать в этом году?

— Из того, что я уже запланировал — скорее всего, полечу на White Nights в Питер, на Gamescom в Кельн и на Web Summit в Дублин. Еще думаю насчет других ивентов, некоторые могут добавиться спонтанно.

Вадим, большое спасибо за беседу. Где тебя можно найти в Интернете?

— Я достаточно активно веду свой Facebook, буду рад новым интересным френдам :)

Дайджест: справедливые зарплаты, интервью с Торвальдсом, как попасть в IT

$
0
0

Исследования

Новые версии

Интервью и мнения

Полезное

Howto

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

Cooperative multitasking (gifv)

How Product Hunt Helped Me Grow A List Of 12,989,483,288+ Valuable Subscribers And Generate 220k+ In Sales In Less Than 20 Minutes Without Having To Write A Single Line Of Code And Also Taught Me These 5+ Startup Lessons From My Mistakes About Being A Product Manager in 2016 on Meerkat.

Backend vs. Frontend


Code Quality


Engineering


Apple Watch


Как спят программисты





Google Chrome vs. RAM


Software Development Lifecycle

10 вещей, которые я хотел бы знать перед стартом проекта на Symfony

$
0
0

Прошло уже около двух лет с тех пор, как мы начали переписывать наш проект на Symfony2. Это было интересное время — работа с Symfony2+Doctrine2 была настоящим удовольствием после Битрикса. Конечно, оглядываясь назад, я понимаю, как не надо было делать, и сегодня делюсь этим с вами.

1. Не добавляйте файл composer.lock в .gitignore

Если вы пишете на Symfony, то наверняка используете Composer. Если нет — значит, что-то у вас в самом начале не заладилось.

Про странную манипуляцию с файлом composer.lock как-то говорилРома Лапин на конференции PHP Frameworks Days в Киеве. Напомню, что файл composer.lock создается после последней успешной установки зависимостей и хранит последнее стабильное дерево зависимостей вашего приложения в точности до коммита. Это означает, что с помощью команды «composer install» вы можете откатиться до последнего стабильного состояния.

Многие разработчики почему то считают, что файл composer.lock лучше заигнорить. Мы не были исключением и сделали это, потому что в один прекрасный день у нас в зависимостях что-то поломалось — то ли при переходе на Symfony 2.3 (LTS), то ли при смене версии компонента symfony/icu.

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

2. Придерживайтесь слабой связанности бандлов и сервисов

Фреймворк Symfony построен так, чтобы дать разработчикам очень высокую степень гибкости в разработке и конфигурировании веб приложения. Symfony позволяет буквально жанглировать сервисами и зависимостями.

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

История была примерно такая:

Есть популярный бандл SonataAdminBundle. Предполагается, что вы будете размещать admin-классы в своих бандлах примерно так:

src/Company/BlogBundle/
    Admin/
        ArticleAdmin.php
        CommentAdmin.php
   Entity/
   Resources/
       Config/
           admin.xml
   ...
src/Company/UserBundle/
    Admin/
        UserAdmin.php
        GroupAdmin.php
   Entity/
   ...

Преимущество этого подхода в том, что если вы добавляете в свой проект бандл, который использует SonataAdminBundle, достаточно просто добавить одну строку в app/AppKernel.php — и все ваши админ классы начинают работать, и новые сущности становятся доступны для редактирования в админ-панели.

Но мы, тогда еще непросвещенные, подумали: «Да ну, залазить в каждый бандл по отдельности и править админ классы и сервисы — это странно и неудобно!» — и решили, что будет лучше завести для этого новый бандл src/Company/AdminBundleдля всех админ классов и сервисов:

src/Company/AdminBundle
    Admin/
        ArticleAdmin.php
        CommentAdmin.php
        UserAdmin.php
        GroupAdmin.php
        ...Admin.php
    Resources/config/admin.xml

В общем-то, на первый взгляд, тут ничего страшного и нет. Но впоследствии мы пожалели об этом, и вот почему.

В нашем проекте есть благотворительный фонд и медиатека (архив аудио, видео и книг). В один момент мы начали понимать, что жесткая связь между фондом и медиатекой может принести нам неприятности в будущем. Если мы выкатим обновление медиатеки с критичным багом это может задеть фонд. А для фонда не работать даже 15 минут — это весьма критично, подопечные теряют время деньги.
В этом основной минус монолитной архитектуры: очень легко поломать соседний важный кусок приложения.

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

Сейчас я понимаю, что это будет непростая задача. Если бы мы в самом начале шли по пути слабой связности бандлов и сервисов, было бы намного проще.

3. Не плодите сущности

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

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

Главный нюанс состоит в том, что должна быть возможность фильтровать произведения одновременно по нескольким типам — например, отобразить те, у которых проставлен тип «аудио» и «книги».

Сразу стало понятно, что одним свойством тут не отделаешься. Мы решили добавить сущность Typeи связать ее с произведением ассоциацией ManyToMany. Теперь, чтобы понять, какой тип проставлен в произведении, нам приходилось каждый раз перебирать типы через метод getTypes(). Также для удобства пришлось завести методы типа hasAudio()чтобы проверять, проставлен ли в произведении нужный тип.

Вызов метода getTypes() означал, что Doctrine будет делать запрос в базу данных, и это очень напрягало. Более того, пришлось также заводить фикстуры, чтобы при разворачивании проекта создавались эти типы. Страшно вспоминать :)

Немного позже, когда мне всё э то сильно надоело, я убрал эти странные сущности и просто добавил четыре булевых свойства audioType, videoType, bookType, musicType. Жить сразу стало легче.

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

4. Можно ли ваш проект развернуть в любом месте, быстро и без боли?

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

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

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

Чаще всего проблема возникала от того, что мы добавляли в базу данных какие-то служебные записи, но забывали добавить их в фикстуры или в скрипт установки проекта.

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

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

А есть ли возможность всегда поддерживать код приложения в порядке? Что делать, чтобы проект всегда можно было быстро развернуть в любом месте? Ответ оказался прост:

5. Используйте сервер непрерывной интеграции (CI)

Автотесты и сервер непрерывной интеграции — это темы, которые в последнее время не обсуждает только ленивый. Можно долго спорить и рассуждать на тему, нужны тесты или нет. Мы для себя решили, что нужны. Как минимум — Behat, а как максимум — PHPUnit и JS.

Самое большое преимущество CI в том, что мы можем автоматически запускать все тесты после каждого пуша в репозиторий и видеть, чей коммит всё поломал. Это особенно здорово, потому что спасает нас от деплоя бажного кода.

Кроме этого, благодаря CI вы можете поддерживать код постоянно в таком состоянии, чтобы в любой момент быстро и безболезненно развернуть приложение. Вы можете настроить всё так, чтобы сервер скачивал из репозитория последнюю версию кода, разворачивал проект на тестовом сервере и прогонял все тесты. CI на любом этапе скажет вам о проблеме, если что-то пойдет не так. Если вы сразу заметите проблему и исправите ее, то облегчите себе жизнь в будущем.

Мы остановили свой выбор на Jenkins. Настроили его таким образом, что после каждого пуша в GitHub Jenkins скачивает код последнего коммита и запускает скрипт bin/jenkins_scenario, который:
— С помощью Composer устанавливает все зависимости для проекта;
— Создает базу данных;
— Запускает миграции;
— Загружает в базу данных фикстуры;
— Запускает тесты.

6. Не игнорируйте JavaScript тесты

Этот пункт касается не только Symfony проектов. Тем не менее, сейчас я жалею о том, что мы пока так и не начали писать JavaScript тесты и не прикрутили их к Jenkins.
Behat и PHP Unit-тесты — это очень хорошо, но подчас JS тесты могут оказаться не менее важными.

Например, была ситуация, когда мы прицепили обработчик Google Analytics на кнопку для совершения пожертвования на сайте (для подсчета конверсий), но как следует не протестировали ее работу. В результате пользователи длительное время не могли жертвовать деньги, потому что эта кнопка просто не работала. Проблема обнаружилась только на следующее утро. Получилась неприятная ситуация, из-за которой фонд не дополучил деньги.

Если бы CI каждый раз запускал и JS тесты, то еще на этапе Pull Request в GitHub мы увидели бы красивое сообщение о том, что сборка провалилась, и не деплоили бы такой серьезный баг на сервер.

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

7. Не пишите в контроллерах служебные вещи — парсеры, скрипты для переноса данных и тому подобное

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

Мы решили для таких целей использовать контроллер с торчащим наружу URI типа «/move/authors». Мы просто открывали в браузере URI «/move/authors», и скрипт делал перенос.

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

К какому выводу мы пришли?
Лучшее решение — использовать для таких целей компонент Symfony Command. Просто запускаете на сервере нужную команду типа php app/console demo:dosomething - и ничего не будет торчать наружу.

Ещё один интересный момент, который я заметил: PHP-процесс, запущенный таким образом, работает стабильнее, чем вызов URI сайта через браузер.

8. Как вы делаете деплой?

В самом начале мы не особо беспокоились о том, как будем доставлять код на сервер. Когда он попал на Git, мы просто начали использовать для обновления команду git pull.

Конечно, для деплоймента Symfony приложения этого недостаточно. Ведь нам нужно каждый раз:
— Загружать код проекта из главного репозитория;
— Запускать миграции;
— Чистить/прогревать кеш;
— Устанавливать новые composer зависимости;
— Делать дамп css/js файлов;
— ...

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

Однажды фонд принял решение найти еще одну команду разработчиков, которая бы занялась переписыванием одного из проектов на Symfony.

Когда мы начали плотно сотрудничать с этими парнями, они нас познакомили с Capifony. Это замечательный инструмент деплоймента, построенный на основе Capistrano, кастомизированный для Symfony приложений.

Несмотря на то, что установить Capifony в ubuntu/windows непросто, он может сильно упростить вам жизнь: для деплоя достаточно одной лишь команды, запущенной в терминале — cap deploy.

9. Будьте прагматичны

Представьте себе связь один-ко-многим. Один Автор может иметь много Произведений, при этом Произведение может не иметь Автора.

Route для произведения с автором выглядит так: /dostoevskiy-fedor-mihaylovich/idiot/

Без автора — так:
/bez-avtora/skazki-i-skazanija/

Генерируя путь к произведению, каждый раз придется проверять, есть ли у произведения автор, и исходя из этого выбирать нужный Route. Кроме этого, в проекте есть много страниц, в которых также должна быть ссылка на произведение, а значит, надоедливых if/else не избежать.

Однажды мой коллега предложил: «Слушай, а давай создадим „неизвестного автора“, и к нему привяжем все произведения без автора — таким образом нам будет намного легче работать со связями, роутингом и так далее?».

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

{% if audio.work.author %}<p><b class="book-col-title">Автор: </b><a href="{{ path('author_show', { 'seoCode': audio.work.author.seoCode }) }}">
            {{ audio.work.author.name }}</a></p>
{% endif %}
{% if audio.work %}<p><b class="book-col-title">Произведение: </b><a href="{{ path('work_show', {
        'authorSeoCode': audio.work.author ? audio.work.author.seoCode : unknown_author,
        'seoCode': audio.work.seoCode
        } ) }}">
            {{ audio.work.title }}</a></p>
{% endif %}

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

Если окажетесь в подобной ситуации — подумайте, может, стоит поступить прагматичней.

10. Не пишите код для скачивания файлов на PHP

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

Обычно за день сайт посещало около 14 000 посетителей. Он не выдерживал такой нагрузки. 150-200человек в реальном времени просто ложили веб-сервер, и сайт становился недоступным.

Вы не поверите, но на протяжении многих дней нам приходилось запускать командуsudo service httpd restartкаждые полчаса или час (я уже сейчас не вспомню, что нам мешало тогда использовать Cron). Пути назад уже не было. Сайт был в продакшене. Мы просто дергали апач и пытались выяснить, почему httpd процессы съедают всю память на вполне нормальной железяке (16GB, Intel® Xeon® 3.10GHz, 4CPUs).

Подобные разговоры происходили почти каждый день:

Каких только предположений и догадок у нас не было:
— «Наверное, это точно MySQL, давайте логировать медленные запросы!»
— «Смотри! У нас тут есть древовидное меню, которое использует рекурсию. Может, тут собака зарыта?»
— «А вот на главной странице отправляются 3 одновременных Ajax-запроса, может, из-за этого оверхед?»
— «Наверное, просто Doctrine слишком медленная и жрет много памяти, давай попробуем всё закешировать!»
— «Слушай, я почти уверен, что проблема из-за страницы произведения! Тут иногда создается по тысяче PHP-объектов и вообще нет пагинации!»
— «...»

Когда уже всем было понятно, что нужно попросить совета у более опытных людей, я всё не мог сдаться и просил дать нам еще несколько дней на решение проблемы.
Парни, которые переписывали соседний проект, согласились нам помочь и пригласили хорошего админа глянуть на наш сервер.

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

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

Как выяснялось позже, проблема была не столько в канале, сколько в тех, кто занимает пространство между ноутбуком и креслом!

We did it!

В один прекрасный день кто-то в переписке, в общем чате Skype, спросил: «А вы что-нибудь отдаете через код? Может, вы отдаете файлы для скачивания через приложение?»

Конечно! Мы отдавали файлы на скачивание через PHP. Почему? Нам нужно было, чтобы, нажимая на ссылку «скачать», пользователь получал файл, а не проигрывал его в браузере. Именно для этого мы использовали примерно такой код в контроллере:

header('Content-Type: ' . $mimeType);
header('Content-Disposition: attachment; filename=' . basename($path));
// ...
@ob_clean();
flush();
readfile($path);

Трудно поверить, но именно это сжирало всю память! Именно из-за этого много дней подряд у нас был довольно напряженный график и постоянные падения веб-сервера.

Отправляемый заголовок Content-Disposition: attachment; - обычно самый типичный способ сказать браузеру, что файл нужно скачать, а не выполнить. Но когда таким образом отдаются файлы большого размера, да еще и на нагруженном проекте — память на сервере заканчивается быстро.
Мы удалили этот несчастный код и сделали так, чтобы nginx перехватывал запросы, которые содержат подстроку /download, и посылал заголовок Content-Disposition: attachment;, чтобы браузер нормально скачивал файл.

Проблема была решена.

Вместо вывода

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

Может, вы уже давно пишете на Symfony, а может, только выбираете фреймворк (кстати, недавно я писал на тему выбора фреймворка: Laravel vs Symfony) и нашли эту статью. В любом случае, думаю, наш опыт вам пригодится.

Профессиональная социофобия

$
0
0

Самые прекрасные, как и самые уродливые наклонности человека не вытекают из фиксированной, биологически обусловленной человеческой природы, а возникают в результате социального процесса формирования личности.
Эрих Фромм

Было очень интересно наблюдать, как главный герой фильма «Into the Wild», в перерывах между скитаниями по диким краям приходил в бар, где изливал окружающим свою одинокую душу. «Society!» — презрительно и печально кричал он в пьяном угаре, находясь в самой сердцевине общества. — «Я не понимаю, почему люди так плохо друг к другу относятся! Судят, управляют, доминируют — в этом нет никакого смысла!». Через несколько дней ушел парень из проклинаемого общества — и больше никто его не видел.

Аристотель говорил:
Человек по природе своей есть существо социальное; Тот же, кто в силу природных причин, а не случайных обстоятельств, живет вне общества — тот либо не заслуживает нашего внимания, либо же является сверхчеловеком. Социум является чем-то, что предшествует индивидуальному. Каждый, кто не может вести нормальную жизнь или является настолько самодостаточным, что для него в этом нет нужды, а значит, и надобности принимать участие в жизни социума, является либо чудовищем, либо богом.

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

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

Профессиональные причины асоциальности
Яйцо или курица? Человек стал программистом, потому что был ботаном? Или он стал ботаном, потому что был программистом? Постоянная учеба, которая приводит к «оботаниванию», является неотъемлемой частью профессии разработчика (да и не только этой профессии). Но причина и следствие здесь не так важны, как результат.

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

Ежедневная практика если и позволит разработчику достичь высот коммуникабельности, то либо с железякой, либо с коллегами. В это же время обычная официантка из бургер-кафе утирает ему нос: её работа напрямую зависит от умения найти общий язык — она точит свою харизму и обаяние по несколько часов в день, зачастую перенимая их у посетителей (мимикрия 80 lvl).

Сказать, что работа программиста подразумевает много общения и что это помогает в социальной жизни — это всё равно что сказать, что пилоты авиалиний много общаются, и это повышает их мастерство в светских беседах:
— Борисполь-Руление, AUI002, предполетная проверка.
— AUI002, Борисполь-Руление, слышимость 5.

Вот и поговорили. Теперь осталось научиться применять опыт таких бесед к простым смертным.

Есть и такой вариант коммуникации: «Дамы и господа, мы летим на высоте 10000 метров, скорость 800 км/ч, температура за бортом −40 градусов Цельсия». Эти слова обычно произносятся невидимым капитаном судна для невидимых пассажиров в салоне. Как у них подвешен язык!

С таким же успехом программист мог бы «прокачивать» социальные навыки через Release notes и комментарии в коде.

Дружба на работе
В среднем человек проводит на своем рабочем месте по 40+ часов в неделю. В случае работы в IT эта цифра имеет тенденцию к увеличению (релизы, баги, дедлайны и так далее). Поэтому часто бывает так, что с коллегами проводишь времени больше, чем с семьей или девушкой. Человек — существо социальное, поэтому начинает искать себе комрадов в той среде, где проводит больше всего времени. То есть на работе. Друзья, как правило, находятся, и социальный круг замыкается: большая часть сознательной жизни проходит в офисе, там же происходит и социальная жизнь.

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

Умственные способности
Не каждый может стать программистом — для этого как минимум требуется определенная тренированность мозгов. Многим гражданам этой тренированности не хватает. Поэтому чем человек умнее, тем меньше круг людей, с которыми ему интересно общаться. В отличие от дяди Феди, который на почве одного футбола и пива может закадычно дружить с 95% сограждан. Если мозги ещё и умножить на чудаковатость, то получим такой кисель, который не каждому интеллектуалу будет по зубам. Одиночествопочти обеспечено.

Здесь мы снова скатываемся в замкнутый цикл: чем ты более ботаник, тем у тебя меньше развиваются навыки общения. При этом чем меньше у нас что-то получается, тем меньше мы хотим этим заниматься (из книги «Talent is Overrated»):

If you can’t see the effects, two things will happen: You won’t get any better, and you’ll stop caring.

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


14 мая, Киев — Масштабный курс JavaScript с онлайн-трансляцией с 14 мая

$
0
0

В нашем предыдущем базовом курсе JavaScript участвовало около 20 корпоративных участников из компаний magecom.net, Web4pro, Sloboda, 4tifier и 3gstar и 40 вне компаний.

После успешного завершения курса JavaScript и AngularJS мы получали много вопросов о начале следующего курса.

Поэтому с 14 мая мы решили запустить курс JSBursaс онлайн трансляцией в Интернете.
jsbursa.com

Вы задумались, зачем вам нужен этот курс?

Вот 5 причин начать карьеру разработчика с курсов JSBursa:
5. JavaScript — один из трендов современной веб-разработки.
Если вы хотите освоить перспективный язык программирования, JavaScript то, что нужно для быстрого старта и начала карьеры в IT.
4. Наша система обязательных домашних заданий не даст вам расслабиться. На два месяца вы погрузитесь в «языковую среду», будете создавать код, ошибаться и исправлять свои ошибки.
3. Наш преподаватель, Илья Климов, профессиональный разработчик. Он знает, с какими трудностями вам предстоит столкнуться и как их преодолеть. Илья заставит вас думать, находить решения и самостоятельно искать необходимую информацию.
2.Работа в группе позволяет обмениваться опытом и советоваться с другими участниками. А соревновательный эффект подбадривает выполнять задания лучше, быстрее и качественнее.
1. Уже на первой зарплате вы вернете инвестиции в свое образование на курсах. IT сфера — одна из наиболее развивающихся и выгодных. Она открывает широкие перспективы развития и поэтому IT образование востребовано все больше.

При регистрации на курс до 30 апреля 23:59 действуют специальные цены на все пакеты jsbursa.com

P. S. Вы все еще думаете, стоит ли записываться на курсы JavaScript? Тогда прочтите отзывы наших участников и подумайте, чего они уже достигли за то время, пока вы сомневаетесь.

jsbursa.com

Индекс Джинна, апрель 2015: .NET вверх, PM вниз

$
0
0

Что происходит с зарплатами? Зарплатный опросДОУ выйдет в конце мая, поэтому пока посмотрим на данные из зарплатной рассылки Джинна.

Зарплатный рейтинг Джинна

КатегорияОктябрь 2014Апрель 2015Динамика
Team Lead $3,297 $3,399 (+)
Project Manager (PM) $3,019 $2,474 (-)
Java $2,482 $2,428 (=)
.NET $2,119 $2,416 (+)
iOS $2,178 $2,169 (=)
JavaScript (фронтенд) $1,994 $2,162 (+)
C++ $2,316 $2,107 (-)
Python $2,242 $2,008 (-)
DevOps/Admin $1,860 $1,947 (+)
Ruby $2,020 $1,932 (-)
Android $1,910 $1,825 (-)
PHP $1,861 $1,803 (=)
UX/Design $1,587 $1,756 (+)
Тестировщик (QA) $1,521 $1,601 (+)
Верстальщик $854 $1,144 (+)

Есть движение и вверх и вниз, но в целом виден рост спроса, даже в долларовых зарплатах (семь «+» и пять «-»).

Как считался рейтинг?

Мы посчитали средние зарплаты кандидатов, которые получали предложения от работодателей на Джинне. Для 2014 года использовались данные за октябрь-ноябрь, для 2015 — март и апрель. В выборку попало около 30 тыс. предложений с вакансиями, учитывались только кандидаты из Украины (полный день в офисе и remote).

Что это показывает?

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

Поэтому лучше смотреть разбивку по опыту работы.

Java и .NET

Мобильная разработка

Интересно, что зарплаты Android разработчиков с опытом 3-5лет чуть «съехали» вниз, синхронно с Java. Что, в общем, логично, т.к. платформы близкие.

Фронтенд-разработка

На фронтенде никакого спада не просматривается. Более того, продолжается охота за самыми опытными js-разработчиками (5+ лет опыта).

C++

Лиды и ПМ

Больше всего на Джинне ищут опытных ПМ (5+ лет опыта), а их зарплатные ожидания существенно откорректировались.

По тимлидам с опытом работы меньше 3-хлет статистики недостаточно. :)

PHP, Python, Ruby

Остальные

Заметный рост по всем UX-специалистам. Это может быть вызвано тем, что их стало легче найти на Джинне, и больше работодателей обращают на это внимание.

Админов с опытом работы больше 5 лет почему-то на Джинне не ищут.


P.S.: Дополнительная информация и ежемесячные обновления в рассылке Джинна.

Как мы открывали школу программирования. Хроника, часть 4: об отношении IT-сообщества

$
0
0

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

Новые хроники я хотел бы начать этим роликом:

Об IT-новичках и реакции «старожилов»

Однозначно, всё больше и больше людей хотят попасть в IT. Наверное, глупо удивляться, причины очевидны:

1. Можно завести трактор;

2. Зарплата привязана к доллару, а не к валюте, которая в любой момент может совершить очередной кульбит;

3. Хорошие офисы, бесплатные печеньки, настольный теннис.

И да, многие хотят работать за хорошие деньги, в отличных условиях, несмотря на то, какой ВУЗ ты закончил, как учился в школе, или кто твои родители.

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

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

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

Даже из моего лично опыта лет 6-7 назад,когда я занимался разработкой на .NET, часто на интервью меня спрашивали не только про сам .NET, но и оценивали знания SQL и реляционных баз, заставляли разбирать JS и много другой около-айтишной тематики. Теперь же всё проще, потому как базу менеджат программисты DB, HTML + CSS на себя взяли верстальщики, а .NET’ом занимаются отдельные специалисты. Потому с каждым днем людей в IT будет всё больше, с этим стоит смириться. Так что ворчунов ждут страшные времена:)

Также тяжело поспорить с тем, что частенько в IT хотят попасть люди, которые не очень подходят для этой сферы. Как в шутке интернет, который тупеет от школьников. Ну а чё, они тоже хотят в теннис порубиться...

О школах

Школ всё больше. Это следует из первого пункта: всё большему количеству людей нужны менторы — проводники в обетованный мир IT с печеньками и бесплатным кофе. Потому, как грибы под дождем, появляются всяческие учебные заведения на любой вкус — для тестировщиков, программистов, менеджеров, дизайнеров. Некоторые дают отличные знания за бесплатно, ну, а некоторые превратили это в успешный бизнес, не особо заботясь о качестве знаний и выпускников.

По-честному — в школах творится хаос. Для себя я разделил их на 3 категории (сюда не входят университеты компаний, как, например, SoftServe University, и аккредитованные заведения, как, например, КА «Шаг»):

1. Учат полностью бесплатно. Живут на энтузиазме и частенько дают приличные знания. Привет Kottans! Они огромные молодцы, потому как умудрились собрать действительно крутых экспертов, которые покрывают широчайший спектр различных тем.

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

3. Конвейеры.«Java за 3 месяца для домохозяек!» «Гарантированное трудоустройство для лучших студентов! Стань гуру через неделю!» Курсы 1С, Геймдева и Pascal... Тут я не буду комментировать:)

Что интересно, компании внезапно открыли глаза и начали признавать существование школ. То есть гегемония тренинг центров пошатнулась — и это прекрасно! Например, Ciklum провел IT Education Awards — награждение лучших IT-школ Украины, что приятно даже несмотря на тот факт, что, кажется, награды получили вообще все школы:) Но начало, конечно же, похвальное.

О нашей школе

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

1. Мы продолжаем работать с детьми, проводить Global Code Hours, а в последнее время ходим по школами рассказываем детям, что оно такое — быть IT-шником. Честно говоря, я думал, тяжело читать тренинги, но оказалось, что сложнее всего выступать перед 9-классниками.Хотя, в любом случае, многие дети в этом возрасте уже знают про нашу профессию, знают, кем хотят стать, ну, а свой сайт уже делал практически каждый второй. Больше всего меня впечатлили ребята с Code Hours, которые мы проводили на IT Jam совместно с Microsoft, которые в 12 — 13 лет уже педалят на .NET, щупают PHP, и даже закидали меня паттернами. Хотя после статьи про девушку — тим лида в 19 летя уже ничему не удивляюсь.

2. Мы выпустили наши первые курсы Machine Learning и Web-UI.На Machine Learning ребята показывали свои выпускные проекты, в которых они то классифицировали по картинкам планктон, то представляли решения для страховых компаний, которые по GPS истории водителя выводили риски того, как он ездит, а то и вообще анализировали комментарии, которые оставляли критики под фильмы. В общем, было ощущение, что мы слушали какие-то футуристические доклады, ан-нет — всё уже есть, вот оно — только протяни руку. На Web UI наши выпускники писали совсем уж кто что хочет: игру, свою CRM, было даже кросс-платформенное приложение под PhoneGap. Слушал — и гордился :)

3. Чего греха таить, да и писал я про это много раз: основные наши студенты — это не студенты ВУЗов:)В большинстве своем это люди, которые или уже из индустрии, или хотят переквалифицироваться.

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

Потому за последнее время мы как введение в технологии добавили курсы iOS и Ruby. А для более продвинутых добавили курсы по алгоритмам. Как обычно, мы искали очень интересных преподавателей, потому при общении с некоторыми можно узнать, как управлять вертолетом, или же как попасть в MMA (Mixed Martial Arts).

В планах еще очень много курсов, но нужно время.

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

Пожалуй, на этом всё в этот раз. Дальше — больше!


Предыдущие части:
Как мы открывали школу программирования
Как мы открывали школу программирования. Хроника, часть 2
Как мы открывали школу программирования. Хроника, часть 3

Беседа с Алексом Ковалем, владельцем UA2WEB и Halogen Development Group

$
0
0

202-йвыпуск подкаста «Откровенно про IT карьеризм». В подкасте пойдет речь о IT’и 90-х, Linux’е и интернете 90-х.

В программе:

  • Про сейчас
  • Про во’IT’и
  • Подкуп преподавателей
  • Первая работа с медиа
  • ФИДО
  • Закрытое Microsoft API
  • Переход на Linux
  • Начало Интернет в Харькове
  • Опыт менеджмента
  • Что не так с большими компаниями
  • Продуктовое направление
  • Подбор команды

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

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

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


Выпуск записан при поддержке IT-компании AltexSoft.

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

Первая работа в ИТ: как, куда и когда? Результаты опроса

$
0
0

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

Совмещение работы и учебы

Из тех, кто учился на ИТ-специальности, 83% ребят нашли свою первую работу на старших курсах — третьем и выше:

Интересно, что из тех, кто учился на другой, не ИТ, специальности (а это четверть респондентов), большинство — 55% — вошло в индустрию еще во время учебы в вузе:

Первая зарплата

87% респондентов закончили вуз в 2006 году и позже, поэтому приводим данные для этих категорий:

Условия работы

Самым популярным работодателем среди начинающих специалистов оказались аутсорсинговые компании:

Старшекурсники устраиваются сразу на полный день, студенты младших курсов договариваются с работодателями на part-time:

Трудоустройство

Большинство случаев того, как молодые специалисты нашли свою первую компанию, можно свести к следующим 4 вариантам:

Большинство просто прошло собеседование «с нуля», но не стоит отбрасывать и варианты попадания в штат работодателя через курсы/стажировки, а также через рекомендации от друзей или вузовских преподавателей, работающих в компании:

Первая технология

До 2005 года в качестве первой технологии активно выбирали C++, далее пальма первенства перешла к PHP, а после 2013 года — к Java:


И еще 13% — другое.

Python, HTML/CSS и C++ в основном выбрали по зову сердца, Java, C#/.Net и PHP — по расчёту, Scala — и вовсе случайно:

Максимально верны выбранным технологиям остались специалисты Objective-C, Java и C#/.Net:

Мотивация

Выбирать первую компанию не особо приходится — лишь бы взяли :)

Что важно для первого трудоустройства:

Не зарплатами едиными:

Выводы

— В основном молодые специалисты находят свою первую работу на 3 курсе или старше.
— Охотнее всего новичков принимает аутсорсинг (сервисные компании стали первыми работодателями для 42% респондентов).
— Для получения первой работы собственная активность и смекалка подчас важнее, чем хорошие знания специальности.
— 60% специалистов меняет выбранную технологию впоследствии.
— Главной причиной, почему они пошли работать в ИТ, большинство молодых специалистов (76%) назвали интерес к технологиям, а вовсе не зарплаты.

Viewing all 8151 articles
Browse latest View live