Сообщество - Лига программистов
Лига программистов
124 поста 2 068 подписчиков
138

Во все тяжкие: Веб-разработчик с нуля. 6 месяцев

Во все тяжкие: Веб-разработчик с нуля. 6 месяцев IT, Программирование, Карьера, Javascript, Веб-Разработка, Frontend, Web, Длиннопост

Нет. Не весело. И не легко. Но важен подход, от которого будет зависеть степень сложности.


Цель — Senior Frontend Developer.

Язык: JavaScript.

Возраст: 28 лет;

Работа (настоящее время): Junior Frontend Developer (контракт на 3 месяца).


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


Я продолжаю работать над старым проектом и еще как минимум месяц буду им заниматься. Много ли я сделал за последний месяц? Нет, не много. Много ли я понял - думаю да. Есть чем поделиться.


Программирование - сложная сфера, даже не побоюсь сказать, что очень сложная. Но к любому делу нужен правильный подход. Так уж вышло, что я стал именно тем человеком, которого слишком рано подвели к большому и сложному проекту(на мой необъективный взгляд). Это выглядит вот как: 3 месяца я учился работать технически сложноустроенной  лопатой с кучей характеристик и кнопок. Еще не успел до конца не разобраться как следует с этой штукой, как меня подвели к землеройному комплексу из разных крутых и современных технических средств, и сказали - ты тут рулишь всей этой темой. И твоя задача разобраться как оно всё работает, как все устройства взаимосвязаны друг с другом и рыть туннель через вон ту скалу. Дерзай.

И это не весело. Абсолютно.


За последний месяц меня много раз настигало разочарование в себе. Куча мыслей, которые накручивались одна за другой после очередного поражения. А может быть я вообще не создан для этого дела? Наверное я не смогу с этим справиться, наверное это не мое. Вон ребята на ютубе так просто всё делают, у них всё получается, я делаю также - у меня нихера не получается. ОМГ?


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

После этого я возвращаюсь к основам и начинаю изучать основы "Азбуки".


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


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


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


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


1. Познакомился с регулярными выражениями. Сначала начал читать крутую книгу Джеффри Фридл "Регулярные выражения", а потом нашел раздел вот здесь. Этого мне хватило за глаза.

2. На 70% прошел курс Дмитрия Лаврика по Vue JS. Очень крутой, рекомендую.

3. Разобрался на базовом уровне с Vuex. Пользуюсь кстати Vue CLI. Кто писал мне про него - да, спасибо, это спасение :)

4. Углубил основы JS по всем известному учебнику.

5. Прошел несколько уроков по старому курсу JS. Всё никак не могу его закончить.

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

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

8. Начал писать тексты на английском языке. Раз в 2-3 дня сажусь за текстовый документ, открываю рандомайзер слов на английском. Попадается слово(как правило несколько слов) - вокруг них начинаю строить предложения на английском, объяснять их на английском, импровизировать. Задача написать связный текст на 1 страницу вордовского документа, 13 кегль.

По методу Пимпслера прошел 30 уроков и завязал с ним. Скучный он для меня.


По рабочему проекту:

1. Сверстал и внедрил фоторедактор на Vue, за основу взял вот этот готовый компонент. Не все функции еще работают, так как нужен бэк, которого нет, но фронт частично готов.

2. Научился немного работать с VK Api. Пока слабовато, но кое что удалось написать.

3. С Api Instagram так и не разобрался, темный лес для меня.


Такие у меня дела. Как у вас? Есть успехи у того, кто тоже недавно начал похожий путь? Поделитесь - будет очень интересно почитать!


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

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

Начну ходить на собеседования уже через неделю.


Всем успехов, не унывайте и держите хвост трубой!

А я пойду дальше копаться в своем проекте :)

Показать полностью
3

Немного про стандарты транслитерации

Тема транслитерации долго волновала мой ум и казалось что должен быть какой-то ГОСТ или хотя бы логика на данную область. А потом Сбербанк перевыпустил мою карту с другой транслитерацией имени:

Немного про стандарты транслитерации ГОСТ, Транслитерация, Программирование, По фану, Длиннопост

Кто я - Sergei или Sergey? Википедия любезно предоставляет справку по данному вопросу в виде сравнительной таблицы систем транслитерации, изучение которой дало несколько интересных выводов:

* многие транслитерации забыли про букву J в английском;

* зачастую для транслитерации используются символы, отсутствующие на клавиатуре, в том числе диакритические;

* мягкое и твёрдое произношение не везде чётко прослеживается;

* среди этих конкурирующих стандартов отсутствует один, унифцирующий их все.


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

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


Я не стал погружаться в историю вопроса и вообще как-то изучать тему, скажу лишь что я всегда считал логичным следующие комбинации:

ж = j

й = i

и = y

Для мягкого знака я, как и многие стандарты использовал обратный апостроф, а для твёрдого знак выбрал решётку просто потому что. Получилось:

ь = `

ъ = #


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


Буквы, которые могут иметь два варианта написания в рамках одного стандарта заключены в скобки и разделены слэшем, например: й = (e/yo/ye). Буквы, не имеющие транслитерации в рамках стандарта заменены на тире.


Пробуем получившееся:

Немного про стандарты транслитерации ГОСТ, Транслитерация, Программирование, По фану, Длиннопост

Попробовать самому можно тут: https://repl.it/@Melodyn/GOSTs-of-transliteration

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


Сделано в развлекательно-ознакомительных целях, не пытайтесь повторить, это опасно для вашего свободного времени!
Показать полностью 1
407

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

Этот пост я решил опубликовать как ответ на некоторые комментарии к недавнему посту (О хорошем руководителе, а именно, комментарии вида "Где вы находите такие компании? Я сам программист, денег платят мало, отношение фиговое..."  Честно говоря, я N лет назад мог бы написать такой же комментарий. Сейчас не могу :)


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


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


Итак, поехали.


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

Во-первых, государство у нас само по себе деньги платить не очень любит, врачи и учителя и бессмертное «денег нет, но вы держитесь» не дадут соврать.

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

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


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


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


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


В одном профессиональном сообществе даже есть в ходу шутка

"Если ваша должность называется не «Senior Developer» или «Team Lead», а «Инженер 1-ой категории» или «Ведущий специалист отдела информационных технологий», то значит вы где-то свернули не туда"

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

"Концептуальное отличие айтишной конторы от неайтишной заключается, разумеется, в том, что в айтишной конторе ты – будучи программистом, тестировщиком, аналитиком, IT-менеджером, наконец – являешься частью доходной части бюджета (ну, по большей части), а в неайтишной – только лишь расходной его статьёй, причём зачастую одной из самых заметных. Соответственно, к внутренним айтишникам выстраивается соответствующее отношение – как к некоторым нахлебникам, которых мы, бизнес, вынуждены оплачивать из своего кармана, а они ещё и осмеливаются чего-то там себе хотеть."

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


Вторая причина -- технологическое отставание, часто бывает так, что команда программистов вроде что-то разрабатывает, и продукт даже вроде работает, но по факту всё варится в собственном соку в изоляции от окружающего мира, никто особо не саморазвивается, и действительно знающие и талантливые люди там не задерживаются. Увы, подобное я наблюдал своими глазами. Как такое выявить? Можно задавать себе простые вопросы: Используются ли системы контроля версий и баг-трекинга с четко установленным workflow? Есть ли налаженный процесс continuos integration? Есть ли обязательный ли code review при любых коммитах? Приняты и утверждены ли стандарты написания и оформления кода, документирования изменений, соблюдают ли их? Использует ли команда актуальные версии языка, инструментов и библиотек при разработке новых модулей и проектов? Используются ли стандартные фреймворки, и библиотеки, а не новоизобретенных велосипеды при отсутствии обоснованных причин к их изобретению? Пишутся ли тесты, модульные или интеграционные? Если хотя бы на пару из этих вопросов ответ "нет", то это повод хорошо задуматься, а в правильном ли направлении вы движетесь.


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

Во-вторых, опять же, хорошая цитата с обоснованием:

"«Разработка аппаратуры по статистике, это чаще всего, само-окупаемое, само-финансируемое российское предприятие, с российскими же заказчиками, российским рынком сбыта и российским начальником — бывшим инженером возрастом 50+, ранее также работавшим за копейки. Поэтому мысль у него такая: «Я всю жизнь пахал, чтобы я какому-то молодому платил? Перебьется!» Таким образом, сильно больших денег у подобных предприятий нет, а если и есть, то вкладываться они будут отнюдь не в вашу зарплату»."


Ну и в-третьих… В таких местах часто не разделяют программистов и других инженеров. Да, безусловно, программиста тоже можно считать инженером, и даже само понятие «software engineering» как бы намекает. Нюанс в том, что в нынешней ситуации, сложившейся на рынке труда, эти категории очень по-разному оплачиваются. Я не говорю что так и должно быть, я сам считаю что это неправильно, но, увы, на текущий момент это факт: зарплаты «программистов» и других «инженеров» могут различаться в два-три раза, а иногда и больше. И во многих инженерных и околоинженерных предприятиях руководство это не осознает и не хочет осознавать. Поэтому на хорошие деньги, опять же, можно не рассчитывать.


По АСУТПшным пабликам, одно время, ходила картинка со скриншотом вакансий в Питере, которая прекрасно характеризует эту ситуацию:

Что делать, чтобы получать нормальные деньги и работать в комфортных условиях будучи программистом IT, Программист, Работа, Зарплата, Длиннопост

3. Не работайте с военными. Тут все просто, достаточно прочитать вот эту ветвь комментариев: #comment_151089915


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


5. Попробуйте работать в разных типах компаний. Есть большие IT-компании, есть маленькие. Есть стартапы, есть кровавый энтепрайз. Есть "галеры" (аутсорс/консалтинг), есть продуктовые фирмы. В каждом случае есть свои особенности, свои плюсы и свои минусы -- нужно только сравнить всё на своей шкуре, и выбрать то, что по душе.


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


Ну и отдельно добавлю, что не нужно бояться "галер" - так называют фирмы по заказной разработке (оно же аутсорс или консалтинг, самые известные примеры: EPAM, Luxoft, DataArt, и т.д.). Да, там есть свои особенности рабочего процесса, но в любом случае, адекватная галера скорее всего окажется гораздо лучше госконторы или НИИ. Плюс в таких местах, как правило, бывает бешенный boost в профессиональном плане -- а потом, набравшись опыта, можно свалить туда, где теплее и спокойнее.


6. Учите английский. Серьезно. Даже если он сейчас вам особо не нужен


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


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


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


7.

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


8. Не верьте мифам:


Миф 1. "Да сейчас везде плюс-минус одинаково".


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


Миф 2. "В вакансиях пишут фейковые зарплаты, на самом деле таких денег никто платить не будет". Нет, и еще раз нет. IT-это одна из немногих отраслей у нас, где сложилось так, что если в описании вакансии компания пишет, что готова платить специалисту 100-150-200 тысяч, то скорее всего она действительно готова и будет.


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


Миф 4. "Хорошие деньги получают только крутые разработчики, а я посредственность". Это ни что иное, как Синдром Самозванца (https://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D0%BD%D0%B4%D1%80...). Избавляйтесь от него. Не надо думать, что вы чем-то хуже, менее квалифицированнее или еще в чем-то уступаете другим соискателям. И уж тем более не надо основываясь на этих фактах просить зарплату ниже среднерыночной — наоборот, _всегда_ закладывайте сумму хоть немного выше средней, но при этом явно давайте понять, что готовы её обсуждать.


9. Если же все упирается в малое количество вакансий в городе (иными словами, если «других мест», где требуются люди с вашей квалификацией особо-то и нет, или туда не так-то просто попасть)… То повышайте скилл и переезжайте в другой город, если есть возможность. Я лично знаю людей, кто из миллионников переезжал в СПб и Мск сразу с двухкратным повышением дохода, причем даже при переходе на более низкую позицию. Многие компании, кстати, предлагают релокационные пакеты для переезжающих к ним из регионов.


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


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


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

Показать полностью 1
327

Та самая "Мини игра" в консоли да на C#

Многие наверно встречали изображения этой мини-игры.

Та самая "Мини игра" в консоли да на C# Лига программистов, Программирование, Длиннопост, Код

Наш (не?)очень креативный преподаватель по Основам программирования часто кидает подобные задания на практические работы, конкретно эту мне захотелось сделать, и я был достаточно близок, однако задание не завершил, от чего пишу его сейчас дома)

Итак! У нас есть поле X на Y, состоящее из пустых клеток, наша задача - заполнить максимум пространства своими прямоугольниками, которые мы вбиваем на поле броском двух кубиков. Идея проста - реализация .. ха.ха. Для второкурсника колледжа увидевшего код впервые месяц назад - задача не из простых, но я, аки человек, стучащий по клаве не только в играх, в свое время не мало и программировавший, принял это за челлендж.

Справка: Я буду описывать свой процесс разработки этой игры. Ваша реализация может отличатся и вообще за гениальность моего кода я не ручаюсь, не кидайте помидорами хотябы от того, что это мой первый пост :)
Начнем!
Та самая "Мини игра" в консоли да на C# Лига программистов, Программирование, Длиннопост, Код

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

Та самая "Мини игра" в консоли да на C# Лига программистов, Программирование, Длиннопост, Код

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

Та самая "Мини игра" в консоли да на C# Лига программистов, Программирование, Длиннопост, Код

Первый пух и первый прах, как стало ясно Visual Studio Code как то не очень выводит ASCII символы. ну а то и понятно (точнее стало очевидно сразу после попытки). Так же я забыл внести строку с переходом на новую строчку после каждых 25 символов, с кем не бывает. (да?)

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

В игре есть несколько правил: Поочередность ходов, рандомность бросков костей, Ставим только возле своих полей или соответственно при первом ходу только в своем углу.

Первое правило описывается просто:

Та самая "Мини игра" в консоли да на C# Лига программистов, Программирование, Длиннопост, Код

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


Рандомность бросков штука тоже простая, ранее мной уже был описан random, с ним у нас будут выбиваться случайные числа в промежутке Next(N); (от нуля до N).

А вот правило "Ставим только рядом со своими" я пока опущу.

Далее начинаем прописывать сам бросок костей.

Попутно я усложнил вывод для отображения координат (кривого, но все-таки отображения!)

Та самая "Мини игра" в консоли да на C# Лига программистов, Программирование, Длиннопост, Код

Очищаем, выводим рандомные кости, пишем координатами куда ставим блок.

Та самая "Мини игра" в консоли да на C# Лига программистов, Программирование, Длиннопост, Код

Подгоняем цикл игры к новому методу

Та самая "Мини игра" в консоли да на C# Лига программистов, Программирование, Длиннопост, Код

Уже выглядит неплохо! (в ширину одна клетка - теперь 2 символа) Но встает другой вопрос, когда мы игрок 2, нам нужно сначала посчитать куда вообще ставить, если у игрока 1 это вначале 0 и 0, то у второго первый ход вышел на 24 и 22, что не дело, надо сделать вычитание для игрока 2 (25 минус кость). и лучше будет сделать сначала вывод поля, а потом спрашивать куда ставить, для наглядности).

Та самая "Мини игра" в консоли да на C# Лига программистов, Программирование, Длиннопост, Код

Добавляем не сложную вариацию, усложняем отображение (пожалуй оставлю за кадром, мои интерфейсы в коде инфаркт вызывают, но работают)))) )

Та самая "Мини игра" в консоли да на C# Лига программистов, Программирование, Длиннопост, Код

и.... Готово!

Та самая "Мини игра" в консоли да на C# Лига программистов, Программирование, Длиннопост, Код

Внешний вид

Та самая "Мини игра" в консоли да на C# Лига программистов, Программирование, Длиннопост, Код

Ввод координатов установки прямоугольника (от левого верхнего угла прямоугольника у игрока 1, и правого нижнего у игрока 2)

Та самая "Мини игра" в консоли да на C# Лига программистов, Программирование, Длиннопост, Код

*Несколько ходов спустя*


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


В целом, все! Спасибо за прочтение!

Весь код: https://pastebin.com/6Xa17Xef

Принимаю конструктивную критику, а еще лучше: варианты улучшения!

Показать полностью 12
66

Во все тяжкие: Веб-разработчик с нуля. Неделя № 5

Во все тяжкие: Веб-разработчик с нуля. Неделя № 5 IT, Карьера, Web frontend, Длиннопост

Цель – Senior Frontend Developer.
Язык: JavaScript.

Исходные данные:
Возраст: 28 лет;
Образование: высшее, инженер ПГС;
Работа: менеджер по продажам (последний месяц – IT сфера, но еще менеджер, не разработчик).

Решение принято, отступать некуда. Да и куда можно отступать? Хотя, наверное, многие уже состоявшиеся специалисты так и ждут удобного случая, чтобы сказать: «Не лезь с*ука, она же тебя сожрет.» Сожрёт? – Да и пусть, мне терять нечего.

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

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

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

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

Уровень мотивации: 8 баллов (из 10).

Режим тренировки основных навыков (ежедневные занятие):
1) Подъем в 06:00. Утренние занятия перед работой – 2 часа. Изучение теоретических материалов (платные и бесплатные курсы);
2) Чтение 30 стр. книги по IT тематике;
3) Подписка на одно образовательную структуру (выполнение 10 заданий по верстке каждый день);
4) Отработка практических навыков после 19:00. Обычно удается выделить по 3 часа.

Режим тренировки дополнительных навыков:
- чтение 1 главы адаптированной книги на английском.
- 10 минут в день — тренировка печати слепым методом.

Сознательные добровольные (временные) ограничения:
- Не курю;
- Не пью алкоголь.

Тренировочная система корректируется примерно раз в 2-3 недели, на данный момент навыки только добавлялись, либо корректировалось время. Корректировка – это обязательная вещь, дабы не сбиться с курса. Возможно, в будущем времени изменится язык программирования или даже область программирования, загадывать не буду, на данный момент иду в фронтент.

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

Итоги пяти недель:
- изучено много видеороликов и прочитано много статей о работе разработчика со всевоможных сторон и вглядов (частично было сделано еще до принятия решения). Понимаю минусы и плюсы;
- прочитана книга Джона Симнеза – «Путь программиста»;
- прочитано 100 страниц книги Райана Бенедетти – «Изучаем работу с JQuery»;
- на базовом уровне разобраны HTML и CSS, сверстано порядка 9 простых одностраничников, среди них адаптивные и не очень адаптивные;
- пройдено 30% курса по верстке;
- разобраны примитивы работы с командной строкой;
- мой Github.

Проблемы с которыми столкнулся (все будут решены по ходу тренировки):
- Нужно осваивать работу с командной строкой и Linux (в частности работу с Git);
- Не смог сделать parallax эффект для сверстанной страницы;
- Не удалось добиться адаптивности последней работы;
- В книге «Изучаем работу с JQuery» есть неработающие примеры, либо я криворукий(скорее второе). Надо разбираться.

В целом всё идет по плану, первые 3 недели была каша в голове касательно верстки по мастер классам из ютуба, однако теперь, благодаря структурированному курсу – всё встает на свои места. Кстати, по поводу курения и алкоголя - это волшебство какое-то. Не мог бросить курить 2 года, что только не пробовал, а тут как решение принял - как отрезало. С алкоголем тоже все просто - не тянет особо.

Пока что самое сложное из тренировки – это подъем в 06:00 в выходные дни. Вернее не подъем, встать-то очень легко, а вот не лечь спать в обед – это сложно.

Увидимся через неделю.

Показать полностью
117

Опубликованы утилиты для DDoS-атак с применением Memcached

Одним из главных событий последних недель можно назвать мощнейшие DDoS-атаки, достигавшие мощности 1,7 Тб/сек за счет Memcached-амплификации. Теперь в сети были опубликованы PoC-утилиты для организации таких атак, а также IP-адреса 17 000 уязвимых серверов. Но практически одновременно с этим специалисты компании Corero Network Security сообщили, что нашли способ защиты.

Напомню, что злоумышленники научились использовать для амплификации DDoS-атак серверы Memcached, что позволяет усилить атаку более чем в 50 000 раз. Данный метод впервые был описан (PDF) в ноябре 2017 года группой исследователей 0Kee Team из компании Qihoo 360. Тогда эксперты предрекали, что из-за эксплуатации Memcached-серверов мы увидим DDoS-атаки мощностью вплоть до 2 Тб/сек.

Вновь о таком методе амплификации заговорили в конце февраля и начале марта 2018 года. Тогда компании Qrator Labs, Cloudflare, Arbor Networks и Qihoo 360 практически одновременно сообщили о том, что преступники действительно начали использовать Memcached для амплификации DDoS-атак, и отчитались от отражении атак мощностью 260-480 Гб/сек. Затем на GitHub обрушилась атака мощностью 1,35 Тб/сек, а также были зафиксированы случаи вымогательских DDoS-атак, тоже усиленных при помощи Memcached.

Эксплоиты

Сразу три proof-of-concept утилиты для организации DDoS-атак с амплификацией посредством Memcached были опубликованы в сети.

Первая утилита — это написанный на Python скрипт Memcacrashed.py, который сканирует Shodan в поисках уязвимых Memcached-серверов. Скрипт позволяет пользователю сразу же использовать полученные IP-адреса для усиления DDoS-атаки. Автором данного решения является ИБ-специалист, ведущий блог Spuz.me.

Опубликованы утилиты для DDoS-атак с применением Memcached IT, Ddos, Github, Длиннопост, Hack
Опубликованы утилиты для DDoS-атак с применением Memcached IT, Ddos, Github, Длиннопост, Hack
Опубликованы утилиты для DDoS-атак с применением Memcached IT, Ddos, Github, Длиннопост, Hack

Вторая утилита была опубликована на Pastebin еще в начале текущей недели, ее автор неизвестен. Инструмент написан на C и комплектуется списком из 17 000 IP-адресов, принадлежащих уязвимым Memcached-серверам. Скрипт запускает DDoS-атаку, используя адреса из списка для ее амплификации.

Опубликованы утилиты для DDoS-атак с применением Memcached IT, Ddos, Github, Длиннопост, Hack

К сожалению, невзирая на терабитные DDoS-атаки, количество уязвимых Memcached-серверов в сети убывает очень медленно. К примеру, известный исследователь и глава GDI Foundation Виктор Геверс (Victor Gevers) уже более двух лет пытается исправить сложившуюся ситуация, связывается с владельцами проблемных серверов и объясняет им, как обезопасить себя и окружающих.

«Очень жаль видеть, что после двух лет предупреждений DDoS-атаки все-таки начали происходить. Иногда очень не хочется оказаться правым, — рассказал Геверс журналистам Bleeping Computer. — Находить владельцев [уязвимых серверов], предупреждать их о рисках и заставлять действовать, это очень практически тщетно. Дело в том, что риска утечки данных нет, и люди зачастую вообще не отвечают на наши электронные письма.

Угроза мощных DDoS-атак никуда не исчезнет. Теперь, когда написаны PoC-решения и опубликованы готовые списки [уязвимых серверов], уже на следующей неделе нас ожидает значительный рост амплифицированных посредством Memcached атак».

Защита

Хочется надеяться, что мрачные предсказания Виктора Геверса не воплотятся в жизнь, ведь далеко не все ИБ-специалисты работали над PoC-утилитами для организации атак. Например, эксперты компании Corero Network Security искали возможные способы решения проблемы и сообщают, что им удалось найти «рубильник», способный прекратить Memcached-DDoS.

Еще неделю назад один из разработчиков Memcached предложил использовать для защиты от уже начавшихся атак команды flush_all и shutdown, которые жертва может отправить на серверы, с которых исходит DDoS.

For what it's worth, if you're getting attacked by memcached's, it's pretty easy to disable them since the source won't be spoofed. They may accept "shutdownrn", but also running "flush_allrn" in a loop will prevent amplification.

— dormando (@dormando) February 27, 2018

Этот совет оставался незамеченным вплоть до 7 марта 2018 года, пока специалисты Corero Network Security не опубликовали пресс-релиз, посвященный Memcached-атакам. Разработчики компании пишут, что их решение для защиты от DDoS-атак было обновлено и теперь содержит «стопроцентно эффективный» способ их пресечения. Как не трудно догадаться, специалисты взяли на вооружение совет разработчика Memcached, и используют flush_all, подчеркивая, что никаких минусов у данного метода просто нет.

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

Также стоит отметить, что разработчики Memcached выпустили обновленную версию своего продукта, Memcached v1.5.6, в которой была исправлена уязвимость CVE-2018-1000115. Дело в том, что по умолчанию Memcached-серверы доступны через порт 11211, и именно эту особенность злоумышленники используют для амплификации атак. Своим исправлением разработчики изменили конфигурацию по умолчанию, отключив протокол UDP «из коробки».

Огласка в СМИ и патч, выпущенный разработчиками, похоже, делают свое дело. Так, специалисты компании Rapid7 сообщили, что количество уязвимых Memcached-серверов с открытым портом 11211 все же начало снижаться. По данным компании, 1 марта 2018 года их число равнялось 18 000, но уже 5 марта 2018 года оно снизилось до 12 000.

Похожую картину наблюдает и вышеупомянутый Виктор Геверс, о чем эксперт сообщил у себя в Twitter. Он пишет, что утром 8 марта 2018 года количество уязвимых серверов равнялось 107 431, согласно статистике Shodan, и постепенно продолжает снижаться.

Although there were 107,431 Memcached servers in Shodan this morning. The population Memcached is slowly but steadily shrinking. Servers which where vulnerable this morning are now closed 8 hours later. We still have a long way to go but progress is being made. pic.twitter.com/nqAFt4BAmG

— Victor Gevers (@0xDUDE) March 7, 2018

Показать полностью 3
67

Во все тяжкие: Веб - разработчик с нуля. Неделя № 6

Во все тяжкие: Веб - разработчик с нуля. Неделя № 6 IT, Карьера, Web frontend, Длиннопост, Верстка

Если можно проснуться в другом времени и в другом месте, нельзя ли проснуться другим человеком? (с) Чак Паланик

Цель — Senior Frontend Developer.
Язык: JavaScript.

Исходные данные:
Возраст: 28 лет;
Образование: высшее, инженер ПГС;
Работа (настоящее время): менеджер по продажам.

Итак, пролетела еще одна неделя:

Уровень мотивации: 8 баллов (из 10).

Режим тренировки основных навыков (ежедневные занятие):
1) Подъем в 06:00, отбой в 00:00 – 00:30. Утренние занятия перед работой — 2-2,5 часа. Практика. На данном этапе — верстка макетов;
2) Чтение 30-50 стр. книги по IT тематике или связанной с ней;
3) Подписка на HTML Academy (выполнение 10 заданий по верстке каждый день);
4) Изучение теории и практика после 19:00 (после работы). Обычно удается выделить по 3 часа.

Режим тренировки дополнительных навыков:
- Чтение 1 главы адаптированной книги на английском.

Сознательные добровольные (временные) ограничения:
1) Не курю
2) Не пью алкоголь

Итоги шестой недели:
1) Прочитана книга Брэда Сталберга и Стива Магнесса «На пике. Как поддерживать максимальную эффективность без выгорания». Годная книга не только для программистов. О самоменеджменте;
2) Прочитано 100 стр. книги Уильяма Пандстоуна «Найти умного. Как проверить логическое мышление и творческие способности кандидата». Полезная книжка для кругозора и в целом для понимания некоторых областей и как бывает (бывало) в IT;
3) Изучено и разобрано еще около 80 страниц книги Райана Бенедетти — «Изучаем работу с JQuery», разобрал примитивные функции и работу с условиями;
4) Пройдено 80% курса по верстке;
5) Углубил работу с Chrome DevTools. Изучил новые функции и расширения. Думаю по-тихоньку заняться изучением спецификации, ведь это один из основных интрументов веб-разработчика. Только на русском языке не нашел - это вызов? Нашел интересную подборку материалов для верстальщиков от Алексея Крекотуна;
6) Всю неделю я верстал один проект. На данный момент это мой самый большой проект, там более 1000 строчек кода. К сожалению из-за ошибок в начале, верстка идеально открывается на моем экране (15”) и на более широких, но адаптивности для мобилок добиться не удалось. Обида. Чуть крыша не поехала вчера, когда понял это, в итоге целый день сидел бился с макетом. В итоге оставил как есть. Сначала изучу как делать адаптивность правильно.

Проблемы с которыми столкнулся, выводы и корректировки:
1) Верстка идет проще, уже могу сверстать практически любой элемент, который может использоваться на стандартном сайте. То есть, статическую картинку на свой монитор сверстаю. Но к сожалению для того, чтобы сайт был адаптивен и доступен, такой способ не сработает. Нужно верстать определенный элемент определенным способом, иначе при смене девайса все поедет в далекие дали. В общем, пока всё плохо;
2) Понимаю, что двигаюсь очень медленно, в рабочие дни не удается выделять более 4-5 часов для тренировки навыков. Хочется больше практики;
3) С утра изучать теорию тяжело — засыпаю. А вот практика с утра идет на ура, 2 часа пролетает как 10 минут. Поэтому, отныне с утра только практика, а вечером — теория и практика, если нужно;
4) Убрал тренировку печати слепым методом, так как пальцы привыкли к расположению и осталось внедрить навык в процессе деятельности. А это сложнее, так как по привычке печатаешь всё равно как раньше. Кстати, ссылка на тренажер;
5) Хочу перейти уже к изучению и практике JS, так как знаю, что в той компании, куда я планирую устроиться не придется заниматься версткой, но не могу себе позволить остановиться на полпути. Надо освоить верстку чуть глубже, в частности адаптивность. А это значит, что еще 1-2 недели я буду верстать макеты сайтов;
6) Принял решение, что воскресенье — день свободный от тренировки, выходной. Хоть пока не было желания все воскресенье отдыхать. Зато на сон в воскресенье уделяю не 5-6 часов, а 8-9. Набираю силы перед рабочей неделей. Отдыхать очень важно — один из выводов прочитанной книги Брэда Сталберга;

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

Увидимся через неделю.

Показать полностью
41

Во все тяжкие: Веб-разработчик с нуля. Неделя № 7

Во все тяжкие: Веб-разработчик с нуля. Неделя № 7 IT, Программирование, Карьера, Javascript, Веб-Разработка, Frontend, Web, Длиннопост

Если вы хотите иметь то, что никогда не имели, вам придётся делать то, что никогда не делали.

Цель — Senior Frontend Developer.
Язык: JavaScript.

Исходные данные:
Возраст: 28 лет;
Образование: высшее, инженер ПГС;
Работа (настоящее время): менеджер по продажам.

Спасибо всем за поддержку и советы! Еще одна продуктивная неделя позади:

Уровень мотивации: 8 баллов (из 10).

Режим тренировки основных навыков (ежедневные занятия, кроме Вс):
1) Подъем в 06:00, отбой в 00:00 – 00:30. + 1 час на сон вечером;
2) Утренние занятия перед работой – 2 - 2,5 часа, практика;
3) Чтение 30 - 50 стр. книги по IT тематике или связанной с ней (в среднем - одна книга в неделю);
4) Подписка на HTML - Academy (выполнение 10 практических заданий каждый день);
5) Изучение теории и практика после работы, с 21:00 до 00:00.

Режим тренировки дополнительных навыков:
- Чтение 1 главы адаптированной книги на английском + аудирование (в среднем 30 мин. в день).

Сознательные добровольные (временные) ограничения:
1) Не курю;
2) Не пью алкоголь.

Итоги седьмой недели:
1) Прочитана книга Уильяма Пандстоуна «Найти умного. Как проверить логическое мышление и творческие способности кандидата». Книга скорее для кругозора, нежели для каких-то конкретных знаний и навыков. Не знаю зачем, но теперь я знаю много головоломок, которые использовались при собеседовании в компанию Microsoft;
2) Прочитана небольшая книжка Кирилла Ширинкина «Самообразование веб-разработчика». Кое-что выделил для себя полезного, некоторые вещи из книги устарели;
4) Закончил курс «Базовый по HTML и CSS»;
5) Разобрался с GIT. Теперь работаю с Github из консоли, а не через десктопную версию;
6) Практически доделал тренировочный проект по верстке. Не адаптивный, но изображения оптимизированы, добавлен файл минификатор и прогнал все это дело через autoprefixer. Также добавлены всплывающие окна посредством JS + встроена карта.
7) Разобрался с SVG графикой, порисовал кодом. Может и не пригодится, но всё-таки это база.

Проблемы с которыми столкнулся, выводы и корректировки:
1) Начало недели было очень тяжелое, так как при таком режиме сна к вечеру нервная система разгоняется и не получается заснуть! То есть организм уставший, не спал с 06:00, но мозг работает, уснуть не удается раньше 01:00, а вставать уже в 06:00, таким образом спишь всего 5 часов - это уже сильно влияет на продуктивность, делать ничего не хочется после работы. Поэтому было принято решение по оптимизации режима. Добавил 1 час сна вечером с 20:00 до 21:00 перед тем, как сесть за практику. Да...пришлось убрать вечерние залипы в ютуб. Но что бы вы подумали? Это простое решение все исправило! И более - уверен, если бы я добавил этот час с утра - такого эффекта бы не было. А вот делать такой перерыв 30-60 минут на сон в течение дня (у меня же - вечер) - это the best (Отсылка к книге Брэда Сталберга и Стива Магнесса «На пике...»)
2) Техническая проблема - комп слабый, не тянет многие вещи при одновременном запуске. Этот вопрос решу позже, пока терпимо;
3) Касательно освоения материала - проблем нет. Было конечно много загвоздок, которые пришлось нещадно гуглить. Причем, в примере всё работает, а у меня ничего не работает, wtf? Поэтому приходилось искать альтернативные пути решения. Но это, я думаю, норма.
4) И да, наконец-то, перехожу на освоение  языка Java Script. На следующей неделе я еще буду верстать один более сложный проект, но материалы изучать уже буду по JS. В целом, верстку я буду углублять и поддерживать, но уже большую часть времени буду уделять языку JS.

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

Показать полностью
69

Во все тяжкие: Веб-разработчик с нуля. Неделя № 10

Во все тяжкие: Веб-разработчик с нуля. Неделя № 10 IT, Программирование, Карьера, Javascript, Веб-Разработка, Frontend, Web, Длиннопост

«Если не спросить — никогда не узнаешь, если знаешь — нужно лишь спросить». (с)


Цель — Senior Frontend Developer.

Язык: JavaScript.


Исходные данные:

Возраст: 28 лет;

Образование: высшее, инженер ПГС;

Работа (настоящее время): менеджер по продажам.


Уровень мотивации: 7 баллов (из 10).


Режим тренировки основных навыков (ежедневные занятия, кроме вс):

1) Подъем в 06:00, отбой в 00:00 – 00:30. + 1 час на сон вечером;

2) Утренние занятия перед работой – 2 - 2,5 часа, практика;

3) Чтение 30 - 50 стр. книги по IT тематике или связанной с ней (в среднем - одна книга в неделю);

4) Подписка на HTML - Academy (выполнение 10 практических заданий каждый день);

5) Изучение теории и практика после работы, с 21:00 до 00:00.


Режим тренировки дополнительных навыков:

- Чтение 1 главы адаптированной книги на английском + аудирование (в среднем 30 мин. в день).


Сознательные добровольные (временные) ограничения:

1) Не курю;

2) Не пью алкоголь.


Итоги десятой недели:

1) Прочитано еще 100 страниц книги Питера Гудлифа «Ремесло программиста // Практика написания хорошего кода»;

2) Всю неделю решал простые задачки на знание алгоритмов и структуры данных. И дальше углублял знание базы по JS;

3) Зарегистрировался на codewars, начал решать задачки там;

4) Прошел Workshop по работе с canvas, вот что реализовано на данном этапе. Даже пришлось развернуть локальный сервер на danwer(да, мама, я программист), хотя говорят, что danwer -  отголосок прошлого века;

5) Начал пользоваться советами на Тостер. Если бы не ребята, что там помогают, то  вообще печаль была бы. Нелепую опечатку можно искать по 2-3 часа;

6) Прошел базовый курс по логике. Вот здесь, если нужно;

7) Начал верстать проект. Через пару дней закончу.  Будет адаптивный +  фильтр и новые фичи.


Проблемы с которыми столкнулся, выводы и корректировки:

1) На пару дней сломал график. Вечером залип не на час, а на 2,5, поэтому лег поздно, с утра встал поздно, короче старая песня :) Но потом выровнял. Как же всё-таки сложно сове стать жаворонком. Но я не сдаюсь;

2) Нужен новый комп. Прям реально нужен новый комп. Одновременно chrome и photoshop не работают, приходится при верстке пользоваться firefox. Но там не такой удобный отладчик;

3) Да, до этого не писал. Как я практикую английский? Кому интересно: на сайте есть адаптивные книжки с их аудиоверсиями. По уровням сложности. Я сначала читаю одну главу и перевожу, параллельно записывая новые слова, а после слушаю и закрепляю все новые слова на слух. Таким образом прокачиваю чтение, перевод и понимание речи на слух. Хотя бы на базовом уровне. Планирую позже переходить на подкасты, ролики и т.д. Надо бы еще учиться разговаривать, но это позже;

4) Кстати, провел эксперимент - нашел 5 вакансий на junior js, откликнулся и попросил тестовые задания. 3 компании из 5 пригласили и скинули тестовые задания. Но задания оказались сложные, а одно из них вообще было со знанием node.js. Так, что качаем уровень дальше и можно очень легко устроиться джуном.

Планирую через 3-4 месяца официально стать Junior Frontend Developer.



Желаю удачи и Вам во всех своих начинаниях! Увидимся через неделю!

Показать полностью

Мы ищем frontend-разработчика

Мы ищем frontend-разработчика

Привет!)


"Шо? опять?"

Задач так много, что мы не успеваем! И вот нам снова нужны frontend-разработчики!

Как уже стало традицией, мы предлагаем небольшую игру, где вам необходимо при помощи знаний JS, CSS и HTML пройти ряд испытаний!


Зачем всё это?

Каждый день на Пикабу заходит 2,5 млн человек, появляется около 2500 постов и 95 000 комментариев. Наша цель – делать самое уютное и удобное сообщество. Мы хотим регулярно радовать пользователей новыми функциями, не задерживать обещанные обновления и вовремя отлавливать баги.


Что надо делать?

Например, реализовывать новые фичи (как эти) и улучшать инструменты для работы внутри Пикабу. Не бояться рутины и удаленной командной работы (по чатам!).


Вам необходимо знать современные JS, CSS и HTML, уметь писать быстрый и безопасный код ;) Хотя бы немножко знать о Less, Sass, webpack, gulp, npm, Web APIs, jsDoc, git и др.


Какие у вас условия?

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


Ну как, интересно? Тогда пробуйте ваши силы по ссылке :)

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

Удачи вам! ;)

Показать полностью
Отличная работа, все прочитано!