Программирование для гуманитариев – Telegram
Программирование для гуманитариев
6.77K subscribers
66 photos
4 videos
219 links
Личный опыт того, как скипнуть в IT с гуманитарным образованием. Что для этого делать, чего стоит бояться (спойлер: ничего!) и чего ожидать. Рассею мифы о программировании и мире IT.
Бот для вопросов об IT: @hum_it_bot
Download Telegram
#вашивопросы

Где можно освоить ios разработку? Опыта нет

1. Факультет ios-разработки от GeekUniversity при mail.ru. Длительность всей программы - 1 год, и после неё обещают вас сразу трудоустроить.

2. Курс Программист iOS - тоже от geekbrains, но это экспресс-формат - обучение длится 6 месяцев, и обучают до уровня Junior. Подходит для обучения с нуля.

3. Курс iOS-разработчик с нуля - от Нетологии - длительность курса 10 месяцев. По окончании курса помогают с трудоустройством в компанию Redmadrobot - обучение заточено под проекты, которые разрабатывают в этой компании.

4. Если хотите варианты подешевле или бесплатные и готовы учиться в более самостоятельном режиме - смотрите курсы по iOS на образовательных платформах, например, на Udemy (UPD 2022 - cейчас из-за санкций оплатить курсы студентам из России там нельзя). Аналогичные варианты можно найти на coursera, edx, stepik и еще наверно с десяток похожих платформ. Такие курсы обычно менее длительные и сфокусированы вокруг одной темы - чтобы освоить профессию, придётся в итоге самому составить себе программу из таких небольших курсов (и книг, как вариант) - т.е. самому разобраться, какие предметы нужно изучать и в каком порядке.

5. Для тех, кого тоже интересует iOS-разработка, но кто не совсем новичок, а уже немного шарит в программировании - подойдут курсы от Otus - тут обучение ориентировано на тех, кто пришёл не с нуля, а уже имеет опыт хотя бы на уровне Junior: iOS-разработчик. Базовый курс

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

Бот для ваших вопросов: @hum_it_bot
#вашивопросы

Есть ли смысл вообще не идти в универ после школы, а вместо этого пойти на курсы от тех же geekbrains, skillbox и т.д?

Моё мнение - хотя бы одну «вышку» лучше всё же получить.

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

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

Еще вышка развивает коммуникативные навыки - там мы социализируемся, общаемся с однокурсниками и преподавателями, завязываем полезные знакомства. Это может звучать как что-то несущественное, но на практике с людьми, не привыкшими к работе в команде (не обладающими т.н. soft skills), работать очень тяжело. И еще на работе будет проще найти общий язык с коллегами, если у вас схожий уровень образования (у большинства всё же «вышка» есть).

Что касается IT - в высшем образовании заложено изучение фундаментальных основ Computer Science, в то время как курсы приходится делать более поверхностными и затачивать под изучение конкретных языков программирования и инструментов. А вглубь копать тоже нужно, если совсем не понимать, что и как работает «под капотом», даже на уровне ликбеза - можно по наивности наделать много ошибок. Также там научат и матану - а матан хоть и не во всех сферах разработки востребован, но для некоторых областей всё же нужен - так вам будет открыто больше потенциальных возможностей и профессий.

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

Бот для ваших вопросов: @hum_it_bot
#вашивопросы

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

Про платные vs бесплатные курсы я уже писала тут.

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

Есть ли смысл идти на такие (зачастую не дешевые) курсы? Ну, я бы сходила - когда я начинала учиться, их просто не было. В них есть свои преимущества - есть уже заранее составленное расписание и набор предметов. Есть наставник и преподаватели, которые будут давать вам обратную связь о ваших результатах. Ваш код будут проверять и находить в нём ошибки и недочеты (когда учишься самостоятельно, никогда не знаешь, нормальный ли код ты пишешь) - то есть делать code review. Учеба сосредоточена вокруг разработки близких к реальной практике проектов. Организована работа в группах - учиться, пусть даже онлайн, вместе с другими людьми - интереснее - мне этого в своё время недоставало. Еще один плюс таких курсов - они обычно либо основаны при IT-компаниях, либо с ними сотрудничают - приглашают разработчиков из ведущих компаний в качестве преподавателей, организовывают стажировки в этих компаниях и помогают с трудоустройством. А обучение заточено на максимально сжатые сроки - в самостоятельном режиме задать себе такой же темп будет сложнее.

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

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

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

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

Бот для ваших вопросов: @hum_it_bot
#вашивопросы

Java или Python?

Это смотря по каким критериям сравнивать.

1. Востребованность: Java - один из самых распространненых языков (чуть ли не на первом месте), это значит, что большинство программ в мире написано на Java и разработчики на этом языке еще очень долго будут востребованы, им проще найти работу, чем всем прочим. Впрочем, Python тоже достаточно популярный язык, он примерно в пятёрке лидеров.

2. Высокооплачиваемость: среди нас, питонистов, ходят байки, что Java-разработчики получают какие-то сказочные бабки, чуть ли не в два раза больше, чем мы. Я эту информацию не проверяла, просто оставлю её здесь. Имхо - может и правда они в среднем более высокооплачиваемые, но не в два же раза. 🙂

3. Простота: тут всё однозначно, Python проще. Но и Java - это вам не C++ какой-нибудь, не настолько уж сложно.

4. Скорость выполнения: Java из-за того, что выполняется в виртуальной машине имеет репутацию медленного языка (по сравнению с C/C++). Впрочем, Python еще медленнее.

5. Скорость написания кода - а вот тут Python выигрывает, он проще, значит и писать на нём быстрее. К тому же код на Java нужно компилировать перед запуском, а Python можно запускать сразу после написания.

6. Подверженность ошибкам: Java - язык со строгой типизацией, в отличие от питона. Это может раздражать новичков и как будто усложнять жизнь, но на самом деле строгая типизация позволяет избежать многих ошибок при написании кода. А компилятор отловит ошибки еще до запуска кода - с питоном про них узнаешь только в процессе работы программы.

7. Сферы применения. Если вы хотите в Data Science, тогда вам нужен Python. Если же хотите писать, скажем бэкенд - оба языка подойдут.

8. ООП (объектно-ориентированное программирование) - в Java оно каноничное, а в Python - ну такое… можно под него косить, опираясь на джентельменские соглашения.

9. Эстетика. Имхо, Java - громоздкий, некрасивый и несколько устаревший язык, вот такая вот вкусовщина. Поэтому лично я его не очень люблю. Скажем, тот же C# - очень похож на более современную и чистую Java - вот он посимпатичнее, но у него более узкая ниша для использования.

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

Бот для ваших вопросов: @hum_it_bot
Программирование для гуманитариев pinned «#FAQ С чего начать? Рассмотрим несколько кейсов: Кейс 1: Вы уже готовы с головой уйти в IT, посвятить год-полтора учёбе, и побыстрее начать работать по новой специальности. И у вас есть деньги на обучение. Тогда самое привлекательное, что предлагает рынок…»
Программирование для гуманитариев pinned «Всем привет! Когда-то я закончила гуманитарный вуз, где изучала историю и иностранные языки. После окончания ВУЗа и долгих попыток искать работу в близких к моему образованию и привычным скиллам сферах, я случайно попробовала пройти курс по программированию.…»
#FAQ

Мне больше 30-40 лет. Не поздно ли начинать?

Давайте разберём разные аспекты.

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

2. Сложность учёбы: молодежи проще учиться, так устроен мозг. Но это не значит, что с возрастом нужно сдаваться - напротив, когда мы учимся чему-то новому, мы улучшаем нейропластичность и заставляем мозг дольше оставаться молодым. Да, вам потребуется больше усилий, чем вам же лет 10-20 назад. Но учеба на программиста занимает год или два, это не так уж долго. Задайте себе вопрос, готовы ли вы посвятить 1 год учёбе?

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

4. Конкуренция с молодыми на рынке труда. Легко ли человеку за 30 или за 40 найти работу по новой специальности?

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

Категория 1 - это вундеркинды, очень талантливые молодые выпускники. У них за спиной уже куча стажировок в разных гуглах. Они осваивают любые технологии на лету. С таким конкурировать бесполезно, они вызывают комплекс неполноценности даже у специалистов с 10-летним стажем.:) Но вундеркиндов мало. Так что не переживайте о том, что вы на их фоне выглядите непрезентабельно - на их фоне все выглядят так себе. И далеко не каждый вундеркинд сохранит то же рвение к знаниям и энтузиазм на долгие годы - многие со временем устаканятся и станут рядовыми айтишниками, хоть и были звёздами на старте.

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

И, конечно, есть множество переходных форм между категориями 1 и 2.

Как доказать, что вы что-то умеете? Составляйте портфолио: делайте проекты по своей специализации (например, веб-сайты, мобильные приложения) - для себя, для семьи и друзей. Покажете их потом на собеседованиях.

Демонстрируйте рвение к освоению новых технологий. В мире IT всё время появляется что-то новое, и тут ценятся специалисты, готовые переключаться с одних инструментов на другие. Освоить 1 набор (например, язык программирования и несколько библиотек к нему) и всю жизнь работать только с ними - это плохая идея (впрочем, некоторым удаётся). Но не пугайтесь: когда вы хорошо знаете 1 язык, изучить второй и третий в процессе работы не так уж сложно и долго - это не то же, что начинать с нуля. Будьте морально готовы к тому, что вы приходите на работу с Python, а в итоге будете работать, скажем, с Go, а то и с Java.

5. Деньги - если вы зарабатываете неплохие деньги в своей области деятельности, будьте готовы к тому, что на старте в IT зарплата «просядет» и будет меньше привычного для вас уровня. Но возможно и обратное - когда в роли новичка-программиста вы уже будете получать больше, чем на вашей нынешней работе - всё зависит от того, сколько вы зарабатываете сейчас.

Вывод: если вы готовы приложить достаточно усилий - то почему бы и нет? Да, трудности могут быть. Но всё реально, люди после 30-ти приходят в IT, почему бы и вам не быть в их числе? Взвесьте все «за» и «против», оцените свой уровень мотивации - и решайтесь.

Бот для ваших вопросов: @hum_it_bot
#вашивопросы

Хотел бы узнать, с чего лучше начинать своё вступление в IT, веб разработка или разработка приложений? Что проще, лучше, востребовано? Интересно обо всем узнать для начала

Не обязательно сразу выбирать чёткое направление - скажем, разработку сайтов, игр или мобильных приложений. Можно для начала просто изучать программирование и азы Computer Science в общем (например, я так и делала) - а там уже сообразите, чем интереснее заниматься и доучите те технологии, которые для этого нужны.

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

Бот для ваших вопросов: @hum_it_bot
#вашивопросы

С чего начать обучение на VFX?

Думаю, проще всего пойти на курсы, где учат создавать спецэффекты. Я нашла вот такие варианты:

1. Профессия создатель спецэффектов от Skillbox - длятся 12 месяцев, подходят для обучения с нуля.

2. Моушн-дизайн, 3D и основы VFX от Нетологии - длятся 9 месяцев, подходят тем, у кого есть хоть небольшой опыт в дизайне или видеомонтаже.

3. Большой список курсов по VFX на Udemy (UPD 2022 - cейчас из-за санкций оплатить курсы студентам из России там нельзя).

4. Не совсем по VFX, но смежное направление (вдруг тоже заинтересует): факультет моушен-дизайна от Geekbrains. Тем, кто хочет учиться с нуля, рекомендуют в начале пройти подготовительные курсы по Adobe Illustrator и фотошопу у них же.

Бот для ваших вопросов: @hum_it_bot
Друзья! Думаю, многие из вас учатся или собираются учиться на каких-нибудь курсах. Делитесь своим опытом и впечатлениями от курсов в боте @hum_it_bot с хэштегом #отзывы - буду потом собирать эти отзывы в рубрики и публиковать экстракт.

Особенно интересны отзывы на те курсы, которые больше всего на слуху: Geekbrains, Skillbox, Нетология, Otus и тому подобные.

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

Какая зарплата у it-специалистов?

Если брать по Москве, то у среднего программиста с наличием опыта она примерно в диапазоне 100-200 тысяч рублей.
Подробнее смотрите на картинках, которые мне прислал читатель - это статистика с хабра за 2019 год.

Бот для ваших вопросов: @hum_it_bot
#FAQ
Я не знаю математику, можно мне в IT?

Я уже писала о том, что математика используется далеко не во всех областях программирования. Скажем, она пригодится в системном программировании, криптографии, разработке алгоритмов и некоторых других областях. Но для веб-разработки, мобильных приложений и многого другого - хватит знаний, которые остались со школы (даже если их почти не осталось). Математика хороша для прокачки мозгов, но не так уж необходима в большом объеме. Так что если вы хотите в программирование, но боитесь своего незнания математики - не бойтесь, просто учитесь программировать.

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

Ну, во-первых, есть отдельные курсы по математике для будущих специалистов по Data Science:

- Математика и Machine Learning для Data Science - от Skillfactory, комбо-программа сразу по двум направлениям - обещают, что подходит для изучения с нуля.

- Курс по математике для Data Science - тоже от Skillfactory - но тут нужны минимальные знания Python.

- Математика для анализа данных от Нетологии.

- Основы математики для Data Science от Skillbox.

Во-вторых, если вы поступаете на полную программу по Data-Science (такие курсы длятся полтора года) то, скорее всего, там уже «всё включено», в том числе и изучение математики в необходимом объёме:

- Факультет искусственного интеллекта от Geekbrains

- Профессия Data Scientist от Нетологии

- Профессия Data Scientist от Skillbox

- Полный курс по Data Science от Skillfactory.

Бот для ваших вопросов: @hum_it_bot
Почему курсы разочаровывают

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

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

Если вы не готовы к высокому темпу обучения, для начала попробуйте недорогие или бесплатные курсы, к примеру, на том же Udemy (UPD 2022 - cейчас из-за санкций оплатить курсы студентам из России там нельзя) - их можно проходить в своём темпе, без перенапряжения. Заодно познакомитесь с азами, и дальше материал уже не будет таким уж новым.

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

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

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

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

Если же разобраться самому с каким-то материалом не удаётся, и гугл не спасает - можно нанять репетитора на том же profi.ru на пару-тройку занятий, пусть разъяснит вам непонятные моменты.

Всё получится, если не сдаваться и не унывать.

3. Дорого. У всех разные финансовые возможности, у кого-то 5 детей, ипотека и еще 2 бабушки на попечении - в таком случае подталкивать вас к тому, чтобы тратить чувствительную для вас сумму денег на дорогостоящие курсы было бы неэтично. А для кого-то, наоборот, стоимость курсов выглядит приемлемо.

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

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

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

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

Но стоимость курсов сама по себе никому ничего не гарантирует, так что выбирайте с умом.

Бот для ваших вопросов: @hum_it_bot
Я начала собирать промокоды и купоны на скидки для всяких Geekbrains, Skillbox, Нетологии, Skillfactory итд - если кто собирается покупать курсы - пишите в бота @hum_it_bot - возможно у меня найдется промокод, с которым это можно сделать дешевле, чем просто у них на сайте.

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

1. Прислать отзыв на любые курсы, которые вы проходили или проходите в бота @hum_it_bot с хэштегом #отзывы. Это очень ценная информация, но пока у меня есть только единичные отзывы - их недостаточно для понимания, какие курсы советовать людям, а какие не стоит.

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

3. Посоветовать канал друзьям.

4. Задонатить немного денег, а я их потрачу на рекламу канала. Если 20 человек пришлёт по 100 рублей, этого уже хватит на недорогую рекламу, так что даже 100 рублей - это ценная помощь. Ссылка на яндекс-кошелек.
#вашивопросы

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

Я работаю преимущественно с бэкендом и еще пишу микросервисы (и не микро-) - всё это в основном на Python, поэтому речь в этом посте будет про него и его экосреду.

1. Django - довольно тяжеловесный, но очень распространённый веб-фреймворк, используется повсеместно. Создавался для быстрой разработки шаблонных, однотипных сайтов. Вначале потребует некоторого времени на освоение. Для создания сервисов с REST API часто используется в связке с django rest api framework.

2. Более минималистические и легкие в освоении веб-фреймворки: Flask, Pyramids.

3. Асинхронщина. Для тех, кто в танке для начала расскажу, что такое асинхронность.

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

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

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

Тем не менее, асинхронные фреймворки и библиотеки в моде, и высок шанс с ними столкнуться. Есть, например, Sanic - это асинхронный аналог Flask-a - имхо, самое симпатичное решение среди прочих. Есть еще веб-фреймворк и веб-сервер Tornado ну и aiohttp.

4. Базы данных. Я работаю с PostgreSQL, поэтому основная «базовая» библиотека тут - это psycopg2, есть еще универсальное решение - SQLAlchemy (не люблю ORM, но куда от них денешься?).

5. Очереди. Для работы с RabbitMQ использую либу kombu, она удобнее, чем pika.

6. Тестирование - фреймворк pytest очень облегчает написание тестов.

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

Бот для ваших вопросов: @hum_it_bot
1
Человеческий фактор

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

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

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

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

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