Как начать программировать в парах / Хабр
Привет. Меня зовут Дима Вдовин. В предыдущей статье я излагал теорию о парном программировании и говорил о том, какие плюсы вижу в этом подходе. Сегодня я бы хотел продолжить эту тему и поговорить о том, как начать практиковать парное программирование у себя в команде. Полный перечень всех плюсов есть в предыдущей статье, а тут мы просто тезисно вспомним, что нам дает парное программирование.
- Обучение и онбординг новичков.
- Шеринг кода/процессов и обмен опытом.
- Пара решает проблему быстрее и реже обращаются за помощью.
- Повышение производительности.
- Сплочение коллектива.
- Увеличение скорости ревью.
Последний пункт стоит пояснить отдельно. Так как при работе в паре процесс ревью, фактически, проходит в фоновом режиме, то и часть ошибок отсеивается еще на этапе написания кода. Благодаря этому итераций на ревью становится значительно меньше. Тут хорошо подходит вот эта картинка:
Но давайте начнем с грустного и поговорим о том, что может помешать начать внедрять парное программирование в своей команде.
Если в двух словах, то это чаще всего это недостаточная «зрелость» команды и влияние некоторых стереотипов. Для себя я выделяю следующие популярные стереотипы и причины, которые мешают начать практику парного программирования:
- Если посадить двух программистов за два разных компьютера, то они напишут в два раза больше кода. Этот стереотип еще имеет форму «девять женщин могут родить ребенка за один месяц».
- Мы же наняли еще одного программиста, значит можем взять на N задач больше в спринт.
- Один я пишу код лучше и быстрее, нежели чем когда кому-то объясняю, что делать и как я это вижу.
- Во время планирования задачи распределяются не на команду, а индивидуально в виде «Петя возьмет таск X, а Коля будет делать таск Y».
- Конфликты в команде.
Но есть и хорошая новость. Парное программирование не нужно внедрять сразу на всю команду.
Для начала стоит опробовать его всего на одной паре разработчиков, которая возьмется за этот эксперимент. Безусловно, вам будет нужен человек, который займется агитацией на эту тему внутри команды, будет предлагать попробовать парное программирование в том или ином виде. Кстати, о возможных парах я писал в предыдущей статье, и это далеко не всегда два кодера. Так вот, если вы найдете пару разработчиков, которые будут готовы послужить примером, то потом по цепочке положительного фидбека эта практика распространится среди других участников команды.
Конечно тут тоже есть свои нюансы.
Первое. Как показывает мой опыт, большинству людей парное с первого раза не заходит. Очень часто со старта у людей, впервые пробующих парное программирование, совсем ничего не получается. И это нормально.
Это правило актуально и для парного программирования, потому что тут мы одновременно имеем дело и с написанием кода, и с абсолютно новым типом коммуникации между членами команды. Как итог, чем больше разработчики практикуют парное программирование, тем лучшие результаты оно дает. Плюс сами девелоперы начинают получать удовольствие от совместной работы, больше проникаются этим подходом.
Второе. Крайне важны задачи, с которых наши разработчики начнут практиковать парное программирование. И вот тут у меня, к сожалению, нет однозначных рекомендаций. Какие-то пары идеально раскрываются при работе над ультра-хардкорными задачами, а каким-то разработчикам нужно поэтапно двигаться от элементарных тасков к более сложным.
Кому-то больше заходит попробовать парное программирование на мелких тасках. Мотивация тут простая: посмотреть что это и как работает, так сказать буквально проникнуться ситуацией работы «плечом к плечу» с коллегой. Ну а кому-то элементарные задачи совсем не заходят.
Некоторых разработчиков буквально выводит из себя необходимость тратить время на совместную работу над простыми тасками и они придерживаются мнения, что такую элементарную работу они бы сделали намного быстрее и качественнее в одиночку. Таким людям, очевидно, лучше зайдет какая-то большая и сложная задача, где надо крепко подумать над разработкой подхода и архитектуры. В такой ситуации они смогут увидеть преимущества парного программирования во всей красе и понять, что вдвоем верное решение можно найти действительно быстрее.
Если вы решили все же попробовать парное программирование в своей команде, то вот вам пару советов и наблюдений, с чего лучше начать:
- Следите за тем, чтобы девелоперы менялись местами. Смена ролей помогает держать людей в тонусе и погруженными в процесс решения задачи.
- Не рекомендую делать очень длинные сессии, причем как в одной роли, так и сессию парного программирования целиком.
Сама сессия парного программирования отнимает достаточно много сил и ресурсов человека. Находиться в ней очень долго тяжело, особенно если вы только начинаете внедрять эту практику в команде. На мой взгляд, на старте вся сессия не должна превышать нескольких часов. - Не стоит пытаться писать в паре каждый день и хвататься при этом за любые задачи спринта. Лучше заранее определить, на каких тасках вы попробуете метод парного программирования. Это может быть всего несколько задач из целей спринта. Как подобрать эти задачи я писал выше — это зависит от самих разработчиков.
- Не стоит формировать пары случайным образом. К этому вопросу надо подойти с ответственностью. По моему опыту, хорошо срабатываются пары со схожим темпом работы. Также хорошо показывают себя люди, которые давно работают вместе и хорошо знают друг друга. Ну и конечно же, если посадить за парное программирование человека, который не хочет этим заниматься, то ничего не получится.
- Внутри команды/компании должен существовать четкий code style и согласованные подходы к разработке. Это нужно, чтобы во время сессии парного программирования разработчики не тратили время на споры о том, как должен быть оформлен код и как его вообще стоит писать.
Теория это хорошо, но как это реализовать физически?
Во времена до пандемии с реализацией практики парного программирования было проще. Два разработчика садились за один стол или шли в переговорку с большим монитором или телевизором, а в процессе работы просто передавали друг другу ноутбук/клавиатуру. И я не просто так упомянул телевизор.
Главное условие организации процесса парного программирования — возможность свободно читать код для обоих участников пары. Именно поэтому я кроме большого монитора предлагаю рассмотреть вариант с использованием телевизора, чтобы штурман не сидел боком или не заглядывал драйверу через плечо. Ведь личное пространство никто не отменял.
Сейчас же, с приходом массовой удаленной работы, просто сесть рядом стало проблематично, но желание продолжать практиковать парное программирование оказалось сильнее. Не могу сказать, что я видел и пробовал очень много решений для организации парного программирования онлайн, но из того, с чем имел дело, ничего конкретного порекомендовать не могу. Тут надо отметить, что мы в команде используем стек kotlin/java + JS/TS и используем продукты от JetBrains. И вот путей удобной организации парного программирования с использованием их продуктов я не нашел. Поэтому вначале мы использовали пусть и не самый удобный, но простой способ — созвон через Zoom. Драйвер шарил свой экран, штурман мог видеть, что пишет драйвер, и комментировать это в процессе.
Стоит сделать оговорку, что управление чужой машиной через Zoom у нас запрещено службой безопасности. Это ограничение приводило в процессе к ряду неудобств. Конкретно — без удаленного управления сложно делать частые смены ролей. По этой причине мы начали декомпозировать задачи на более мелкие, чтобы ее можно было выполнить за одну сессию в роли драйвера, а менялись ролями уже при переходе от одной задачи к другой.
Проблема такого подхода в том, что разбить задачу на мелкие части не всегда возможно. Из-за этого иногда приходилось пребывать в одной роли достаточно долго.
Иногда мы поступали иначе: драйвер делает коммит в новую ветку того, что успел написать. Мы ставили статус WIP этому коммиту (Work in progress) и после смены ролей новый драйвер пулил эту ветку и продолжал писать код. Такой вариант тоже не очень хорош, так как появлялось слишком много коммитов, которые, по сути, были не работающими. Конечно, потом можно было бы их сквошить, но все равно — подход так себе.
В целом же, если у вас нет ограничений на использование софта с функцией демонстрации и удаленного управления экраном, то вы с подобными проблемами не столкнетесь и сможете меняться ролями с той частотой, с которой вам будет нужно.
В итоге мы пришли к новому продукту JetBrains, который они выпустили в бета-тест. Речь об инструменте для совместного программирования «Code with me». Он позволяет устраивать удаленные сессия парного программирования с совершенно новым уровнем комфорта. Несколько пользователей одновременно может писать в разных местах одного файла или в разных файлах, либо «синхронизировать» свои фокусы ввода. Плюс вы нормально видите «дерево» всего проекта, все его классы и файлы — это очень полезно и помогает в работе. Если интересно, то посмотреть можно тут.
Конечно, для других инструментов тоже есть подобные решения. Я видел что-то похожее для Atom, Visual Studio и других. Но так как мы пользуемся продуктами JetBrains, то что-то конкретное я могу сказать только про них. Если вы пользовались решениями, похожими по описанию на «Code with me» — поделитесь в комментариях.
Вместо морали
Я считаю, что самое главное — это не нужно заставлять людей практиковать парное программирование, они должны прийти к этому самостоятельно. Только так разработчики смогут почувствовать плюсы и выгоды этого метода. Также надо признать, что не каждый может работать в паре, либо пару разработчику тяжело найти. Так бывает и это нормально. Люди, задействованные в парном программировании, должны «подходить» друг другу.
Программировать с нуля. «Сейчас» — самое подходящее время, чтобы начать / Хабр
(Иллюстрации к статье А.П. Ершова «Программирование — вторая грамотность»)
Стив Джобс не написал ни строчки кода, Билл Гейтс — написал. Пол Грэм — первоклассный программист, Питер Тиль — юрист по образованию, сооснователь PayPal и владелец Palantir (написал ли он что-нибудь?), а Илон Маск в детстве написал свою игру и успешно её продал.
Никита truesnow из #tceh сказал мне, что на курсе «Врубаемся в Ruby» они научат программировать любого человека, даже с нуля. Я спросил его: «А с гуманитарием справитесь?» И мы задумались, были ли случаи, когда «гуманитарий» выучил язык программирования?
На ум сразу пришел бомж-программист, но после успеха с его приложением он предпочёл остаться «дзен-монахом». Есть ли еще примеры? Вдохновляющий пример, что научиться кодить может каждый — слепой программист. Когда я прочитал статью на Хабре «Смотря на код с закрытыми глазами», то понял, что нет преград, кроме собственных отмазок.
А у меня для вас есть три истории из моей жизни. Просто три истории.
История первая — ламер
Слово «ламер» я прочитал в «Компьютерре». Там давалось такое определение: «Ламер — отнюдь не безграмотный человек, не умеющий (как бы это помягче выразиться?) программировать». Окрылённый истиной я побежал и рассказал об этом друзьям-одноклассникам, но они предпочли поиграть в футбол, вместо того чтобы освоить суперспособности. Забавно, что потом все они зарабатывали программированием деньги, а я нет. Через неделю я записался в краевую станцию юных техников (КСЮТ), где был кружок по программированию. Там для новичков давали qbasic. А боги прогали на C.
Так вот как-то один из «богов» подозвал меня к монитору и спросил: «Так сможешь?». И показал прогу, которая ждала, когда пользователь введёт в командной строке любой символ, а потом поворачивала его на 90 градусов. Я был ошеломлен.
Наверное, меня это так зацепило, что я решил — во что бы то не стало, выучить все что можно, и стать самым крутым программистом. Заряда хватило на годы. Этот случай я позабыл, прошло несколько лет, и, вспомнив о нем, я написал не больше десятка строк на basic`e минут за 20. Программа работала идеально.
Вывод. Личные отношения с падаванами очень важны. Возможно, ваша простенькая программа определит судьбу человека и повлияет на выбор жизненного пути.
История вторая — первый шифр
Идея пришла внезапно. Пришла так, что не смог заснуть и сел кодить. Из шифров тогда я знал только про пляшущих человечков из Шерлока Холмса (а это класс 8 или 9, занимался программированием полгода-год). Мне захотелось написать шифр, чтобы нельзя было так просто его вскрыть простым анализом.
Задумка была следующая: каждой букве русского алфавита мы приписываем массив из 5 символов в виде букв русского и английского языка, спецсимволы. При шифровании мы рандомно выбираем один из них. Получалась «расширенная» простая замена. Это сейчас мне понятно как его ломать, но тогда для меня была запредельная высота. Через 3-4 года я поступлю на компьютерную безопасность.
Вывод. Решать интересные задачи — это круто. Но гораздо круче придумывать и находить задачи самому.
История третья — триумф BASIC`а
Я уже 2 года «занимался» программированием. И тут в школе появилась… информатика. Меня почему-то отправили в слабую группу. Как узнал позже, моё лицо не понравилось преподавательнице и она посчитала, что я тупой. Мои друзья ворвались в кабинет к директору и сказали, что я занял призовое место на краевой олимпиаде по программированию. Начались, разборки, но мне было так пофиг, что я остался в слабой группе, где учили вводить цифры в Exсel. За первую неделю я сдал всю программу и спокойно ходил играть в Diablo 2 в компьютерный клуб.
А на олимпиаде был забавный случай. Разрешённые языки — C, Pascal, а я то был прожжённым бейсичником. Выкрутился. Задачу принимали в виде exe’шника, а я подсуетился и нашёл бейсик, который кует exe’шники. Программы проходили тесты, а сами тесты принимались на серваке. Одна задача была сугубо вычислительная. Давались координаты центров и радиусы двух окружностей. Требовалось выдать взаимное расположение окружностей в текстовом виде: пересекаются, касаются, одна в другой, совпадают, и прочие.
С формулами было возиться лень, и недавно я как раз разбирался с графикой. Задачу решил графически, рисовал окружность одним цветом, а потом «сканировал» попиксельно по второй окружности, втыкаюсь ли я в уже окрашенный пиксель. Был большой страх, что прога не сможет работать на серваке без монитора, но все обошлось — 10 тестов из 10. На разборе задач был звездный час. Полсотни человек решили задачу один в один как автор, какого же было их удивление, когда я рассказал свой способ.
Вывод. Школа — зло. Результат — круто. Нестандартное мышление — прикольно. Обходной путь есть всегда.
Зачем взрослым учиться программировать
У меня есть три ответа на этот вопрос. Они зависят от горизонта планирования:
— Цель на 1 неделю или месяц — это вызов. Это как пробежать марафон или забраться на Эльбрус, проверить не засохли ли мозги, выйти из зоны комфорта.
— Цель на год-два — это бабло. За это время можно научиться создавать ценность и работать удаленно. Или учить других. Очень многие хотят научиться программировать.
пруф
сам поискал 8 сентября:
на русском в 1000 раз меньше:
— Цель на 5-10 лет — развитие в целом. Во-первых, вы улучшите своё мышление. Во-вторых, вы сделаете неоценимый подарок детям. Они получат несколько лет форы в изучении программирования и у вас появится много чудных моментов совместного написания программ. Для полного счастья останется научиться играть в компьютерные игры, но это вы скорее всего уже умеете.
Как научиться программировать
Есть заезженная картинка на этот счёт:
Почему-то все сразу начинают советовать Кнута, Кормена и прочее, но неподготовленный человек сможет осилить только предисловие. Если совсем проблемы с самооценкой возьмите детскую книгу и напишите игру.
Если готовы приступить по-взрослому, то есть множество ресурсов для самообучения. От Coursera (раз, два) до всяких %имя%academy (codeacademy, htmlacademy и пр)
Если намерения совсем серьёзные, могу посоветовать курс «Врубиться в Ruby».
Во-первых, есть живой преподаватель с хорошим бэкграундом в разработке. Виталий Куреннов, 6 лет пишет на Ruby и больше года обучает всех желающих этому навыку, работал над Ruby проектами для Nokia и Avaya.
Во-вторых, есть группа единомышленников, работая бок о бок с которыми, у вас многократно повысятся шансы дойти до победного конца и освоить программирование до того уровня, когда оно начнет приносить прибыль. ~} is easier!» llthw (cddr llthw)))
;; Common Lisp: Powerful, Expressive, Programmable, General Purpose, Multi-Paradigm.
Нашёл для себя удобную браузерную обучалку Learn Lisp The Hard Way
«За те годы, что я проработал в Viaweb, я прочитал множество объявлений о найме на работу. Примерно каждый месяц появлялся новый конкурент. Первое, что я делал после того, как проверял, доступна ли онлайновая демонстрация работы их программы, — смотрел список их вакансий. Через пару лет я научился отличать опасных конкурентов от неопасных. Чем больше отдавало IT-мэйнстримом от описания требуемых кандидатур, тем менее опасна была компания. Самыми безопасными были те, кому требовались специалисты по Oracle. О таких не стоило беспокоиться. Также мы были спокойны, если требовались разработчики на C++ или Java.Если требовались программисты на Perl или Python, это уже было слегка пугающе — это значило, что компанией или, по крайней мере, ее технической частью заправляли настоящие хакеры. Если бы я когда-нибудь увидел объявление о найме на работу Lisp-хакеров, я бы обеспокоился не на шутку.» Пол Грэм, «Побеждая посредственность»
Ещё пара советов
- Читайте Хабр. Например, вот это статья может очень помочь тем кто уже начал свой путь — «Почему научиться программировать так чертовски тяжело?» Или история успеха — «Как я сам научился программировать за 8 недель»
- Читайте Пола Грэма. Он вдохновит заняться программированием кого угодно. Даже меня. Даже на Lisp.
- Найдите единомышленников
- Найдите вдохновляющую задачу
например
Общие упражнения:
Project Euler содержит более 500 математических задач (на теорию чисел, числовых систем и пр.), которые нужно решить, используя программирование на любом языке.
Code Abbey хранит более 200 задач по программированию. За решения 125 из них выдают сертификат, чем мотивируют многих студентов.
Rosalind — это ещё один сайт наподобие Project Euler, который предоставляет на выбор более 200 задач по биоинформатике.
Codingbat.com дарит упражнения по Java и Python, как для новичков, так и для продвинутых программистов.
codegolf.stackexchange.com – сайт, на котором публикуют и обсуждают программистские головоломки.
Ruby Quiz — серия головоломок, в которых вас просят написать короткие программы различной сложности. Исходные решения описаны на Ruby, но их можно реализовать на любом языке.Задачи из олимпиад по программированию:
UVa Online Judge — коллекция из сотен задач с олимпиад по программированию, с онлайн-системой проверки решений.
TopCoder содержит сложные задачи на алгоритмы, собранные годами с разных соревнований. Также несколько раз в месяц проводит олимпиады по программированию.
CodeForces похож на TopCoder, но содержит больше задач на соревнованиях и несколько особых фишек, включая «виртуальные соревнования».
Timus — то же, что и UVA. Содержит задачи с последних соревнований (мирового и регионального уровня).
SPOJ — похож на UVA, с огромным числом языков программирования на выбор.
USACO содержит несколько задач на алгоритмы с руководством по их решению.Под определённые языки:
Для Prolog, Lisp и подобных языков посетите P-99 и L-99, наборы из 99 задач для повышения вашей эффективности в данных языках.
Python Challenge — объединяет загадки и головоломки, которые помогут вам серьёзно прокачаться в Python.
4Clojure — набор упражнений по программированию, специально разработанных под Clojure, Lisp-подобный язык. - Соревнуйтесь
- Играйте в Игры для программистов
- Пишите код каждый день
- Пишите о своих успехах и находках на Хабр
P.S.
Ещё интересные статьи с Хабра на тему быть/не быть программистом и как делать шаги на пути мастерства
- Программист-гуманитарий
- Почему трава зеленая, а программисты крутые
- Как мы объясняли детям, кто такой программист
- Да, я всё ещё хочу заниматься этим, когда мне исполнится 56 лет
- RPG для обучения детей программированию на Java
- 27+ ресурсов для онлайн-обучения
- 4 шага на пути в Google, не имея высшего образования
- 8 ловушек программирования
- Как поднять свой уровень в искусстве программирования. План из шести шагов
- Советы себе в прошлом
- Как улучшить свой стиль программирования?
- 10 способов улучшить свои навыки программирования
- Вы тоже можете стать жертвой паралича разработчика
- Паралич анализа: вы знаете слишком много, чтобы просто писать код
- Будьте добры к программистам
P.P.S.
Алан Кэй делится яркой идеей об идеях. Архитектура, математика, обучение, программирование и много ещё интересного.
Советы, которые помогут вам начать программировать
26 февраля 2015Советы
В ближайшие годы программирование станет ещё более важным навыком, чем сейчас. Ещё не поздно влиться в сферу людей, создающих наше будущее. Конечно, лишь в том случае, если вам это нравится. Мы выбрали 10 советов, которые помогут вам выполнить самую тяжёлую часть обучения — начать.
Поделиться
0На сайте Business Insider можно посмотреть на список из 10 профессий, которые будут максимально востребованы в 2015 году. Неудивительно видеть, что для трёх из них нужны навыки программирования.
За последние годы программирование стало одним из самых важных умений для людей, которые стремятся к карьере, оплачиваемой и интересной работе. Множество людей, чьи профессии не были связаны с программированием, теперь желают научиться писать код. Стоит ли говорить, что это не так просто? Для того чтобы стать программистом, потребуется много времени, усилий и ошибок. Впрочем, это актуально для любой профессии.
Однако, если вы действительно хотите освоить этот навык, у нас есть несколько советов, которые помогут вам начать.
Выясните, почему вы хотите программировать
Если вы насмотрелись красивых фотографий офисов Google или Uber и других стартапов и решили, что хотите работать там же, это неплохая мотивация. Но если это единственная причина, по которой вы хотите стать программистом, то, возможно, её не хватит для сотен часов, которые вы будете проводить, создавая всё новые строки кода.
Выберите специализацию
Вы хотите верстать сайты? Создавать игры для Android или iOS? Делать софт для профессионалов? Каждое из этих направлений кардинально отличается от остальных. Не забывайте, что если вы решили стать независимым программистом и создать новый Minecraft, то для этого вам понадобятся усилия других людей — дизайнеров и гейм-дизайнеров. Конечно, если вы не хотите делать сами абсолютно всё.
Выберите правильный язык программирования
Идеального языка программирования нет. Каждый из них направлен на решение определённых задач. Хорошая новость в том, что, как только вы освоите один язык, выучить другие будет гораздо проще. К примеру, язык Swift позволяет писать приложения для iOS, а Java — для Android.
Попробуйте приложения для детей
Если вы делаете первые шаги в программировании, то давайте проследуем за этой метафорой и дальше. Почему бы не попробовать приложения для детей? К примеру, игра Code Combat, которая в виде RPG будет обучать вас JavaScript. Или Hopscotch — игра для iPad, рассказывающая об основах программирования.
Используйте бесплатные курсы
Вам даже не придётся особо напрягаться, чтобы найти стоящие курсы. Coursera, Udacity и другие образовательные сервисы предлагают сотни курсов по программированию на выбор. А мы каждый месяц выбираем 10 лучших курсов с Coursera. И часто в их числе оказываются интересные курсы, связанные с программированием.
Сделайте обучение интересным
Когда я думал о том, какие сервисы соблюдают тонкую грань между полезностью и интересным обучением, в голову пришло три названия:
- HTML Academy — здесь собраны практические задания по изучению HTML и CSS.
- Hexlet — на этом сайте собраны десятки уроков и практических занятий по программированию.
- Codeacademy — интерактивные занятия, обучающие всем языкам программирования бесплатно.
Скачайте бесплатные книги
Недавно мы рассказывали о подборке из 24 бесплатных книг по программированию. Каждая книга в списке описывает основы одного из языков. Они помогут понять, какой сфере программирования вы хотите посвятить себя.
Найдите ментора
Когда я впервые поехал кататься на лыжах, мне казалось, что я научился достаточно быстро: уже после первого дня я уверенно стоял и съезжал с горы. Так продолжалось где-то неделю, пока я случайно не встретил лыжника старой закалки, который сказал мне, что я катаюсь как подстреленный медведь. За час разговоров и упражнений с ним я узнал в десятки раз больше, чем за предыдущую неделю.
К чему это? Ищите ментора, наставника. Человек, который знает больше вас и захочет помочь, окажет вам услугу и даст огромный толчок в развитии.
Пройдите офлайн-курс
К сожалению, выбрать офлайн-курс гораздо тяжелее, чем онлайн. Это связано с тем, что вам придётся выложить существенную сумму денег, а какую пользу вы от этого получите — неизвестно. Находясь в поисках хорошего курса, прежде всего обращайте внимание на лекторов, которые его будут читать. Если это достойные программисты, работающие в известных компаниях, значит, они и вправду смогут вас чему-то научить. От теоретиков же лучше держаться подальше.
Экспериментируйте
Когда вы выучите основы, сможете перейти к этому совету. Изучайте, как работает код других программистов, просмотрите его и задайте себе вопрос: «Могу ли я сделать его лучше?». Наверняка. Старайтесь упрощать и придумывать элегантные решения.
Какие советы можете дать программистам вы?
Лучшие языки программирования для старта — Журнал «Код»
Новый год — новые тренды в программировании. Посмотрим, что учить сегодня, чтобы быть востребованным в ближайшие годы, грамотно начать карьеру в ИТ и не разочароваться по дороге.
Python
Кому подходит: уже почти всем.
Средняя зарплата на начало 2022 года: 158 тысяч (было 136 тысяч в 2021 году и 128 тысяч — в 2020-м).
Почитать:
Кажется, что Python прочно занял первое место среди лучших языков для старта, и это логично — на нём можно делать почти что угодно:
- нейросети;
- бэкенд для сервиса или сайта;
- распознавание и генерацию звуков, видео и картинок;
- систему управления и обслуживания почти любого сервиса.
Как первый язык для изучения Python тоже хорош — у него понятный синтаксис, простая система команд и много-много документации на любом языке. Если бы его преподавали в школе как первый язык, то было бы вообще идеально.
Аналитика: диванные аналитики часто считают Python «просто модным языком», который утратит актуальность через 5–10 лет. Но даже если так, то, во-первых, кто-то будет поддерживать всю ту кодовую базу, что сейчас пишется на Python; во-вторых, изучив Python, вы сможете перейти на другой язык без проблем.
C#
Кому подходит: тем, кто хочет в VR и модные метавселенные.
Средняя зарплата на начало 2022 года: тоже 158 тысяч (было 128 тысяч в 2021 году).
Почитать:
Если вы слышали про метавселенные, виар и дополненную реальность, то C# — один из языков, на котором можно делать все эти штуки. Смысл в том, что в большинстве случаев там нужна 3D-графика, для которой можно использовать движок Unity. А C# как раз отлично дружит с Unity и позволяет программировать и управлять логикой внутри метавселенных и дополненной реальностью.
Аналитика: Unity — самый распространённый сегодня движок для игр, графики и метавселенных, но, во-первых, не единственный, а во-вторых — не опенсорсный. С компанией Unity Technologies может произойти что угодно — от покупки и вливания в какую-нибудь большую ИТ-экосистему до банкротства и ухода с рынка. И когда на её место придёт кто-то другой, там может быть уже не C#.
Справедливости ради, переход с C# на другие языки тоже не создаст вам проблем. А вот принципы конструирования 3D-миров вам в любом случае пригодятся.
На Юнити и C# можно делать такие же красивые виртуальные миры, как в Assassin’s Creed.С++
Кому подходит: если нужен не только VR, но и универсальная разработка чего угодно крутого.
Средняя зарплата на начало 2022 года: 153 тысячи (была 131 тысяча в 2021 году).
Почитать:
С появлением AR/VR и тех же метавселенных, C++ снова на коне — с ним можно управлять 3D-движком Unreal Engine, если вам по какой-то причине не нравится Юнити.
В остальном это всё тот же старый добрый C++, на котором можно писать что хочешь:
- программы управления ядерными подлодками;
- операционные системы;
- софт для любых датчиков, микросхем и устройств;
- ядро высоконагруженного сервиса для обработки данных;
- программы из школьного курса по информатике.
Среди начинающих разработчиков есть миф, что C++ безумно сложен для изучения. Это верно, если вам нужны тонкости инкапсуляции, работа с указателями, прямая работа со стеком и всё такое. Если вы просто хотите научиться программировать, то это ничем не будет отличаться от любого другого языка.
JavaScipt
Кому подходит: тем, кто хочет делать интернет лучше и удобнее.
Средняя зарплата на начало 2022 года: 155 тысяч (была 151 тысяча в 2021 году и 134 тысячи — в 2020-м).
Почитать:
Если в мире обычной разработки стабильный лидер — это Python, то в веб-разработке таким языком стал JavaScript. Плюсов у него действительно много:
- для разработки и запуска кода нужен только браузер;
- много документации;
- почти все проблемы можно решить с помощью StackOverflow;
- браузер сам скажет, что где сломалось и как это починить;
- сразу видны результаты работы;
- легко протестировать.
Минус только один — каждую неделю появляется новый модный фреймворк или библиотека, которая, само собой, лучше всего, что было до этого. Что самое интересное — чаще всего это действительно так, но вы это всё равно не будете использовать, потому что через неделю появится новый модный фреймворк.
Аналитика: Если вы умеете писать только на JS, вы сможете работать только в вебе и немного — в разработке приложений. Веб с нами надолго, но не навсегда.
HTML+CSS
Кому подходит: всем, кто только начинает осваивать программирование.
Средняя зарплата на начало 2022 года: 114 тысяч (было 85 тысяч в 2021 году).
Почитать:
Первый раз в нашей подборке появился HTML, и это неспроста — из-за ковида все начали делать свои сайты, сервисы, веб-приложения, точки контакта, виртуальные представительства, веб-приёмные и стартапы. Из-за этого спрос на верстальщиков вырос и ближайшее время падать не будет.
Если вы совсем новичок в ИТ, то вам для первого языка связка HTML и CSS отлично зайдёт:
- можно программировать на чём угодно, где есть экран;
- результат виден моментально;
- компьютер не сломается, если ошибиться в коде;
- нет строгих правил синтаксиса, можно писать хоть в одну строчку без пробелов или ставить 15 табов для отступов;
- это уже почти настоящий язык программирования;
- это красиво, наконец.
И да, HTML и CSS — это не языки программирования, это языки разметки и оформления веб-страниц. Но также это языки заработка в ИТ 🙂
Любой язык подходит, если вы в нём достаточно хороши
Не парьтесь насчёт выбора языка. Возьмите любой, который вам сегодня интересен, и прокачайтесь в нём до уровня, когда ваши навыки будут ценны заказчикам. Потому что:
- Спрос сейчас есть на все языки.
- Перейти с языка на язык легко, если вы владеете алгоритмами и пониманием принципов работы систем.
- Документация есть ко всему.
Как правило, человек, который умеет писать на одном языке, довольно быстро учится писать на двух-трёх других языках без большого труда. У вас тоже так получится.
Текст:
Михаил Полянин
Редактор:
Максим Ильяхов
Художник:
Даня Берковский
Корректор:
Ирина Михеева
Вёрстка:
Кирилл Климентьев
Соцсети:
Алина Грызлова
Язык программирования Ада · Ada Ru
Ада — мощный объектно‐ориентированный язык общего назначения ориентированный на разработку надежного программного обеспечения. В язык включены механизмы поддержки параллельного исполнения, обработки исключений, настраиваемых модулей, поддержки распределенных вычислений, стандартные интерфейсы с другими языками и библиотеками. Ада имеет компиляторы под практически любую операционную систему.
Этот сайт посвящен языку программирования Ада. Здесь собраны как русскоязычные материалы, представляющие главный интерес, так и ссылки на другие ресурсы, которые могут оказаться полезными людям, использующим язык или желающим его изучить.
Безопасное и надежное ПО
В этой брошюре Джон Барнс, на примере языка Ада 2012, SPARK 2014 и других языков, раскрывает особенности разработки безопасного и надежного программного обеспечения.
10 причин выучить Аду
Небольшая статья на тему чем Ада может быть интересна.
Как начать?
Как поставить необходимый инструментарий и начать программировать на Аде мы расскажем на этой странице.
Список рассылки
Для обсуждения вопросов языка Ада создана почтовая конференция Ada_Ru. Участвуя в ней, вы можете получить ответы на интересующие вас вопросы, касающиеся Ады, узнать новости из мира Ады, пообщаться с единомышленниками.
Подписаться на конференцию можно послав письмо по адресу [email protected]. На основе рассылки работает форум, где можно почитать архив сообщений, открыть новую тему или написать ответ.
Живое общение
На тему языка Ада можно пообщаться «вживую»
- Группа в Telegram — Язык Ада
- Viber чат adaru
- Jabber‐чат по адресу [email protected]
- IRC канал #ada в сети RusNet
- YouTube канал Всё про Аду
Ада 202x
В грядущий стандарт языка Ада, с условным названием Ада 202x, уже добавлено немало изменений. Мы подготовили краткий обзор.
Новости
01.01.2022 Мы начали активно наполнять видео канал на YouTube
21.11.2021 Разбираемся с UTF-8 в GNAT
30.03.2021 Отличная статья на Habr‐е Как мы верифицированный полетный контроллер для квадрокоптера написали. На Ada
12.04.2019 Выступление Сергея Игоревича на Оберон конференции «Язык Ада в современной программной индустрии». Слайды можно посмотреть на Google Drive или скачать у нас.
09.08.2018 Краткий обзор изменений уже приняты в грядущий стандарт языка Ада 202x.
07.06.2018 Выпуск инструментария для языка Ада GNAT Community 2018.
14.01.2018 Нашу почтовую рассылку теперь можно использовать как обычный форум. Для создания новых тем и отправки сообщений необходимо зарегистрироваться. В данный момент работает регистрация с использованием OAuth3 учетных записей Google, Facebook и GitHub.
10.01.2018 Новая группа в telegram — adalang.
29.12.2017 Статья 10 причин выучить Аду.
08.02.2017 Доступен перевод брошюры «Безопасное и надежное программное обеспечение на примере языка Ада 2012, SPARK 2014» Джона Барнса.
31.01.2017 Новая статья «Механизм сигналов‐слотов» в которой рассматривается реализация данного приема на языке Ада.
24.07.2014 Доступен кросс‐компилятор «GNAT GPL for Bare Board ARM» для платформ Linux, Mac OS X и Windows. Он позволяет вести разработку для процессоров ARM Cortex. Пакет включает студию разработки GPS, а также несколько разновидностей системных библиотек — минимальную версию (Small Footprint Profile) и Ravenscar Profile. Обе дают возможность исполнять Ада код без ОС. Ravenscar версия предоставляет эффективную, легкую, предсказуемую поддержку многозадачных систем. Скачать можно на сайте libre.adacore.com
07.07.2014 Опубликован перевод презентации Эда Шомберга «Introduction to Ada 2012».
10.06.2013 Обзорная статья Что нового в Ада 2012 раскрывает новые возможности языка Ада стандарта 2012 года, такие как поддержка контрактного программирования, новые типы выражений, расширение стандартной библиотеки и прочее.
29.05.2013 Вышла новая версия средств разработки GNAT GPL 2013. Скачать можно на сайте libre.adacore.com.
15.12.2012 Принят и опубликован новый стандарт языка Ада 2012. Скачать руководство по языку и обзор нововведений (Ada 2012 Rationale) можно на сайте www.adaic.org. Развернутую презентация на английском можно посмотреть тут. Ведет ее Эд Шомберг, один из ведущих специалистов по языку Ада.
27.06.2011 О неблокирующих алгоритмах, низкоуровневых средствах синхронизации потоков и других хитростях можно почитать в новой статье на нашем сайте.
06.05.2011 Мы разместили Gentoo ada_ru Overlay с пакетами для языка Ада на нашем сайте и планируем его постепенно пополнять. Более того, у нас теперь открыт хостинг Git репозиториев проектов связанных с языком Ада.
11.11.2010 О том, как работать с портами ввода/вывода в ОС Linux из программе на Аде рассказывает Александр Гавва.
17.08.2010 Мы объявляем конкурс студенческих работ Ada-GUI-2010. Подробнее…
25.06.2010 Вышла новая версия GNAT GPL 2010. Скачать можно на сайте libre.adacore.com.
18.09.2009 Приглашаем принять участие в Международной выставке «Перспективные технологии и системы» PTS-2009, где планируется выставочный блок сообщества Ada-ru.
11.06.2008 Вышла новая версия GNAT GPL 2008. Скачать можно на сайте libre.adacore.com и на нашем FTP зеркале.
07.04.2008 Теперь на тему языка Ада можно пообщаться в Jabber‐чате по адресу [email protected]
04.10.2007 Для ускорения развития сайта мы вводим Wiki. Это позволит легче и оперативней размещать материалы. Например, сразу появилась страничка с бинарными пакетами для Windows. В период перехода возможна небольшая рассинхронизация индекса страниц.
Архив новостей
С чего начать изучение программирования с нуля самостоятельно
С чего начать изучение программирования? Роль технологий за последние 20 лет сильно изменилась. Компьютеры и технологии проникли почти во все сферы нашей жизни: что мы покупаем, как мы добираемся с места на место, как мы работаем или где мы едим после окончания рабочего дня — мы решаем с помощью технологий.
Содержание:
- org/ListItem»> Зачем учиться программировать?
- Какие языки программирования изучать?
- Как начать программировать с нуля
- Советы для начинающих программистов
По этой и многим другим причинам программирование является одним из самых ценных навыков, которые можно приобрести в 21 веке. Хотите ли продвинуться по карьерной лестнице, создавать программное обеспечение, игры или разбираться в мире технологий, изучение программирования может стать важным подспорьем в профессиональном и личном развитии.
Однако изучение программирования может быть очень пугающим. Еще до написания своей первой программы я думал, что программисты — это элитная группа специалистов, обладающих талантом, превосходящим все, чем я могу обладать. Из разговоров, которые я вел с начинающими программистами, можно сделать вывод, что это распространенное мнение: программирование — это занятие, предназначенное только для самых выдающихся технарей.
Я хочу сразу же пояснить, что это не так. При наличии времени, усердия и доступа в интернету любой человек может стать программистом с нуля.
В зависимости от того, что вы хотите изучить и насколько глубоко вникнуть, можно потратить на обучение от нескольких месяцев до конца жизни, но все начинают с основ. Именно поэтому в этом руководстве расскажe обо всем, что нужно знать, чтобы начать писать код, включая:
- Почему стоит научиться программировать;
- С какого языка начать;
- Как начать писать код;
- Несколько ценных советов для тех, кто только начинает.
Зачем учиться программировать?
Прежде чем приступить к первому уроку, сначала подумайте, почему хотите научиться программировать. Это поможет определить, какой язык изучать в первую очередь и над какими проектами работать. Вот некоторые преимущества обучения программированию:
Приобретение профессиональных навыков
Давайте разберемся с самым очевидным: умение программировать — это преимуществом при трудоустройстве. Поскольку технологии продолжают вплетаться в нашу повседневную жизнь, навыки разработки будут становиться все более востребованными среди кандидатов — по данным сайта Indeed.com, несколько наиболее востребованных навыков относятся к области вычислительной техники.
Чтобы сделать карьерный поворот в сторону IT или перейти на более техническую должность в своей области, знание хотя бы одного соответствующего языка программирования обязательно. Однако это относится не только к разработчикам. Веб-дизайнеры должны знать HTML, CSS и JavaScript. Менеджеры проектов должны знать внутреннее устройство инструментов, которые они помогают создавать. Даже если у вас простой сайт на WordPress, знакомство с языками front-end и немного с PHP поможет в работе с ним.
Если не претендуете на сугубо техническую должность, опыт программирования все равно является хорошим преимуществом — он демонстрирует технические знания и способность понимать абстрактные концепции и решать сложные проблемы.
Наконец, умение программировать позволит заняться фрилансом и развить карьеру фрилансера. На этом пути у вас будет гораздо больше возможностей контролировать карьеру и проекты, за которые вы беретесь.
Возможность создавать продукты
Одно из самых замечательных преимуществ изучения программирования — это возможность воплощать свои идеи в жизнь. У вас есть концепция веб-сайта, приложения или компьютерной игры? Теперь можно создать его именно так, как вам хочется, а затем поделиться им со всем миром.
Хотите ли вы монетизировать свой проект, разместить его на платформе с открытым исходным кодом, такой как GitHub, или просто создавать что-то в качестве хобби, у вас будут знания и инструменты для этого. Кроме того, как мы скоро увидим, собственные проекты играют важную роль в процессе обучения и поиска работы.
Понимание окружающего мира
Технологии распространяются и развиваются с каждым годом. Изучение даже основ компьютерного программирования поможет понять компоненты растущего цифрового ландшафта, включая ту вещь, которой вы, вероятно, пользуетесь каждый день, под названием интернет. Вы получите совершенно новый взгляд на технологии в жизни и понимание того, как все это объединяется.
Это весело
Для многих изучение кодинга является полезным и приятным опытом. После освоения основ и начала работы над собственными оригинальными проектами, этот процесс будет меньше походить на обучение и больше на отдых. В конце концов, если вы не получаете от этого удовольствия, то зачем заниматься?
Какие языки программирования изучать?
Программирование требует знания хотя бы одного языка программирования — набора синтаксиса и правил, понятных компьютерам. Существуют сотни языков программирования, каждый из которых уникален по своему назначению и возможностям. Но некоторые языки легче выучить, чем другие — с них лучше всего начинать, поскольку это самый быстрый способ изучить основы программирования.
Ниже перечислены некоторые языки, которые считаются подходящими для начинающих программистов. Я рекомендую освоить только один язык, который соответствует вашим целям, а затем изучить другие, если у вас есть желание. Не бойтесь выбрать неправильный язык. Эти языки имеют общие концепции, поэтому вы можете начать с одного и перейти на другой, если это необходимо.
HTML И CSS
Язык гипертекстовой разметки, или HTML, является основой интернета — он используется для создания содержимого веб-страниц. Когда вы загружаете веб-страницу, обычно вы видите HTML-документ, отображаемый браузером.
Если вы не уверены, что программирование — это ваш конек, HTML — самый простой язык для изучения. Это связано с тем, что HTML технически не является языком программирования — он не выполняет сценарии, и на нем нельзя создавать функциональные программы. Тем не менее, HTML присутствует в интернете повсюду, поэтому если вы хотите понять интернет, вам сначала нужно понять HTML.
Возможно, вы менее знакомы с CSS. HTML определяет, какое содержимое появляется на веб-странице, но не влияет на то, как это содержимое появляется. Именно здесь на помощь приходят каскадные таблицы стилей (Cascading Style Sheets, или CSS). Язык CSS обрабатывает стиль HTML — он задает такие характеристики, как цвета, размер, шрифты и даже макет всей страницы.
Подпишитесь на авторский телеграм-канал про предпринимательство в России.
CSS также не является языком программирования. Это набор правил, применяемых к HTML. HTML и CSS почти всегда используются вместе, поэтому я рекомендую изучить оба. В противном случае веб-страницы будут выглядеть слишком примитивно.
HTML и CSS легко изучать в основном потому, что они не требуют вычислительной логики языков программирования. Изучение HTML и CSS также может показаться менее абстрактным, чем других языков, поскольку вы быстро видите результаты своего кода — просто создайте файл .html и откройте его в браузере. Или откройте существующий веб-сайт и используйте инструмент разработчика в браузере, чтобы заглянуть в исходный код. Это позволяет изучить два языка, которыми вы пользуетесь каждый день, за один день.
Но если вы хотите, чтобы ваши веб-страницы выполняли определенные действия, вам понадобится…
JavaScript
JavaScript — это язык программирования, который превращает статические веб-страницы в динамические. Он позволяет элементам страницы перемещаться, реагировать на действия пользователя, например, на нажатия, и выполнять любые операции, выходящие за рамки простого существования на странице.
Если интересуетесь веб-разработкой и уже знакомы с HTML и CSS, то JavaScript — это следующий уровень развития. Вместе эти три языка составляют большую часть веб-контента, который вы видите. Кроме того, код на JavaScript можно легко протестировать в браузере.
Python
Python — очень популярный язык программирования для начинающих благодаря своему удобному синтаксису и универсальности. Большая часть кода Python читается как английский, что помогает новичкам (кто понимает английский, разумеется) быстрее усвоить такие фундаментальные понятия, как функции.
В Python также есть множество библиотек кода — групп готовых функций, которые вы можете подключить к своему коду вместо того, чтобы писать их самостоятельно. С помощью Python можно создавать множество различных программ, и многие курсы программирования для начинающих основаны на изучении этого языка.
C/C++
Язык Си — еще один популярный выбор для начала обучению программированию. Он более сложен, чем Python, и часто требует от начинающих писать больше кода для достижения тех же целей. Это больше работы, но полезно для понимания абстрактных концепций. Изучая C, вы приобретете навыки, которые можно будет легко применить к другим, более лаконичным языкам.
C++ является преемником C. Синтаксис C++ похож на C с добавлением объектов — мощного типа переменных, который облегчает программирование сложных приложений. Я рекомендую начинать с языка C, так как в нем меньше концепций, и каждая из них есть в C++.
Java
Java (не путать с JavaScript) — это объектно-ориентированный язык программирования общего назначения. Как и Python, синтаксис Java легко читается и понимается программистами-людьми — зачастую сложные задачи могут быть решены одной командой.
Java широко используется в мобильных приложениях для Android и является еще одним отличным базовым языком, принципы которого можно интуитивно применять при изучении других языков.
Как начать программировать с нуля
- Пройдите онлайн-курс
- Смотрите видеоуроки
- Читайте книги / электронные книги
- Выполняйте проекты по разработке
- Найдите наставника и сообщество
- Подумайте о том, чтобы записаться в буткемп по программированию
Благодаря интернету еще никогда не было лучшего времени для того, чтобы научиться программировать. К сожалению, огромное количество вариантов обучения может поставить некоторых начинающих кодеров в тупик еще до того, как они начнут. В этом разделе мы расскажем о некоторых лучших способах начать обучение программированию, а также о рекомендуемых ресурсах в каждой категории.
1. Пройдите онлайн-курс
Чтобы научиться программировать, больше не обязательно поступать в университет. Сегодня существуют тысячи онлайн-курсов по программированию, которые охватывают все — от основ HTML до структур данных и сложных алгоритмов.
Ваш первый курс должен знакомить с основами языка и содержать интерактивные модули и задания, чтобы направлять ваше обучение в нужный вектор. Курсы обеспечивают структуру обучения, что очень важно, поскольку концепции в информатике выстраиваются друг на друге. Организованный курс позволяет легко усвоить материал и гарантирует, что вы будете изучать предметы в правильном порядке.
Популярные ресурсы с бесплатными курсами включают freeCodeCamp, W3Schools и известный гарвардский курс “Введение в компьютерную науку”, доступный на edX и YouTube-канале CS50. Эти варианты отлично подходят для того, чтобы на раннем этапе определить, готовы ли вы потратить время на изучение конкретного языка.
Кроме того, существует множество платных курсов, доступных по цене, составляющей лишь малую часть стоимости очных занятий. Яндекс Практикум, Skillbox и Geekbrains охватывают широкий спектр тем по компьютерной науке для начинающих, среднего и продвинутого уровня. Некоторые платные сервисы даже предлагают несколько бесплатных курсов или пробных занятий, если вы хотите получить представление об их подходе к обучению до оплаты.
2. Смотрите видеоуроки
Вы наверняка смотрели видеоуроки на YouTube — почему бы не сделать то же самое на тему программирования?
Хотя онлайн-курсы — это лучший вариант для получения практического опыта, бесплатные онлайн-видео могут дополнить обучение и удовлетворить любопытство. Моими личными фаворитами являются “Краткий курс информатики” и “Основы” Тома Скотта, которые охватывают более широкие темы в информатике.
Я также рекомендую вышеупомянутый гарвардский курс CS50, а на YouTube нет недостатка в других лекциях по информатике.
3. Читайте книги и электронные книги
Предпочитаете старый добрый подход? Возьмите книгу по выбранному языку для начинающих. Книги познакомят вас с фундаментальными концепциями и помогут в написании кода. Вот некоторые авторитетные книги по каждому рекомендуемому языку для начинающих:
- HTML/CSS: Руководство для начинающих по HTML и CSS для маркетологов
- JavaScript: Eloquent JavaScript: Современное введение в программирование
- Python: Краткий курс Python
- C: Абсолютное руководство для начинающих программистов на языке C
- C++: C++ Primer
- Java: Эффективный Java
4. Практикуйтесь на реальных задачах
Программированию учатся на практике — без этого никак не обойтись. Можно прочитать обо всех концепциях и синтаксисе, необходимых для написания функционального кода. Но пока вы не примените полученные знания на практике, идеи не смогут полностью реализоваться в сознании. Вот тут-то и приходят на помощь проекты.
Проект — это любая программа (или веб-сайт), созданная на выбранном вами языке. В начале работы проекты должны быть краткосрочными. Если вы изучаете курс, вам могут быть заданы проекты, направленные на закрепление той или иной концепции. Существует также множество проектов для начинающих программистов, которые вы можете выполнить самостоятельно. Некоторые классические проекты включают:
- Конвертер времени, в котором пользователь задает количество секунд, а программа выдает эквивалент в часах, минутах, днях и т.д.
- Генератор случайных чисел, который производит случайное число между двумя значениями, указанными пользователем.
- Калькулятор, в котором пользователь указывает свои входные данные и математическую операцию, а программа выдает результат.
- Адресная книга, в которой пользователи могут вводить имена контактов, а затем искать их в вашей программе.
- Алфавитный указатель, в котором пользователь предоставляет список слов, а программа сортирует их в алфавитном порядке.
- Игра “Палач”, в которой пользователь пытается угадать скрытое слово, вводя буквы, а программа обеспечивает обратную связь для правильных или неправильных догадок. Если пользователь угадывает все буквы слова, он выигрывает.
Быстрый поиск в Google позволит найти еще больше мини-задач, требующих применения ваших навыков для решения реальных проблем.
Помимо отработки понятий, проекты обеспечивают еще два преимущества для эффективного обучения. Во-первых, они будут поддерживать мотивацию. Проекты помогают понять, зачем вы занимаетесь программированием, и устанавливают четкие, осязаемые ориентиры для вашего прогресса. Каждый завершенный проект означает еще один навык за плечами. Когда я учился, это очень воодушевляло.
Во-вторых, проекты по кодированию, особенно долгосрочные, дают возможность продемонстрировать свою работу. Одно дело — указать в резюме “Python”, другое — показать, что вы создали целый сайт или приложение с нуля. Проекты являются обязательным условием для программистов начального уровня, поскольку они доказывают компетентность в данном языке.
Приступая к долгосрочным проектам, подумайте о том, во что вы готовы вложить время. Будь то личный веб-сайт, мобильное приложение или программа для ПК, вы столкнетесь с беспрецедентным количеством препятствий на своем пути. Выбор проекта, который вам действительно нравится и о котором вы заботитесь, гарантирует, что вы доведете дело до конца.
Еще один отличный способ найти проекты — это фриланс. Вам не нужно быть опытным программистом, чтобы создать полезный инструмент для кого-то. Обратитесь к другу, члену семьи или местному предприятию, нуждающемуся в инструменте или веб-сайте, который вы можете сделать бесплатно — это беспроигрышный вариант.
5. Найдите наставника и сообщество
Наличие напарника, ментора или онлайн-сообщества для дальнейшего обучения может оказать неоценимую помощь в развитии.
Во-первых, рекомендую найти наставника. По мере обучения вы столкнетесь с проблемами, которые, как бы вы ни старались, вы просто не сможете решить. Вот здесь-то и могут помочь наставники. Наставник не обязательно должен быть настоящим учителем — им может быть любой человек, знающий выбранный язык программирования, который сможет объяснить вам сложные понятия и подсказать решение. Кроме того, опытный наставник может помочь вам следовать практике разработки, не описанной в учебниках, и дать советы по развитию карьеры в сфере технологий.
Помимо наставника, вам может быть интересно принять участие в жизни сообщества. Ищите онлайн-группы, сетевые мероприятия и встречи в вашем регионе, а также хакатоны, где вы сможете наладить связи с опытными программистами.
Онлайн-сообщества разработчиков также являются богатым ресурсом для начинающих. Обязательно загляните туда:
- Stack Overflow, форус для вопросов и обсуждения программирования.
- GitHub, хранилище кода для проектов с открытым исходным кодом с активным сообществом разработчиков.
- Women Who Code — некоммерческая организация, которая организует мероприятия, сообщества и размещает вакансии для женщин, делающих карьеру в сфере технологий.
- Сабреддит r/learnprogramming (т.е. микросайт на Reddit.com) для начинающих кодеров.
6. Рассмотрите возможность записаться в буткемп по программированию
Буткемп по кодингу — это краткосрочная программа обучения, которая включает в себя полный учебный план по программированию в течение нескольких месяцев. Эти программы рассчитаны на быстрое погружение и являются стартовой площадкой для карьеры разработчика.
Буткемпы по разработке интенсивны и дороги — это не то, во что стоит погружаться без опыта программирования. Эти программы рассчитаны на новичков, которые намерены строить карьеру в области разработки и готовы потратить время, энергию и деньги на быстрое приобретение необходимых навыков.
Хотя выпускники, как правило, находят работу в сфере IT, поймите, что это не гарантированный результат и что придется выделить приличный кусок своего времени и сбережений для такого обучения. Тем не менее, трудно превзойти условия очного обучения в окружении таких же целеустремленных сверстников и преподавателей, как и вы.
Советы для начинающих программистов
Очевидно, что к практике программирования можно подойти по-разному, и некоторые методы и языки подойдут вам лучше, чем другие. Однако независимо от того, что и как вы изучаете, запомните эти советы:
Будьте терпеливы
В начале этой заметки я сказал, что научиться программировать может каждый. Но это не значит, что это легко. Программирование требует, чтобы вы подходили к проблемам так, как раньше не подходили. Определенные темы могут показаться вам совершенно бессмысленными, но при этом они являются ключевыми для изучаемого языка. Задачи, которые поначалу могут показаться простыми, в итоге окажутся гораздо сложнее, чем вы ожидали — вы будете часами безрезультатно ломать голову над заданием.
Нельзя забывать и об отладке — вы быстро узнаете, что компьютеры очень придирчивы и будут делать только то, что вы им скажете. Крошечные опечатки, такие как пропущенная точка с запятой или неправильный оператор, сломают всю программу, и вам придется искать виновника.
Все это может быть неудобно и обескураживающе, и это нормально. Сделайте себе одолжение и продвигайтесь вперед медленно и неуклонно, давая себе время все усвоить. Даже лучшие программисты когда-то были там, где вы сейчас, и всем приходится изучать одни и те же вещи, чтобы начать. Будьте проще к себе, придерживайтесь поставленных целей, делайте перерывы, и все будет хорошо.
Овладейте необходимыми инструментами
Вы будете проводить много времени, уставившись в экран, поэтому обязательно выделите время для того, чтобы освоиться с инструментами для программирования.
Все языки для начинающих требуют наличия текстового редактора — программы, которую вы используете для написания кода. Текстовые редакторы включают в себя функции, облегчающие работу с кодом, такие как цветовое кодирование, автозаполнение, поиск и замена и темный режим. Notepad++, Sublime Text и Emacs — популярные текстовые редакторы для начинающих.
Вы также должны научиться работать с консолью — текстовым интерфейсом операционной системы. Консоль позволяет находить файлы и выполнять команды на них быстрее, чем стандартный графический интерфейс пользователя (GUI). Ознакомьтесь с тем, как ее использовать, включая основные команды UNIX, поскольку вы будете делать то, что невозможно в графическом интерфейсе.
Изучите основы
Как и в любой другой теме, на начальном этапе изучения языка программирования главное — это основы. Вы можете начать с изучения двоичного кода, типов данных и печати на консоли. Затем вы изучите такие темы, как переменные, функции, условная логика, массивы и объекты.
Очень важно, чтобы вы полностью усвоили все эти понятия, прежде чем двигаться дальше, поскольку все, что вы изучаете в IT, основывается на предыдущих темах. Если что-то не понятно, повторяйте это до тех пор, пока не станет понятно — не думайте, что это будет понятно в контексте будущих уроков.
Если вы учитесь по учебнику, убедитесь, что вы понимаете, чему должно научить каждое упражнение. Выполните все упражнения, чтобы на собственном опыте понять, как каждая тема применима к программированию. И, как уже говорилось, наберитесь терпения — вы не сможете приступить к амбициозному проекту, пока не освоите основы.
Пишите чистый код с самого начала
Помимо того, что вы научитесь писать код, вы также должны уметь писать его хорошо.
Что это значит? Для любого конкретного вычисления существует более одного способа его программирования. Вы всегда должны стремиться написать его наиболее кратким и читабельным способом. Разработчики обычно работают в командах, поэтому другие будут часто читать ваш код. Если его трудно расшифровать, коллеги-разработчики не захотят с вами работать.
Даже если вы решите работать фрилансером, написание чистого кода гарантирует, что вы будете понимать свой собственный код. Лучше выработать привычку к чистому коду сейчас, так как это избавит от необходимости часами пытаться расшифровать свою работу после того, как вы не заглядывали в нее несколько месяцев.
Возможно, вы задаетесь вопросом, почему чистый код так важно изучать на данном этапе. Вы новичок, так разве написание функциональных программ не должно быть главной целью? Ну, да. Однако речь идет о раннем формировании хороших привычек. Если вы приложите дополнительные усилия сейчас, вы сэкономите себе (и другим) немного здравомыслия в будущем.
Хорошим способом достижения этой цели является сокращение строк и функций. Я рекомендую ограничивать каждую строку кода максимум 80 символами, а каждую функцию — не более чем 15 строками. Хотя поначалу эти правила будут ограничены, они приучат вас отдавать предпочтение эффективному коду, а не первой пришедшей в голову идее.
Кроме того, приучите себя к комментированию. Комментарии — это сегменты кода, которые не обрабатываются компьютером, поэтому в них можно писать все, что угодно — программисты используют комментарии, чтобы прояснить цель своего кода. Изучите, как работают комментарии в вашем языке, и, по крайней мере, оставляйте комментарии в верхней части функций, объясняя назначение каждой из них.
Google – друг программиста
Нет ничего постыдного в том, чтобы искать решения проблем в Google. На самом деле, профессиональные разработчики делают это постоянно. Если вы испытываете трудности, кто-то, вероятно, был в такой же ситуации и задал вопрос на форуме. Вы удивитесь, насколько специфичными могут быть запросы, но при этом решение все равно будет найдено.
Кроме того, очень приятно закрыть 20 вкладок Stack Exchange после того, как наконец-то исправили упрямый баг.
Программирование — это больше, чем просто код
В заключение я хочу поделиться еще одним ценным советом из моего первого курса информатики.
С точки зрения новичка может показаться, что научиться кодировать — значит научиться буквально писать код. В этом есть смысл: когда мы представляем себе программиста, мы видим человека, пишущего код на компьютере.
Однако как только начнете работать, вы поймете, что это не вся история. В действительности вы потратите гораздо больше времени на обдумывание того, что написать, прежде чем это будет сделано. Это потому, что программирование — это больше решение проблем, чем знание синтаксиса. Учиться программировать — значит учиться думать, как это делают компьютеры, разлагать проблемы на составляющие и решать их с помощью предоставленных вам инструментов.
Поэтому, да, вы научитесь программировать и создавать удивительные вещи. Но сначала вы разовьете навыки мышления, которые помогут вам в этом. За годы работы над кодом этот новый подход к решению проблем изменил не только то, как я решаю технические задачи, но и то, как я подхожу к решению проблем в целом. Я надеюсь, что вы испытаете то же самое.
Желаем вам удачи в обучении программированию!
По материалам сайта hubspot.com
Подпишитесь на рассылку FireSEO
и получайте подборки статей, полезных сервисов, анонсы и бонусы. Присоединяйтесь!
Настоящим подтверждаю, что я ознакомлен и согласен с условиями политики конфиденциальности на отправку данных.
Автор:
Татьяна Лазарева
Контент-менеджер в блоге FireSEO, пишу про интернет-маркетинг и разработку сайтов.
Все статьи этого автора
Последние статьи автора:
Как стать программистом? 12 интервью с российскими экспертами.
Как стать веб-разработчиком? Как научиться программировать? Как программисту найти работу? Нужно ли ему для этого высшее образование? Сколько нужно учиться, чтобы начать зарабатывать на разработке?
Думаю, почти каждый, кто задумывается о карьере программиста, задается этим вопросом. Опираясь на собственный опыт, я постарался ответить на большую часть этих вопросов и написал Самообучение для веб-разработчиков. Но мое мнение о самообучении и способах обучения — это всего лишь мнение одного конкретного человека (хотя, конечно, я уверен в его правоте 🙂 ).
Вот почему мне пришла в голову идея: взять 12 программистов, в профессионализме которых у меня нет оснований сомневаться, и спросить их, как они начинали, как научились всему, что знают сейчас, и как получили хорошо оплачиваемую работу. Ниже представлены 12 историй о становлении профессионалов, людей, чей опыт работы превышает количество пальцев на одной руке (с некоторыми оговорками). Надеюсь, вы сделаете правильные выводы из этих рассказов (спойлер: камни для самостоятельного изучения) и найдете парочку удобных для вас советов.
Программисты
- Максим Кремнев, Aviasales
- Павел Хрулев, разработчик Ruby on Rails, фрилансер на odesk, elance.
- Варвара, разработчик Ruby и node.js, Social Quantum
- Даниил, программист, Social Quantum
- Михаил, руководитель группы, Social Quantum
- Роман Колеснев, Fullstack Rails-разработчик; Социальный квант
- Сергей Резванов, ruby-разработчик, IkitLab
- Константин, руководитель технической группы одного из стартапов Санкт-Петербурга
- Корнеев Евгений, тимлид, SmartSpace
- Антон Черепанов, веб-разработчик Evrone, ментор mdkev.me
- Кирилл Ширинкин, DevOps and Cloud Consultant, ментор mkdev. me
- Василец Дмитрий, консультант
Максим Кремнев, Программист, Aviasales
Как давно вы работаете в веб-разработке?
На 5-6 лет.
Почему вы выбрали программирование и веб-разработку?
Это возможность зарабатывать деньги, занимаясь любимым делом.
Каким образом вы узнали об этом?
Самостоятельное обучение
Расскажите нам немного больше о том, как вы начинали: как, когда, что?
18-19-20 лет. В то время я работал системным администратором и в то же время увлекался некоторыми любопытными вещами, такими как gentoo, bash, django (первое, что пришло мне в голову). Однажды я наткнулся на вакансию ruby-программиста от @ipronix на какой-то местной доске объявлений и решил попробовать, подумал, может им тоже нужны python-программисты. Как оказалось, не было, а нужны были руби-программисты, даже джуниоры (я тогда не знал этого слова). Ну.. мне предложили деньги, к тому же это было больше, чем я получал как системный администратор, и я решил совмещать офлайн и онлайн работу.
Через какое время после начала обучения вы заработали свои первые деньги на веб-разработке? Как вы получили свой первый заказ?
Через 1 мес. Это все @ipronix
С чего начать новичку?
С Как или Начало работы
Чего вам не хватало в начале вашего пути?
Время
Можете посоветовать книги, сайты?
google.com
Как продвигается ваша самостоятельная работа, какие новые направления вы изучаете?
golang, python, chef, other db
Павел Хрулев, Ruby on Rails разработчик, фрилансер на odesk, elance.
Как давно вы работаете в веб-разработке?
На 6 лет.
Почему вы выбрали программирование и веб-разработку?
Сложный вопрос. Я выбрал программирование, потому что у меня была к нему страсть, мне это было интересно. Веб-разработка — ну просто так получилось. Я начал свою карьеру во времена, когда веб-разработка только начинала набирать популярность, а спрос на веб-разработчиков становился огромным. Спрос породил предложение в моем лице 🙂
Каким образом вы узнали об этом?
Самостоятельное обучение
Расскажите нам немного больше о том, как вы начинали: как, когда, что?
Когда я начал заниматься программированием, я написал небольшую игру. Возникла необходимость сделать для него сайт. Вот так я сделал свой первый сайт на html. Потом меня попросили сделать еще один сайт за деньги другие люди, после чего я нашел работу веб-разработчиком. Это было в конце 2007 — начале 2008 года.
Через какое время после начала обучения вы заработали свои первые деньги на веб-разработке? Как вы получили свой первый заказ?
Первые деньги я получил примерно через 4 месяца после того, как сделал первый сайт на html для своих целей. Заказ я получил легко — мои таланты раскрылись, и заказчик нашел меня первым.
С чего начать новичку?
Страсть и жажда знаний. Исследуйте что-то, разработайте что-то для себя, для удовольствия, используя полученные знания.
Чего тебе не хватало в начале пути?
Информация стала проще. Хороших сайтов и книг на русском языке было не так много, а английский я не так хорошо освоил. Я имею в виду, что мне тоже не хватало знания английского.
Можете посоветовать книги, сайты?
Это зависит от интересующей вас темы. По каждой теме есть много книг. Я могу только сказать вам, что нужно для общего развития как программиста.
- Для изучения и совершенствования английского языка — книги «Английский для русских» и сайт lingualeo.com
- О новых технологиях и трендах можно узнать на habrahabr.ru
- Решение проблем — stackoverflow.com
- На codeschool.com можно получить практические навыки программирования с использованием новых технологий в развлекательной форме
Как продвигается ваша самостоятельная работа, какие новые направления вы изучаете?
Сейчас изучаю Cordova и Rhodes framework, т.е. мобильную разработку в сочетании с веб-технологиями.
Обо всех новостях и трендах узнаю на хабрахабре. Если меня что-то заинтересует, я начинаю копать дальше, читаю книги на эту тему, статьи на сайтах.
О некоторых методах, инженерных практиках я узнаю из блогов разработчиков, на которые подписан. Обычно эти разработчики не самые плохие люди в популярных open-source проектах.
Я постоянно работаю над улучшением грамматики английского языка, расширением словарного запаса, избавлением от акцента. Как я уже писал, в этом мне помогают книги «Английский для русских», сайт lingualeo.com и опыт общения с клиентами.
Варвара, разработчик Ruby и node.js, Social Quantum
Как давно вы работаете в веб-разработке?
Я не так уж сильно знаком с вебом, но в целом — около 6 лет.
Почему вы выбрали программирование и веб-разработку?
Я училась в профильном вузе, получалось и мне было интересно.
Каким образом вы узнали об этом?
Университет, самоподготовка.
Расскажите нам немного больше, как вы начинали: как, когда, что?
Сразу после окончания университета я устроилась на работу в контору, выигравшую тендер на проект по информатизации Санкт-Петербурга — киоск госуслуг. Я проработал там почти полгода, писал интерфейсы и поиск адресов в БД для этих киосков и т.д.
Через какое время после начала обучения вы заработали свои первые деньги на веб-разработке? Как я получил свой первый заказ?
Никогда не занимался фрилансом, всегда работал в офисе.
С чего начать новичку?
Выбор хорошей компании и команды, которая за полгода научит новичка не наступать на типичные для новичков грабли), привьет хороший кодстиль и еще какие-то полезные штучки в духе тестирования и профилирования кода.
Чего тебе не хватало в начале пути?
Вот такая хорошая команда. Я сидел зарывшись в книги и наступал на общие грабли. Хотя это хорошо с точки зрения самодисциплины.
Можете посоветовать книги, сайты?
Если мне нужно что-то узнать, я гуглю. Но в первую очередь, конечно, читать документы.
Как продвигается ваша самостоятельная работа, какие новые направления вы изучаете?
рубиновый и ореховый.
Даниил, программист, Social Quantum
Как долго вы работаете в веб-разработке?
На 3 года
Почему вы выбрали программирование и веб-разработку?
Насчет программирования — просто так получилось, сижу за компом с 7, начиная со спектра. Круто быть волшебником и архитектором одновременно 🙂
Я не выбирал веб-разработку — всегда хотел посвятить себя играм, чем сейчас и занимаюсь. Но до этого я работал с вебом, не помню сколько, поэтому и писал 3 года 🙂
Каким образом вы узнали об этом?
Университет, самоподготовка.
Расскажите нам немного больше, как вы начинали: как, когда, что?
7 лет, ZX Spectrum в мой день рождения, BASIC. В подростковом возрасте — FIDONET, Си, немного Паскаль. Подростковый возраст — Linux, Python. Молодежь — веб-разработка, Python, JS, Pylons, Zope, немного Django. Последние годы — Python, JavaScript, AS3, C#, Haxe, node.js, Flash, Unity3D.
Через какое время после начала обучения вы заработали свои первые деньги на веб-разработке? Как вы получили свой первый заказ?
Когда мне было около 20, я только что разместил свое резюме в Интернете и начал работать в офисе в качестве веб-разработчика Python.
С чего начать новичку?
Понимание принципа — «пишите меньше кода, но не меньше, чем нужно»
Чего вам не хватило в начале пути?
Общение с гиками.
Можете посоветовать книги, сайты?
О, я не знаю. В свое время я прочитал довольно много интересных книг, так или иначе связанных с программированием, но советовать в общих чертах не возьмусь.
Как продвигается твоя самостоятельная работа, какие новые направления ты изучаешь?
Компиляторы, OCaml.
Михаил, тимлид, Social Quantum
Как давно вы работаете в веб-разработке?
Интернет в частности — на 5 лет.
Почему вы выбрали программирование и веб-разработку?
Программирование — потому что интересовался им с детства. Web — низкие входные барьеры: по знаниям (много мануалов), по практике (нужен только веб-браузер и блокнот, ну и краска, не надо тянуть всякую тяжеловесную ide по диалапу и т.д.) и по работа (фриланс.ру, вдруг найдутся люди, готовые платить за то, чему я научился, просто из интереса).
Каким образом вы узнали об этом?
Университет, самоподготовка.
Расскажите нам немного больше, как вы начинали: как, когда, что?
Средняя школа, каникулы, i486, мама принесла диск с видеоуроками по Visual Basic, где объяснялось, как делать настоящие программы с окнами и т.д. Компилятора на диске не было. У меня уже неделю слюнки текли. Потом я получил компилятор и начал все исследовать.
Позже я взял где-то книгу по основам html, начал экспериментировать и делать домашнюю страницу с помощью конструктора сайтов — тогда это было очень популярно.
Так же — лого кружок, курсы паскаля, курсы php, паскаль и c на уроках информатики в вузе, чтение xakep.ru, интерес к вирусам и ассемблеру, flash. Честно говоря, я не помню, когда именно это началось.
Однажды мой отец рассказал мне такую историю из моего дошкольного детства: он удалил Windows с моего компьютера и оставил мне чистый DOS. Итак, он возвращается с работы вечером и видит, как я играю в компьютерные игры. Он у меня спрашивает «как это возможно» и получает ответ, что я набрала подсмотренные команды «cd nc», «nc», а потом «открылась синяя штука», то есть norton commander с которым я уже был знаком (:
Через какое время после начала обучения вы заработали свои первые деньги на веб-разработке? Как вы получили свой первый заказ?
Свой первый заказ я нашел на фрилансе, когда учился в старшей школе. Точно не помню, что это было — возможно, флэш-баннер, возможно, переделка макета. Тогда, конечно, я не был таким самоуверенным, и поэтому большую часть времени просто торчал на каких-то конкурсах и работал в основном не за деньги, а за портфолио. По совету Лебедева, который я прочитал в его руководстве, я делал работы для мнимых клиентов, чтобы наполнить свое портфолио и показать, что я могу.
С чего начать новичку?
Простой способ:
- научиться пользоваться Google
- погуглите учебник типа «введение в html»
Трудный путь:
- школьный курс физики
- электротехника
- цифровая схема
- основы информационных технологий
- программирование микроконтроллеров
- ассемблер
- структурное программирование, C, массивы, указатели, динамические структуры данных, сети и т. д.
- объектно-ориентированное программирование, C++
- операционные системы
- все что угодно
Чего тебе не хватало в начале пути?
Скорость дозвона
Можете посоветовать книги, сайты?
htmlbook.ru stackoverflow.com
Как продвигается ваша самостоятельная работа, какие новые направления вы изучаете?
Самое смешное, что полных книг по технологиям я практически не читаю. Потому что:
- устаревшие знания
- односторонний вид
- сомнительная компетентность автора
- много букв
Вместо этого, когда я сталкиваюсь с какой-то технологией, я в первую очередь ищу официальный сайт, какое-то руководство по началу работы, документы по API, примеры. Если идет медленно, то задаю гуглю конкретные вопросы (чаще всего это приводит к stackoverflow), а если очень медленно — то обращаюсь к тематическому сообществу, чтобы задать вопрос (но это крайность , так как ожидание ответа очень раздражает).
В частности, сейчас я экспериментирую с общим узлом (оболочкой node.js, которая реализует стандарты CommonJS и использует волокна) и mongodb. И мне нужно изучить Rails для моей работы.
Роман Колеснев, Fullstack Rails разработчик; Social Quantum
Как долго вы работаете в веб-разработке?
На 3 года
Почему вы выбрали программирование и веб-разработку?
Написал программу, отладил, сделал тесты, все тесты прошли, а тут встаешь во весь рост, ткнешь в нее пальцем и говоришь: «Теперь я твой Бог!»
Каким образом вы узнали об этом?
Самостоятельное обучение
Расскажите нам немного больше о том, как вы начинали: как, когда, что?
Я немного пробовал программировать, когда учился в начальной школе, поэтому информация о том, как я начинал, не поможет другим. Я еще не совсем понял, во что ввязываюсь, дурак. Но, в сумме, могу сказать следующее: самообучение здесь решает все, но на первых этапах очень помогает хорошая книга или видеоурок, да и старший напарник, который направит мысли в нужное русло.
Через какое время после начала обучения вы заработали свои первые деньги на веб-разработке? Как вы получили свой первый заказ?
Освоение web было нерегулярным и непостоянным, но через полгода после того, как я сосредоточился на рельсах, я начал зарабатывать 500$ по гибкому графику и совмещать работу с учебой на 3 курсе МФТИ. До концентрации на рейлах был довольно большой опыт программирования, базовое понимание JS, CSS, HTML и немного PHP (всего я написал на PHP что-то около 40-50 человеко-часов, не больше)
С чего начать новичку?
codeschool.com
Чего вам не хватало в начале вашего пути?
Наставник
Можете посоветовать книги, сайты?
codeschool.com stackoverflow.com
Как продвигается ваша самостоятельная работа, какие новые направления вы изучаете?
Scala, Play framework, Unity 3D, в ближайшее время Swift
Сергей Резванов, ruby-разработчик, IkitLab
Как давно вы работаете в веб-разработке?
На 4 года.
Почему вы выбрали программирование и веб-разработку?
Компьютерными технологиями я заинтересовался еще в школе, чувствовал в этом что-то довольно необъяснимое и притягательное, какой-то человеко-машинный симбиоз. В наше время компьютер без человека просто железяка, но и человек без компьютера уже не может. Но вместе они составляют тандем, где каждый на своем месте. Для меня разработка и программирование в целом то же, что, например, искусство, т.е. е. художник с мольбертом, музыкант со своим инструментом — это такие же фигуры творческой личности, как и разработчик со своими умениями и знаниями.
Каким образом вы узнали об этом?
Самостоятельное обучение
Расскажите нам немного больше о том, как вы начинали: как, когда, что?
Для меня путь программирования начался, когда я нашел себе работу оракул-разработчиком в компании CompassPlus в моем городе (эта работа не была связана с вебом), где я провел 5 лет своей жизни и карьеры .
В последний год работы увлекся веб-разработкой и сопутствующими технологиями. Все это сыграло злую шутку — я терпеть не мог работать в CompassPlus, где стек технологий был из 90-с. Именно тогда я решил найти распределенную команду, с которой я мог бы развить свои навыки веб-разработчика. Так я устроился в Secoint, это была компания в Твери, которая делала интернет-магазины на Spee. Какое-то время я работал на 2-х работах — в CompassPlus, в офисе, днем, и в Secoint, удаленно, вечером.
Через несколько месяцев совмещать 2 работы стало очень сложно (у меня уже тогда была семья), и я зарегистрировался как ИП и ушел из CompassPlus. Я полностью погрузился в веб-разработку и изучение технологий, еще работая в Secoint.
С тех пор я сменил несколько компаний, но по-прежнему верен веб-разработке и работаю только удаленно.
Через какое время после начала обучения вы заработали свои первые деньги на веб-разработке? Как вы получили свой первый заказ?
После двух месяцев обучения. Я обратился в компанию ruby web-developers и предложил свои услуги в качестве удаленного работника. Они показали мне большой палец вверх.
С чего начать новичку?
Подумайте дважды, нужно ли вам все это. Если да, то пишите код, читайте кого-л. чужой код и написать его снова.
Чего тебе не хватало в начале пути?
Общение с такими же людьми, как и я… К сожалению, я до сих пор не знаю разработчиков ruby/rails в своем городе. Все профессионалы, которых я знаю, виртуальны, в жизни я их не встречал.
Можете посоветовать книги, сайты?
Мой любимый книжный магазин — PragProg. Там я часто покупаю книги, связанные с веб-разработкой (в основном электронные). Ничего конкретного, мне все интересно.
Я часто нахожу ответы на свои вопросы на StackOverflow и подобных ресурсах. Но чаще всего я все же просматриваю исходники каких-то крупных проектов, потому что иногда там можно найти больше полезной информации, чем в книгах и статьях.
Как продвигается твоя самостоятельная работа, какие новые направления ты изучаешь?
Последние пару месяцев я работаю над одним очень большим проектом по мобильной аналитике — http://inside. ly И могу сказать только одно: данные правят миром, а будущее за теми, кто умеет собирать эти данные и анализировать их. Вот почему наука о данных — это все для нас.
Константин, руководитель технической группы в одном из стартапов Санкт-Петербурга
Как давно вы работаете в веб-разработке?
На 5-7 лет.
Почему вы выбрали программирование и веб-разработку?
Меня всегда интересовали компьютеры и интернет.
Каким образом вы узнали об этом?
Университет, самостоятельная работа, работа с наставником
Расскажите немного подробнее, как вы начинали: как, когда, что?
Я начал с самообучения и программирования на Delphi, Pascal, C++. Затем я заинтересовался Unix-системами и программированием на Perl. Потом постепенно перешел на веб-разработку и остановился на ruby (ну и на JavaScript тоже, конечно). Я пробовал Python (Django), но мне это не понравилось.
Через какое время после начала обучения вы заработали свои первые деньги на веб-разработке? Как вы получили свой первый заказ?
Получил свой первый полноценный заказ на фрилансе. Я сделал небольшой сайт на Perl. Трудно сказать, сколько времени я тратил на учебу в то время. Наверное, это было для меня «началом».
С чего начать новичку?
Основы и алгоритмы. Книги, скринкасты, больше практики.
Чего тебе не хватало в начале пути?
Компетентный наставник, который подскажет, как и что мне делать. И не должен делать, также.
Можете посоветовать книги, сайты?
Чем больше вы читаете, тем лучше. Лично мне очень понравились книги «Шаблоны проектирования в Ruby» (для руби-разработчиков) и «Искусство оптимизации» (простые, но популярные алгоритмы, сделанные легко).
Как продвигается ваша самостоятельная работа, какие новые направления вы изучаете?
Немного тут и там. Планирую более серьезно изучить Clojure и немного поэкспериментировать со Swift 🙂
Корнеев Евгений, тимлид, SmartSpace
Как давно вы работаете в веб-разработке?
На 5 лет
Почему вы выбрали программирование и веб-разработку?
Потому что мне нравится создавать то, что потом будут использовать другие.
Каким образом вы узнали об этом?
Самостоятельное обучение
Расскажите нам немного больше о том, как вы начинали: как, когда, что?
Я увлекся программированием еще в 12 лет, тем более у меня не было даже компьютера. Когда мне было около 14 лет, я уже активно делал простые программы для Windows на C++ и Delphi, а когда мне было 16 — делал компьютерные игры.
Потом был год застоя в университете, где я развлекался только Варкрафтом и делал курсовые для старшекурсников. Но когда я понял, что никакой полезной информации здесь не получаю, я бросил университет и нашел работу. Когда мне было 17-18 лет, меня не хотели брать программистом, поэтому я начал продавать диски в магазине компьютерных игр. Через полгода я уже занимался настройкой и настройкой 1С в материнской компании. Еще через год, когда у меня начали сохнуть мозги от 1С, я перешел на фриланс и начал делать сайты. Сначала интернет-магазины на php-движках, а потом, спустя некоторое время, я заинтересовался крутыми фреймворками и выбрал ruby и rails.
Через какое время после начала обучения вы заработали свои первые деньги на веб-разработке? Как вы получили свой первый заказ?
Если говорить о ранних стадиях, когда я делал сайты «под ключ» на таких штуках, как Wordpess, то я не помню. Вероятно, кто-то из моих знакомых попросил меня что-то сделать и заплатил, как это обычно бывает. Если говорить о Rails, то получилось примерно то же самое. Я предложил сделать хороший сайт для танцевальной студии, в которой я работал, за небольшое вознаграждение. Первую постоянную работу я получил также благодаря друзьям — один из знакомых мне разработчиков поделился со мной клиентом одного из своих проектов.
С чего начать новичку?
Прежде всего, изучение английского 🙂 Во-вторых, некоторые базовые вещи, такие как HTML, CSS. Вы можете попробовать другой путь и сначала просто изучить программирование — выучить паскаль, бейсик или что-то еще. Хороший программист отличается алгоритмическим мышлением. Это долгий, но правильный путь.
Чего тебе не хватало в начале пути?
Наверное, наставник.
Можете посоветовать книги, сайты?
Самая крутая вещь о веб-разработке, которую я видел: http://www.railstutorial.org/book. Из универсальных вещей — «Код полный» МакКоннелла
Как продвигается твоя самостоятельная работа, какие новые направления ты изучаешь?
Сейчас изучаю разные вещи: от ios-разработки до игровых движков. Если говорить о вебе: постоянно ищу и при необходимости изучаю разные направления и технологии, но ничего особенного.
В общем, стараюсь не зацикливаться на сети, а исследовать разные сферы.
Антон Черепанов, веб-разработчик Evrone, ментор mkdev.me.
Как давно вы работаете в веб-разработке?
На 3 года
Почему вы выбрали программирование и веб-разработку?
Исторически я играл в wow, а потом захотел иметь свой веб-сервер и, конечно же, сайт.
Каким образом вы узнали об этом?
Самостоятельная работа, работа с наставником
Расскажите немного подробнее, как вы начинали: как, когда, что?
Когда я был молод, мне нравилось играть в WoW, но потом мне стало скучно, и я подумал: а что, если я сделаю свой собственный сервер? И все стало взлетать, сначала я скачивал сайты и устанавливал их, потом начал копировать html с одного сайта на другой, потом css.
Потом я познакомился с mangos и trinity — это вау движки с открытым исходным кодом, написанные на C++. Было очень сложно их исследовать без понимания что и как надо делать, но я точно научился компилировать и патчить 🙂 Потом понял, что на этом можно неплохо заработать и продолжил учиться, но только веб-разработкой , потому что мне это было приятнее, чем возиться с C++.
Потом я поступил в колледж на «Программное обеспечение компьютеров и компьютерных систем», и это дало хорошую базу по алгоритмам и базам данных. Потом год с php, а потом прекрасный мир руби.
Через какое время после начала обучения вы заработали свои первые деньги на веб-разработке? Как вы получили свой первый заказ?
Не очень скоро, долгое время я даже не знала, что на этом можно заработать, так что может года через 2)
С чего начать новичку?
Поиск наставника и чтение документации.
Чего тебе не хватало в начале пути?
У меня было все, что мне было нужно.
Можете посоветовать книги, сайты?
- rusrails.ru
- http://greenruby.org/
- http://rubydaily.org/
- https://www.codeschool.com/
- http://thoughtbot.com/
- https://twitter.com/evrone_ru
- http://www.rubeque.com/
- http://railscasts.com/
- http://www.rubyflow.com/
- http://www.rwpod.com/
- http://rubynoname.ru/
Как продвигается ваша самостоятельная работа, какие новые направления вы изучаете?
Мы активно геймифицируем процесс нашей работы с помощью Track2Win.
Сотрудники отслеживают некоторые их действия: смотрели конференцию, читали книгу, выступали на митапе, вносили свой вклад и т. д. И, чтобы не отставать, вы идете в ногу со всеми и пытаетесь выделиться.
Технологии: AngularJS, Go
Кирилл Ширинкин, консультант по DevOps и облачным технологиям
Как долго вы работаете?
На 7 лет
Почему вы выбрали программирование и веб-разработку?
Непреодолимое желание делать веб-приложения. Был вдохновлен 37signals и другими.
Каким образом вы узнали об этом?
Самостоятельное обучение
Расскажите нам немного больше о том, как вы начинали: как, когда, что?
В какой-то момент между 13 и 14 годами отец предложил мне делать сайты. Я попробовал Dreamweaver, посмотрел на CSS и на какое-то время отказался от него. А потом, в возрасте 15 лет, я вдруг решил, что все-таки хочу делать сайты. Я начал изучать HTML, CSS, немного JS. Через какое-то время формулировка изменилась на «хочу делать крутые сайты». О Rails, новом и популярном в то время, я слышал на хабрахабре. Я решил не слушать знакомых программистов, которые рекомендовали мне изучать PHP и Java. Я начал изучать Rails и написал на нем пару приложений только для себя. Один из них я до сих пор использую каждый день. Примерно через год после того, как я начал изучать Rails, судьба свела меня с Дмитрием Васильцем, @pronix, который стал моим наставником и работодателем на следующие полтора года.
Через какое время после начала обучения вы заработали свои первые деньги на веб-разработке? Как вы получили свой первый заказ?
Точное время не помню, могу только сказать, что мне было 16, так что не больше года возни с html и css. Мне нужно было сделать макет для http://digitalshop.ru с нуля. Сайт тогда был составлен в виде таблиц, и один парень, работавший там программистом, предложил мне снова сделать его блоками. Потом я испытал муки восполнения IE6, счастья, которого лишены современные разработчики 🙂
С чего начать новичку?
Самообразование для веб-разработчиков. Это бесплатный учебник для тех, кто не знает, с чего начать и в каком направлении двигаться, написанный мной. Короче, это 60-страничный ответ на вопрос «С чего начать новичку» 😉
Самое главное: найдите свою мотивацию и не теряйте ее. И сконцентрируйтесь на своей цели. Это универсальный совет, подходящий для любой ситуации, его легче дать, чем следовать 🙂
Чего тебе не хватало в начале пути?
Никогда не устану повторять, что для достижения успеха в веб-разработке нужны две вещи: желание постоянно учиться и крутой наставник. Мне невероятно повезло: на протяжении всей карьеры у меня были блестящие наставники, которым я всегда буду благодарен. Один из них, Евгений Янусов, помог мне получить первые знания в веб-разработке (html, css и т.д.). Другой, Дмитрий Василец, не только научил меня работать, но и сыграл решающую роль в моем переезде в Берлин 🙂
Можете посоветовать книги, сайты?
Это будет выглядеть как безжалостное самовозвеличивание, но в моей бесплатной книге) Я собрал все ссылки на все нужные книги и сайты, которые могу смело рекомендовать.
Как продвигается ваша самостоятельная работа, какие новые направления вы изучаете?
DevOps и облако. Не совсем новый, но я всегда стараюсь углублять свои знания там. Также стараюсь писать более корректно. Мне, например, почему-то иногда не просто написать «посоветовать» вместо «посоветовать».
Василец Дмитрий, консультант
Как давно Вы работаете в веб-разработке?
На 9 лет
Почему вы выбрали программирование и веб-разработку?
Я никогда не концентрировался на Интернете. Я просто выполняю задания максимально просто и быстро.
Каким образом вы узнали об этом?
Самостоятельное обучение
Расскажите нам немного больше о том, как вы начинали: как, когда, что?
Я учился в университете в 2007 году.
Была банда мошенников, которые давали другим интернет и зарабатывали на этом деньги в общежитии.
Проект оказался очень успешным — более 100 клиентов и стабильный доход.
Написал операционную панель, чтобы не общаться с клиентами, сразу в Rails. И передал все постоянному человеку. Он еще лучше организовал работу, и доход стал предсказуемым.
В результате проект работал без моего участия, и у меня был надежный источник денег каждый месяц.
Жаль, что все это счастье длилось всего год.
До этого я писал системные скрипты и тесты оборудования на Ruby.
Через какое время после начала обучения вы заработали свои первые деньги на веб-разработке? Как вы получили свой первый заказ?
Немедленно. Стыдно работать бесплатно. Взял задание на доске фриланса и честно сказал, что буду делать долго, но дешево. А потом мой аппетит начал расти пропорционально нагрузке.
С чего начать новичку?
Что-то делать. Закрыть билеты. Разбирать файлы. Часы на js. Если человек задает вопросы, но ничего не сделал – пора сдаваться.
Чего тебе не хватало в начале пути?
У меня было все, что мне было нужно. Жизнь всегда удивительна.
Можете посоветовать книги, сайты?
Библия, Литвак, Булгаков, Золотой теленок.
Как продвигается ваша самостоятельная работа, какие новые направления вы изучаете?
Наука о данных, менеджмент, финансы, математика, химия.
Пока это все. Внимательный читатель заметит одну и ту же закономерность во всех интервью:
- Все начинали с увлечения чем-то, будь то игры или веб-приложения. Таким образом, чаще всего программирование является не самоцелью, а навыком, который необходимо приобрести, чтобы достичь своей цели. Но это не значит, что вы не можете любить программирование. 🙂
- Все и каждый были активны в самообучении, и для большинства это был единственный способ обучения.
- Наличие наставника — большое преимущество, и оно помогло многим людям (если не большинству) добиться успеха.
Профессионалы, прочитавшие эту статью — поделитесь с нами своими историями в комментариях ниже, вдохновите тех, кто только что встал на пройденный вами путь, и помогите им не сбиться с пути.
Новички, которые уже встали на этот путь — расскажите, какие методики, источники, люди помогают вам и делают ваше обучение более продуктивным.
Как россияне учатся соревновательному программированию? | MoocLab
Егор Суворов
Источник: Я из России и кое-что знаю об общероссийских мероприятиях.
Дисклеймер: Я опишу, как это обычно происходит в Питере (и, возможно, в Москве). Думаю, это относится и к другим крупным городам России и бывшего СССР (таким как Екатеринбург, Киев, Саратов).
Например, говоря «популярный», я имею в виду «популярный в Санкт-Петербурге или Москве» и так далее.
Прежде всего, это математические кружки и математические школы (самая известная – Санкт-Петербургский лицей 239)., Наверное). Математические кружки обычно начинаются в средней школе (сразу после подготовительных). Например, в 239 есть свой математический кружок, который проходит два раза в неделю. В ней может участвовать любой пятиклассник (первоклассник средней школы), если он решит некоторое количество задач во время вступительной олимпиады. Студентов учат дискретной математике, комбинаторике, алгебре и т. д. Например, индукция математики преподается в трехнедельном летнем лагере после первого года, а комплексные числа вводятся после второго года (мне было тогда около 12 лет). Таким образом, каждый, кто интересуется математикой, получает шанс хорошо ее изучить. Это один из источников хороших конкурентоспособных кодеров (я вернусь к этому позже).
Кроме того, существует большое количество кружков программирования. Именно там я изучил Logo Writer в возрасте семи лет. Если вы хорошо справляетесь и просите учиться все больше и больше, учитель в конце концов отправит вас в кружок математики («потому что математика очень важна для программиста», было мое вдохновение) или в кружок соревновательного программирования. Если вам это нравится, вы начинаете учиться, решать задачи, участвовать в конкурсах и так далее. Как правило, сильные кружки возглавляют люди, которые сами являются хорошими кодерами (гасса, дарнли и многие другие). Например, мои первые 9Насколько я помню, 0646 соревновательный кружок программирования принадлежал Гассе. Мы решали задачи, спорили друг с другом в конце урока, и это было очень весело.
Вы уже знаете, что существует множество кружков по математике и программированию, но для участия в олимпиадах ученикам обычно нужна мотивация. Для меня это был в первую очередь интерес и соревновательный дух – мне очень нравилось решать задачи. Я не очень любил математику, но она очень помогла мне на соревнованиях по программированию — DP — это своего рода индукция прикладной математики, теория графов часто появляется на соревнованиях, математика — отличная тренировка для вашего мозга в целом и т. д. Так что, даже если вы не очень любите математику, но хотите хорошо программировать, ваш учитель, вероятно, отправит вас в математический кружок (как и меня).
Хорошо, но зачем кому-то ходить на кружки, даже если он не очень увлечен этим? Школьные олимпиады по естествознанию (сайт на русском языке). Существует огромная система всероссийских олимпиад по разным предметам (математика, информатика, физика, астрономия, литература, география и так далее). Там соревнуются многие студенты. Лучшие исполнители приезжают в город каждый год и соревнуются на месте, проезд, проживание, экскурсии и расписание организуются и оплачиваются государством. Так что можно, как минимум, посмотреть разные города и похвастаться перед не очень удачливыми друзьями. Но это еще не все: если вы получите диплом (что-то вроде топ-45%) на финальном этапе, вас, скорее всего, поступят в любой университет по вашему выбору (конечно, связанный с олимпиадной тематикой). Гарантии нет, но закон требует, чтобы университеты принимали медалистов раньше других. Таким образом, единственная ситуация, при которой вы не можете поступить в университет, заключается в том, что в один и тот же университет поступает больше медалистов, чем может принять университет. На самом деле, весь процесс поступления на программы бакалавриата в России полустандартизирован и очень прост (не создайте ложного впечатления, что привилегия состоит в том, чтобы не писать сопроводительные письма или эссе, потому что никто этого не делает), но это не связано к вопросу.
Но это еще не все! Всероссийская олимпиада по информатике (РОИ), проводимая Министерством образования и науки, — не единственная олимпиада, где можно стать призером и гарантировать себе место в вузе. Их гораздо больше, некоторые из них тоже огромны (например, Открытая олимпиада) и тоже дают вам некоторые привилегии (вас тоже принимают в любой вуз, но ваш приоритет ниже, чем у медалистов ROI). Эту олимпиаду готовят люди, которые готовят задачи для ROI. Проводятся и другие олимпиады, но их приоритет ниже. Некоторые олимпиады по информатике проходят именно по информатике, а не по программированию (т.е. нужно знать, что такое IP-адрес), медалисты этих олимпиад тоже получают некоторые привилегии. Так что получить медаль на любой олимпиаде не только весело, но и гарантирует тебе место в любом вузе, если только ты не попытаешься поступить в какой-нибудь очень модный вуз, куда претендуют все медалисты (типа ИТМО)
Хорошо, мы закончили с двумя основными мотивационными факторами (ИМХО): интерес и способность меньше заботиться о результатах ЕГЭ (это экзамены по предметам, что является «общим» методом поступления в университет). Еще я рассказывал о вас о всевозможных кружках, которые позволяют каждому научиться соревновательному программированию. Последняя вещь.
Это ЛКШ (летняя школа информатики). Это трехнедельный международный летний лагерь (ну, большинство студентов из России). Студенты изучают алгоритмы, учатся программировать, участвуют в конкурсах и получают массу удовольствия. Не только от самого образования: в ЛКШ очень много традиций и разных внеклассных занятий: футбол, утренние занятия танцами вместо обязательных физических придурков, киноклуб, спектакли студентов и преподавателей (со светом, музыкой и всем тем персоналом, который вы видите в театр)…. Тонны их. В этом году 70% медалей по ROI взяли бывшие студенты ЛКШ. Почти каждый, кто был в ЛКШ, хочет вернуться из-за атмосферы и веселья. Академическая программа также очень сильна. Назову трех человек, которые обычно ежегодно ездят в ЛКШ преподавателями: Андрей Станкевич (тренер легендарных команд СПб ИТМО на ACM ICPC), Сергей Копелиович, Павел Кунявский. В целом, LKSH — это отличная возможность для энтузиастов из малых городов приехать и поучиться у лучших из лучших.
Итак, начиная со школы у нас отличный летний лагерь, хорошая мотивация, много кружков, хороших примеров и вдохновения (соревновательное программирование — одна из областей, где русские действительно хороши). Есть еще вопросы?
См. вопросы на Quora
Продолжить чтение…
Жизнь Ruby-разработчика в Харькове • Реестр
Интервью Виктор Шепелев, известный как @zverok в Twitter и GitHub, живет Ruby-разработчиком и архитектором программного обеспечения. в Харькове, Украина. С тех пор как Россия вторглась в его страну 24 февраля 2022 года, у него были более насущные заботы, чем написание кода, например, обеспечение безопасности своей семьи и помощь своим согражданам в выживании.
В своем блоге во вторник он написал о своей ситуации в надежде, что внимание общественности побудит международные политические действия, чтобы помочь Украине победить.
Харьков (Ха́рків по-украински) — второй по величине город Украины, в котором проживает около 1,4 млн человек, или около 2,6 млн, если считать всю губернию (область), по крайней мере, в мирное время. Здесь можно найти здание Госпрома и площадь Свободы, Покровский монастырь, Успенский собор, Харьковский зоопарк и многие другие достопримечательности, которые сегодня затмевает коллективная борьба Украины за выживание. Для местных жителей Харьковский метрополитен стал местом назначения за его устойчивость к российским бомбам.
Зона боевых действий: Семья Виктора Шепелева в подвальном укрытии во время сильной бомбардировки Харькова
Шепелев говорит, что в последние дни в его районе было относительно спокойно; в других районах города дела обстоят хуже. По сообщениям, с начала войны город потерял около 600 зданий. По его словам, сейчас он не оккупирован русскими, как Херсон и Мелитополь. И не блокирован, как Мариуполь, и не стерт с лица земли, как Волноваха и другие городки. Тем не менее, Харьков сильно пострадал и продолжает подвергаться бомбардировкам. И хуже еще может прийти.
Над некоторыми вещами все еще смеются и насмехаются даже на войне. Другие перестают быть смешными. Харьковчане использовали небольшой близлежащий город Мерефа как источник анекдотов. Больше никогда не сделают: сегодня Мерефу обстреляли Грады, 21+ убитых. (На фото школа.) pic. twitter.com/R1UDdC2unR
— Виктор Шепелев aka zverok 🇺🇦 (@zverok) 17 марта 2022 г.
С начала войны по 13 марта Управление Верховного комиссара ООН по правам человека (УВКПЧ) признало 1761 жертву среди мирного населения в Украине: 636 убитых и 1125 раненых. УВКПЧ «считает, что фактические цифры значительно выше».
- Президент Украины требует от софтверных гигантов прекратить поддержку в России
- Украинские АЭС: Чернобыльская дизельная электростанция отключена, причины взрывов
- Вторжение России в Украину открывает политический раскол между киберпреступниками
- Запуск марсохода ExoMars прекращен из-за напряженности в России
С момента своего первоначального поста по вторжению 3 марта Шепелеву удалось вывезти свою семью, изображенную выше, из Харькова и вернуться, чтобы помочь нуждающимся.
«Не имея военного опыта и даже водительских прав, я занимаюсь очень мелкими делами: только разношу продукты и другие предметы первой необходимости (памперсы, кошачий корм, туалетную бумагу, женские гигиенические средства) нуждающимся в моем районе, на ногой», — написал он.
«С большим туристическим рюкзаком у меня уходит всего несколько часов в день, и я доволен этим отвлечением.
«Остальное время я пытаюсь работать на своей основной работе (хотя мой работодатель Hubstaff ясно дал понять, что поддержит меня, даже если я не смогу, за что я благодарен). Doomscrolling. Разговор с друзьями и семьи, которые остались в других районах или уехали в более безопасные города».
Кодирование в зоне боевых действий
В среду Шепелев нашел время, чтобы ответить на несколько вопросов от Регистра о жизни в военное время.
The Register: Ваш аккаунт в Твиттере привлекает внимание к двум аспектам вашей личности: рубисту и поэту. Повлияла ли война России против Украины на ваше отношение к себе, и если да, то каким образом?
Шепелев: Ну, слоган Твиттера — это просто слоган Твиттера (и старый, и относящийся только к моему «техничному» персоне). Если я попытаюсь кратко заявить о себе, то скорее «Писатель (кода и текстов) из Украины» — обе части одинаково важны. И нет, это не сильно изменилось в последнее время. Моя украинская идентичность кристаллизовалась в последние годы (когда я был моложе, я предпочитал воспринимать себя больше как космополита). Я такой, по крайней мере, публично (семейные и личные отношения в сторону): живу в Украине и пишу тексты».0003
Что мир должен знать о Харькове?
Это большой город с европейскими устремлениями. Не самый красивый, хотя и в нем есть свои моменты. Не самый патриотичный (до войны), но точно украинский. Много заводов, много университетов (некоторые с мировым именем). Гордится своей «второй по величине площадью в Европе» (площадь Свободы, та самая, которую разбомбили неделю назад) и своим архитектурным ансамблем здания Харьковского государственного университета и Госпрома, и некоторыми недавно отремонтированными парками (самый большой разбомбили 2 дня назад).
В основном русскоязычные (но это русскоязычные украинцы, а не «русские, проживающие в Украине»). Несколько политически аморфный – до войны. Сейчас очень спокойный, сосредоточенный и ориентированный на защиту/победу.
Родной город Сергея Жадана, одного из самых известных украинских писателей/поэтов, а в настоящее время очень активного лидера волонтерской группы.
Пригодились ли ваши технические знания в текущей ситуации, и если да, то каким образом?
Не напрямую, к сожалению. В основном я имею опыт написания выразительного кода, проектирования архитектур долгоживущих систем и наставничества людей, а это не самые необходимые способности в военное время.
Предоставляет ли сообщество Ruby или сообщество разработчиков ПО с открытым исходным кодом сообщество и поддержку в военное время? Должна ли она функционировать иначе, чем в условиях кризиса?
Грустно признаться, но особой поддержки я не чувствую. В моем кругу общения в сообществе Ruby есть люди, которые много делают, но что касается сообщества в целом, я думаю, что оно остается в основном равнодушным.
Мои просьбы о распространении информации по большей части игнорируются.
Может быть, я эгоистичен, но вижу, что даже небольшие шаги, которые можно было бы сделать (например, баннеры на сайтах крупных проектов, твиты известных рубистов, упоминания в новостных рассылках) — эти шаги не делают даже многие люди, которых я знаю лично. Я знаю, что некоторые из них отправляют деньги или помогают каким-то другим частным образом, но мне действительно не хватает чувства общественной поддержки , люди по-прежнему в основном думают, что это какая-то «политика, которую они не должны смешивать со своей повседневной жизнью».
Конечно, есть и другие, и я им бесконечно благодарен.
Что вас больше всего удивило с начала вторжения?
Ммм, много всего. Когда ты живешь внутри настоящей войны, как в книгах и фильмах, ты постоянно удивляешься, знаешь ли! Скажем, размах беззастенчивых нападений россиян на жилые дома и гражданскую инфраструктуру кое-кто может назвать удивительным; или масштабы их лжи об «ограниченной операции с нанесением ударов только по военным целям».
Что вас сейчас больше всего вдохновляет или вселяет надежду?
Единство, которое украинцы проявляют с первых дней. Я не был поклонником многих политиков (в том числе президента или харьковского мэра), но то, какими они стали во время войны, показывает пример того, что здесь происходит. По сути, украинцы показывают себя с лучшей стороны в самые трудные времена, а тяжелее мы никогда не видели. Люди невероятные, и какой бы мрачной ни была наша реальность, это окончательный объединяющий момент нации.
Как проблемы безопасности и конфиденциальности, существующие в ИТ-контексте мирного времени, меняются в контексте военного времени? Адекватно ли люди разбираются в этих вопросах? И предоставляют ли поставщики программного/аппаратного обеспечения необходимые инструменты для такого перехода? (Я думаю о сообщениях о том, что людям приходится удалять все сообщения со своих телефонов, чтобы их не задержали в случае обыска. )
Извините, у меня нет хороших ответов на эту группу вопросов. Я лично особо не связан ни с какой OpSec (а то, что я знаю из вторых рук от тех, кто занимается, я бы предпочел не делиться), но для меня здесь ничего особо не изменилось в плане конфиденциальности. Конечно, я не публичный человек, которого было бы интересно взломать. Я тоже не в бою/на оккупированной территории.
Есть ли что-то еще, что вы хотели бы, чтобы люди за пределами Украины знали?
Мы стоим и не упадем. Но нам нужно столько помощи, сколько может дать мир: распространением информации, поддержкой украинской армии, беженцев и гуманитарных целей, а также оказанием давления на Россию любыми доступными мерами. Чем больше помощи мы получим, тем скорее она закончится, тем меньше невинных людей будут бороться или умирать.
Извините за лозунги, но это все, что у меня есть. ®
Получите наши Технические ресурсы
Программирование как код на английский
Любопытство . Это то, что побуждает нас исследовать и учиться. Однако это также может сбить нас с толку и способствовать развитию страха неудачи. Отчасти поэтому мы склонны становиться менее любопытными, когда становимся старше. Разве вы не хотели бы вернуться к детскому настрою на открытия?
Навыки, которые мы развиваем в раннем возрасте благодаря любопытству, часто остаются с нами навсегда. Они могут стать нашими руководящими принципами. Вот что случилось со Стасом. Он начал свое открытие, взламывая первые компьютеры в России — задолго до того, как появился Интернет!
Инструменты и мышление, которые он разработал, обучаясь программированию, он использовал для взлома кода на английском языке.
Стас
English: BASIC
Мое увлечение компьютерами началось еще в детстве. Мой лучший друг Сергей получил от родителей компьютер Sinclair Spectrum. Мы потратили целую вечность, пытаясь понять это вместе, переделывая простые программы на Бейсике (один из первых компьютерных языков, разработанных для нематематиков. — М.К.).
В то время компьютеры в России были относительно популярны в мире игр, но не в сфере программирования. У нас не было книг о программировании, это было до интернета. Единственный способ приблизиться к обучению — это независимые открытия. Мы просто разобрали машины, чтобы посмотреть, как они работают внутри, а затем работали над нашими программами без какой-либо документации или книг. Можешь верите что программы тогда были на кассетах?
Это был настоящий взлом кода, еще до того, как мы узнали этот термин. Помню, мы открыли одну хитрость: останавливать ленту с помощью программы до того, как она полностью загрузится. Это остановит запуск программы на компьютере, но все, что будет загружено, будет сохранено в памяти. Это позволило нам изучить, как была написана программа.
Взлом систем был тем, чем было мое детство.
После этого мои родители купили мне более крутой компьютер, Schneider PC с программным обеспечением, написанным в DOS 6. 22. Система, конечно, была мощнее, но, что еще важнее, она сопровождалась документацией — на четырех отдельных дискетах по 720 КБ каждая. Это значительно ускорило мой процесс открытия. Это помогло мне научиться писать простые программы. После этого я поступил в университет изучать информатику и превратил это детское увлечение в профессию.
Первые компьютеры, к которым получил доступ Стас, принадлежали его другу Сергею. Это ZX Spectrum. Первые компьютеры не были такими удобными для пользователя, как те, которыми мы пользуемся сегодня! Одна из первых игр, в которую играл Стас, Batty3. Одна из первых игр, в которую играл Стас, Zybex. Это ZX Spectrum. Первые компьютеры не были такими удобными для пользователя, как те, которыми мы пользуемся сегодня! Одна из первых игр, в которую играл Стас, Exolon. Одна из первых игр, в которую играл Стас, Renegade. Одна из первых игр, в которую играл Стас, Bombjack. Первые компьютеры не были такими удобными для пользователя, как те, которыми мы пользуемся сегодня!Дополнительным барьером для нас на заре программирования было то, что все было на английском языке. Но для двух 14-летних программистов это был всего лишь еще один слой кода, который нужно было взломать.
Должен признаться, мой интерес к программированию был единственной причиной, по которой я начал изучать английский язык. Конечно, в школе у меня также были уроки английского, но это было не совсем обучение, а только грамматика. В то время как в классе мы проводили месяц, изучая одно время, я изучал компьютерные руководства и изучал, как язык используется на практике.
У многих россиян такая же проблема — они изучают теорию в школе, но не находят места для практики, ни устной, ни письменной. Мой первый контакт с настоящим английским был на форумах в первые дни существования Интернета. Конечно, мне пришлось поступить в университет, чтобы подключиться к Интернету.
Форумы были местом, где я мог найти всю информацию, которая мне была нужна или которая меня интересовала. Это были первые дни Интернета — Мне пришлось пройти обучение, чтобы научиться создавать свой первый адрес электронной почты! Это было в 2002 году, и этот адрес я использую по сей день.
Английский: продвинутый
Сначала я читал английский текст и, как и в случае с моим первым компьютером, использовал словарь для поиска слов, чтобы понять суть разговора. После того, как мое программирование улучшилось, пришло время и моему английскому перейти на следующий уровень. Почему? Потому что я начал искать клиентов и должен был поговорить с ними.
С этой технологией Стас смог поиграть в Diablo2! С этой технологией Стас мог играть в XCOM1. Одна из первых игр, в которую играл Стас, Zybex. С этой технологией Стас смог поиграть в Dune II! С этой технологией Стас мог играть в Starcraft. Второй ПК Стаса прошел апгрейд! Это Шнайдер. Третий ПК! Даже лучше, чем Шнайдер. На втором ПК Стас мог играть в Xenon. Третий ПК! Даже лучше, чем Шнайдер. Второй ПК Стаса прошел апгрейд! Это Шнайдер.Я начал рассматривать английский язык не как инструмент для сбора информации, а как инструмент для общения. Мой первый опыт использования английского языка на практике был с моим первым немецким клиентом. Утешало то, что в этом общении обе стороны ограничили английский язык. В каком-то смысле мы оба пытались понять друг друга.
Когда я понял, насколько важно общение на английском языке, я продолжил искать возможности для практики. Попробовав несколько приложений для языкового обмена, я должен сказать, что из всех других инструментов, которые я пробовал, у HelloTalk самые лучшие функции. Это также напоминает мне о моем раннем опыте работы с форумом, поскольку приложение позволяет людям собираться по интересам, создавая группы.
Я также создал свою группу для помощи тем, кто интересуется изучением русского языка. Любопытно, что особого спроса на этот язык не наблюдается, думаю, желающих выучить украинский даже больше, чем русский! Чтобы найти заинтересованных учеников, я обычно обращаюсь к тем, кто публикует «Моменты» на русском языке. Может быть трудно найти партнера для разговора один на один, поэтому часто проще присоединиться к группе с несколькими носителями языка.
Большинство членов нашей группы изучают русский язык, готовясь к экскурсионной поездке в Москву или Санкт-Петербург. Я редко вижу долгосрочных студентов с реальной мотивацией. У нас были две преданные китаянки, Нана и Валентина — обе изучали русский язык в университете, а Нана пошла работать в российскую компанию. У нас также есть парень из Канады, который познакомился с женщиной из Казахстана, и ему нужно было говорить по-русски, чтобы поговорить с ней. В последнее время он менее активен… Надеюсь, это потому, что они вместе тренируются.
English: A Код
HelloTalk, как и компьютер, является инструментом для изучения мира. Мне нравится, когда группы обсуждают более интересные темы или, по крайней мере, что-то более конкретное, чем «еда и развлечения». Общение с другими людьми, которым действительно интересно узнать о разных культурах и местах, вдохновляет.
[bctt tweet=»HelloTalk, как и компьютер, — это инструмент для изучения мира». username=»HelloTalkApp»]
Я вижу параллель между обучением программированию и изучением языка в грамматике. Однако в реальной жизни языки предназначены для разговоров. На HelloTalk я часто сталкиваюсь с событиями, которые напоминают мне о моих первых рабочих заданиях. Когда носителям языка приходится использовать английский как средство общения, ни одна из сторон не идеальна, но при желании они найдут способ выразить то, что им нужно. Чтобы считать себя свободно владеющим английским языком, я хотел бы иметь возможность говорить обо всех своих мыслях и чувствах. Я все еще чувствую себя довольно ограниченным, когда дело доходит до словарного запаса.
Обучение программированию и изучение грамматики очень похожи.
Навык общения имеет больше уровней, чем просто разговор на общем языке. Программирование — это односторонний процесс, вы только отправляете сообщения машине. Однако с людьми процесс идет в обе стороны, и обе стороны должны хотеть установить связь. Люди непредсказуемы, и иногда я вообще их не понимаю. Общение с компьютерами действительно намного проще.
~~~
Стас сказал мне, что если завтра он каким-то волшебным образом станет свободно говорить по-английски, он будет использовать английский, чтобы исследовать другие страны и заводить новых друзей. Он обязательно вернется в Испанию. Теплая погода резко контрастирует с температурой в Самаре, Россия. Когда мы болтали по скайпу, было минус 12 градусов.
Стас использовал английский, чтобы передвигаться по Испании. Тепло этой страны – это то место, куда он хочет вернуться. Стас использовал английский, чтобы передвигаться по Испании. Тепло этой страны – это то место, куда он хочет вернуться. Стас использовал английский, чтобы передвигаться по Испании. Тепло этой страны – это то место, куда он хочет вернуться. Стас использовал английский, чтобы передвигаться по Испании. Тепло этой страны – это то место, куда он хочет вернуться. Стас использовал английский, чтобы передвигаться по Испании. Тепло этой страны – это то место, куда он хочет вернуться. Стас использовал английский, чтобы передвигаться по Испании. Тепло этой страны – это то место, куда он хочет вернуться. Стас использовал английский, чтобы передвигаться по Испании. Тепло этой страны – это то место, куда он хочет вернуться. Стас использовал английский, чтобы передвигаться по Испании. Тепло этой страны – это то место, куда он хочет вернуться. Стас использовал английский, чтобы передвигаться по Испании. Тепло этой страны – это то место, куда он хочет вернуться. Стас использовал английский, чтобы передвигаться по Испании. Тепло этой страны – это то место, куда он хочет вернуться. Стас использовал английский, чтобы передвигаться по Испании. Тепло этой страны – это то место, куда он хочет вернуться.Любопытство побудило Стаса заняться изучением компьютеров, что требовало изучения английского языка. Английский язык, в свою очередь, открыл двери для изучения многих других тем. Это продолжает приносить ему пользу, удовлетворяя детское любопытство Стаса к другим людям и культурам.
Следите за Стасом на HeloTalk.
Письмо и интервью Марты Кржеминской
Избранное изображение Брюса Марса с Pexels
Когда-то знаменитый в России программист Павел Дуров выбирает Exile
Реклама
Продолжить чтение основного сюжета
Павел Дуров на конференции в Сан-Франциско во вторник. Он создал ведущую российскую социальную сеть ВКонтакте.Кредит…Джим Уилсон/The New York TimesЛОНДОН — Когда в Санкт-Петербурге у дверей Павла Дурова появилась группа спецназа, он начал думать о своем будущем в России.
Он был дома один и смотрел на них через монитор.
«У них было оружие, и выглядели они очень серьезно», — сказал г-н Дуров, когда-то крупнейший в России знаменитый предприниматель. «Похоже, они хотели выломать дверь».
Не так давно 30-летний Дуров считался русским Марком Цукербергом. Он основал социальную сеть «ВКонтакте», более популярную в России, чем Facebook, и произвел фурор, публично предложив Эдварду Сноудену работу.
Затем Кремль усилил контроль над Интернетом, и союзники президента Владимира Путина взяли под свой контроль ВКонтакте. Г-н Дуров в конце концов продал свою оставшуюся долю за миллионы и бежал из России в апреле, сопротивляясь давлению правительства с целью обнародовать данные украинских лидеров протеста.
Г-н Дуров, известный своим бунтарским остроумием и полностью черным гардеробом, который напоминает Нео из фильмов «Матрица», теперь малоизвестный кочевник, переезжающий из страны в страну каждые несколько недель с небольшой группой компьютерных программистов. . Один день он в Париже, другой в Сингапуре.
«Я сам не большой поклонник идеи стран», — сказал г-н Дуров, одетый в сшитое на заказ нечто среднее между толстовкой и спортивной курткой.
Когда он без предупреждения прибыл в Лондон для своего первого интервью вне киберпространства после отъезда из России, он направлялся в Сан-Франциско, где во вторник появился на технологической конференции. Он выходит на поверхность, чтобы продемонстрировать свое новое приложение для обмена сообщениями Telegram для людей, жаждущих конфиденциальности и безопасности.
Его одиссея отражает меняющуюся природу Интернета в России.
Интернет когда-то рассматривался как способ диверсифицировать российскую экономику помимо нефти. По словам г-на Дурова, когда в 2006 году появился «ВКонтакте», он представлял свою страну безналоговой и либертарианской утопией для технологов.
«Самое лучшее в России в то время было то, что интернет-сфера была совершенно не регламентирована», — сказал он. «В некотором смысле он был более либеральным, чем Соединенные Штаты».
Теперь г-н Путин с подозрением смотрит на Интернет, назвав его «агентом ЦРУ». проект» и предпринял шаги, чтобы изолировать Россию от остального цифрового мира. Один из ведущих российских активистов недавно заявил, что правительство проводит «кампанию по отключению Интернета».
«Поскольку я явно сторонник свободного рынка, — сказал г-н Дуров, — мне трудно понять текущее направление страны».
Экономика России также становится все более изолированной, а ее валюта резко падает из-за западных санкций. Сейчас правительство прогнозирует рецессию на следующий год. Большой проблемой г-на Путина является падение цен на нефть, которое г-н Дуров называет «единственным шансом» для экономических и политических реформ.
Социальная сеть «ВКонтакте» более популярна в России, чем Facebook. Фото… Павел Головкин/Associated Press«Когда цены на бензин высоки, нет стимула для этих реформ», — сказал он. «Так может остаться навсегда; никого это не волнует».
По мере того, как напряженность в России нарастает, г-н Дуров говорит, что сосредоточился на Telegram, который он начал в прошлом году.
По его словам, не будет никаких внешних инвесторов, никакой рекламы и маркетинга, и он доступен бесплатно, хотя, вероятно, в конечном итоге он будет взимать плату за дополнительные услуги. Он говорит, что у него около 50 миллионов пользователей, почти полностью за пределами России.
Несмотря на то, что он говорит тихо, его мятежный юмор доставил ему неприятности, в чем он признается первым.
В 2011 году правительство потребовало от него закрыть страницы оппозиционных политиков после противоречивых парламентских выборов. В ответ он разместил в Твиттере фотографию собаки с высунутым языком и в толстовке с капюшоном. Во время противостояния со спецназом, которое произошло вскоре после этого, он не открыл дверь. Они пошли домой через час.
Потом был День Победы в 2012 году, когда Россия празднует поражение нацистов. Он написал в Твиттере, что «67 лет назад Сталин отстоял от Гитлера свое право подавлять советский народ».
Это вызвало бурю негодования во время роста национализма.
Господин Дуров ухмыльнулся. «Это была катастрофа.»
Несколько недель спустя он и другие руководители «ВКонтакте» сложили купюры в 5000 рублей — что на тот момент стоило около 155 долларов — в бумажные самолетики и выбросили их из окна офиса, вызвав драку на улице внизу.
Он сказал, что со своего наблюдательного пункта не мог видеть, что происходит на улице, и остановился, когда ему сказали, что люди дерутся.
Г-н Дуров также иронично назвал себя пастафарианцем, причудливой атеистической «верой», которая может включать в себя ношение дуршлага на голове.
«Мне нравится подшучивать над серьезными вещами», — говорит он, добавляя, что он ближе к даосу или буддисту. «Я мирное существо; Я вегетарианец. Я не люблю войны».
К 2013 году правительство пошло на убыль. Его привлекли к уголовной ответственности за спорное нападение с участием сотрудника дорожной полиции, чего, по словам г-на Дурова, никогда не было. В то же время он узнал, что 48 процентов ВКонтакте были проданы союзникам Путина, несмотря на требование контракта о предоставлении ему права преимущественной покупки.
Г-н Дуров научился программированию у своего брата Николая, математика и правой руки г-на Дурова во ВКонтакте и Telegram. К 11 годам младший г-н Дуров писал свои собственные версии игр, таких как тетрис. Эти двое разработали стратегическую игру, действие которой происходит в древнем Китае, которую они назвали Lao Unit.
В Санкт-Петербургском государственном университете г-н Дуров изучал лингвистику. Вместо военной службы он обучался пропаганде, изучая Сунь-Цзы, Чингисхана и Наполеона, и научился делать плакаты, направленные на влияние на иностранных солдат.
Офисы ВКонтакте в Санкт-Петербурге, Россия. После того, как в 2013 году союзники президента Владимира Путина взяли под контроль его компанию, Павел Дуров продал свою долю за нераскрытую сумму и покинул страну. Фото… Анатолий Мальцев/Европейское агентство пресс-фотоПлакаты гласили: «Вы окружены, сдавайтесь». , никакой надежды», или они внушали иностранным солдатам, что «какой-то другой парень развлекается с вашей женой», вспоминал он.
Его основным интересом была разработка социальной сети. Друг, который учился в Америке, показал ему Facebook, тогда еще в зачаточном состоянии, и он многому научился.
«На некоторые вещи, например на макет раннего «ВКонтакте», сильно повлиял Facebook, — сказал г-н Дуров. «В противном случае мне потребовались бы годы, чтобы построить, а я не был профессиональным дизайнером».
Он также нанял сокурсников-лингвистов для создания базы данных, ориентированной на постсоветскую университетскую систему, что, по его словам, дало «ВКонтакте» «огромное конкурентное преимущество».
В 2007 году он решил разрешить пользователям загружать аудио- и видеофайлы без учета авторских прав. Такая политика вызвала критику со стороны торгового представителя США и иски со стороны крупных звукозаписывающих компаний.
«Некоторые люди говорили мне, когда я его реализовывал, что на следующий день я попаду в тюрьму, — сказал он. «Я был очень неосторожен».
Демонстрации 2011 года по поводу парламентских выборов привели к противостоянию в правительстве. Во время последовавшего противостояния спецназа в его доме он позвонил своему брату.
«Я понял, что у меня нет безопасного средства связи с ним», — сказал он, добавив: «Вот так и начался Telegram».
Telegram конкурирует в переполненном поле приложений для обмена сообщениями, которые обещают различную степень безопасности. У Telegram есть свои поклонники и недоброжелатели, но в недавней оценке Electronic Frontier Foundation он получил высокую оценку. Компания Telegram, базирующаяся в Берлине, имеет преднамеренно сложную структуру из разрозненных глобальных подставных компаний, призванных держать ее на шаг впереди повесток в суд от любого правительства.
«Для российских предпринимателей очень необычно добиваться успеха за пределами России, — сказал Сергей Гуриев, видный экономист, бежавший из России в прошлом году. «Возможно, во многих отношениях он не обычный человек, но он определенно очень талантливый предприниматель».
Когда г-н Дуров продал свою долю в ВКонтакте в декабре прошлого года, ходили слухи, что она стоила несколько сотен миллионов долларов. Г-н Дуров не назвал конкретных цифр, сославшись на соглашение о неразглашении.
«В дни моего пребывания в России я посещал очень богатых парней, — сказал он. «Я посещал большие корабли, частные самолеты, дома — и точно знаю, что не хочу этого для себя».
«Я очень счастлив сейчас, у меня нет никакой собственности», — добавил он. «Я считаю себя законным гражданином мира».
Пророссийские сепаратисты начнут применять смертную казнь с 2025 г. — уголовный кодекс
Автор статьи:
Reuters
Дата публикации:
01 июля 2022 г. • 1 июля 2022 г. • 3 минуты чтения разговор
Содержание статьи
ЛОНДОН — Пророссийские сепаратисты на востоке Украины, где двое британцев и марокканец были приговорены к смертной казни, говорят, что смертная казнь начнет применяться с 2025 года, согласно обновленному уголовному кодексу самопровозглашенной Донецкой Народной Республики ( ДНР).
Приносим свои извинения, но это видео не удалось загрузить.
Попробуйте обновить браузер или
нажмите здесь, чтобы посмотреть другие видео от нашей команды.
Поддерживаемые Россией сепаратисты начнут применять смертную казнь с 2025 года – уголовный кодекс Вернуться к видео
ДНР включила смертную казнь в свои своды законов с 2014 года, но до сих пор нет закона, определяющего, как ее применять. Правозащитная группа Amnesty International, отслеживающая применение смертной казни во всем мире, не зафиксировала ни одного случая официальных казней в регионе.
Объявление 2
История продолжается ниже
Это объявление еще не загружено, но ваша статья продолжается ниже.
Содержание статьи
Главные новости Financial Post
Подпишитесь на получение ежедневных главных новостей от Financial Post, подразделения Postmedia Network Inc.
Адрес электронной почты
вышеупомянутый информационный бюллетень от Postmedia Network Inc. Вы можете отказаться от подписки в любое время, нажав на ссылку отказа от подписки в нижней части наших электронных писем. Постмедиа Сеть Inc. | 365 Bloor Street East, Торонто, Онтарио, M4W 3L4 | 416-383-2300
Содержание статьи
Суд в ДНР в июне приговорил двух британцев – Эйдена Аслина и Шона Пиннера – и марокканца Брахима Саадуна к смертной казни за «наемническую деятельность» после того, как они были захвачены в плен во время боевых действий с украинскими войсками. Их адвокаты говорят, что они обжалуют решение, которое было вынесено после поспешного судебного разбирательства без участия присяжных без доступа независимых или международных СМИ.
Было неясно, что означают для мужчин новые правила, изложенные в обновленной версии Уголовно-исполнительного кодекса ДНР, которая была опубликована на сайте законодательного органа самопровозглашенного образования. Их адвокаты не были немедленно доступны для комментариев.
Новый уголовный кодекс, вступивший в силу с пятницы, также гласит, что смертная казнь должна приводиться в исполнение путем расстрела и что последнее слово в вопросе о помиловании приговоренных к смертной казни остается за главой поддерживаемой Россией сепаратистской республики.
Объявление 3
История продолжается ниже
Это объявление еще не загружено, но ваша статья продолжается ниже.
Содержание статьи
Европейский суд по правам человека (ЕСПЧ) заявил в четверг, что он издал распоряжение России, чтобы гарантировать, что мужчинам не грозит смертная казнь. Кремль заявил, что не связан решениями ЕСПЧ, из которого Россия вышла после того, как 24 февраля начала вторжение в Украину.
Президент России Владимир Путин оправдывает свое нападение на Украину тем, что защищает русскоязычных на востоке страны от того, что Москва называет «геноцидом» со стороны Киева.
Украина и Запад заявляют, что в регионе нет преследований русских, и Путин использовал эти претензии как предлог для захвата территории и попытки свергнуть президента Владимира Зеленского.
Лидеры ДНР и соседней самопровозглашенной Луганской Народной Республики, которые признаны только Россией и Сирией, выразили желание стать частью России. Политики ДНР говорят, что если регион присоединится к России, они будут соблюдать российский уголовный кодекс, где действует мораторий на смертную казнь.
Россия и ее марионетки на Донбассе заявляют, что иностранные боевики являются «наемниками» и поэтому не подпадают под действие Женевской конвенции, запрещающей казнь военнопленных. (Сообщение Рейтер)
Поделитесь этой статьей в своей социальной сети
Реклама
История продолжается ниже
Это объявление еще не загружено, но ваша статья продолжается ниже.