Программирование для гуманитариев

Description
Личный опыт того, как скипнуть в IT с гуманитарным образованием. Что для этого делать, чего стоит бояться (спойлер: ничего!) и чего ожидать. Рассею мифы о программировании и мире IT.
Бот для вопросов об IT: @hum_it_bot
Advertising
We recommend to visit
HAYZON
HAYZON
6,053,581 @hayzonn

لا اله الا الله محمد رسول الله

👤 𝐅𝐨𝐮𝐧𝐝𝐞𝐫: @Tg_Syprion
🗓 ᴀᴅᴠᴇʀᴛɪsɪɴɢ: @SEO_Fam
Мои каналы: @mazzafam

Last updated 3 weeks, 1 day ago

Architec.Ton is a ecosystem on the TON chain with non-custodial wallet, swap, apps catalog and launchpad.

Main app: @architec_ton_bot
Our Chat: @architec_ton
EU Channel: @architecton_eu
Twitter: x.com/architec_ton
Support: @architecton_support

Last updated 2 weeks, 2 days ago

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

Last updated 1 month ago

2 months, 3 weeks ago
  1. Задания. За курс нужно сделать 3 довольно больших проекта. Что хорошо (хоть и противно) - тут не только самая "мякотка" интересная, но и куча нудятины, которая тоже входит в рутину разработчиков - покрытие кода тестами, всякие там линтеры, написание документации, бенчмарки, оптимизация производительности - так что курс по сути хороший тест на то, готовы ли вы заниматься такой работой в принципе. Есть и некоторые "подставы" - например, в основном задании, которое делают на протяжении всего курса - в начале нет требования тотально покрывать всё тестами. Но к последним спринтам - сюрприз, в заданиях появляются требования в духе "код проекта должен быть покрыт тестами на 80%". Так что лучше с самого начала писать код по принципу TDD - весь с тестами - нет ничего более унылого и беспомощного, чем писать тесты потом, уже по готовому проекту, на код, написанный много недель назад. Сами проекты в целом интересные - но повторюсь - чем постепеннее их делать, тем лучше. Если свалить всё на последние дни - можно утонуть. Код ревьюит ментор, но, впрочем, мой ни разу не отправлял мои задания на доработку - всё принимал с первого раза.

  2. Коммьюнити. Курс позиционирует себя как в том числе комьюнити, но, мне кажется, в случае с онлайн-образованием, формирование комьюнити - не реалистичная цель. Да, есть учебные группы в мессенджере - там можно задавать вопросы (отвечают доволно вяло). Можно созвониться с ментором и с глазу на глаз обсудить то, что вам интересно. Есть еще несколько вебинаров - можно туда сходить очно и позадавать вопросы, а можно посмотреть в записи. Как по мне - комьюнити - это громко сказано. Всё равно 99% времени ты один на один с монитором.

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

  4. Минусы. Есть и к чему придраться - например, задания не всегда описаны исчерпывающе понятно. Бывает такое, что часть задания нужно "додумывать" - причём не так, как это бывает в реальной практике на работе - на работе обычно нужно выяснить более подробно, чего же именно хочет заказчик. А тут у тебя уже скорее прописанное ТЗ, но прописанное не полностью. Но это всё мелочи. Если цель - извлечь пользу - это не помешает.

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

  6. Могу ли рекомендовать курс? Да, вполне.

2 months, 3 weeks ago

Яндекс-практикум. Мои впечатления

  1. Для кого курс? Я проходила курс разработки на Го "для продвинутых". Это значит примерно - "не с нуля", "не для total beginners". Подойдёт Go-разработчикам-джунам, разработчикам с опытом на других языках, людям из смежных профессий - например, админам.

  2. Зачем он мне? У меня довольно большой стаж айтишных работ - не меньше 10 лет, и с Го я тоже знакома(он не сложный так-то), и код на нём писала. Но специально Го я не изучала, не хватало понимания, какие там best-практики, как вообще делать всё красиво и по конвенции. Накопились и вопросы - например, что такое дженерики? Как в го правильно/красиво писать тесты? Путаница с мьютексами, смутное понимание, что такое "контексты". И да, мне работодатель предложил оплатить этот курс. Идти на курс я не то чтобы горела желанием, потому что где на всё взять время, это ж целых полгода и даже дольше, но в итоге решила, что рациональнее будет сходить.

  3. Сложный ли он? Материал я назвать сложным не могу. Там много базы, и тем, заточенных под новичков в духе "что такое HTTP-запрос". Так что для джунов курс уже вполне годится. Но, конечно, сложность теории для конкретного учащегося обратно пропорциональна уже имеющимся опыту и знаниям. Чем ближе к total beginner, тем страшнее. Наверное...

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

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

Я с начала курса для пробы выделила квоту - каждый день тратить не менее часа на учебу. На практике получилось, что первую половину каждого спринта я сидела по 2-3 или 4 часа в день, а вторую - отдыхала. Занималась я с тайм-трекером, и по статистике получилось, что в среднем в день на занятия уходило 50 минут - это если считать каждый день месяца, включая выходные.

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

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

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

2 months, 3 weeks ago

Закончила курс Яндекс-практикума "Продвинутый Go‑разработчик". Как соберусь с силами - напишу отзыв

7 months ago

Наткнулась вот на пост https://t.me/unclebromberg/5283. Интересно, что в нём говорится, что спрос на питонистов сейчас маленький, а требования - огромные, заоблачные. Это с позиции соискателя взгляд. Что могу сказать с позиции работодателя - тут всё немного…

7 months, 3 weeks ago

#вашивопросы

Здравствуйте! Так как гуманитарию войти в сферу АйТи. Какие курсы/ресурсы могли бы посоветовать? Какую сферу программирования выбрать?

Добрый день! Поскольку с этим вопросом мы заходим на 2й (на самом деле 10й) круг, значит в канале появились новые подписчики, и это радует.

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

А здесь отвечу снова, будет версия-2024.

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

А вот чтобы это понять - берёте любой курс по Computer Science или программированию для начинающих (ключевые слова "с нуля", "101", "для начинающих", "введение") - курс должен быть коротеньким и бесплатным, но с какими-то практическими задачками. Вам нужно поизучать вводную теорию, поковыряться в учебных задачках, и в процессе задавать себе вопросы - "мне сейчас интересно?" "мне бы хотелось углубить свои знания в этой области?" "я хочу разобраться глубже, как здесь всё устроено?" "готов(а) ли я заниматься чем-то подобным по 8 часов в день каждый день?". Вместо курса подойдёт и книга.

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

Если вы прошли этот этап и считаете, что готовы/хотите продолжать, то можно уже переходить к более серьёзным, сложным и длительным курсам. Я вообще всем советую начинать с гарвардского Introduction into computer science, CS50. Если с английским языком не дружите, есть переводы на русский - тут ссылки (надеюсь, не устаревшие). Это бесплатно, но потребует определенных вложений в плане времени и усилий.

После CS50 уже можно начинать думать, кем вы хотите стать, ~~когда вырастете~~ - например, бэкенд-разработчиком или фронтэндером или системным администратором, или кем-то ещё. И уже выбирать курсы по специализации. Так что вопрос "какую сферу выбрать" - это вопрос ваших профессиональных предпочтений, и задать его нужно будет себе, когда у вас будет достаточно знаний о сфере в целом.

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

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

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

Задать вопрос автору блога можно здесь: @hum_it_bot

Telegram

Программирование для гуманитариев

Всем привет! Когда-то я закончила гуманитарный вуз, где изучала историю и иностранные языки. После окончания ВУЗа и долгих попыток искать работу в близких к моему образованию и привычным скиллам сферах, я случайно попробовала пройти курс по программированию.…

7 months, 4 weeks ago

За несколько лет удалёнки, я поняла, какой главный навык нужен удалёнщинку или фрилансеру, чтобы жизнь не скатилась в унылое болото прокрастинации.

Это - умение выделять время на работу компактно. А так же умение быстро включаться в рабочий режим (и отключаться от него тоже хорошо). Причем, включаться в него желательно уметь из любого места. Пришёл в кафе, знаешь, что у тебя есть час времени - надел наушники, мгновенно погрузился в рабочую задачу. Потом встал и поехал по другим делам. Когда научаешься вот так вот включаться-выключаться в любом месте - сразу откуда-то возникает куча свободного времени. Мне приходилось работать такими короткими сессиями по полчаса в гостях у родителей, в суде, пока ждала в коридоре (не спрашивайте), из кафе. И в итоге можно успеть то, что на первый взгляд успеть невозможно.

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

Важно не количество "жопочасов", проведённых у компьюетера - по меткому выражению одного коллеги. Важно только то время, когда ты смог сконцентрироваться и уделить полноценное внимание своим рабочим задачам. Хорошая концентрация и погружение в задачу позволит сделать за 4 часа то, на что в полурассеянном режиме ушло бы все 10. А оставшееся время можно будет занять чем-то другим полезным или приятным.

Худший вариант образа жизни удалёнщика - это когда сидишь часа по 3 и всё пытаешься собраться с мыслями, и начать что-то делать. Да что там три часа - так можно провести и 5, и 10 часов.

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

8 months, 4 weeks ago

[... к предыдущему посту]

И ещё один момент - не все руководители дают ответ "зачем" вы что-то делаете, и какой цели этим добиваетесь. Без этой информации высок риск начать двигаться в неправильном направлении. Поэтому спрашивайте, зачем. И любимое у разработчиков "какую проблему мы решаем"? Например, "хочу скрипт, который будет возвращать список клиентов за последний день" - это задача с непонятной целью. А "нам надо проанализировать, какой процент клиентов использует android. Если 90% клиентов использует веб-версию, и им не нужен андроид, тогда в этом году мы не будем вкладываться в разработку андроид-приложения". Вот так вы понимаете реальную цель работы, и можете предложить другой вариант решения - может быть, первоначальная идея со скриптом не самая лучшая.

8 months, 4 weeks ago

От подписчиков:

Здравствуйте. У вас действительно получается какой-то около-психологический канал?* вот сейчас, у меня проблема и я сразу подумала об этом канале и его авторе))

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

В результате, конечно, немало разочарования, пропущенные сроки, чувство вины.

И вот сейчас. Задача была поставлена месяц назад, заложено определенное количество часов. В это количество часов я уложилась, даже остался запас. Однако, вот сегодня выяснилось, что задача выполнена не совсем корректно. Со слов посредника между мной и руководителем, руководитель написал: "я сам сейчас это делаю"
Я попросила разъяснений, что не так, что я напортачила, ответа пока нет*

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

Что же касается вашей трудности с правильным пониманием поставленных задач, предлагаю посмотреть на это так: любой проект, задача, подзадача начинается с этапа выработки требований. Только когда на 100% понятно, каковы требования - уже приступают к выполнению задачи. У вас получается этап выработки требований "зажевался" и вы начинаете выполнять задачу без верного понимания, что именно нужно делать. Это достаточно частая проблема не только у новичков, но и в опытных командах. Поэтому как только получаете новую задачу - сосредоточьтесь на первом этапе. Сформулруйте список уточняющих вопросов. Опишите примерный план того, что собираетесь сделать. И потом с этим материалом идите к начальнику и уточните - правильно ли вы поняли задачу, а так же закройте все неясности. Ещё хорошая практика - даже если вам кажется, что вы поняли, что сказал начальник, пересказать это за него своими словами и спросить "Правильно ли я понимаю задачу? Мне нужно сделать то и то, вот так". Если вы поняли задачу не так, как её хотел передать вам начальник, он это услышит из ваших слов и внесёт правки. И уточнять, формулировать и задавать вопросы нужно до тех пор, пока всё не будет кристально ясно на 100%. А чтобы не отвлекать начальника кучей мелких вопросов, лучше заранее подготовить список и договориться с ним, что он выделит полчаса на обсуждение.

9 months, 2 weeks ago

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

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

Что же касается составления своих авторских курсов, абсолютно новых, таких, каких ранее не было? Сейчас курсов в интернете, в том числе бесплатных столько, что любой желающий может пойти и научиться всему, что нужно. Было бы желание и воля. Совершенно не вижу смысла писать еще один курс к ста тысячам уже существующих. Я ничего нового не добавлю, всё уже есть.

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

We recommend to visit
HAYZON
HAYZON
6,053,581 @hayzonn

لا اله الا الله محمد رسول الله

👤 𝐅𝐨𝐮𝐧𝐝𝐞𝐫: @Tg_Syprion
🗓 ᴀᴅᴠᴇʀᴛɪsɪɴɢ: @SEO_Fam
Мои каналы: @mazzafam

Last updated 3 weeks, 1 day ago

Architec.Ton is a ecosystem on the TON chain with non-custodial wallet, swap, apps catalog and launchpad.

Main app: @architec_ton_bot
Our Chat: @architec_ton
EU Channel: @architecton_eu
Twitter: x.com/architec_ton
Support: @architecton_support

Last updated 2 weeks, 2 days ago

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

Last updated 1 month ago