company_banner

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

    В детстве Анастасия Бирилло мечтала стать учителем русского языка и литературы. Сегодня она – научный сотрудник 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.

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

    ТechMedia
    905,00
    Создаем и развиваем сервисы для гиков
    Поделиться публикацией

    Комментарии 78

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

        Народ со структурной лингвистики уделывает народ с мехмата, бывает — но это не значит, что ваш опыт работы журналистом поможет вам в программировании…
          +3
          Вполне помогает.
            +3
            Ну разве что тем, что вам будет проще выдать разработку, сделанную кем-то другим за свою… можно ли это назвать программированием — вопрос сложный…
              +3
              Снобизм вам не к лицу
              +2
              раскроете тему?
                +1
                Работа с текстом немного похожа на работу с кодом. Сначала декомпозируешь задачу на высокоуровневые сущности (например, методы в классе и подзаголовки в статье), потом переходишь на детали реализации и набрасываешь костяк, потом шлифуешь детали имплементации, потом перечитываешь и думаешь, как это можно улучшить. Тот же код ревью вообще очень похож на задачу редактирования.

                Конечно, есть предметные области, из которых переходить в программирование может быть проще. Но, думаю, из любой профессии, где иногда нужно думать головой, можно что-то перенять. Идеи transfer learning-а применимы не только к нейросетям, но и к людям :)
                  0
                  Поддержу комментатора в частности гуманитариев-лингвистов — при изучении языков точно так же нарабатывается мышление на поиск взаимосвязей, способность быстрее понять логику чего-либо, что отличается от привычной (особенно с китайским языком). Я лично часто сталкивался с тем, что большинство моих знакомых, в том числе и инженерных специальностей, не могут понять банальную инверсию или другие закидоны построения фраз в английском языке. А это — вполне себе обычные логические цепочки, которые и правят бал в практически в любой сфере жизни.
                    –1
                    Когда говорят гумманитарий, это не про лингвистов

                    Гумманитарий, это люди с нечетким мышлением, которые умудряются при этом от этого не страдать, а берут жизнь другим. Софтскиллом — ага
                  0

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

                  –2

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

                    +2

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

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

                        «Гуманитарно одарённые» же зачастую даже не в состоянии понять, что то, чем они занимаются — не является наукой (так как задача науки — строить фальсифицируемые гипотезы и их проверять… а рассуждения всяких политобозревателей никто проверять даже не пытается… ибо если сделать — то их всех нужно уволить… ну или 99%, как минимум).
                          +1
                          Easterncheese, Вы путаете гуманитарные науки и т.н. «гуманитарный склад ума» — этот эвфемизм не имеет привязки к гуманитарному образованию/профессии обладателя такого «склада», а скорее ближе по смыслу к «гуманитарной катастрофе мозгов».
                            0
                            Не путаю, но, как мне кажется, что очень многие напрямую ассоциируют «гуманитарный склад ума» (в плохом его значении) с вполне себе точными науками, которые по тем или иным причинам названы «гуманитарными». Посему, если это к месту, я пытаюсь всегда акцентировать внимание, что многие из таких наук называются гуманитарными лишь в силу того, что не имеют прямого отношения к математике и прочим точным наукам (хотя, в реальности, очень сильно с ними пересекаются).
                        0
                        Какие конкретно скиллы? Смотря на «творчество» журналистов вижу только скиллы «не разбираться в предметной области», «не уметь в логику», «взять первое попавшееся без анализа и приткнуть к решению», «заткнуть незнание любой ахинеей», «подогнать задачу под ответ». Видимо, имеющие другие скиллы перестают быть журналистами, потому у обычных ничего другого не заметно.
                      +6
                      Я думал, что статья будет про то, как курить мануалы, а тут ничего такого…
                        +5
                        Ну как ничего такого, куча забавных картинок, вы разве не за этим на хабр приходите?
                        +16
                        Свежий анекдот. Приходит гуманитарий на работу программистом и выгорает. Конец.
                          0
                          Так же можно и с ответом на заголовок статьи — никак! :)
                            +1

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

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

                            Для начала можно было бы ознакомиться с источниками с первой страницы гугла
                              +2
                              Одному мне кажется, что «персонаж» с картинки «классический путь» похож на poop emoji?
                                +8
                                Снова пропаганда «Войтивайти». Напрасно в комментах критикуют уровень подачи, поскольку уровень подачи нужен тем, кто ни в зуб ногой.

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

                                Хуже будет, если в результате такой пропаганды на собеседованиях придется вместо 10 джунов отсеивать 20.
                                  +4
                                  Напрасно в комментах критикуют уровень подачи, поскольку уровень подачи нужен тем, кто ни в зуб ногой.
                                  На Хабре то?
                                    +1
                                    Боюсь что теперь уже да.
                                    0
                                    Представьте себе — гуманитарий вводит в гугле «Ресурс для программистов».
                                    Первая же ссылка на Хабр — «30+ онлайн ресурсов для изучения программирования в 2017».

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

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

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

                                      Благодарю!
                                      Будем посмотреть.

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

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

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

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

                                        У меня часто возникают идеи по автоматизации чего либо, от действий на компе (написать скрипт) до каких-либо алгоритмов в жизни (бывает мастерю что-нибудь руками и есть идея что нибудь запаять и какую-нибудь простую программку туда вложить...) И для этого хорошо было бы иметь инструмент или два, с помощью которых кодить эти несложные вещи и заодно учится понимать сей процесс. То есть хобби, которое в жизни пригодится, а может быть и станет ещё одним инструментом в руках…
                                        Вот сейчас например начал brl-cad ковырять.
                                        Я в восторге! Это конечно заморочка, но рисовать делать 3д с помощью командной строки, это захватывающе и интересно :)
                                        Меня даже по началу на ностальгию пробило, вспомнил как мы с брательником в 95-м ходили на курсы информатики (тогда в нашей школе такого предмета ещё не было) и там на бейсике рисовали картинки и делали анимашки.
                                        Посему тут вопрос не в том, какую я программулину хочу. А в том, какой инструмент, с низким порогом вхождения, широкими возможностями и потенциалом к дальнейшему развитию, начать изучать?

                                          0
                                          Посему тут вопрос не в том, какую я программулину хочу.
                                          Таки ровно в этом.

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

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

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

                                        0
                                        Если есть интерес к компьютерным играм — можно попробовать сделать свою при помощи Unity или Unreal Engine. И там и там хорошие образовательные материалы и интересные примеры, можно возиться и осваивать. Для меня оказалось хорошим хобби.
                                        +5
                                        Красивая девушка, позитивная статья. Но, нет ни слова о востребованности на рынке, спросе. Вот она пишет такие вещи типа
                                        А если видишь в себе очень много сил, чувствуешь себя властелином вселенной, то учи C++ или Rust

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

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

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

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

                                                0
                                                Добрый день!) Именно на Ваш комментарий пожалуй отвечу (даже зарегелась для этого тут). А чем простите занимаются разработчики стартапов? Они сидят дома и управляют людьми? Или гоняют на встречи с инвесторами? Если Вы считаете так, то Вы сильно ошибаетесь. Я довольно много занимаюсь программированием при разработке стартапа. Да, я занимаюсь каким-то планированием, придумыванием идей и т.д. ПОМИМО написания кода, но это не отменяет тот факт, что я пишу код (и довольно много). Это первое.

                                                Второе. Наверное, Вы немножко не представляете, чем может заниматься научный сотрудник :) Я исследую различные алгоритмы, которые НУЖНО встроить в огромный немецкий проект, тем самым РЕАЛИЗОВАТЬ их, написать не 5 и не 10 строк кода. Причем не просто реализовать, а придумать как их улучшить, изменить, обобщить и т.д. и т.п.

                                                Да, моя работа и там и там не заключается ТОЛЬКО в написании кода, но писать, что я не программист — ну извините, немножко задевает :) С учетом того, что я пишу код каждый день (или почти каждый день, когда есть выходные).
                                                  0
                                                  Привет, Настя и жаль, что это ответ на мой комментарий с чисто формальной претензией, и нет ответа на комментарии по существу — о поверхностности доклада, о эксплуатации штампов, о вредных советах… Перед человеком вдруг решившим войти в IT стоит целый сонм проблем и здесь есть о чём поговорить.

                                                  Да уже понятно, что ты умеешь писать код, выпускница великого и ужасного матмеха, у меня очень трепетное отношение к нему и его выпускникам.
                                                +4
                                                поменяй местами в массиве две переменные
                                                хмм
                                                  +8

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

                                                    +5
                                                    Анастасия Бирилло
                                                    Биография
                                                    С отличием окончила математико-механический факультет СПбГУ в 2017 году. В настоящее время продолжает обучение в магистратуре на кафедре информационно-аналитических систем
                                                    При чем тут гуманитарии в заголовке и в тексте — решительно не понятно.
                                                    +1
                                                    Охохонюшки…
                                                    Не хотел бы я разгребать код за человеком, который _так_ пришёл в программирование. Потому что всё, всё, буквально всё кричит: этот человек не освоил и не освоит правило «пиши код так, будто поддерживать его будет склонный к насилию психопат, который знает, где ты живёшь».
                                                    Самое смешное — для полноценного гуманитария освоить это правило должно быть даже проще, чем для технаря: это же человеческие отношения, гуманитарная область.
                                                      0
                                                      этот человек не освоил и не освоит правило «пиши код так, будто поддерживать его будет склонный к насилию психопат, который знает, где ты живёшь»


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

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

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

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


                                                          У музыкантов с технарями гораздо больше общего, чем вам может показаться. Так что программист вполне может стать музыкантом. На уровне «унылой посредственности» в качестве исполнителя по крайней мере точно.
                                                          +6
                                                          Если ты знаешь английский, то сможешь понять код на 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

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

                                                              0
                                                              А это у Вас Python 2 или 3, кстати? :)
                                                                0
                                                                И там и там должно работать.
                                                                Правда для второй строки есть ньюанс, в Python 2 в переменной окажется список, а в Python 3 «map object», но тем не менее «строки делают одно и то же» в принципе справедливо.
                                                                  +1
                                                                  >Правда для второй строки есть ньюанс
                                                                  Ну, так не интересно, я собственно об этом и хотел сказать, а Вы сразу интригу разрушили :)
                                                                +1

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

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

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


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


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

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

                                                                  +2
                                                                  И еще, пожалуйста, никогда, никому, даже вскользь, не советуй «просто почти не спать».
                                                                  Ну а как еще вменить «хомячкам» мысль, что сидеть в офисе по 10-12 часов — это норма?
                                                                  0
                                                                  Есть несколько хороших книг для старта с минимумом разглагольствований и соплей:
                                                                  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
                                                                    –5
                                                                    Очень хочется написать что-нибудь токсичное про кухню и борщ.
                                                                      –3
                                                                      Ребят, вы так кичитесь тут своей объективностью и въедливостью к деталям, вы наверное, понимаете, почему испытываете такой гнев? Конформисты хреновы, это же даже не действие и не намерение, просто я поделился с вами своими чувствами азазазх)
                                                                      +1
                                                                      не сексист, но только дамы пишут подобные бесполезные и бессмысленные штуки с картиночками. Так что да — Настя гуманитарий.
                                                                      И понятно, для чего пишутся подобные статьи. Чтобы указать в резюме: n статей на хабре, рейтинг +100500
                                                                        +1
                                                                        Было бы интересно посмотреть, что случится на рынке труда, если 50% гуманитариев последуют этому совету.
                                                                          +1

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


                                                                          Путь курильщика: как войти в профессию гуманитария, если ты программист
                                                                            0
                                                                            я предполагаю что многие люди получившие гуманитарное образование вполне могут иметь хорошие способности к логике, и как следствие сумеют стать программистами. Впрочем очень часто такие люди уже изначально пишут себе скрипты, разбираются в софте, и для них это скорее вопрос решимости а не смены мышления.
                                                                            +1
                                                                            Зачем гуманитариям, т.е. людям с гуманитарным образованием, которое им нравилось — идти в IT? Только за бабло? Очень круто.
                                                                            С другой стороны кому-то же надо осваивать за 500 баксов те тысячи жаваскрипт-фреймворков.
                                                                              0
                                                                              Когда я поступила в университет из гуманитарной школы

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

                                                                                +1
                                                                                Питон по мне довольно сложный ЯП, отчасти даже по сложней С/С++, легкий, это например Lua. Я во обще питон называю питухон, какой-то не логичный ЯП, непонятно зачем он нужен.
                                                                                Веб-программирования, тут я тоже скажу, это не особо интересно, лично мне это совсем не интересно, хотя иногда приходится разбираться HTML.
                                                                                А вот программирования игр это интересно, можно начать с программирования несложных игр с помощью всяких конструкторов. Ну или программирования модов, я например увлекаюсь С.Т.А.Л.К.Е.Р.ом, в результате освоил более или менее ассемблер, потом по хуже С++, ну и конечно Lua.
                                                                                В общем, у каждого свой путь!
                                                                                  +1
                                                                                  А как тогда называть Lua? Лухон?
                                                                                    0
                                                                                    Я это к тому, что такой ЯП как Lua хорошо подходит для как начальный ЯП, а вот Питон сто пудово не очень для этого подходит, сложный синтаксис прежде всего. Может кто-то считает что Питон лёгкий ЯП, но я так не считаю, пытался с ним разобраться, надо было, не получилось, реально какой то замороченный. И самое главное, я не вижу выходы в его использовании, интерпретатор к тому же.
                                                                                      0
                                                                                      А приведите пример нелогичности или замороченности, пожлалуйста? Просто интересно, что вы под этим подразумеваете. Только не вкусовщину, вроде, отступы vs curly braces.
                                                                                      UPD: Чёрт, я почти некропостер, кажется :( Извините, если что.

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

                                                                                Самое читаемое