TGINSIGHT CHAT
Программирование для гуманитариев
@it_human
КарьераЛичный опыт того, как скипнуть в IT с гуманитарным образованием. Что для этого делать, чего стоит бояться (спойлер: ничего!) и чего ожидать. Рассею мифы о программировании и мире IT. Бот для вопросов об IT: @hum_it_bot
Последние посты
Стр. 17 из 54 · 646 постов
Опубликован 27 мая
Ребят, вот вы когда присылаете кусок собственного кода, в котором сами не смогли разобраться, и просите помочь, уже на этом этапе есть ряд методологических ошибок. Во-первых - не должно быть такого, что вы бездумно пишете "нечто", и при этом не понимаете, как это вообще должно работать. Представьте, что вы пишете письмо на русском языке, написали уже 5 предложений, но сами при этом не понимаете, что означает каждое из этих предложений. Абсурд? Абсурд, и с кодом точно такой же абсурд. Каждая инструкция/функция/оператор - всё, что вы пишете, должно быть понятно вам. Если вы не понимаете, как работает оператор, который прямо сейчас хотите использовать - прочитайте его описание в документации, не поможет - погуглите, поищите разъяснения, примеры использования, спросите, наконец кого-то - зачем нужен этот оператор и как с ним работать. Но не надо пытаться "наугад" засовывать его в код. Представьте, что вы залезли в кабину пилота самолета, увидели там много кнопок, и просто начинаете их бездумно нажимать, надеясь, что удачно попадёте в нужную кнопку. Так это не работает - прежде чем нажать кнопку, нужно узнать, для чего она нужна. Во-вторых - вы написали такой хитрый и запутанный код, что даже сами не понимаете, как он работает. Но при этом ожидаете, что другой человек, который видит этот код впервые в жизни, в этом спагетти должен разобраться быстрее вас. Это так не работает. Плохой и запутанный код непонятен для чтения кому угодно - и даже опытным чувакам придется по 5 раз перечитать ваше творение, прежде чем они начнут догадываться, что же это такое здесь. Поэтому опытные разработчики стремятся писать максимально простой и понятный для других людей код, а новички грешат чем-то очень хитроумным и запутанным. И, наконец, вы написали неработающий код, который не выполняет свою задачу. В итоге человек, который вам помогает, должен сам по вашему неработающему коду догадаться, какую задачу этот код должен был решить, в каком месте что-то пошло не так, и что в этом коде нужно поправить, чтобы код служил изначальному замыслу автору, а не делал что-то незапланированное. Получается какое-то шоу экстрасенсов или Шерлок Холмс. Это же касается и помощи коллег - вероятно, если вы принесете опытному разработчику непонятный и запутанный код, он даже откажется его читать и попросит переписать покрасивее и попроще. Это не из вредности, это потому что человек готов уделить вам 15 минут, но не 2 часа. А читать нечто очень сложнонаписанное - это не только 2 часа потерянного времени, но и серьезное умственное напряжение. Вывод тут такой - если вы на ранних стадиях изучения программирования видите, что уже не понимаете, как работает то, что вы пишете - замедлитесь и разберитесь. Каждая инструкция в коде, каждая строчка, каждая запятая или скобка - всё должно быть понятно до мелочей. Это не сложная задача, сложно вам будет если вы пропустите этот этап и понадеетесь, что писать "наугад" - как-нибудь прокатит.
#вашивопросы Стоит ли покупать курсы по программированию в кредит? По поводу кредитов моя позиция однозначна - лучше не надо. Я даже ипотеку не люблю, но без ипотеки обойтись бывает сложно, ведь жить всем где-то надо. Но что касается кредита на курсы - лучше уж либо скопить денег, либо искать дешевые курсы и читать книги, которые вам по карману. Так же некоторые онлайн-школы предлагают альтернативные схемы оплаты - например, с оплатой только после успешного получения сертификата или трудоустройства в компанию по окончанию курса. Поспрашивайте менеджеров из разных курсов, какие есть варианты оплаты. Я редко что-то советую в финансовых решениях, но вот в случае с кредитами я однозначно против. Задать вопрос автору блога можно здесь: @hum_it_bot
Hashtags
Опубликован 24 мая
Вообще вот вы пишете, что ищете отзывы о конкретной онлайн-школе - но отзывы на всю школу целиком могут быть неинформативны. В каждой онлайн-школе сейчас обычно есть десятки, а то и сотни разных курсов, и, соответственно, десятки и сотни людей, которые эти курсы разрабатывают и преподают на них. И наверняка среди них есть более и менее удачно сделанные, и всё это в рамках одной и той же онлайн-школы. Искать стоит отзывы хотя бы на конкретного преподавателя (преподавателей), которые будут вести именно ваш курс - так что узнайте у менеджеров имя-фамилию преподавателя и поищите информацию о нем. Конечно, такие отзывы найти сложнее, но зато в них есть хоть какой-то смысл. А в остальных ситуациях получается, вы читаете, что Васе не понравится преподаватель по тестированию Иван Иванов, а вы присмотрели себе курс по питону, который ведёт Пётр Петров, великолепный преподаватель, и отзыв Васи к этому курсу не имеет никакого отношения. Помимо этого, плохие отзывы могут писать школы-конкуренты, а хорошие отзывы - маркетологи самой школы. Доверять им всем стоит с оглядкой.
#вашивопросы Собираюсь купить курсы у Яндекса. Прошёл их бесплатную обучалку по html css и кайфанул. Но! Немного сомневаюсь. Видел много рекламы Skill Factory и Skill Box, но Яндекс Практикум никто не рекламирует. И ещё от них немного веет инфоцыганщиной. В описании курса и в роликах проскакивают фразы типа «вы будете зарабатывать на старте 65 тыщ», «я на своей старой работе ничего не получал, а став программистом получаю 200тыщ и ты так сможешь» и моё любимое «я очень люблю чипсы принглс, но они дорогие и покупал я их только по праздникам, но став программистом я ем принглс каждый день и не смотрю на цену». Я хочу научиться кодить и делать это грамотно. Яндекс предлагает классные плюшки, но стоят они 200+тысяч за 18 месяцев обучения. Страшно отдавать такие деньги. Может у вас есть инсайды про Яндекс практикум и вы меня успокоите? Ну, реклама вообще не говорит ничего о самих курсах, а только о том, чем у них там заняты рекламщики, креативщики и пиарщики. Если какой-нибудь скиллбокс часто мелькает на ютубе, а яндекс - нет, это означает, что скиллбокс закупил много рекламы на ютубе, а яндекс не стал там продвигаться. Если реклама дурацкая - ну значит копирайтеры и креативщики придумали дурацкую рекламу. Никаких более глубоких выводов из рекламы сделать нельзя. Что касается яндекс-практикума - с ребятами, которые там работают, я немного общалась, правда те конкретные ребята занимались курсом для "продолжающих" - то есть курсом, который должен был специалистов уровня junior превратить в миддлов. Имхо, материал там готовят добротный, и достаточно сложный. И в целом работа над проектом у студентов напоминает практику в настоящей компании - что с одной стороны хорошо. Но с другой стороны, целесообразность курса для "продолжающих" мне показалась сомнительной, ведь с тем же успехом можно устроиться джуном на работу, так же работать над проектом и наращивать навыки, и при этом еще и получать зарплату, а не платить за курсы. Но этот вывод касается именно формата курсов "для продолжающих", в случае с начинающими всё логично. Разработка курсов в яндекс-практикуме (если курс новый, а не повторный) идет в режиме реального времени. То есть пока студенты изучают, к примеру, первый раздел онлайн-учебника и делают к нему упражнения, авторы курса работают над разделом 4 - пишут текст онлайн-учебника и придумывают задания к нему. Один мой знакомый, который проходил у них курсы, говорил, что на его взгляд, материал у них местами "сырой", "недоработанный" - скорее всего, этот отзыв как раз и связан с методикой разработки курса "на лету". Но вообще тот же знакомый позже пришел к выводу, что ему нравится учиться самостоятельно по книгам, а курсы ему не нужны, никакие - а это сугубо индивидуальное предпочтение. Мне, к примеру, наоборот ближе курсы, так как они интереснее - задания из книг делать муторно и скучно, а в курсах присутствует интерактив. Еще 2 человека позитивно отзывались о курсах яндекса. Я не могу вам давать совет, тратить или не тратить большую сумму денег на курсы яндекса, или же рассмотреть другие варианты - решать вам. Но в целом у меня лично сформировалось благоприятное впечатление об этой школе. Задать вопрос автору блога можно здесь: @hum_it_bot
Hashtags
#вашивопросы Добрый день! Я Ваша постоянная «писательница» в рубрику можно сказать! (https://t.me/it_human/574) Спасибо Вам за ответ тогда в январе😊 В итоге я прошла стажировку и мне предложили остаться в компании. Компания делает онлайн магазины Shopware/Prestashop/Wordpress (jQuery/Javascript, php/smarty, css) и плагины для них! Часто и много чего не понимаю и не получается сделать, старшие коллеги заняты, а сроки поджимают. Хотела спросить Вашего совета. Как быть? Может, было бы неплохой идеей найти ментора? Но где и как? С такой, как мне кажется, довольно узкой специализацией?! Или есть другие способы пережить ЭТО с наименьшими потерями. Что-то сама я как-то не справляюсь. Заранее спасибо😊 Смотрите, во-первых, вы только начали работать, первые полгода многое будет казаться сложным и непонятным и требовать большой умственной концентрации. Через год вам эти же задачи будут казаться тривиальными. Теперь к вопросу, что делать: Первое - когда получаете задачу, первым делом убедитесь, что вы правильно понимаете её требования и цели. - Что вам нужно сделать? И зачем/для чего? На этом этапе не важно техническое решение, какой код вы будете писать и какие шаги предпринимать для решения, а важно понять, что вообще предстоит делать. Новички часто стесняются уточнять такие моменты, а потом сидят и "плавают" - либо прокрастинируют, либо делают вообще не то, что на самом деле нужно было сделать. Поэтому до тех пор пока у вас нет исчерпывающего понимания требований и цели - не отставайте от того, кто вам задачу дал, задавайте вопросы до тех пор, пока их у вас не останется. Если задача большая - ее лучше разбить на несколько промежуточных подзадач. Второе - на этом этапе вы понимаете, что нужно получить в итоге, но не знаете, как это делать. На этом этапе нужно придумать техническое решение. Тут лучший помощник - гугл. Погуглите, как люди раньше решали похожие задачи (наверняка их решали уже 1000 раз), почитайте статьи на тему. Так же гуглите и мелкие "затыки" - когда не получается написать работающий кусок кода - кто-то уже сталкивался с такой же точно ошибкой, это я могу вам гарантировать. Важно - гуглить надо на английском языке. На русском тоже можно для начала попробовать, но информации будет гораздо меньше. Так что даже если с английским есть затык - привыкайте гуглить на нём. Третье - вы попробовали подступиться к решению, погуглили, почитали что-то, поэкспериментировали с кодом. И всё равно какой-то затык. Значит, время обратиться к старшему коллеге. Для начала подготовьтесь - подумайте, как вы опишете ему проблему, расскажете, какие решения вы уже нашли и попробовали, и что с ними пошло не так. Коллега не должен чувствовать, что вы как бы перекладываете свою работу на него, его цель - быстро войти в контекст, увидеть, почему вы попали в тупик, и помочь из этого тупика выбраться. Это не должно занимать много его времени. Отвлекать коллег по любому пустяку каждые пять минут - плохая практика, а хорошая практика - собрать список вопросов для обсуждения заранее, и заранее же договориться с коллегой, чтобы он выделил вам полчаса, чтобы всё это обсудить. Четвертое - вы джуниор разработчик. Вообще-то все опытные разработчики в курсе, что джунов надо менторить, и это входит в их обязанности. Поэтому поговорите с руководителем и спросите - кто из старших коллег отвечает за то, чтобы вас менторить? Попросите назначить человека, который будет вам помогать. Это нормальная практика, джуны - это по определению люди, нуждающиеся в наставничестве. Искать ментора на стороне, как мне кажется, решение странное. Обычно никто не нанимает репетиторов, чтобы они помогали человеку справляться с рабочими обязанностями - вы уже не студент, а сотрудник компании. К тому же тут возникают проблемы правового характера - вероятно, код, который вы пишете, является коммерческой тайной компании, и показывать его кому-то постороннему запрещено. Так что лучше ищите помощи у коллег, просто делайте это корректно. Задать вопрос автору блога можно здесь: @hum_it_bot
Hashtags
Опубликован 21 мая
Я в некоторых постах упоминала школу udemy - сейчас вижу, что ссылки на неё не работают, так как они присоединились к санкциям и с Россией не работают. Ну как не работают - бесплатные курсы там все еще можно посмотреть, а оплатить ничего нельзя.
#вашивопросы Добрый день! Я тут решил воспользоваться программой Цифровые профессии - 2022 и не могу определиться, с какого ЯП начинать свой путь в IT, и выбор мой остановился между Python и Go. Про Go в нескольких видео на ютубе слышал, что это не лучший ЯП в качестве первого, в основном на него переходят уже с других языков, что очень мало вакансий Go-джунов, в основном все компании ищут миддл+. Но всё же есть люди, которые начинают именно с Go. Ваше мнение по этому поводу. И еще походу второй вопрос. Если я допустим определюсь с ЯП, то по каким критериям лучше выбирать курс (школу программирования)? Вот курс Python-разработчик в рамках программы Цифровые профессии-2022, например, предлагают Яндекс.Практикум, Skillbox, Нетология. Заранее спасибо. На счёт Go я в целом солидарна с тем, что вы уже слышали - проще начать с Python, хотя бы потому что это пока что более распространенный язык. Но если вам почему-то очень хочется начать именно с Go - ну что ж поделать, начинайте с Go, никто не запрещает делать и так. А в дальнейшем имеет смысл освоить оба языка. Что касается школы - тут вам стоит сформулировать свои критерии - чего вы ожидаете от обучения и чего хотели бы получить, в каком формате предпочитаете учиться, какое расписание для вас было бы удобно, сколько часов в неделю готовы уделять обучению, какой формат сдачи заданий вам больше подойдет (зачеты/тесты/экзамены/лабораторные работы), как долго длится курс, какой объем там теории и практики и что из себя представляют практические задания, какие предметы включены, есть ли там ментор, к которому вы можете обратиться со своими вопросами, будет ли кто-то читать/проверять ваш код и давать рекомендации по улучшению? С таким списком вопросов стоит позвонить менеджеру по продажам в каждой школе (или задать их письменно) и сравнить каждую программу. Насколько я знаю, в Яндекс-практикуме предлагают онлайн-учебник с текстовыми разъяснениями теории + интерактивный тренажер. Кому понятнее и проще работать с текстом - для тех это хороший вариант. В других школах (это не точно, уточняйте у менеджеров) - кажется, предпочитают формат видеолекций и вебинаров. Подумайте, что вам больше подойдет. Задать вопрос автору блога можно здесь: @hum_it_bot
Hashtags
#вашивопросы Привет, я занимаюсь вёрсткой. И делаю разные сайты по шаблону, по просьбе друзей и их ТЗ. Но есть страх, что моего уровня недостаточно для фриланса, и я не смогу выполнить заказ. Что в этом случае делать? И как понять, что моего уровня достаточно будет... У вас никогда не появится ощущение, что вашего уровня достаточно, откладывать попытки начать работать можно бесконечно. Вы уже делали какие-то проекты для друзей? Ну так пробуйте теперь для других заказчиков. Если почувствуете острую нехватку знаний - в процессе сможете понять, где у вас белые пятна, и какие темы подучить. Еще один путь набраться уверенности и опыта - это устроиться на работу по найму, и уже спустя какое-то время можно будет переходить на фриланс. Но если вы хотите сразу фрилансить, тогда вам ничего не остается кроме как пытаться брать первые заказы. Если сильно не уверены в результате - ставьте небольшую цену и предупреждайте заказчика, что вы еще учитесь. Задать вопрос автору блога можно здесь: @hum_it_bot
Hashtags
#вашивопросы Что нужно знать Junior phyton'исту, чтоб пройти собеседование? Тут стоит всегда держать в голове, что собеседования проводят разные люди, и у каждого из них свои требования. В этом посте, к примеру, мой чек-лист знаний, необходимых разработчику. Список ориентировочный, и, понятно, что первое время вы вряд ли будете знать 100% всего, что там описано, но важна готовность и стремление освоить всё, чего вам пока не достаёт, и эту готовность нужно хорошо продемонстрировать на собеседовании. Ну а что будет происходить на конкретном собеседовании, зависит, еще раз, от того человека, с которым вы будете общаться. Некоторые проверяют только базу - знание синтаксиса языка, циклов, основных структур данных и операторов. И дают какую-нибудь простейшую задачку по программированию. Некоторые, наоборот, пытаются копнуть вглубь и задают каверзные вопросы - что-нибудь про мета-классы или декораторы или про порядок наследования классов, и задачи дают нетривиальные. Часто на собеседованиях пытаются намеренно подловить и проверить, попадете ли вы в расставленную "ловушку" - например, не начнете ли изменять элементы списка во время итерации. Или, к примеру, не попытаетесь ли делить на ноль в ходе решения задачи. То есть, такие задачки, которые неопытный человек с высокой вероятностью сделает с ошибками. Вы можете погуглить списки типичных вопросов и типичных задач из собеседований по Python, и подготовить заранее ответы - в любом случае, будет полезно. Будут ли вам задавать именно такие или похожие вопросы - опять-таки зависит от собеседующего. Некоторые намеренно избегают распространенных вопросов, чтобы люди отвечали из головы и показывали то, что они действительно знают, а не как студенты на экзамене, выучив нужный билет. Подготовьте портфолио из ваших pet-проектов - будьте готовы рассказать, какие (учебные) или домашние проекты вы уже выполняли с использованием питона. Так же собеседующие могут попросить прислать им ссылку на репозиторий с вашим кодом - почитать, и оценить, так что выложите хоть один ваш проект на гитхаб. Ясно, что каких-то знаний вам, в любом случае, будет недоставать, поэтому выразите готовность и интерес к обучению, чтобы работодатель увидел, что вы быстро освоите всё необходимое. И не забывайте про soft-скиллы. Разумный работодатель ищет, прежде всего, хорошего человека в команду - то есть человека адекватного, дружелюбного и в достаточной мере коммуникабельного - человека, с которым другим членам команды будет легко и приятно общаться и работать, а не, например, какого-нибудь "вредину", ворчуна, упрямца или нытика. Задать вопрос автору блога можно здесь: @hum_it_bot
Hashtags
Опубликован 17 мая
Ребятки, кто живёт в России - зайдите на Госуслуги и почитайте про программу "Цифровые профессии 2022". Насколько я понимаю, государство готово взять на себя часть расходов на ваше обучение (в том числе программированию), если вы относитесь к одной из льготных категорий населения, например, студент или родитель в многодетной семье. Самую большую скидку - в 100% стоимости обучения предлагают двум категориям - людям с инвалидностью и безработным, зарегистрированным на бирже труда. Почитайте, может и для вас там найдется вариант.
#вашивопросы Здравствуйте, если кратко. Юридическое образование, 25 лет. Думаю о java либо дата сайнс, второе направление выглядит интереснее, но предполагает (насколько я понимаю) полный рабочий день и в целом фиксированную зарплату. Java же видится чем-то более свободным, возможно сделать проект и получить за это денежки. И вероятно прибыльнее Правильно ли я понимаю? Что вам видится перспективнее? С какими компетенциями легче найти работу? Разделение на "полный рабочий день" и проектную работу я тут вижу довольно искусственным. Проектная работа - эта фактически фриланс, да, Java-разрабочики могут работать на фрилансе. Но первое время вам всё равно придется набираться опыта в статусе junior-разработчика, и, скорее всего, это будет в формате полного рабочего дня. Да и в дальнейшей карьере многие java-разработчики работают именно в формате full-time, не понимаю, почему у вас эта профессия ассоциируется в большей степени с проектной работой. Так же фриланс-проекты можно найти и в качестве специалиста по data science, помимо трудоустройства на полный рабочий день. Но опять-таки, проще найти проектную работу будучи опытным и высококлассным специалистом - то есть, опять-таки, первоначально опыта придется набираться в режиме полного рабочего дня. На счет перспективности - да и то, и то перспективно, и то и то прибыльно. Java - самый распространенный в мире язык программирования, разработчиков нужно много. Data Science и искусственный интеллект тоже в моде, и очень популярное направление. Определяясь, что именно выбирать, стоит отталкиваться от того, что лично вам ближе и приятнее. В случае с дата саенс придется налегать на математику и статистику. В случае с java - на навыки написания хорошего кода и инженерные компетенции (то есть проектирование и реализацию работающих программ). Не у всех душа лежит к математике и статистике в достаточной мере, чтобы идти в дата саенс. Так же как не всех привлекает кропотливое вылизывание кода или объектно-ориентированное проектирование. Чтобы выбрать, что вам больше нравится, стоит попробовать на каких-то небольших "игрушечных" проектах и то, и другое. Задать вопрос автору блога можно здесь: @hum_it_bot
Hashtags
#вашивопросы Куда устроится на первых порах после курса в SoloLearn по Python'у? Так же знаю HTML И CSS + немного шарю в java Напишите резюме, закиньте его всюду, куда возможно (hh, linkedin итд). Также обязательно поспрашивайте всевозможных друзей, знакомых, родственников, не нужен ли кому-нибудь человек с такими скиллами. В нынешней экономической ситуации я бы на вашем месте устраивалась бы в первое же место, куда вас готовы будут взять - на любую стажировку в том числе. Когда у вас появится опыт, можно будет уже больше привередничать, хотя тоже не факт. Как вы относитесь к тем, кто собрался переучиваться и идти в айти в сознательном возрасте (30+) - по причине хороших денег и стабильной работы в этой области? В данный момент начинаю буткемп по вэбдевеллопменту, потому что в берлине на фоне остальных профессий именно в этой области больше всего вакансий и даже джуниор позиции с хорошими зп, но при этом многие друзья, которые с высшим тех образованием и многолетним опытом работы в айти мне говорят, что так нельзя, должна быть к предмету чистая любовь и тд и тп. Что вы думаете по этому поводу? (Пс. недавно прочитала, что одна из сеньор разработчиц Google оставила карьеру повара и пошла учиться разработке, просто чтобы иметь хорошую медстраховку). Ну смотрите, могу рассказать про свой опыт. Меня в IT не в последнюю очередь привлек именно уровень зарплат. Это нормальная мотивация, люди устраиваются на работу ради денег, в том числе и айтишники. Если бы им не платили, многие бы из них не стали бы заниматься программированием чисто "ради души" в качестве хобби. Потому что ну так устроена пирамида Маслоу, что тут поделаешь. Доля правды в словах ваших коллег тоже есть, но немного в другом смысле. Идти ради денег в профессию - это нормально, но важно, чтобы помимо денег предметная область вас заинтересовала. Иначе у вас просто не хватит мотивации чтобы учиться и полноценно работать - нелюбимым делом даже ради денег заниматься тяжело, и в итоге неэффективно. Поэтому пробуйте, и если вам будет интересно, отвращения к профессии не почувствуете, а наоборот - некое удовольствие процесс будет приносить, тогда продолжайте - значит можно дальше двигаться в том же направлении. Задать вопрос автору блога можно здесь: @hum_it_bot
Hashtags