Girl who codes
11.1K subscribers
640 photos
46 videos
450 links
Пишу о жизни айтишницы и о том, как ею стать ❤️
Человеческим языком про карьеру в IT и про старт с нуля

Моя школа IT-профессий для девушек с поддержкой на всех этапах - с нуля и до трудоустройства👩‍💻 itgirlschool.com

Вопросы @itgirlschool
Download Telegram
​​Делюсь подборкой своих самых любимых книг по IT-тематике:

Для обучения:
"С# для школьников" и "JavaScript для детей"
Серьезно, я уверена, что начинать надо именно с книг, написанных простым языком, а потом потихоньку усложнять, а не кидаться в омут с головой, а потом страдать от прокрастинации из-за того, что слишком сложно. Детские книги написаны простым языком, с яркими примерами - и это находка для любого взрослого, которому кажется, что программирование - это слишком сложно и у него (или у нее) не получится.

Если ты уже разработчик:
"Совершенный котд" - поверь, это просто must read, без него никак
"Путь камикадзе или как выжить в безнадежном проекте" - название книги говорит само за себя 😂
"Искусство программирования" Дональда Кнута - великолепный трехтомник про алгоритмы

Если ты уже переросла разработку:
"Психбольница в руках пациентов" - о том, что для создания крутого программного продукта нужно слушать не только программистов 😉
"Как пасти котов" - о том как управлять командой разработки 😸

Просто для души, художественная литература:
Я росла на таких книгах как "Лабиринт отражений" Лукьяненко и "Нейромант" Гибсона - и они немало повлияли на меня в выборе профессии.
Голосовой помощник Вика из книги Лабиринт отражений воплотился в Яндекс.Алисе. Виртуальных костюмов и очков уже тоже пруд пруди. А вот аналог Глубины - виртуальной реальности с полным погружением - я мечтаю создать до сих пор. И у меня еще полжизни впереди - кто знает, может быть, еще получится 😉

Кто захочет поделиться полезными (или приятными!) любимыми книгами в IT тематике📚 - пишите в чатик!
​​Когда-то давно, когда я только начинала разрабатывать приложения, все многообразие сред разработки сводилось к консольным блокнотам разных видов, которыми было ужасно неудобно пользоваться. Кто не верит - попробовали бы вы войти в vim и выйти оттуда без гугла 🤣 А ведь когда-то еще до них были перфокарты! Мне кажется, именно из тех времен идет стереотип, что программирование - это жутко сложно. Но, к счастью, времена изменились - и с каждым днем появляется все больше и больше удобняшек для разработчиков, а скучного рутинного труда становится все меньше.

Хочу поделиться своим любимым списком плагинов для VSCode:
💻 для удобной работы с системой контроля версий Git можно добавить плагины Git History и GitLens.
💻 Settings Sync - синхронизирует настройки и установленные плагины между программами на разных компьютерах
💻 Bracket Pair Colorizer и Indent Rainbow - удобные скобки и подсветка вложенности
💻 Auto Close Tag и Auto Rename Tag - автопереименование и автозакрытие тегов
💻 Indenticator - подсветка отступов
💻 Beautify - автоматическое форматирование кода
💻 Vscode-icons - заменяет стандартные иконки файлов на более симпатичные и понятные
💻 IntelliSense for CSS class names in HTML - для подсказок имен стилей
💻 Live server - нужен для автоматического обновления страницы в браузере после редактирования. Для запуска нажимаем Ctrl + Shift + P, вводим в поиске команду “Live Server: Open with Live Server” и выбираем её.
💻 Emmet - включен по умолчанию, работает как автозамена, но не все про него знают. Кто ни разу не нажимал !+Tab, тот жизни не видел 😆

Поделитесь своими полезняшками, кто чем пользуется? 😉
​​Про выгорание

Несмотря на все плюсы профессии программиста (которых очень много), есть один большой минус - выгорание, к которому склонно больше половины программистов (57%).

Происходит это по нескольким причинам:

🤷🏼‍♀️ Переработки. Особенно если работаешь на компанию, в которой у менеджмента проблемы с таймменеджментом 😅.
🤷🏼‍♀️ Скучная и монотонная работа. Пилить, например, код на старой и никому не нужной технологии в сфере, которая тебя совершенно не зажигает.
🤷🏼‍♀️ Отсутствие влияния. Например, ты видишь какой-то косяк и хочешь исправить его, но всем наплевать, все действуют по инструкции и никому не важно - хорошо ты делаешь или нет, главное - просто поставить “галочку”. В такие моменты чувствуешь себя обычным винтиком в системе.
🤷🏼‍♀️ Маленькая зарплата. Если ты пришел на работу как начинающий специалист, но учился, развивался и добился хороших успехов в работе, а зарплата осталась старая, то тебе будет просто обидно, что тебя не ценят.
🤷🏼‍♀️ Следующий пункт отлично раскрыт в книге “Не работайте с мудаками” - бывает так, что команда проекта попросту тебе не подходит. В таком коллективе каждый день как каторга.

Но у любых проблем есть решение! И никто не позаботится о нас лучше чем мы сами :) Тогда никакое выгорание не страшно!

🌱 Выбирай работу с нормальным руководством и без дедлайнов. Один-два дедлайна в год, с оплачиваемой переработкой (в идеале) - это ок, но если дедлайны становятся образом жизни, то это совершенно точно не та компания, в которой стоит работать.

🌱 Выбирай те компании, где ты будешь чувствовать, что к тебе прислушиваются (что ты не тот самый винтик).

🌱 Не работай с мудаками! 😊

🌱 Заставляй себя отдыхать, делать перерывы, высыпаться, вести здоровый образ жизни, заниматься профилактикой, ходить к врачу, пить витамины и т.д. Без здоровья ничего не выйдет, и никакой дедлайн не стоит нервных срывов, инсультов или выгорания.

🌱 Выбирай ту сферу, которая тебе действительно будет интересна. То, чем ты сможешь похвастаться или порадоваться! Это дает работе смысл!)))

Если все это соблюдать, то мы будем далеки от выгорания как никогда! 😉

Конечно, ты наверняка возразишь, что легко сказать: ”найди такую работу, сякую работу...”
Но, черт возьми, сейчас такая нехватка специалистов на рынке труда! Не надо цепляться мертвой хваткой в то неудачное, что у нас есть сейчас, надо искать самые лучшие варианты! Ты же не бежишь замуж за первого попавшегося мужчину, ты выбираешь, смотришь, кто ухаживает лучше, кто интереснее, с кем приятнее всего. Так и тут, выбирай ту работу, которая заботится о тебе больше всего, которая радует тебя больше всего - и именно через это лежит путь счастью и здоровой психике.
​​Как подготовиться к первому собеседованию

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

Самая большая сложность - это найти первую работу.
Когда у тебя есть хотя бы год коммерческого опыта - ты король жизни и можешь с ноги открывать дверь к работодателям, просить хорошую зарплату и кучу плюшек.
Но если опыта нет вообще - здесь начинается самая засада. Очень мало компаний готовы набирать новичков, да и те немногие я бы не посоветовала даже врагу. Большинство таких компаний относятся к начинающим (junior) программистам как к бесправной рабочей силе и предлагают самые худшие условия из возможных, понимая, что у ребят и девчонок просто нет выбора (с другой стороны, это отличное место для прокачки навыков - опыта будет хоть отбавляй!).
К счастью, есть и исключения - молодые стартапы, дружелюбные европейские компании, да даже просто "Рога и копыта", где бывают классные коллективы и условия работы.
Вопрос в том, как же все-таки туда попасть.

1. Первым делом, готовься к отказам. Они точно будут - и их будет много. Но каждый отказ - это опыт, на котором можно учиться. Новые вопросы, новые условия, новые проекты - все это рано или поздно приведет к более глубокому пониманию всех тем и снижению тревожности на собеседовании на работу мечты 🥰
2. Подготовьте портфолио - минимум 3, а лучше 5 реальных проектов - можно некоммерческих, можно своих собственных, но чтобы они были и были сделаны максимально хорошо насколько ты можешь.
3. Ну и, конечно, не стоит пренебрегать такими классными ресурсами как:
Codewars
HackerRank
LeetCode

А напоследок скажу, что требования в вакансиях стоит делить на десять. Ну или хотя бы на два))) Конечно, все хотят, чтобы ты была "и швец, и жнец, и на дуде игрец", но по факту вполне может оказаться, что ты им подойдешь, даже если ты умеешь только что-то одно из списка. Главное - быть смелой и пробовать! Как говорится, за спрос денег не берут 😉
Мои новости 😊

Всем привет! У меня за последние пару недель пошла вдохновляющая череда записей и выступлений 🥳
Кто любит аудио/видео формат - welcome!

1. Выступила на DevFest от Google с воркошопом про Flutter. Flutter - это классный суперсовременный фреймворк для разработки мобильных приложений одновременно и на IOS и на Android. На нем реально в 2 раза улучшается скорость разработки приложений 😊
Вот ссылка на ютуб: Flutter: пишем приложение за 2 часа
Обожаю эту технологию и хочу нести ее в массы! 🥰
Возможно, для начинающих будет сложновато, но если у тебя уже есть хоть какие-то программерские навыки, то уже можно пробовать 😉

2. Записалась в подскасте Предпринимательницы @businessnaumann
Ребята делают классный проект о женщинах, создающих бизнесы. Для меня это проект о том, что предпринимательство (как и программирование, кстати) окутано чередой стереотипов - что это слишком сложно, только для избранных и чтобы стать предпринимательницей надо с этим родиться. Но на самом деле это не так! Бизнес - это такая же профессия как и любая другая, и этому можно научиться! Я очень рада, что есть такие подкасты, которые вдохновляют нас на подвиги и приоткрывают завесу из стереотипов 😊

Вот ссылка на пост с аудио: https://t.me/businessnaumann/41
На встрече мы обсудили:
• почему, несмотря на большой опыт и в программировании, и в преподавании, у меня сначала не получалось запустить школу
• как должна выглядеть школа IT, ориентированная на трудоустройство выпускниц
• сколько сейчас девушек в этой сфере и почему заметно меньше, чем мужчин
• с какими главными проблемами сталкиваются девушки, прежде чем начать учиться IT-профессии

3. Провела прямой эфир на тему IT карьеры в Европе у себя в инстаграм с замечательным карьерным консультантом Региной. Она живет в Берлине и помогает IT профессионалам из России и стран СНГ найти работу в Европе (причем, не только программистам, но и тестировщикам, и PM и многим другим).
Посмотреть запись эфира можно здесь: https://www.instagram.com/tv/CG5YFvyIZ2i/

С Региной мы поговорили:
• о том, на каких сайтах стоит искать работу
• как проходят все этапы собеседований
• на какие вещи в первую очередь обращают внимание работодатели
• какой нужен уровень английского при устройстве на работу
И о многом другом! Кстати, мы не успели обсудить все, что нам хотелось, поэтому сегодня будет продолжение прямого эфира в 21:00 в инстаграм у Регины 😊
​​Какой язык программирования выбрать новичку?

В жизни каждого начинающего наступает момент, когда он выбирает свой первый язык программирования.

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

Если ты хочешь связать жизнь с Frontend-разработкой: с web- или мобильной разработкой, то стоит начинать с языка JavaScript.

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

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

Если рассматривать другие языки, то совершенно точно не стоит начинать с ассемблера, фортрана, паскаля и дельфи. Это языки, которые почти нигде напрямую не используются, и на них работу найти практически невозможно.
Начинать с C++ тоже не советую, потому что он очень сложный для новичка, и на нем тоже найти работу довольно проблематично, если ты, конечно, не супер-пупер профессионал. Хотя есть исключение, если у тебя лежит душа к сфере IoT.

Если смотреть сторону серверных языков, то кроме Python подойдут C# (если вы очень любите Microsoft и корпоративную среду) или Java (на нее, кстати, в 2 раза больше вакансий). Они очень похожи и достаточно распространены, но могут быть сложности установкой необходимых для разработки программ, они неповоротливы и требует много памяти от компьютера.

Остальные языки стоит изучать по мере необходимости. Желательно, конечно, хвататься за все возможности и изучать что-то новое, но в идеале - учиться уже на рабочем месте, максимально близко к реальности, к настоящим задачам.
​​Сегодня я начинаю цикл постов про разные уровни разработчиков - наверняка, вы уже видели эти слова "junior" (начинающий), "middle" (средний), "senior" (старший), "team lead" (руководитель команды), но что же за ними скрывается? К сожалению, не существует абсолютно точного "реестра навыков" по уровням, чтобы ты мог их освоить - и все, любая соответствующая вакансия у тебя в кармане!

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

Senior (старший) программист - это настоящий эксперт с большим практическим опытом разработки (4-7 лет).
⭐️ Он может самостоятельно спроектировать и реализовать проект практически любой сложности и понимает, как устроен процесс разработки ПО на каждом из этапов.
⭐️ Он обладает глубоким пониманием как проекта, так и используемых в нем технологий.
Может проводить code review и легко видит "узкие места" в коде, работает "на опережение" возможных будущих проблем.
⭐️ Он умеет достаточно точно оценивать трудоемкость задач.
⭐️ Senior постоянно изучает новые технологии и решения, появляющиеся в индустрии, сравнивает инструменты и находит плюсы и минусы каждого решения.

Это тот уровень, к которому можно и нужно стремиться. А дальше рост может быть в двух направлениях - в менеджерском до Team Lead (руководитель команды), либо в техническом - до Architect (архитектор).
​​Кто такой Middle разработчик?

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

⭐️ Код Middle-разработчика прост для понимания и содержит комментарии для разбора сложных участков.
⭐️ Middle-разработчик знает, как именно работает приложение, глубже начинающего понимает задачи, а, значит, точнее ее оценивает и качественнее реализовывает.
⭐️ У Middl-а уже есть хороший опыт, он свободно владеет нужными технологиями и старается предугадывать возможные ошибки, аргументирует свои решения. Он знаком со стандартными шаблонами и решениями при построении приложения в своей области, понимает, зачем они нужны, и умеет их применять.
⭐️ Middle-разработчик практически полностью автономен, но умеет работать в команде и по возможности помогает начинающим.
⭐️ Умеет отличать хороший код от плохого.

Обычно рост с уровня начинающего (Junior) до Middle проходит за 1-2 года.
​​Когда я слышу от знакомых, боже ты такая симпатичная, ты совершенно не похожа на программиста, я могу только сделать вот так 🤦🏼‍♀️🤦🏼‍♀️🤦🏼‍♀️

Откуда это все берется? Очень просто - все мы много раз слышали и про пресловутую женскую логику, и про красивая = глупая, и мое любимое - девушка-программист как морская свинка, не имеет отношения ни к морю, ни к свиньям 🐹

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

И я "странный" программист - ведь я люблю людей, люблю преподавать, люблю писать документацию, выступать на конференциях и многое другое. Хотя кодить тоже люблю)))

Продолжим разрушать стереотипы?
Если вам когда-то скажут, что программирование - не женское дело, расскажите им это:

Не все знают, но одной из первых программистов была именно женщина - Ада Лавлейс, в ее честь даже назвали один из языков программирования. Она опередила свое время больше чем на 100 лет, еще в 19 веке заложив основы современного программирования. Да и в околовоенные годы прошлого века, пока мужчины преимущественно занимались "железом", женщины писали программы. До 1987 года процент женщин-бакалавров по направлению computer science достигал 37%. А в 2010 году он составлял всего около 17% и продолжал падать. На сегодняшний день в мировой IT-разработке около 90% парней и только 10% девушек 🤷🏼‍♀️

Причем, это ничуть не следствие каких-то "не таких" мозгов или чего-то подобного. Я видела исследование, в котором изучалось более 3 млн. предложений правок чужого кода на GitHub (это самое большое хранилище кода в мире), и обнаружилось, что код, предлагаемый женщинами и мужчинами, одобряется примерно с равной вероятностью, в 75% случаев, и у женщин этот показатель даже на несколько процентов выше, чем у мужчин 💪

Что же нам с этой прекрасной информацией делать? Верить в себя, кодить и совершенствоваться день ото дня! 👩‍💻

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

В этом месяце у меня был день рождения. Если посчитать, то больше чем половину моей жизни я отдала программированию 👩‍💻
И я ни разу об этом не пожалела!

От души желаю всем, чтобы у каждого в жизни как и у меня такая работа была. Даже не просто работа, а Дело жизни.

С любовью, ваша А. 😘
Я всегда пишу, что в ИТ очень не хватает людей - и в подтверждение этому мне за последнюю неделю написало сразу трое моих друзей с просьбой помочь им найти сотрудников:

1. Инженер поддержки со знанием SQL в HFLabs (90-130т.р.)
2. Junior+ react разработчик (60т.р. + доля в проекте) от Progkids, писать svzhuchkov@gmail.com (мск временной пояс)
3. Frontend-разработчик в Zalando с релокацией в Берлин

Если вдруг среди моих читателей есть такие - отзовитесь!

А если есть те, кто хочет таковыми стать - приходите ко мне учиться!
Запись на второй поток обучения Frontend-разработке в нашей школе программирования для девушек #ITGIRLS открывается сегодня 😉
Не хочется говорить шаблонными фразами про "торопитесь! количество мест ограничено!". Но оно реально ограничено 😅
Потому что я хочу, чтобы каждой ученице уделялось достаточно внимания - и это совершенно не потоковая история, а нишевая школа, сделанная с душой и "для своих" ❤️

И в качестве бонуса для моих любимых подписчиц - промокод BEST -10% до 7/12 😉
Сегодня в 20:00 (уже совсем скоро 😉) смотрите прямой эфир у меня в инстаграм
Будем вместе с карьерным коучем по иммиграции зарубеж прекрасной Региной обсуждать ИТ профориентацию - какие вообще есть направления в ИТ и главное как - понять, какое из них выбрать именно тебе 😊
​​Один из самых спорных для определения уровней разработчиков - начинающий (Junior).

Спорный потому, что никто (и в первую очередь - он сам) не знает, что же он на самом деле должен знать и уметь. Это один из самых частых вопросов - как мне понять, я уже Junior или мне еще надо подучиться?
Правда в том, что нет пределов совершенству и если всю жизнь "доучиваться", можно так никогда и не научиться))

Начинающим обычно доверяют простые, некритичные для проекта задачи, на которых они скорее учатся, чем дают конкретный результат. Давать такому разработчику сложные задачи и ждать от него разумного исполнения (как по качеству, так и по срокам) нельзя. Код junior-разработчика нуждается в постоянном ревью (проверке кода от опытных товарищей). В среднем через 1-1,5 года в меру способный junior developer уже готов к переходу в категорию «middle».

Вот примерный "разумный минимум", который хорошо бы знать начинающему разработчику к моменту выхода на рынок труда:
1) базовое понимание своего языка и его особенности
2) типовые структуры данных и ООП
3) как работать со строками, с датами
4) контекст выполнения
5) понимать жизненный цикл работы программы
6) знать хотя бы один основной фреймворк для своего языка (если применимо)
7) уметь гуглить типовые проблемы
8) желательно владеть английским хотя бы на уровне чтения документации со словарем
9) GIT
10) хорошее портфолио (не обязательно коммерческое), за которое не стыдно, и где ты сможешь каждую строчку кода объяснить

Список примерный (и в каждой компании требования свои), но из года в год эти требования только растут. Поэтому если вы хотели отсидеться и начать входить в ИТ еще лет через 5 - знайте, потом это будет гораздо сложнее чем сейчас.
По одной простой причине - все уже поняли, что в ИТ действительно хорошо, и с каждым годом все больше людей стремятся этому научиться.
Представьте, что если на одну Junior вакансию будет по 500 человек как когда-то на менеджеров и бухгалтеров? А это вполне себе скорое будущее, которое скоро ждет всех, кто не успеет вбежать в последний вагон.

Хочешь успеть войти в ИТ, но никак не можешь начать и ждешь чудесного знака свыше?
Вот он - я повторяю свой огненный интенсив "Как девушке стать программистом". Приходи вечером 8 декабря в 20-00 по московскому времени - и я расскажу тебе как прокачаться до junior уровня самым простым и быстрым путем, а также где искать работу начинающему программисту, если у него нет опыта.
Вот ссылка.
Жду тебя! Приходи, будет интересно!)
Как улучшить работу мозга? 5 простых советов

Как и многие программисты я помешана на том, чтобы использовать свой мозг по полной и постоянно ищу способы его "разогнать".
Вот мои рабочие инструменты, которыми я повышаю свою продуктивность и эффективность написания кода:

🧠 Прогулка по утрам или легкие физические упражнения
Да, вот так просто. Я даже замеряла - и увидела четкую зависимость моей продуктивности в течение дня от того, была ли у меня утром прогулка или нет. Главное тут - не переборщить. Если тренировка будет слишком тяжелая, то сил на работу уже не останется.
А вот в детстве я ненавидела физкультуру и была уверена, что это все ерунда, я лучше "книжку почитаю"! К счастью, со временем я поняла, как сильно заблуждалась! У повышения продуктивности в результате физ. упражнений есть очень простое объяснение - как минимум, это улучшение кровообращения мозга, за счет чего он работает лучше и эффективнее. Так что пренебрегать движением точно не стоит. И кстати можно совмещать полезное с полезным - и во время прогулки слушать аудиокниги или какие-то обучающие видео 👩‍🎓

🧠 Здоровый сон. Особенно смешно, что я пишу этот пункт в 3 часа ночи 😂 Но мое золотое правило - это спать не меньше 7-8 часов (так что раньше 10 утра меня точно не ждите онлайн)). Я точно знаю, что если я не высплюсь, то моя продуктивность будет на 0.

🧠 Энергичная музыка. У меня есть свой любимый "забойный" плейлист для работы. Слышу песни оттуда - и сразу хочется энергично кодить. Делюсь! Осторожно, тяжелая музыка! Конечно, далеко не каждому подойдет мой плейлист, поэтому обязательно собери свой - правильная музыка совершенно точно помогает чувствовать себя и действовать энергичнее.

🧠 Постоянно учиться новому. Наш мозг привыкает делать одно и тоже, и если его не нагружать новой информацией, то он будто "атрофируется". Поэтому я постоянно учусь чему-то новому и чем оно страннее и сложнее - тем лучше. Если ты программист, то нет никакой сложности выучить очередной язык программирования, но вот натренировать себя на публичные выступления, если ты застенчивая няша 😊 - это challenge! Выбирай то, что кажется самым сложным и пугающим - и вперед! Зато потом никакая задача и никакая новая технология будет не страшна - как в том анекдоте про студента:
- Сколько вам нужно чтобы выучить китайский язык?
- А когда сдавать?

🧠 Контроль и измерения. Это все классно, спросишь ты, но как же измерить свою продуктивность, чтобы понять, что на нее действительно влияет?
Я использую три инструмента:
1. Отслеживание продуктивности через ResqueTime (это программа, которая ставится на компьютер и телефон и отслеживает, что ты на самом деле делаешь в течение дня. Осторожно, результат может шокировать!)
2. Проверка "готовности" к грядущему дню через кольцо Oura (это "умное" кольцо, которое работает как фитнес трекер - отслеживает сон, шаги, пульс и пр.)
3. Замеры и аналитика в программе Welltory (в принципе, они по смыслу дублируют Oura - и там, и там в основе замера лежит вариабельность сердечного ритма, поэтому можно выбрать что-то одно, но мне нравятся эти ребята и их проект)))

Это были мои 5 способов - пишите свои варианты в комменты, буду рада узнать что-то новенькое!
​​5 причин, чтобы выучить JavaScript

У меня есть два любимых языка программирования, которые я обычно советую новичкам - это JavaScript и Python. На самом деле даже три: третий - это Dart, но он еще слишком молодой, чтобы на нем было легко найти работу.

👩‍💻 Простота
Да, JS - действительно простой язык для начинающего. Он не забивает тебе голову лишними конструкциями. С него очень легко начинать - вы бы знали, в какой восторг приходят люди, когда им получается запрограммировать вывод сообщения по нажатию на кнопку, сделать листалку галереи или простенький калькулятор. Это все можно сделать буквально в первые же дни обучения - и твоя вера в себя и в силу программирования возрастает многократно!
Да, конечно, здесь тоже есть свои нюансы и подводные камни, но где их нет?

👩‍💻 Ничего лишнего
Не нужна специальная среда разработки, сложные или дорогие приложения, настройка серверов, лицензии разработчика, мощный компьютер. Писать код можно в любом блокноте, а запускать и тестировать - прямо в браузере.

👩‍💻 Карьерные перспективы
Как я уже писала, на JS легче всего найти работу. hh.ru выдает 11 тысяч вакансий на запрос "javascript". Это абсолютный максимум 😊
Для сравнения: Python - 9 тысяч, С++ и C# по 4 тысячи, PHP - 5 тысяч вакансий.

👩‍💻 На нем можно написать все!
Это уникальный язык, на котором можно написать и бэкенд (nodeJS), и фронтенд приложения, причем как веб, так и мобайл (React Native). Больше ни на одном языке это невозможно. Например, если вы уже знаете только PHP или только C#, то вам придется учить еще и JS, чтобы ваше приложение стало по-настоящему удобным и современным. Это единственный в своем роде язык, который работает во всех браузерах — Яндекс, Google Chrome, Safari, поддерживается всеми современными операционными системами, любыми мобильными платформами и т.д.

👩‍💻 Куча информации
О JS написаны сотни книг, сняты миллионы роликов, а сообщество JS разработчиков на StackOverflow (это такой популярный сайт с вопросами и ответами для программистов) - одно из самых больших. С какой бы сложностью ты не столкнулась - почти наверняка ты сможешь ее нагуглить.

На сегодняшний день средний заработок программиста JavaScript по России около 100 тысяч рублей (в крупных городах, естественно, больше). И спрос на специалистов только растет.

Если ты уже освоила HTML и CSS - и хочешь двигаться дальше, то с понедельника (с 14 декабря) у нас в школе ITGIRLS стартует обучение языку JavaScript и фреймворку React. Для записи и подробностей напиши мне @alicewhocodes

Есть ли у JS недостатки? Да, и о них картинка ниже. Но пусть тебя это не пугает. Просто язык развивается - и вокруг него постоянно появляются новые библиотеки, фреймворки, подходы, новые стандарты. Скучно и однообразно точно не будет!
​​Кто есть кто в IT
Я уже много писала про различные направления в программировании, но на самом деле в ИТ есть еще целая куча профессий кроме программистов. Сегодня я расскажу, кто есть кто - это поможет понять, в какую сторону стоит "лежать", если программирование тебя вообще не заводит, а в ИТ все равно хочется, да и вообще поможет разобраться, кто какую роль играет при работе над проектом.

👩‍💻 UI/UX дизайнер (UX = User Experience, пользовательский опыт). Эти прекрасные люди думают в первую очередь о том, чтобы пользоваться продуктом было удобно и красиво.
Их иногда не очень любят программисты, потому что он "я художник, я так вижу", а ты потом ломай голову, как это воплотить в жизнь 😆
Но если сайтом/приложением можно интуитивно пользоваться без чтения документации и после него не остается ощущения "я дура" - это значит, что дизайнер хороший :)
Средняя зарплата: 75000р

👩‍💻 HTML верстальщик превращает дизайн-макет от дизайнера в статический код сайта (HTML, CSS). Сейчас эта профессия все меньше распространена. Потому что статические сайты практически все уже делают в конструкторах (tilda, wix). А динамические требуют программирования на JavaScript, которого верстальщики не знают. А если знают, то это уже не верстальщики, а Frontend-программисты.
Средняя зарплата: 43000р

👩‍💻 Менеджер проектов (PM) - это "прослойка" между программистами и заказчиком, он умеет разговаривать сразу на двух языках - и на айтишном, и на человеческом, и умеет донести как донести требования заказчика до программистов, так и организовать процесс в целом. Отчитывается перед заказчиком и перед руководством, старается сделать так, чтобы задачи сдавались вовремя и все в целом шло по плану.
Средняя зарплата: сильно варьируется в зависимости от источника, от 50000 до 115000р

👩‍💻 Тестировщик (QA) - отвечает за качество продукта. А если по-простому - ищет ошибки (баги) в том, что понаписали программисты.
Бывают ручные (проверяют все возможные варианты возникновения ошибок вручную) и автоматизированные (пишут код, который проверяет код 😅). Так как вторые по сути настоящие программисты, то их зарплата отличается от первых примерно как зарплата верстальщика от зарплаты фронтенд-программиста.
Зато стать мануальщиком достаточно легко - пара-тройка месяцев курсов - и ты уже QA!
Тестировщики, как правило, очень дотошные, тщательные и даже немного занудные (и в данном случае это плюс!).
Средняя зарплата: 52000р

👩‍💻 Бизнес-аналитик - посредник, переводчик между заказчиком и программистом с человеческого языка на язык айти (если в проекте нет бизнес-аналитика, его задачи выполняет PM). Разрабатывает документацию (технические задания), формализует бизнес-процессы.
Средняя зарплата: 79000р

👩‍💻 Технический писатель - пишет инструкции для пользователей и любые другие технические тексты.
Средняя зарплата: 55000р

👩‍💻 Системные администраторы - отвечают за все "железо" в компании, как за рабочие станции программистов (и других сотрудников), так и за сервера. Обычно бывают двух типов: эникейщики (решают простейшие задачи типа "ой у меня мышка не работает" или переустановить операционную систему) и высокоуровневые профессионалы с сертификатами и главное знаниями оборудования Cisco, Dell и пр. Также могут отвечать за виртуализацию, облачную инфраструктуру и телефонию. Таких, очевидно, меньшинство, поэтому средняя зарплата по тем и другим выходит небольшая (а называются они одинаково).
Средняя зарплата: 41000р

👩‍💻 DevOps - это отдельный подвид системных администраторов, задача которых сделать процесс разработки и поставки программного обеспечения автоматизированным и согласованным с эксплуатацией. Гуглить можно по словам "контейнеризация и непрерывная интеграция".
Средняя зарплата: 110000р

Есть еще две классные новые профессии в ИТ - это Scrum мастер и Agile коуч (отвечают за качественную командную работу и повышение ее эффективности), но к сожалению, в России они пока еще не очень распространены и на них слишком мало вакансий.

Ну что, нашла себя в этом списке? Или все-таки в программисты? 😉
В вакансиях часто можно встретить такие слова как SOLID, KISS и DRY (и их очень любят спрашивать работодатели на собеседованиях)

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

1️⃣ KISS расшифровывается как Keep It Simple and Straightforward
Принцип KISS утверждает, что большинство систем работают лучше всего, если они остаются простыми, а не усложняются. Поэтому в области проектирования простота должна быть одной из ключевых целей, а ненужной сложности следует избегать. Особенно этот принцип будет полезен новичкам, потому что я даже по своим ученицам вижу порой склонность к излишнему переусложнению кода. Как будто людям не верится, что все может быть НАСТОЛЬКО просто))) Может! И именно к этому и надо стремиться 😉

2️⃣ DRY (Don’t repeat yourself) говорит о том, что надо как можно меньше повторяться (а лучше не повторяться вообще).
Для этого есть масса инструментов - миксины в css, функции и методы в языках программирования и так далее. Главное этим всем пользоваться и не раздувать свой код до огромных размеров, когда его становится невыносимо поддерживать и в котором едва можно разобраться 😆
Не раз и не два получалось сократить код, скажем, с 1500 строк кода до 300 как раз благодаря этому подходу.

3️⃣ SOLID - это самый сложный принцип, а точнее даже 5 принципов. Они расшифровываются вот так:
• Single responsibility — принцип единственной ответственности
• Open-closed — принцип открытости / закрытости
• Liskov substitution — принцип подстановки Барбары Лисков
• Interface segregation — принцип разделения интерфейса
• Dependency inversion — принцип инверсии зависимостей
Каждый принцип сам по себе является целой идеологией и все они не зависят друг от друга. Но вместе они позволяют делать код более понимаемым, лучше описаным и поддерживаемым.
Его одним постом, конечно, не объять))

Но расскажу хотя бы про первый пункт - принцип единственной ответственности.
Оригинально это звучит так: A module should be responsible to one, and only one, actor.
Есть два варианта трактовок этой фразы:
📝 Первая встречается чаще всего: Модуль должен иметь только одну обязанность. Это говорит нам о том, что каждый блок кода должен иметь лишь одну ответственность: отвечать только за одну вещь (функциональность).
📝 Но есть еще один вариант, который ближе к оригиналу на английском. Все несколько хитрее.
В этом принципе речь идет о том, что изменения в каком-то куске кода (модуле) может запрашивать одна и только одна роль (или человек). А не так, что один пользователь просит сделать тетрис, другой морской бой, а третий говорит, что делайте что угодно, то только без игрушек. И программисты такие - а что в итоге делать-то? 🤷🏼‍♀️

И есть еще два принципа - мы их разберем в следующий раз 😉
​​Рада поделиться, что в этот четверг мы вместе с потрясающей питон-разработчицей Машей @python_in_depth решили провести разбор резюме наших подписчиков в прямом эфире.

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

Старт 24 декабря в 20:00 по московскому времени, участие бесплатное. Добавьте событие в свои календари, чтобы не забыть 😉

Ссылка на созвон: в зуме

Резюме для разбора можно прислать Маше или мне.
Вчерашний вечер прошел на ура! Мы с Марией разобрали 4 очень интересных IT резюме с совершенно разнообразным опытом (и без оного).
Даже если вы сейчас в самом начале пути, все равно будет очень полезно посмотреть каждому!

Вот запись: https://youtu.be/AZe4_XVRuxA
​​Что такое код ревью? 📝

Когда мы начинаем работать в команде большей чем один человек, велика вероятность, что мы столкнемся с таким понятием как код ревью.

Что это такое?
Это анализ кода другим человеком (часто, но не всегда - более опытным программистом) с целью повышения качества этого самого кода.
Тот, кто проверяет код (ревьювер) смотрит на:
○ Стиль написания и оформление кода (соответствуют ли они принятому в компании)
○ Мелкие ошибки/опечатки
○ Наличие комментариев в коде
○ Общую логику и корректность кода и пр.

Зачем это нужно?
Чтобы тот код, который в итоге будет принят в проект, был самым лучшим, чистым и красивым! 🥰 Как говорится, одна голова - хорошо, а две - лучше! Эта практика помогает сделать код более качественным, а проект - более устойчивым и содержащим как можно меньше ошибок.
И будем честны сами с собой - когда ты знаешь, что твой код будет читать другой человек, то ты постараешься его написать максимально хорошо, а не махнуть рукой, напихать костылей и сделать "на авось" - вдруг прокатит. С код ревью - не прокатит, придется писать заново. Поэтому лучше сразу делать хорошо 😉
В итоге все в плюсе - и ты молодец, и код в проекте - конфетка.

Как это выглядит
1️⃣ Про­грам­мист напи­сал код и отдал его на проверку
2️⃣ Про­ве­ря­ю­щий смот­рит код, исправ­ля­ет ошиб­ки или пишет свои ком­мен­та­рии. В малень­ких ком­па­ни­ях может встре­тить­ся лич­но и рас­ска­зать, что было не так с кодом и как это исправить.
3️⃣ Если заме­ча­ний мно­го, автор идёт пере­де­лы­вать. Если мало - про­ве­ря­ю­щий доводит код до ума сам. Если их нет - он одобряет изменения, и они принимаются в проект.

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

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