Получи случайную криптовалюту за регистрацию!

Girl who codes

Логотип телеграм канала @aliceitgirl — Girl who codes G
Логотип телеграм канала @aliceitgirl — Girl who codes
Адрес канала: @aliceitgirl
Категории: Технологии
Язык: Русский
Количество подписчиков: 9.22K
Описание канала:

Здесь я пишу о своей жизни айтишницы и как ей стать ❤️ Рассказываю про карьеру в IT человеческим языком
Моя школа IT-профессий для девушек с поддержкой на всех этапах - с нуля и до трудоустройства👩‍💻 itgirlschool.com
Вопросы @itgirlschool

Рейтинги и Отзывы

5.00

2 отзыва

Оценить канал aliceitgirl и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

2

4 звезд

0

3 звезд

0

2 звезд

0

1 звезд

0


Последние сообщения 17

2020-12-30 17:23:24 ​​Чем именно занимается программист?

Большинство из нас прекрасно себе представляют в чем заключается работа музыканта, художника, парикмахера, но мало кто понимает, чем же занимаются программисты, что это за работа такая? Что мы делаем целый день?
Попробую это объяснить

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

Алгоритмы бывают:

линейные - когда мы делаем какие-то действия (одно за другим). Шаг 1, шаг 2, шаг 3. Как будто это рецепт. Мы все умеем делать блюда по рецептам, так вот нам и нужно составить рецепт для компьютера, чтобы он прошел по шагам и выполнил то, что мы от него хотим.

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

цикличные - когда мы повторяем одни и те же действия несколько раз. Чтобы можно было сказать "Три раза повторяй вот это действие" - и все! А не писать одно и тоже много раз подряд.

Таким образом мы можем абсолютно любые задачи для компьютера разложить на вот эти маленькие кусочки и создать инструкцию, пользуясь алгоритмами. Например, мы хотим зайти на страницу интернет-магазина, и он нам должен выдать те вещи или те товары, которые должны на ней быть.
Что в этот момент происходит? Наша инструкция для компьютера будет выглядеть примерно так:
1. Сходи в базу данных и спроси ее: "Дай мне список товаров"
2. База данных возвращает нам этот список товаров
3. Дальше мы делаем цикл на повторение действия по количеству товаров: нарисовать карточку товара (картинку, название, цену). А если вдруг товаров нет (из базы ничего не пришло), то вывести сообщение "Нет товаров в этой категории"

Такими коротенькими шажочками-инструкциями мы компьютеру и объясняем, что нужно делать - по 8 часов в день

Вот так и проходят будни программиста))
2.5K viewsaliceitgirlbot, 14:23
Открыть/Комментировать
2020-12-27 20:11:48 ​​Что такое код ревью?

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

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

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

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

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

Поэтому если вдруг ваш код критикуют, важно помнить о самом главном - критикуют код, а не вас. Не стоит принимать это на личный счет, гораздо лучше думать о замечаниях к коду как о точке роста. И самое главное - не бояться! Ведь не ошибается только тот, кто ничего не делает
2.2K viewsaliceitgirlbot, 17:11
Открыть/Комментировать
2020-12-25 15:37:21 Вчерашний вечер прошел на ура! Мы с Марией разобрали 4 очень интересных IT резюме с совершенно разнообразным опытом (и без оного).
Даже если вы сейчас в самом начале пути, все равно будет очень полезно посмотреть каждому!

Вот запись:

2.2K viewsAlice IT Girl, 12:37
Открыть/Комментировать
2020-12-24 19:23:06 Друзья, напоминаю, что сегодня в 20:00 по мск проводим с Марией @python_in_depth прямой эфир с разборами ваших резюме.

Еще раз ссылка: https://us02web.zoom.us/j/86743972942?pwd=eHVIeUFvSklGaUZaK3N2WnlUSDFxZz09
2.3K viewsAlice IT Girl, edited  16:23
Открыть/Комментировать
2020-12-21 11:00:38 ​​Рада поделиться, что в этот четверг мы вместе с потрясающей питон-разработчицей Машей @python_in_depth решили провести разбор резюме наших подписчиков в прямом эфире.

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

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

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

Резюме для разбора можно прислать Маше или мне.
3.3K viewsaliceitgirlbot, 08:00
Открыть/Комментировать
2020-12-16 18:07:16 В вакансиях часто можно встретить такие слова как SOLID, KISS и DRY (и их очень любят спрашивать работодатели на собеседованиях)

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

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

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

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

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

И есть еще два принципа - мы их разберем в следующий раз
3.4K viewsaliceitgirlbot, edited  15:07
Открыть/Комментировать
2020-12-14 10:00:53 ​​Кто есть кто в 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 коуч (отвечают за качественную командную работу и повышение ее эффективности), но к сожалению, в России они пока еще не очень распространены и на них слишком мало вакансий.

Ну что, нашла себя в этом списке? Или все-таки в программисты?
2.8K viewsaliceitgirlbot, 07:00
Открыть/Комментировать
2020-12-12 10:00:42 ​​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 недостатки? Да, и о них картинка ниже. Но пусть тебя это не пугает. Просто язык развивается - и вокруг него постоянно появляются новые библиотеки, фреймворки, подходы, новые стандарты. Скучно и однообразно точно не будет!
2.5K viewsaliceitgirlbot, 07:00
Открыть/Комментировать
2020-12-11 10:00:44 Как улучшить работу мозга? 5 простых советов

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

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

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

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

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

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

Это были мои 5 способов - пишите свои варианты в комменты, буду рада узнать что-то новенькое!
2.4K viewsaliceitgirlbot, 07:00
Открыть/Комментировать
2020-12-07 10:00:33 ​​Один из самых спорных для определения уровней разработчиков - начинающий (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 уровня самым простым и быстрым путем, а также где искать работу начинающему программисту, если у него нет опыта.
Вот ссылка.
Жду тебя! Приходи, будет интересно!)
3.5K viewsaliceitgirlbot, 07:00
Открыть/Комментировать