В детстве Анастасия Бирилло мечтала стать учителем русского языка и литературы. Сегодня она – научный сотрудник JetBrains Research, методист и преподаватель Digital Banana, а также разработчик собственного стартапа. «Гуманитарий – не приговор», – утверждает Настя. На нашей ноябрьской конференции "Контентинг" она рассказала о том, как освоить программирование самостоятельно, какое направление выбрать начинающему разработчику, где искать проекты, какие трудности могут встретиться на «пути курильщика» и как их преодолеть.



Под катом — расшифровка ее доклада.

Два пути в программирование


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



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



Но мы поговорим о другом способе, о так называемом «пути курильщика». Это когда ты уже получил какой-то первый диплом, работаешь где-нибудь в пиаре, например, – и вдруг у тебя появляется желание стать программистом. У этого пути есть несколько минусов. Во-первых, у тебя мало времени, после работы ты садишься за учебники вместо того, чтобы пойти с друзьями в бар или в кино. Во-вторых, скорей всего, ты не будешь получать образование и у тебя не будет диплома. Но при должном старании ты удивишь друзей, станешь тем самым «богом-программистом», о котором они думали: «Господи, это же так сложно». А ты теперь это умеешь!



Первые шаги, первые трудности и успехи


Войти в программирование, как мне кажется, проще с веба. Сначала это будет даже не совсем программирование, но ты можешь начать с верстки: структурировать страницы, раскрашивать их при помощи стилей. При должном старании довольно скоро ты сможешь получать за это неплохие деньги, собирая заказы на фрилансе. Потом ты изучаешь JavaScript, HTML, CSS… Думаешь, что уже все понял – и, само собой, ошибаешься.


Это реальная цитата из довольно популярного паблика ВКонтакте. Ребята считают: «Фронт я освоил, я суперклевый веб-программист, теперь мне пора в бэкенд». На самом деле, это не так.



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



После JavaScript, HTML и CSS можно начать изучать фреймворки для работы с фронтендом. Через 3-4 месяца ты уже сможешь написать свое простенькое приложение на Angular или React. Раньше, видя кучу ошибок в консоли, ты пугался: «О господи, что это?!..» Теперь ты смотришь на это спокойно, начинаешь гуглить и разбираться, в чем причина. При упоминании Github тебя не прошибает холодный пот: ты знаешь, что это такой милый котик, довольно удобная штука для всех программистов. Возможно, ты уже мило посмеиваешься над другом-гуманитарием, который вдруг тоже захотел научится программировать. У него ничего не получается, он сидит и не понимает, что у него происходит. А ты видишь, что он просто где-то забыл скобочку поставить.

Программист — как художник


Теперь ты неплохо освоил программирование и можешь пойти в так называемый Software Engineering. Там обитают те самые ребята, которые пишут всякие сложные штуки на Java, C#, C++, Python и так далее. И это не то чтобы очень сложно: к этому моменту ты уже понимаешь, что программист – как художник. Просто он научился мыслить как компьютер и переносит это в код – с определенными строгими правилами. У художника нет жестких рамок, а в программировании они есть. Но вы уже понимаете: в принципе это не так сложно, я могу с этим справиться.



С какого языка начать


Для тебя открывается очень много путей и языков программирования. Например, можно начать с Python. Это довольно просто язык, его делали в академических целях, для детей. Если ты знаешь английский, то сможешь понять код на Python, даже если никогда не программировал. На Питоне пишутся сервачки – это логика на всяких сайтиках. А если вдруг откроешь в себе талант к математике и найдешь кучу времени, то можешь пойти в самый хайповый Data Science и зарабатывать там по 300 тысяч в секунду. Но в этой сфере есть свои сложности.



Учить Kotlin или Java труднее, чем Python. Там намного больше всяких тонкостей и довольно сложный синтаксис. Зато устроиться на работу, особенно в начале пути, будет намного проще: вакансий Junior Java Developer гораздо больше, чем вакансий для начинающих Python-программистов. Здесь тоже открывается много возможностей. Можешь просто остаться в Software Engineering в качестве Java Developer, можешь пойти в мобильную разработку или писать те же сервачки, только на Java или Kotlin.



А если видишь в себе очень много сил, чувствуешь себя властелином вселенной, то учи C++ или Rust. Это путь тех самых людей, которые идут стажироваться в Google, пишут суперсложные приложения, постоянно говорят о каких-то утечках памяти или о том, что могут сами прострелить себе ногу. Но если ты действительно хочешь заниматься, уверен, что не бросишь, что сможешь – почему бы нет?



Шкала крутости




Я упомянула о такой штуке как Junior Java Developer. В IT-мире есть так называемая «шкала крутости» от Junior до Senior. Когда ты Junior, ты как ребенок: видишь какую-то ошибку и сидишь в панике, не понимаешь, что происходит. Просто плачешь и зовешь на помощь этого супергероя-сеньора: он приходит и решает твою проблему, над которой ты мог сидеть несколько часов или дней, буквально за одну минуту. Это не магия, способности накапливаются со временем: набирается опыт и увеличивается база знаний.

На чем практиковаться




Теперь ты, наверное, думаешь: «сейчас выберу сферу, буду учить Python или пойду в веб, запишусь на гору курсов, прочитаю тонну книжек – и стану крутым программистом». На самом деле, так не работает. Самое важное – практика. Я сейчас говорю не о каких-то банальных проектах, которые задают на курсах, из разряда «выведи 10 первых чисел Фибоначчи» или «поменяй местами в массиве две переменные». Решай действительно интересные задачи, делай то, что нравится.

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



На собеседованиях мы часто сталкиваемся с джунами, которые рассказывают о прочитанных книжках, о курсах. Спрашиваешь такого: «А что ты делал?» Он: «Ну, решил там пару учебных проектиков, которые были на Stepik». Гораздо круче рассказать о собственном приложении: «Я сделал вот такую архитектуру… У меня не получилось, я переделал, я столкнулся с такими-то проблемами, решал их вот так и вот так…» HR это видит, и это – довольно клевый плюсик в карму. При приеме на работу – да, смотрят знания в целом. Но для джуниора важно, чтобы он мог обучаться и чтобы ранее не только читал теорию, но и занимался какой-то практикой.

Где искать проекты




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



Если хочешь писать какую-то логику – например, для веб-приложений на фронте или на бэке, то просто ищешь похожий ресурс в интернете и реализуешь его… Вообще код можно написать для чего угодно. Найди в интернете банальный туториал – как сделать to-do list. Это многие советуют – такой список дел, в котором ты отмечаешь, что уже сделано. Можешь реализовать какие-нибудь шашки, в которые ты будешь играть с тем самым другом, который тоже решил учиться. Можно вообще объединится и писать проект вместе.

Как успевать все и получать деньги за хобби




Обычно я просто почти не сплю. Но вообще можно расписывать каждый день. Если у вас есть список дел, которые вы хотите сделать, – скорее всего, вы их сделаете. Главное – жесткие дедлайны. Если ты говоришь «мне нужно запилить тестовое приложение, на него у меня недельки две», так не работает. Но если нужно «запилить тестовое приложение к 4 декабря», то будешь сидеть и пилить. Я банально завела календарь на компе, проставляю себе дела каждый день и стараюсь их делать. При этом нахожу время гулять с друзьями, заниматься танцами и английским.



Это будет работать, только если дело тебе действительно нравится. Мой коллега стал фронтенд-разработчиком, потому что ему дико надоело работать в пиаре. Он понял, что ему очень нравится верстать сайты, и он тратил на них все свое свободное время. Но ему это нравилось. Не зря говорят: найдите то, что вам нравится, и тогда вы не будете работать ни дня. Звучит пафосно, но это правда. Мне настолько нравится то, чем я занимаюсь, что я не могу называть это работой. Получается, что мне платят за мое хобби.

Точка входа: почему веб лучше, чем игры


Игры – тоже неплохая точка входа. Но нужно заниматься тем, что нравится. Я, например, ненавижу игры и не смогла бы через них стать программистом, даже если бы очень хотела. Если ты используешь какой-нибудь Construct (это такая простая штука, чтобы делать 2D-игры), то по сути не программируешь. А когда начинаешь верстать, ты все равно приучаешься хоть к какой-то дисциплине: видишь эти скобочки, приучаешь себя не бояться писать код, и тебе будет проще адаптироваться к более сложным вещам. Потом и на большие куски кода смотришь спокойно: «Ну ладно, я тоже такое писал, ничего страшного».

Главное – не бояться


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



Если хочешь перейти в IT, главное – не бойся. Нужно преодолевать страх, не бояться писать код. Все почему-то думают о программировании, что это, блин, очень-очень сложно. Даже дети, которых я обучаю, иногда боятся запускать программу, которую сами же написали: «Сейчас будет ошибка, все упадет, и я не смогу понять, в чем причина». Главное – побороть этот страх. Ты можешь начать с веба, это довольно просто. И запомни: практика, практика и много-много практики. Без нее ничего не выйдет!



Все доклады с “Контентинга” — а это 16 часов полезной информации, 26 выступлений и 3 дискуссии о том, как делать крутой контент о технологиях и с помощью технологий — есть в видеоформате тут. Скидка для пользователей Хабра по промокоду habr_online_promo.

За поддержку конференции благодарим наших спонсоров:

Комментарии (61)


  1. vconst
    18.01.2019 16:33
    +2

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


  1. PYXRU
    18.01.2019 16:39
    +2

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


    1. qw1
      20.01.2019 17:56

      Абсолютно верно, Анастасия с отличием окончила математико-механический факультет СПбГУ.
      Расходимся, нас обманули.


  1. khim
    18.01.2019 16:42
    -1

    Вообще исходный посыл неправильный. Гуманитарий — это таки приговор. Но есть ньюанс: «гуманитарное образование» != «гуманитарный склад ума».

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


    1. Arseny_Info
      18.01.2019 21:17

      Вполне помогает.


      1. khim
        18.01.2019 23:15
        +2

        Ну разве что тем, что вам будет проще выдать разработку, сделанную кем-то другим за свою… можно ли это назвать программированием — вопрос сложный…


        1. Arseny_Info
          18.01.2019 23:36
          +3

          Снобизм вам не к лицу


      1. olezh
        19.01.2019 03:45
        +1

        раскроете тему?


        1. Arseny_Info
          19.01.2019 11:56
          +1

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

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


      1. Whuthering
        19.01.2019 11:28

        Если только как soft-skills. Но проблема в том, что голые софт-скиллс без профессионализма в предметной области, увы, бесполезны.


    1. stardust_kid
      19.01.2019 13:05

      Нет гуманитарного склада ума. Есть люди, находящиеся в плену стереотипов. Я журналист, работаю senior front end. Скиллы журналистики офигенно помогают.


      1. Whuthering
        19.01.2019 17:25

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


  1. wegres
    18.01.2019 16:50
    +1

    Я думал, что статья будет про то, как курить мануалы, а тут ничего такого…


    1. mapron
      18.01.2019 21:23
      +3

      Ну как ничего такого, куча забавных картинок, вы разве не за этим на хабр приходите?


  1. asd111
    18.01.2019 17:19

    Свежий анекдот. Приходит гуманитарий на работу программистом и выгорает. Конец.


    1. LekaOleg
      18.01.2019 17:56

      Так же можно и с ответом на заголовок статьи — никак! :)


    1. ViceCily
      19.01.2019 08:14
      +1

      Спасибо! Самое смешное что я прочитал за неделю.


  1. Helwig
    18.01.2019 18:07
    +4

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

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


  1. 0xGreg
    18.01.2019 18:44
    +2

    Одному мне кажется, что «персонаж» с картинки «классический путь» похож на poop emoji?


  1. nicholas_k
    18.01.2019 19:55
    +6

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

    Может это и неплохо, может среди тысяч тех, кто поверит, что это легко и просто, все таки найдутся вменяемые люди, которые немного пополнят рынок труда.

    Хуже будет, если в результате такой пропаганды на собеседованиях придется вместо 10 джунов отсеивать 20.


    1. vconst
      18.01.2019 22:25
      +1

      Напрасно в комментах критикуют уровень подачи, поскольку уровень подачи нужен тем, кто ни в зуб ногой.
      На Хабре то?


      1. sumanai
        19.01.2019 22:00
        +1

        Боюсь что теперь уже да.


        1. VanquisherWinbringer
          20.01.2019 20:11

          Как страшно жить.


      1. nicholas_k
        19.01.2019 23:51

        Представьте себе — гуманитарий вводит в гугле «Ресурс для программистов».
        Первая же ссылка на Хабр — «30+ онлайн ресурсов для изучения программирования в 2017».

        Так что да, для пиара на Хабре самое то.


  1. cyborg-researcher
    18.01.2019 21:52
    +2

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


    1. DaneSoul
      19.01.2019 14:35

      Это не на хабре надо искать (одна статья тему не раскроет), а среди различных он-лайн курсов. Есть интересные курсы, учащие кодить с нуля, например:
      www.coursera.org/learn/python
      stepik.org/course/67/syllabus
      А если совсем в общих чертах познакомится для начала, то лучше посмотрите www.codecademy.com/learn/learn-python


    1. Zoolander
      19.01.2019 23:32

      определитесь, какую программку вы хотели бы для уже имеющегося хобби — и пишите ее )

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

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

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


  1. Botchal
    19.01.2019 02:46
    +5

    Красивая девушка, позитивная статья. Но, нет ни слова о востребованности на рынке, спросе. Вот она пишет такие вещи типа

    А если видишь в себе очень много сил, чувствуешь себя властелином вселенной, то учи C++ или Rust

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


  1. fcoder
    19.01.2019 03:31
    +3

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


    1. ilammy
      19.01.2019 11:45

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


  1. olezh
    19.01.2019 04:36
    +3

    Печально, что «как войти в профессию программиста», рассказывает научный сотрудник JetBrains Research, методист и преподаватель Digital Banana, а также разработчик собственного стартапа не программист.


    1. alan008
      20.01.2019 23:35

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


  1. artalar
    19.01.2019 08:24
    +3

    поменяй местами в массиве две переменные
    хмм


  1. HenadziMatuts
    19.01.2019 10:07
    +5

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


    1. Fenzales
      19.01.2019 16:06
      +1

      Анастасия Бирилло
      Биография
      С отличием окончила математико-механический факультет СПбГУ в 2017 году. В настоящее время продолжает обучение в магистратуре на кафедре информационно-аналитических систем
      При чем тут гуманитарии в заголовке и в тексте — решительно не понятно.


  1. aamonster
    19.01.2019 10:40
    +1

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


    1. alexdevid
      19.01.2019 20:11

      этот человек не освоил и не освоит правило «пиши код так, будто поддерживать его будет склонный к насилию психопат, который знает, где ты живёшь»


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


      1. aamonster
        19.01.2019 20:54

        При чём тут технари? Проблема вообще не в разделении технарь/гуманитарий, а в выбранном пути — где автор максимально долго писал код без обратной связи, выбрав области, где write-only код наиболее распространён.


  1. exehoo
    19.01.2019 10:58

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


  1. muhaa
    19.01.2019 13:00
    +3

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

    Учить Kotlin или Java труднее, чем Python. Там намного больше всяких тонкостей и довольно сложный синтаксис.

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


    1. Alexsey
      19.01.2019 23:52

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


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


  1. DaneSoul
    19.01.2019 14:41
    +2

    Если ты знаешь английский, то сможешь понять код на Python, даже если никогда не программировал.

    squared_odds = [n ** 2 for n in numbers if n % 2 == 0]
    squared_odds = map(lambda n: n ** 2, filter(lambda n: n % 2 == 0, numbers))

    Любому знающему английский совершенно очевидно, что эти две строки делают одно и то же! (Сарказм)


    1. Kroid
      19.01.2019 19:52

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


    1. vchslv13
      19.01.2019 22:37

      А это у Вас Python 2 или 3, кстати? :)


      1. DaneSoul
        20.01.2019 01:38

        И там и там должно работать.
        Правда для второй строки есть ньюанс, в Python 2 в переменной окажется список, а в Python 3 «map object», но тем не менее «строки делают одно и то же» в принципе справедливо.


        1. vchslv13
          20.01.2019 02:27
          +1

          >Правда для второй строки есть ньюанс
          Ну, так не интересно, я собственно об этом и хотел сказать, а Вы сразу интригу разрушили :)


    1. llivejo
      19.01.2019 23:51
      +1

      семантическая ошибка: "odds" это нечетные числа,


      1. DaneSoul
        20.01.2019 01:55

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


  1. flapenguin
    19.01.2019 14:46
    +4

    (не понял есть ли у автора акк, ну да ладно)


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


    1. Ты закончила с отличием мехмат СПбГУ, а в этом году, видимо, закончишь магистратуру. Это безусловно круто, респект и уважуха, но даже близко не путь гуманитария.
    2. В Digital Banana ты учишь школьников, а они или еще не ступили ни на один из двух путей, или стоят в самом начале.
    3. Твое место работы под завязку забито технарями разной степени: студентами, специалистами, магистрами и кандидатами.

    И еще, пожалуйста, никогда, никому, даже вскользь, не советуй "просто почти не спать".


    1. Fenzales
      19.01.2019 16:07

      И еще, пожалуйста, никогда, никому, даже вскользь, не советуй «просто почти не спать».
      Ну а как еще вменить «хомячкам» мысль, что сидеть в офисе по 10-12 часов — это норма?


  1. KonstantinSpb
    19.01.2019 17:24

    Есть несколько хороших книг для старта с минимумом разглагольствований и соплей:
    1. www.amazon.com/Self-Taught-Programmer-Definitive-Programming-Professionally-ebook/dp/B01M01YDQA
    2. www.amazon.com/Complete-Software-Developers-Career-Guide-ebook/dp/B073X6GNJ1
    3. Классика www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670


  1. CHolfield
    19.01.2019 21:02
    -4

    Очень хочется написать что-нибудь токсичное про кухню и борщ.


    1. CHolfield
      20.01.2019 13:46
      -1

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


  1. echo_mont
    19.01.2019 22:28
    -1

    не сексист, но только дамы пишут подобные бесполезные и бессмысленные штуки с картиночками. Так что да — Настя гуманитарий.
    И понятно, для чего пишутся подобные статьи. Чтобы указать в резюме: n статей на хабре, рейтинг +100500


  1. 411
    20.01.2019 00:51

    Было бы интересно посмотреть, что случится на рынке труда, если 50% гуманитариев последуют этому совету.


    1. Vlad_IT
      20.01.2019 01:11
      +1

      То будут статьи с заголовком


      Путь курильщика: как войти в профессию гуманитария, если ты программист


    1. bogolt
      20.01.2019 14:06

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


  1. OlegGelezcov
    20.01.2019 19:03

    Зачем гуманитариям, т.е. людям с гуманитарным образованием, которое им нравилось — идти в IT? Только за бабло? Очень круто.
    С другой стороны кому-то же надо осваивать за 500 баксов те тысячи жаваскрипт-фреймворков.


  1. Maccimo
    20.01.2019 20:41

    Когда я поступила в университет из гуманитарной школы

    Это что за странный зверь, «гуманитарная школа»?


  1. DeuterideLitium6
    21.01.2019 00:29

    Питон по мне довольно сложный ЯП, отчасти даже по сложней С/С++, легкий, это например Lua. Я во обще питон называю питухон, какой-то не логичный ЯП, непонятно зачем он нужен.
    Веб-программирования, тут я тоже скажу, это не особо интересно, лично мне это совсем не интересно, хотя иногда приходится разбираться HTML.
    А вот программирования игр это интересно, можно начать с программирования несложных игр с помощью всяких конструкторов. Ну или программирования модов, я например увлекаюсь С.Т.А.Л.К.Е.Р.ом, в результате освоил более или менее ассемблер, потом по хуже С++, ну и конечно Lua.
    В общем, у каждого свой путь!


    1. wegres
      21.01.2019 07:02
      +1

      А как тогда называть Lua? Лухон?