TGINSIGHT CHAT
Программирование для гуманитариев
@it_human
КарьераЛичный опыт того, как скипнуть в IT с гуманитарным образованием. Что для этого делать, чего стоит бояться (спойлер: ничего!) и чего ожидать. Рассею мифы о программировании и мире IT. Бот для вопросов об IT: @hum_it_bot
Последние посты
Стр. 21 из 54 · 646 постов
Опубликован 23 дек.
В последнее время мне часто попадаются мемы и шутки, обыгрывающие тему "надо выходить замуж за программиста/айтишника", и тогда мол всё будет в шоколаде. Поэтому я решила сегодня написать о самом насущном - о зарплате, и правда ли айтишники такие уж богатеи. Не берусь судить о ситуации в регионах, но по Москве могу сказать следующее: большинство моих знакомых айтишников имеют зарплату в диапазоне 120-250к - в зависимости от опыта и занимаемой должности. Да, для регионов цифры могут выглядеть большими, но если учесть, сколько денег из этого уходит на ипотеку или съём жилья, получаются гораздо более скромные цифры. Скажем, снять относительно неплохую "двушку" в Москве стоит тысяч 50-60, а если хочется поближе к центру - то и в несколько раз больше. Вычтите из 120 тысяч 60, и получится уже совсем не такая радужная зарплата. А если на эту сумму кормятся еще несколько иждивенцев, то богатством тут, конечно, не пахнет. Так что - может быть, благосостояние среднего московского айтишника и выше, чем у среднего россиянина, но в золоте и бриллиантах мы не купаемся. Что касается цифр в 300 тысяч и больше - такие встречаются, но это надо искать. Чаще всего речь идёт либо о руководящей должности в хорошей компании, либо о стартапах, которые намеренно платят выше рынка, либо о том, что вы - очень классный специалист, которого готовы брать за любой прайс. Либо же есть ещё вариант - искать работу за рубежом, в том числе на удалёнке. Американские и европейские компании гораздо щедрее на зарплату, чем российские. Кстати, скажем, в соседней Украине ситуация отличается - в отличие от России, там на рынке меньше национальных компаний и больше компаний, ориентированных на аутсорс, то есть сотрудничающих с западными работодателями. Поэтому и цифры по зарплатам там могут быть в среднем приятнее, чем у нас. И применительно к ним шутка про "выйди замуж за айтишника и не знай хлопот" выглядит уже более реалистично.
Опубликован 22 дек.
Возможно, я повторяюсь, но всё же (в очередной раз?) хочу поделиться с вами одним своим наблюдением: в первую очередь ваш успех в IT зависит от некоторых качеств характера и грамотного отношения к работе. И только во вторую очередь - от знаний. Как это работает? Предположим перед вами сложная pабочая задача. Вы понятия не имеете, как к ней подступиться. Что-то пытаетесь сделать, но ничего не выходит. Но по характеру вы человек настойчивый и ответственный, и понимаете, что работа должна быть сделана. В итоге ищете решение всеми доступными способами - и в гугле, и советуетесь с коллегами, пробуете разные подходы, экспериментируете, подходите с разных сторон - и в итоге вуаля - решение есть. Может, неидеальное, может года через три вам будет стыдно за него, но главное - оно решает поставленную задачу. И второй пример - вы не знаете, как решать задачу, немного пробуете, ну и делаете вывод - "нет, не смогу, у меня лапки". И пытаетесь либо спихнуть задачу на других коллег, либо просите кого-то о помощи, но делаете это так, что по сути человек должен за вас проделать всю основную работу. Либо просто ничего не делаете. И так происходит каждый раз, когда вы сталкиваетесь с чем-то новым хоть на 10%, незнакомым или непривычным. В итоге - человек из первого примера, даже если он самый джунский джун, и полнейший новичок, быстро начнёт вливаться в рабочий процесс, и хоть и с трудом, но прорвётся через трудности. А человек из второго примера может обладать неплохой базой, университет закончить по профильной специальности, но как дело доходит до задач и чего-то хоть сколько-то непривычного - он сразу уходит в глухую оборону и в итоге ничего не делает. Первый человек может доучиться и добрать недостающие знания. Второй - по сути сопротивляется процессу профессионального роста. Поэтому вывод такой - у вас есть задача - решайте её, не сдавайтесь. Работа должна быть сделана. Это верно не только в отношении IT, но и в отношении самых разных профессий, в том числе управленческих и менеджерских. Не знаете с ходу, как подступиться к решению? - Значит, надо что-то придумать. Собственно, за это нам зарплату и платят
Опубликован 21 дек.
Друзья, поскольку я сейчас перед праздниками зашиваюсь, чтобы успеть доделать всё, что нужно доделать до конца года, на канал совсем не хватает времени. Забежала рассказать, что гикбрейнс запустили закрытую акцию "для своих" к Новому году: - скидки до 55% - покупателям подарят доступ к 5 другим онлайн-курсам на общую сумму 152000 рублей бесплатно - розыгрыш iPad-ов среди покупателей. Акция действует только для тех, кто зарегистрируется в ней по ссылке. Максимальные скидки действуют 22-24 и 29-31 декабря
Опубликован 30 нояб.
Наткнулась на небольшой канал, который подойдёт именно для новичков, называется Культурный код. Что там можно найти: — Ликбез по основным понятиям из разработки: что такое AJAX? Что такое сервер? Что такое Linux? Я сама ленюсь писать такого рода статьи, рассчитывая, что читатели, если нужно, всё загуглят. А ребята вот не поленились и написали — заходи и читай — Разъяснения мемов про IT. Приходилось ли вам видеть «смешную» картинку с шуткой про программирование, и ничего не понимать? Ребята позаботились и об этом — у них есть специальная рубрика, где берут какой-нибудь мем и объясняют, в чём там шутка — Подборки бесплатных вводных занятий по программированию, data science и аналитике — Подборки вакансий — Интересные факты и истории из мира IT
#вашивопросы Привет! Я сейчас в процессе обучения (это не высшее образование, но, думаю, это не важно), и эти учебные проекты – «общеобразовательные». Они дают хорошую базу знаний в алгоритмах, структурах данных, работе с оболочкой и т.д. (и еще они пишутся на чистом си), но все же нужно определяться с более конкретной специальностью. Я решила идти от обратного и найти крутые проекты, которые были бы мне интересны сами по себе, и ориентироваться на необходимые для них навыки, а потом уже развиваться в этом направлении. Можешь подсказать, где находить такие небольшие, но интересные стартапы? Исходя из вашего вопроса, получается, вы ищете интересные проекты для практики - и не вижу причины их искать преимущественно у работодателей-стартапов. В целом проект может быть интересным (как и не очень интересным) практически в любой компании, независимо от того стартап это или нет - а насколько конкретный проект будет интересен именно вам, постарайтесь выяснить на собеседовании. А на счёт того, где и как искать - да там же, где все ищут работу - разместите резюме на hh и аналогах (если хотите), заведите профиль в Linkedin. Также хочу напомнить про крутой репозиторий на гитхабе с интересными тренировочными проектами - там огромный выбор, подробнее в этом посте: https://t.me/it_human/450. Это если вы рассматриваете проекты для тренировки, но не ради денег. Ещё один путь, который не про деньги - найти интересный для себя Open Source-проект и принять участие в разработке. Искать можно на том же гитхабе, так же можно погуглить на тему опен сорс-проектов и как в них вкатиться - на этот счет написано много статей. Задать вопрос автору блога можно здесь: @hum_it_bot
Hashtags
Опубликован 27 нояб.
Я намеренно не стала вчера писать про Чёрную пятницу, так как, думаю, всех уже и так достала повсеместная реклама и скидки, скидки, скидки. Также, думаю, всем и так понятно, что в эти несколько дней каждая крупная онлайн-школа предлагает скидки, так что писать про каждую отдельную скидку я не буду. А кто задумывается о покупке какого-либо курса - можете посмотреть мою сентябрьскую подборку онлайн-школ и скидок в них https://t.me/it_human/527 - все промокоды из поста всё ещё действуют, я проверяла. Разве что точный размер скидки может отличаться.
Опубликован 24 нояб.
Во фронтенд - бесплатный роадмап/план изучения по фронтенду. Начнем с абсолютного нуля, а финальной целью будет достаточный уровень для входа в профессию(последние этапы этого роадмапа будут полностью посвящены собесам). Пока ориентируемся на React, возможно это изменится(до него еще дойти надо). На канале вы узнаете: -как код пишется в реальном мире, за пределами учебников -разборы собеседований, задач, вопросов, подводных камней -эффективные приемы и техники изучения Примерные сроки - 6 месяцев, в любом случае, этот роадмап останется, и можно будет идти по нему в своем темпе. welcome, @into_frontend
#вашивопросы Подскажите, пожалуйста, перенасыщен ли рынок джунами (например, Java)? Тяжело ли им найти работу, высокая ли у них конкуренция? Закрадываются мысли, что могут выбрать не тебя, а другого человека, который знает больше. Как там дела с перенасыщением (или недосыщением) рынка неопытными кандидатами я вам не отвечу, так как давно не занималась подбором кандидатов, а подбором кандидатов-джавистов не занималась в принципе никогда. Я знаю, что канал читают в том числе и HR-специалисты, и возможно, у них найдутся комментарии к этому вопросу? Присылайте в @hum_it_bot, интересные ответы опубликую в канале. Что же касается мысли о том, что вместо вас могут выбрать другого кандидата - это действительно так, причём независимо от профессии, и независимо от вашего уровня опыта и знаний. Даже если бы вы были бы специалистом высочайшего уровня, всё равно всегда может найтись кто-то другой, кто больше понравится отдельно взятому работодателю. Но это не такая уж проблема, если вакансий на рынке много. А компаний, где испольуют джаву и вакансий джава-разработчиков очень и очень много. Поэтому если вам откажут на первом (втором, пятом) собеседовании - продолжайте подавать резюме в другие компании, уровень требований к кандидатам и критерии отбора везде разные. Также если собеседование закончилось отказом - обязательно собирайте обратную связь - что именно ребятам там не понравилось? Может быть, они подскажут вам, каких знаний по их мнению вам не хватает - сможете поработать над этими знаниями. Также после неудачного собеседования, можно предложить такой вариант работодателю: вы подтянете знания, которых вам не хватает на их взгляд, и, скажем, через два-три месяца, снова придёте на собеседование в эту компанию. Таким образом вы покажете свою готовность учиться/развиваться, а также высокую мотивацию устроиться на работу в их компанию. Задать вопрос автору блога можно здесь: @hum_it_bot
Hashtags
#вашивопросы Имею высшее образование с отличием в области машиностроения (инженерконструктор), им толком не пользовалась (на практике не зашло), знаю англ на уровне В1, хочу попробовать себя в IT (вроде склад ума позволяет). Не знаю, что для себя выбрать, с какого языка/ направления начать. Поскольку вы пока не знаете, какое направление выбрать, можно его на этом этапе и не выбирать. Начните с курса «Введение в Computer Science», я для этих целей традиционно советую всем бесплатный гарвардский курс CS50. Там будут и азы программирования, и знакомство с несколькими языками, да и с областью в целом. Возможно, после него вам станет понятнее, в каком направлении интереснее развиваться, и какие яыки, к примеру, изучать. Может у вас есть набор/список книг для изучения базового комьютер сайенса? Вот если люди идут учиться через вуз, то им там дают какую то базу с помощью книг тоже, какие для них считаются норм? В этой тонне существующих книг попробуй разбери - где вода, а где хорошо или шикарно Тут, к сожалению, много не подскажу, так как я сама училась не по книгам, а по онлайн-курсам - мои «книги» - это coursera, edx, stepic, и сайты университетов (MIT, Stanford итд) c онлайн-курсами. Но список литературы, который рекомендуют студентам технических ВУЗов, думаю, нагуглить несложно. А если не гуглить - то спросить на каком-нибудь студенческом форуме. Книг я вообще читала не так уж много, и чаще всего адресно по той теме, которая мне была нужна в тот момент по работе. Из общего могу всем рекомендовать книгу Макконнелла Совершенный код - но она не для начального уровня, а для людей, которые уже умеют программировать и имеют в этом хотя бы минимальный опыт. Задать вопрос автору блога можно здесь: @hum_it_bot
Hashtags
#вашивопросы Какие знания о разработке нужны среднестатистическому продакт менеджеру? Моё мнение - продакт-менеджер не обязан быть программистом и уметь писать код. Это не его задача. Но ему полезно знать о раработке как о процессе в целом - как выглядит цикл разработки, из каких этапов он состоит и зачем нужен каждый этап, сколько времени может занимать разработка фичи (или целого продукта), какие специалисты в этом процессе задействованы, и какова их роль. Что может пойти не так, застопорить процесс или вовсе привести к неудаче. То есть видеть разработку как менеджер. И при этом уметь понять, когда требования к продукту или срокам по его реализации - нереалистичны, или когда задача слишком трудозатратна, и её польза не может окупить такие высокие затраты на разработку. Также полезно знать существующие подходы (методологии) по организации процесса разработки - например, чем «водопад» отличается от Agile, и какие разновидности Agile существуют. Помимо этого нужны знания в области IT на уровне ликбеза. То есть вам не нужно самому/самой уметь писать и запускать сайты, мобильные приложения или программы. Но нужно понимать, что такое в принципе программа или приложение или веб-сайт. Например, как устроена в общих чертах клиент-серверная архитектура, что такое API, как примерно работает веб-сайт. Чем клиентская часть сайта отличается от серверной. Что такое база данных, и для чего она нужна. Итд итп. Также продакт-менеджеры часто отличают за изучение метрик и аналитику по своим продуктам, поэтому вам могут пригодится навыки аналитика, в частности, умение делать SQL-запросы к базе данных, чтобы получать из нее данные для оценки и изучения. Задать вопрос автору блога можно здесь: @hum_it_bot
Hashtags
#вашивопросы Добрый день, если говорить про тестирование то сейчас наблюдается ажиотаж вокруг этой профессии, нужно ли знание математики, или лучше пойти в devops? В этом вопросе как-то смешалось всё в кучу. Ажиотаж вокруг профессии тестировщиков может быть потому, что в эту профессию относительно низкий порог входа (или так считается). А «замахиваться» на профессию, например, программиста, людям кажется чем-то более страшным. Ну и определенную роль в этом играет обилие всевозможных курсов для тестировщиков. Знания математики от тестировщиков не требуют, как и от DevOps. А какую профессию вам лучше выбрать зависит только от ваших личных предпочтений. Если сфера DevOps вам кажется более привлекательной, то я бы начала с навыков системного администрирования. Курсы DevOps, конечно, никому не навредят, но в моем субъективном представлении в девопс работать идут люди, уже имеющие опыт системного администрирования. Я хочу быть скрам мастером, как мне попасть на работу? Для тех, кто «не в теме» - Scrum - это одна из разновидностей Agile - «гибкая» методология по организации работы внутри команды. В Scrum у каждого есть своя роль, и, в частности, существует такая роль как скрам-мастер - это человек, отвечающий за соблюдение всех правил Scrum внутри команды, и за проведение «церемоний», принятых в скраме. Также этот человек может отвечать за внедрение методики Scrum в команду, и обучение «скраму» команды. Так, что самое очевидное, что требуется от такого человека - это хорошее знание Scruma - этому можно поучиться по книгам, на курсах и тренингах. А что касается трудоустройства, тут уже могут быть нюансы - когда речь идёт об околоменджерских профессиях в IT, работодатели могут отдавать предпочтение человеку, у которого уже есть какой-то опыт работы в этой сфере - пусть и в какой-нибудь другой роли, например, бизнес-аналитика. Поэтому получается нечто вроде рекурсии: «чтобы найти работу в IT, нужно для начала поработать в IT». Поэтому желательно использовать любую возможность, чтобы приобрести хоть какой-то релевантный опыт работы и знания - разобраться, как устроен цикл разработки ПО в целом, какие там есть этапы, какие специалисты в каких ролях в этом участвуют, как в целом выглядит типичная IT-компания и ее оргструктура. Но думаю, просто менеджерский бэкграунд за пределами IT, если он у вас имеется - это уже лучше, чем ничего. Задать вопрос автору блога можно здесь: @hum_it_bot
Hashtags
Опубликован 11 нояб.
Как искать ошибки в коде Мне достаточно часто присылают в бота вопрос: «А где у меня тут ошибка?» и дальше целая страница кода. В целом такая постановка вопроса выглядит достаточно наивной, так как новичкам кажется, что более опытному разработчику будет легко найти ошибку в любом случайном и совершенно незнакомом куске кода. На самом деле же поиск ошибки даже в своём собственном коде - это порой самая долгая и муторная часть работы. В худших случаях поиск ошибок и отлаживание кода занимает 90% всего времени разработчика. Еще сложнее найти ошибку в чужом коде, который видишь в первый раз в жизни. Даже в коде, который просто и понятно написан. А новички чаще всего пишут ну очень сложный и запутанный код - его даже прочитать и понять с третьей попытки сложно, не то что найти там ошибку. Поэтому, когда вопрос звучит: «А где у меня тут ошибка» - это на разработческий язык переводится как: «Привет! Сделай, пожалуйста за меня 90% работы - ну у тебя же есть лишний час времени, правда?». Но это лирическое вступление. А пост о том, как искать ошибки в коде. Из всего того, что вы мне присылаете в бота, я могу сделать один основной вывод: новички часто не понимают код, который сами же написали. И, что еще хуже - даже не стремятся его понять, надеются, что и так сойдет. В итоге всё, что вы используете в коде - циклы, переменные, списки/массивы - используется как-то наугад, без четкого понимания, как это вообще работает. Ну и, естественно, часто такой подход не даёт ожидаемого результата. Поэтому если ваш код работает не так, как хочется, первое что надо сделать - убедиться, что вы его понимаете. Каждая строчка, каждое действие в нем должно иметь для вас смысл. Если вы не до конца понимаете, как работает ваш цикл - скорее всего, из-за этого код и не получился. И уж точно не надо пытаться что-то наугад поменять в коде и надеяться, что он заработает. В принципе, если вы понимаете каждую строчку своего кода, значит в нём действительно нет ошибок. В идеальном мире. В реальности мы можем в упор не замечать какую-то опечатку или неверное действие. Поэтому чтобы найти ошибку - хорошо бы сформулировать гипотезу, и даже несколько. Где я мог ошибиться? И, в идеале, написать тест, который либо опровергнет, либо подтвердит гипотезу (про тесты тут было 2 поста). Увидев, что гипотеза подтверждается, и тест её показывает - исправляем ошибку, и убеждаемся, что теперь тест проходит без ошибки. Также для отладки кода существуют специальные удобные инструменты - дебаггеры или отладчики, они часто встроены в IDE. Эти инструменты позволяют запустить код с любого места (и в любом месте приостановить его выполнение), и проследить каждый шаг, который выполняет код, посмотреть на значение каждой переменной в любой момент времени. Таким образом, медленно, но верно, можно увидеть, где программа идёт не по тому пути, по которому она должна идти и наконец добиться того, о чем я говорила на первом шаге - идеального понимания, как работает ваша программа, вплоть до каждого шага. Есть и множество других приёмов - например, добавить в разных местах кода вызовы print, чтобы вывести информацию на экран, и по ней понять, где в коде ошибка. Можно удалять поочередно куски кода и запускать код без них - и смотреть, появляется ли ошибка - так можно будет понять, в каком месте она возникла, а какие куски кода работают верно. В общем, таких приёмов можно придумать массу, но начните с главного - убедитесь, что вы понимаете код, который пишете. Иначе в дальнейшей учебе или работе просто нет смысла, программирование - это не магия.