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

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

Вопросы @itgirlschool
Download Telegram
​​Веб-разработка (web development)
Это мое самое любимое направление, которому я посвятила большую часть своей карьеры и с которого легче всего начинать. И главное - потребность в веб-разработчиках не закончится никогда, пока существует интернет!
Я уже рассказывала подробно про фронтенд и бэкенд, поэтому здесь только кратенько напомню:

👩‍💻 Frontend
Фронтенд-разработчики отвечают за видимую часть приложения и пользовательский опыт взаимодействия с интерфейсом. Чтобы стать фронтенд-разработчиком вам не нужно ни высшее образование, ни математика, ни художественный вкус, только время и желание учиться. Фронтенд - самая быстро меняющаяся и динамичная сфера из всех видов разработки, все время выходит что-то новенькое. Поэтому если вы любите изменения, любите красивые интерфейсы и вам нравится сразу видеть результат своих действий - это направление для вас!

👩‍💻 Backend
Бэкэнд-разработчики занимаются тем, что скрыто от глаз пользователя, но имеет колоссальное значение, это может быть что угодно, от логина в аккаунт до покупки в интернет-магазине. Такие разработчики фокусируются на базах данных, скриптах и архитектуре сайта и их код нужен в первую очередь для коммуникации интерфейса, который написали фронтендеры, с базой данных. То, что делают backend-разработчики, уже больше похоже на то, чем занимаются в вузах, поэтому если у вас уже есть профильное образование и вам нравится работать с базами данных, то можно специализироваться именно в backend.
👩‍💻 Full-stack
Делают и то, и другое - и все за одну и ту же зарплату 😆
​​Мобильная разработка (mobile development)
Очень быстрорастущая сфера - особенно учитывая насколько увеличивается число смартфонов с каждым днем. Мы все чаще пользуемся телефонами вместо стационарных компьютеров и ноутбуков - и необходимость в мобильных разработчиках растет!

Больше всего пользователей у платформы Android (76%), поменьше у Apple (22%). Но не думайте, что это соотношение верно отражает количество необходимых миру мобильщиков, они нужны примерно одинаково (примерно по 2 тысячи открытых вакансий на каждую из платформ).

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

А еще можно научиться кросс-платформенной разработке и убить двух зайцев писать код одновременно под обе платформы (да, сейчас есть и такие технологии 😉).

Зарплаты у мобильщиков повыше чем у веб-разработчиков. И здесь по-прежнему не нужна ни математика, ни ВО. Даже более того, я не знаю ни одного вуза, где бы учили мобильной разработке. Это как в старом анекдоте - ж… работа есть, а слова (обучения такой профессии) пока еще официально нет. Это направление тоже очень хороший вариант для начинающих - легкий вход, множество ресурсов для обучения и хорошие зп даже на старте.
Разработка под ПК (desktop development)
Эта сфера хоть и остается достаточно важной (ведь многие из нас используют стационарные Word, Excel, Photoshop или AutoCAD), но обратите внимание - почти все "большие" программы имеют свои "маленькие" копии под web и мобильные телефоны). Вакансий на desktop разработку гораздо меньше, хотя и оплачивается она достаточно неплохо. Сюда стоит идти, если ты хочешь заниматься чем-то большим и серьезным, работать в крупной корпорации.
Разработка игр 🥰 (game development)
Большинство из нас нежно любит игры, и будем честны - многие идут в программирование именно ради игр, чтобы ощутить себя творцом, научиться воплощать собственные фантазии в код и создать ту самую "идеальную игру", которая покорит мир!

А что в реальности? В реальности игры очень популярны - и потребность в разработчиках игр не утихает. Компании-гиганты, которые придумывают и выпускают игры, создают максимально комфортные условия для того, чтобы программист с работы не уходил вообще - потрясающие офисы, завтраки-обеды, игровые комнаты, души и диваны, даже бары с пивом бывают))) Атмосфера в таких компаниях - максимально неформальная и очень комфортная, практически везде гибкий график.
А где же "но", спросишь ты - и будешь права. Минусы тоже есть и они немаленькие. В игровых компаниях часто бывают переработки, а зарплаты чуть ниже среднего (хотя бывают и программисты-звезды с очень высокими зп), потому что очень многие хотят работать в GameDev.
Встраиваемые устройства и интернет вещей (embedded systems & IoT)
Обычно мы даже не задумываемся, но нас окружает огромное количество устройств, которые по сути - маленькие компьютеры: микроволновки и стиралки, вайфай роутеры и квадрокоптеры, роботы-пылесосы и умные дома и конечно же - моя любимая Алиса. И с каждым днем таких систем становится все больше - все больше умных домов, умных ферм, умных фабрик, умных складов и даже умных гаражей и сараев, где все напичкано датчиками, камерами и всякими контролирующими системами. Все эти устройства, так сильно облегчающие нам жизнь, кто-то запрограммировал вести себя именно так! На мой взгляд, сфера непростая, зарплаты средненькие и часто нужно быть хорошим инженером. Но если ты грезить устройствами или роботехникой, если ты уже пробовала что-то сделать на Arduino - то стоит начинать именно с этой сферы! Вдруг именно это работа твоей мечты!
​​Продолжение рассказа про направления в разработке! Встречайте!
Самое крутое, самое высокооплачиваемое, самое сложное на свете направление - Data Science и Artificial Intelligence (наука о данных и искусственный интеллект).
Именно здесь тебе нужно и математику 📚 знать так, чтоб от зубов, и программировать уметь очень хорошо, и данные визуализировать, и уметь понятно рассказать о них, да еще и постоянно очень быстро доучиваться, ведь эта сфера растет с безумной скоростью как ни одна другая!

Зато сколько плюсов! Самые интересные задачи и самые большие зарплаты - все здесь ❤️ Найти работу - как раз плюнуть, такие специалисты на вес золота.

И самое главное, что всегда можно найти себе задачи по душе - если тебе интересны языки и лингвистка, то выбирай направление Natural Language Processing (обработка естественного языка), если анализировать картинки и видео - Computer Vision (компьютерное зрение), если ты творческая личность, то тебе может быть интересна генерация изображений, видео, музыки. И таких направлений и возможностей для применения технологий ИИ просто миллион - от распознавания голоса до роботехники, от космических исследований до фондовых рынков, от автопилота до виртуальной примерки одежды.

Эта сфера для крепких орешков, но если получится - то жизнь удалась!🏆
Часто в Data Science приходят люди из науки, потому что там используются похожие методы аналитики.

Я честно скажу, я пыталась начать разбираться в ИИ и писать свои нейросети 5(!) раз и только с пятого у меня что-то начало получаться - я теперь умею делать анализ по картинкам и отличать котиков от собачек по фотографии и не только😊
Из всего, что я пробовала, могу рекомендовать курс Deep Learning от Школы глубокого обучения МФТИ 🥰 (бесплатно, на русском языке) и сайт DataQuest для освоения языка Python для анализа данных (29$ в месяц, на английском).
​​Действительно ли нужно начинать с C/С++

Если ты уже пыталась понять, что же нужно, чтобы стать программистом, то ты наверняка встречала мнение, что программисту надо начинать с языка С или С++, так как это основа, корень всех языков и если ты выучишь его, то дальше будет проще выучить любой другой язык.
И это правда. А еще правда в том, что выучив почти любой язык программирования, тебе будет гораздо легче понять и изучить любой другой 😉
Потому что все основные логические конструкции (условия, циклы, структуры данных и пр.) во всех языках очень похожи, только немного меняется синтаксис.

В чем же тогда подвох?

С/C++ в качестве первого языка дает несет две проблемы:
📚 Потеря времени. Представь, ты больше всего на свете мечтаешь переехать во Францию. А тебе говорят - учи английский, это основа всего, да и французский после него будет учить легче. Это все так, но зачем учить сначала английский, а потом французский - и тратить на это гораздо больше времени и сил, если можно сразу начать с французского? Язык программирования для изучения эффективнее всего подбирать под задачу, под то, чем ты хочешь заниматься. Хочешь создавать нейросети - выбирай Python! Хочешь делать сайты - JavaScript! Хочешь мобильные приложения - языки мобильных приложений! Но уж точно не С/С++! Иначе есть риск убить кучу времени и самое обидное - потерять мотивацию, но так и не приблизиться к делу своей мечты.

📚 С/C++ объективно достаточно сложен для новичка
История из жизни. Когда я захотела научиться водить, мне все говорили - иди учись на механике, ты потом на автомат легко пересядешь, зато научишься машину чувствовать и все такое. Я послушала 😆 и в итоге я училась водить на механике 1,5(!) года. Куча выброшенного времени и денег. И самое обидное, что в итоге я так и не смогла - прошло много лет, но я не села за руль ни разу. И вот в прошлом году я решила попробовать снова, наплевав на советчиков и пошла сразу учиться водить на автомате. И что вы думаете? Всего 3-4 месяца - и у меня все получилось! 💪
Вот С/C++ это и есть "механика" в программировании. Ты учишься тонко чувствовать все нюансы и вручную управлять памятью. Конечно, есть люди, которые даже начав с "механики", перебарывают все трудности, и справляются.

Но нужно ли это, если тебе всего-то надо попасть из точки А в точку Б и сделать сайт или мобильное приложение? Нет, не нужно.
Так зачем усложнять себе жизнь, если можно не усложнять? Всегда лучше начинать с простого, а потом потихонечку усложнять, а не наоборот. Многие стопорятся на изучении С/C++, теряют веру в себя и начинают думать, что у них ничего не получится. Но это не так! Надо просто выбрать другую точку входа - и в этот раз все точно получится! 🏆
Когда новые знакомые узнают, что моя основная работа - это программист, то часто очень этому удивляются. Мол, я девочка, да еще и слишком красивая, чтобы быть программистом.

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

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

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

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

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

Девушки, не бойтесь, идите к своим мечтам, хвалите себя, цените себя, любите себя - и тогда все получится! Кем бы вы ни решили быть - хоть программистом, хоть водителем КАМАЗа, хоть маникюршей, хоть предпринимателем, хоть домохозяйкой. И в этом самый кайф быть женщиной - у нас всегда есть выбор!
​​Как я делаю свое обучение максимально эффективным
Сразу оговорюсь, что не тестировала эти способы на всех людях в мире, но это работает лично для меня. А учиться надо постоянно 📚
За свои 17 лет стажа работы программистом я глобально меняла стек используемых в работе технологий/языков много раз: FoxPro -> PHP -> C# desktop -> C# web + JS -> Sharepoint -> React Native -> Flutter -> React. Зачастую у меня было всего пара недель, чтобы полностью перестроиться с одной технологии на другую. Все они и похожи, и непохожи друг на друга и не всегда одно направление помогает в другом.

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

1. Первым делом получить общее впечатление, пролистать заголовки, посмотреть схемы, создать у себя в голове какую-то более-менее цельную картинку изучаемой темы, а потом уже детализировать
2. В конце изучения какой-то темы обязательно спросить себя о выводах, попробовать подвести какой-то краткий итог, сформулировать основную идею изученного
3. Конечно же, практика! Причем, регулярная. Посидеть над кодом/учебой 20 минут каждый день дадут больше результата, чем 1 раз в неделю на пару часов.
4. Сейчас крамольную мысль скажу, но… писать руками ✍️ Для меня гораааздо лучше запоминается тема, если я ее прописала вручную на бумаге, хотя бы какие-то ключевые моменты.
5. Видеоуроки + практика или онлайн-платформы с кодом и автотестами? И то, и то, и можно без хлеба! А вот обычные книги не советую, на мой взгляд, они работают хуже обоих способов выше. Книги стоит изучать только при условии прорешивания и проработки кода всех-всех примеров. Как говорится, невозможно научиться плаванию, читая книги 😉 Программированию - тоже. Все равно придется писать код рано или поздно 👩‍💻 без этого не получится.
6. Сразу применять полученные знания - в идеале, в рабочем проекте, либо в каких-то своих собственных. Вот прямо придумать идею и начать ее реализовывать! И больше концентрироваться на задаче, а не на инструменте. Если идея реально зажигательная, то вы наверняка просидите над ней больше времени и научитесь большему, чем если решать скучные "учебные" задачки.
7. И конечно, пара отличных книг по обучению нам в помощь😉 или курс Learn how to learn на Coursera.
Привет! Если кто-то очень хотел попасть на мой прошлый интенсив, но в тот раз не получилось, то есть еще одна возможность!😊

Сегодня вечером в 20:00 по московскому времени я провожу бесплатный онлайн-интенсив "Как девушке стать программистом".

Там я расскажу:
👩‍💻 какие есть основные направления в разработке
👩‍💻 какие из них сложные, а с каких лучше всего начинать новичку
👩‍💻 сколько там платят
👩‍💻 как эффективнее всего учиться, чтобы найти работу
👩‍💻 вживую покажу, как создается сайт
👩‍💻 и конечно же, буду отвечать на ваши вопросы

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

Регистрируйся http://itgirlschool.ru/free и приходи, я очень жду тебя!🥰
​​Что нужно, чтобы стать программистом 👩‍💻

Я надеюсь, я уже развеяла стереотипы о том, что чтобы стать программистом нужно обязательно знать математику, получить высшее образование или выучить английский. Но если это не нужно, то что же тогда нужно?
А нужно на самом деле всего 2 вещи, но они суперважные.
Время
Побуду капитаном Очевидностью - чтобы стать программистом, нужно программировать 😉 А на это нужно довольно много времени. Я часто вижу в интернете рекламу, мол, станьте SMM-менеджером или таргетологом за пару месяцев. С программированием так не получится. Учиться можно и год, и два, и три, и пять - смотря какой способ обучения выбрать. Самый короткий старт, что я видела - это полгода, но человек сидел и только этим и занимался по 8 часов в день. Если мы хотим успевать еще когда-то жить, работать, заниматься хобби, то меньше чем на 1,5-2 года регулярных занятий не стоит рассчитывать - уж слишком много всего надо изучить, запомнить и главное - попробовать. Зато результат определенно стоит того 🥰
😎 Интерес
А вот здесь как раз кроется ключ к тому, как справиться с пунктом 1. Если вы получаете удовольствие от процесса, если вы кайфуете от творения и написания кода, если вам нравится учиться новому - тогда все получится! Было бы желание - а время всегда найдется 😉
И даже после того, как ты выучишься это важно - в мире ИТ постоянно что-то меняется, появляются новые технологии, языки, платформы. Придется постоянно доучиваться и узнавать новое. Если у тебя не будет интереса, то есть риск, что твои знания устареют и в случае потери работы найти новую будет не так-то просто.
💰 Деньги
Да, здесь должно было быть 2 пункта, но про деньги тоже напишу 😅
Сразу всех обрадую - это не обязательно! Деньги могут нам ускорить процесс, но они не решат все за нас. Если нет времени, либо интереса, то даже с деньгами вряд ли что-то выйдет.
Можно ли выучиться без денег вообще, полностью самостоятельно по онлайн-ресурсам? Да, можно! И я знаю кучу людей, кто именно так и выучился!
Сейчас в интернете куча полезной информации - книг, видео, гайдов, курсов, ответов на вопросы и еще миллион всего!
Главное, чтобы у нас было 1) время их изучать и применять и 2) желание это делать 😉
​​Стать программистом после 30-ти

Этот пост навеян обсуждением в чате - в каком же возрасте можно стать программистом? Хорошая новость в том, что стать программистом можно в любом возрасте!
Но будет нечестным не рассказать о тех нюансах, которые есть в случае, если вам за 30.

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

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

Вторая хорошая новость в том, что построение карьеры в ИТ - достаточно быстрый процесс. Примерно 1-2 года уйдет на обучение и еще 3-5 лет на то, чтобы достичь зарплатного потолка.

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

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

Итак! Надо просто действовать так, чтобы эти стереотипы разрушить и на каждое "возражение" от кадровика придумать свой ответ-обоснование:
1. Нужно показать свои "горящие глаза", показать, что тебе это реально интересно и ты уже много вложила сил и энергии в изучение программирования (возможно, показать какие-то пройденные курсы, сертификаты)
2. Ты можешь показать достойное портфолио и свое серьезное отношение к делу
3. Можно упомянуть, что нужно кормить семью/платить ипотеку/поднимать ребенка и ты будешь держаться за эту работу (но аккуратно, без уничижения, себя уважать тоже надо)
4. Важно хорошо проработать свое резюме и подготовиться к собеседованию (в интернете куча примеров "вопросы к собеседованиям по технологии Х")

Как бы то ни было, я знаю действительно много людей, кто стал программистом после 30, занимаясь до этого лингвистикой, продажами, маркетингом или даже рисованием - и раз они смогли, то и у тебя получится! 💪
На чем я пишу
Так получилось, что за 17 лет работы в ИТ я так или иначе работала, сталкивалась или изучала просто миллион разных языков и технологий 😅

Вот они:
Backend: NodeJS, Python, C# + SharePoint, PHP, C++, Assembler
Frontend: HTML, CSS, React, JS, jQuery
Mobile: Flutter, React Native
Базы данных: SQL, noSQL, FoxPro

А теперь те из них, с которыми я больше всего работаю сейчас:
NodeJS, Python
HTML5, CSS3, React, JS ES6
Flutter, React Native
SQL, noSQL

Список получился значительно меньше и я уверена, лет через 5 он еще значительно изменится😅 Это, конечно, обидно, видеть как технология, на изучение которой ты потратила так много времени и сил, начинает потихоньку сдуваться и становиться все менее популярной, но это естественный процесс - в мире ИТ очень мало неизменных вещей.
Нам в любом случае придется доучиваться и переучиваться - и не раз. Зато мозги не заржавеют! 🧠

Но если неясно, с чего начинать, то хорошим помощником в выборе технологии для изучения может стать сервис Google Trends, туда можно повводить интересующие технологии/языки/фреймворки и понять, какие из них сейчас самые популярные в поисковых запросах (кстати, результаты по миру и по России могут иногда отличаться😉) и уже на основе результатов делать выводы для себя📚
​​За что я люблю программирование

Сегодня занимаемся с ученицей, и она говорит: "Ты сначала на работе программируешь, а потом приходишь и вечером опять программируешь" 👩‍💻
Так и есть, целый день - и на работе, и с учениками. А еще я готовлюсь к выступлению на конференции от Google. Записываю курс по Frontend для своей школы. Записываю курс по C++ для партнеров. Пишу приложение на Flutter для подруги. Прохожу курс по продвинутому React и готовлюсь к сертификации по Azure. А еще хочу написать парочку приложений для себя любимой, но что-то пока все некогда 😂

Я на самом деле влюблена в программирование ❤️ Когда вам будут говорить, что это скучное занятие - не верьте! Ты чувствуешь себя самым настоящим творцом, ты можешь сделать что-то полезное - буквально из ничего. Вот у тебя перед глазами чистый лист в редакторе кода - а через несколько часов начинает появляться настоящее приложение, которое можно кому-то показать. И строчка за строчкой оно однажды превратится в что-то действительно значимое! 😎

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

Обычно когда я рассказываю о программировании, то говорю об объективных плюсах этой профессии: высокой зарплате, определенной свободе (привет, удаленка!), возможностях переезда и многом другом, но самое главное - вовсе не это. Когда я выбирала себе профессию, в ИТ не было ни таких зарплат, ни таких шоколадных условий как сейчас. А что же было (и есть)? Тот кайф, который ты получаешь, когда работаешь! 😍
Помните цитату из Конфуция? Выбери себе работу по душе, и тебе не придется работать ни одного дня в своей жизни.
От души желаю всем, чтобы и у вас в жизни тоже так было! 🥰
Про git

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

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

Это очень удобно, потому что:
💻 Наши файлы защищены от любых форсмажоров, даже если полетит жесткий диск или ноутбук украдут - вся наша работа останется цела
💻 Даже если ты работаешь над кодом одна, то тебе легко отслеживать, что было сделано и всегда можно вернуться к предыдущей версии, если вдруг ты что-то наломала в коде 😅

А если вас в команде много, то это поможет еще сильнее!
💻 Каждый может отследить кто, когда и какие изменения закодил, видно, кто чем занимается
💻 Прививается навык документирования и комментирования
💻 Удобно делать code review (это когда твой руководитель или коллеги проверяют насколько твой код хорош и дают советы по улучшению, либо ты проверяешь коллег)

Самое известное облако на технологии git - это github.com. Он доступен бесплатно, там удобно хранить весь свой код и портфолио к резюме.

У git-а есть только один недостаток - его сложно назвать "интуитивно понятным" 😅
Но какой бы язык мы не изучали, git - это "must have" для любого программиста. И если приноровиться, то он прочно войдет в нашу прогерскую жизнь, сделав ее значительно удобней.
От души поздравляю всех причастных! ❤️
Я буду отмечать прогулкой в парке (погода сегодня чудесная!) и вкусняшками! 🍰
А вечером как всегда 👩‍💻
​​Что такое фреймворки, зачем они нужны и какие из них стоит изучать в 2020м году

Если по-простому, то фреймворк - это такой сборник готовых компонент и правил их взаимодействия. Он дает тебе структуру и компоненты - и ты из них как из кубиков Lego можешь собрать свое приложение по определенным правилам. Чаще всего фреймворки не очень-то совместимы между собой, поэтому стоит сразу определиться, какой из них использовать (например, в жизни "фреймворк" детских конструкторов Lego не будет совместим с "фреймворком" ПАКС - системой построения шкафов ИКЕА).

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

Минусы в том, что ты ограничен рамками фреймворка и не для всех задач он идеально подходит.
Например, те же шкафы - если готовые варианты есть только 50, 75 или 100 см, а у тебя ниша шириной 120см, то тютелька в тютельку такой шкаф не впихнешь, придется или делать на заказ или ставить 100см и закрыть глаза на огромные щели по бокам.

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

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

Так какие же фреймворки стоит начинать изучать? Лучше всего - те, на которые больше всего вакансий, которые с каждым днем все популярнее и не "умрут" в ближайшее время. Здесь хорошим помощником будет сервис Google Trends, о котором я как-то уже писала 😉
Просто вбиваем в него список фреймворков нужного нам языка программирования, например, JavaScript и видим, что для него самым популярным является фреймворк React. Именно его стоит начинать изучать в 2020м году, если хочется заниматься frontend-разработкой 👍
​​Бесплатные ресурсы для обучения 📚

Собрала для вас подборку полностью бесплатных онлайн курсов для обучения программированию 😉
Если знаете какие-то еще, которые не вошли в мой список - присылайте, я дополню пост 📝

Конечно, чтобы научиться c помощью курсов, нужно обладать недюжинной мотивацией и усидчивостью. Но в этом как раз и есть главный секрет - в регулярности, организованности и страсти к программированию. И тогда все получится! 🥰

stepik.org - курсы на русском языке по множеству технологий и языков
webref.ru - справочник по всему, связанному с веб-разработкой
learn.javascript.ru - обучение Javascript
pythontutor.ru - обучение Python
sql-ex.ru - обучение SQL
coursera.org - обучение всем технологиям на свете от лучших университетов мира, есть и русскоязычные и англоязычные курсы
freecodecamp.org (на английском языке) - мой любимый сайт по изучению Javascript и Python

И напоследок главный совет от меня - не застревайте надолго в тренажерах и курсах, старайтесь как можно раньше начать делать какой-то свой реальный проект. За неделю работы над проектом ты научишься больше чем за месяц на курсах. Курсы - тоже важный этап, но отнюдь не единственный! Не пытайтесь научиться плаванию по книжкам 😅 Чтобы стать программистом - надо делать 💪
Как девушке добиться успеха в IT (да и не только девушке)?

1. Скорее всего, за этот пункт в меня полетят помидоры, но… важно помнить, что hard skills (проф. знания) - это важно, но soft skills еще важнее. Хард скиллам всегда можно доучиться, софт скиллам - тоже можно, но это дольше и сложней.
Когда нас оценивают на собеседовании, то смотрят не только на умение решать задачи (сколько раз у меня было такое, что какую-нибудь дурацкую задачу из серии "почему люк круглый" или "как засунуть слона в холодильник" я не решила, но меня все равно звали на работу в эту компанию), а на ваш уровень энергии, ваше мышление, вашу мотивацию, вашу ответственность, насколько вы впишетесь в коллектив и так далее.
2. Быть смелой и активной. Причем как в поиске работы - отправлять отклики на вакансии, даже если соответствуешь не на 100%, а всего на 60% требований. Звонить, если вдруг нет ответа на письмо. Искать другие пути, возможно через соцсети, личные контакты и linkedin, если хочется попасть в какую-то конкретную компанию.
Так и на самой работе - спрашивать как попасть и стремиться в самые интересные проекты, вызываться в командировки, проситься на конференции, делать что-то (например, документацию и инструкции) для себя и делиться с коллегами - по своей инициативе, предлагать что-то улучшить - если хочется улучшить.
А если чувствуешь, что "мозги заржавели" на текущей работе - не бояться ее менять.
3. Общаться и спрашивать. Зачастую гораздо эффективнее спросить коллегу, столкнувшись со значительной проблемой - и решить все за полчаса, чем 2 дня потерять и решить самой, наступив на пару десятков граблей. Я от этой ошибки очень долго избавлялась - мне каждый раз стыдно показаться глупой, но сейчас я понимаю, что долбиться лбом об стенку неэффективно, всегда лучше спросить - люди не кусаются 😉 Понятно, что не стоит бегать с простейшими вопросами, но если это реальная сложность, которая уже заняла больше пары часов и ты ее еще не решила - лучше спросить, чтобы не потерять еще больше.
Ездить на конференции, общаться со спикерами и вообще людьми вокруг. Кто знает, может через кого-то из них вы попадете на работу мечты или даже просто узнаете массу нового и интересного?
4. Постоянно учиться - в ИТ без этого никак.

Этот список - мой личный опыт, и он на все 100% сработал у меня в жизни и в карьере 😊
Уверена, поможет и тебе 👍
​​Привет всем! Простите, я на эту неделю запропала - запускала курс по фронтенду в моей школе программирования для девушек 😊
Теперь реабилитируюсь - кстати, тему этого поста мне навеял как раз наш групповой созвон с ученицами.

Обязательно ли программисту знать английский язык и как его учить?
Хорошая новость - нет, не обязательно. Я знаю программистов, которые всю жизнь живут без английского и прекрасно себя ощущают (особенно те, кто работает с 1С или в госконторах - но это своя атмосфера, которая далеко не всем подходит).
В самом начале обучения программиста английский тоже не обязателен, если это не какая-то суперновая технология или язык, потому что на русском языке информации предостаточно практически по всем темам.

Но! Чем более продвинутой ты будешь становиться как разработчик, тем больше будет ощущаться нужность английского.
📚 Во-первых, это доступ к самым "вкусным" вакансиям, зарубежным командировкам и конференциям.
📚 Во-вторых, это возможность быстрее и удобнее находить решения на англоязычных сайтах (которые еще и более дружелюбны к пользователям чем наши).
📚 В-третьих, это безграничные возможности обучения - все самые лучшие сайты и ресурсы обычно на английском.
📚 В-четвертых - и это практически необходимый пункт - если ты хочешь переехать заграницу.

На каком уровне нужно знать язык?
В первую очередь, нужен технический английский - особенно в плане слушания и чтения (достаточный для понимания лекций и статей, минимум Intermediate).
Технический английский - вещь довольно простая, так как многие термины дублируются (computer, programming, site, web - даже если ты не знаешь английский, то наверняка поймешь, что значат эти слова 😉). Если хочется большего, например, проходить собеседования на английском, свободно разговаривать с коллегами-иностранцами и ездить в командировки, то придется "прокачивать" еще и говорение как минимум до Upper-Intermediate.

Как это можно делать?
1. Слушание - я лично люблю смотреть видео вот тут https://www.ted.com/ (там коротенькие ролики на 10-20 минут) или на youtube любые видео по теме, которая интересна. Многие люди учат просто - сериалы смотрят на английском)
2. Чтение будет "качаться" автоматически через гугление и статьи на английском
3. Словарный запас пополняем с помощью приложений (любое из):
• Lingualeo
• Duolingo
• Easy Ten
• Флэшкарты Anki
4. Для говорения ищем уже готовые или самоорганизуемся в клубы английского языка
5. Писание прокачиваем тем, что пишем хотя бы 1 абзац на английском в день, например, ведем дневник (на данном этапе не столь важно, насколько правильно грамматически ты пишешь, важно писать - и сделать это привычкой 😉)
​​Делюсь подборкой своих самых любимых книг по IT-тематике:

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

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

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

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

Кто захочет поделиться полезными (или приятными!) любимыми книгами в IT тематике📚 - пишите в чатик!