Какие проекты делать начинающему программисту? Как делать? (Пошаговая инструкция)


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

Почему?

Когда вы рассылаете резюме работодателю, особенно если вы новичок или человек с небольшим кол-вом опыта, то работодателю по сути невозможно понять насколько вы хороший или плохой кандидат, ведь он видит вас в первый раз и о вас нет никакого впечатления. Даже если вас позовут на собеседование, то по сути у них будет всего 1-2 часа для того чтобы оценить ваши знания, это не сильно играет вам на руку, так как обычно на популярные языки типа Java, JS, Python около 10-15 человек на 1 место на Junior.

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

Как?

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

Когда?

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

Как именно искать проект? Какой алгоритм?

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

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

3. Создаем репозиторий в github, попутно учим базовые команды Git, создаем каркас проекта и начинаем писать, не забываем соблюдать качество кода и документацию по всему ходу разработки. Чтобы подсмотреть эталонные варианты проектов, советую вам загуглить в таком ключе Ваша Технология Real World appllication Example github.

4. Когда написали проект, его нужно причесать. На проектах есть так называемый файлик README.md который сразу будет высвечиваться в развернутом виде как описание вашего проекта, как только работодатель или любой другой пользователь зайдет на ваш проект на Github. Сделайте так чтобы ваш проект хотелось посмотреть и скачать, напишите классное описание.

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

Подсуммирую, для того чтобы сделать проект себе в портфолио нам нужно:

1. Найти востребованный стек технологий проанализировав вакансии на рынке.
2. Выбрать тематику которая нам нравится, но важно чтобы проект был на слишком большим.
3. Зарегистрироваться и создать репозиторий на github.com, выучить базовые команды git. Прогуглить примеры реальных проектов.
4. Когда написали функционал, причесываем проект, чтобы на него было приятно смотреть.
5. Не забываем про главную мотивацию писать проект, — это в первую очередь инвестирование в себя и улучшение своих профессиональных качеств.

Таймкоды:
00:00 — Начало
00:14 — что такое «pet проекты»?
1:35 — как занять более выгодную позицию, по сравнению с другими кандидатами на должность
1:59 — Github аккаунт. Зачем он нужен?
2:49 — зачем нужны pet проекты?
2:55 — что такое «Stack технологий»
3:41 — какие проекты добавлять к резюме
4:12 — как именно стоит писать pet project? Шаг за шагом.
4:23 — Подбор востребованного стека технологий
5:18 — Выбор тематики
7:21 — Создание репозитория на Github
8:07 — Лайфхак для того, чтобы лучше понять систему написания приложений.
9:42 — Файл-«описание» Вашего проекта
11:42 — Для чего Вы делаете этот проект?
12:45 — Вывод. Что нужно для качественного написания pet проекта?

Соцсети:
www.instagram.com/itwithvitaly/
www.facebook.com/itwithvitaly
#какУстроитьсяПрограммистом #работавIT #какПрокачатьсявIT

Задача на Junior Java, Javascript собеседовании на которой многие валятся. Палиндром.


В этом видео разберем одну из типичных задач на собеседовании junior java или junior javascript разработчика. Я покажу вам некоторые фишки, которые позволят лучше проходить кодинг интервью, а также покажу техническое решение задачи.

Домашнее задание про Палиндром и сумму цифр:
docs.google.com/document/d/1dLAg-k4XrHrLeLfK-xSLBl_RghzdVjkpUNK4dq2G6lk/edit?usp=sharing

Ссылки на соц. сети:
Facebook — www.facebook.com/itwithvitaly
Instagram — www.instagram.com/itwithvitaly/

Кто такой Junior, Middle, Senior, Team Lead | Что они делают?


В этом ролике я расскажу вам чем отличаются Junior, Middle, Senior и Team Lead. Какие обязанности они выполняют и какие роли у них в командах.
А также дам свою оценку тому, сколько времени нужно инвестировать для того, чтобы дойти до каждого из этих грейдов.
=========================
Ссылки на соц. сети:

Facebook — www.facebook.com/cactusprogramming/
Instagram — www.instagram.com/cactusprogramming/
Website — cactusprogramming.com/

Как работают программисты: Структура IT команды


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

Мы разберемся как происходит процесс создания софта внутри команды и распределение ролей между людьми.

Я подробно расскажу и опишу обязанности каждого в стандартной IT команде.

Таймкоды:
1:55 — Developer
2:40 — Team Lead
4:20 — BA
6:06 — QA
6:49 — PM/DM
8:41 — Client’s Developers
9:24 — Client manager’s representatives

Соцсети:
www.instagram.com/itwithvitaly/
www.facebook.com/itwithvitaly

Library vs Framework : В чем разница и как различать?


В этом видео я объясню все основные различия между Framework
и Library. Мы сравним эти понятия и разберёмся с тем, зачем они вообще разделены на два отдельных термина.

На самом деле большое кол-во начинающих программистов в том числе и я в свое время сталкивался с непонимаем того что именно называть framework, а что library.

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

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

Пишите в комментариях свои вопросы, будет общаться :)

Таймкоды:
00:39 — Framework
03:06 — Library
05:23 — библиотеки для коллекций Java
05:41 — Итоги. Framework-это?
06:15 — Библиотека-это?

Соцсети:
www.instagram.com/itwithvitaly/
www.facebook.com/itwithvitaly

Типичные задачи junior разработчика в компании | Как работают джуниоры? (мой опыт)


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

Чтобы далеко не ходить, возьмем меня как конкретный пример, значит 2013 год, я прихожу в большую компанию работать Java Junior после практики, меня сажают на большой проект, который связан с индустрией healthcare т.е. писать софт для страховых компаний в США.

Я знакомлюсь с командой 3 разработчика (я, наш тимлид и еще один миддл), 2 тестировщика, бизнес аналитик на американской стороне и 2 разработчика тоже на американской стороне.

Мы работали по Scrum-у, это такой подход разработки когда мы определяем кол-во заданий на отрезок времени и делаем их, например в течении 2х недель. Если хотите подробное видео по Scrum то напишите в комментариях.

*Scrum — метод управления проектами

После планирования распределяются задачи согласно рубашке задач (монотонные легкие — junior-у, сложные задания для продвинутых миддлу и тимлиду). Я получаю свои задачи и начинаю с того, у которого самый высокий приоритет.

Проект состоял из 3х больших частей на которых нужно было работать, это Front End на Javascript, Backend на Java и реляционная база (SQL соответственно).

Так как я выполнял задачи на всех 3х уровнях, я дам вам пример по каждому из них.

Итак пример простого задания: Есть личный кабинет пользователя, где он должен быть в состоянии ввести свой контактный номер телефона, это новое поле, которого еще нет в системе. Поэтому оно должно быть добавленно в каждый из уровней приложения.

База данных

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

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

*Pet project — небольшой проект для собственных, обучающих целей

Java Backend

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

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

Front End

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

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

Примерами других заданий может быть например:

SQL
Написать sql запрос который покажет статистику покупок людей с помощью карты visa, а не мастеркард за сезон, или собрать полную информацию по юзерам у которые покупали страховку в прошлом году в текущее время года.

Java

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

Front End

Добавить фильтр по нескольким критериям на страницу покупки страховки, например фильтрация по компании, по стоимости, по длительности.

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

Тайм-коды:
00:00 Начало
0:31- мой опыт работы как Junior-а
1:01- по какой системе мы работали
1:25- распределение задач в команде
1:52- деления проекта на части
2:36- задача Junior-a
3:14- что я мог делать для выполнения этой задачи?
4:56- доработка логики на Java Backend
7:15- разработка логики на Front end
8:42- задачи для Junior-a в SQL
9:17- задачи для Junior-a на Java
10:15- задачи для Junior-a во Front End приложении
12:36- чего ожидают от Junior-a в общем

Соцсети:
www.instagram.com/itwithvitaly/
www.facebook.com/itwithvitaly

#itcвиталиемкарнаухом #чтоделаетjunior #работапрограммистом

Асинхронный Python-код медленнее обычного кода! Ааа!!1один. Aiohttp VS синхронные фреймворки


Запускаем мощную платную обучающую программу, интересно принять участие? Пройдите опрос — simpoll.ru/run/survey/c44b6a04

Сказать спасибо можно здесь — boosty.to/digitalize.team

А точно ли вообще асинхронность в питоне нам нужна? Есть мнение, что старые добрые синхронные веб-фреймворки на Python таки работают быстрее и надёжнее. Давайте проверять!

Две упоминаемые статьи:
habr.com/ru/post/440282/
habr.com/ru/company/ruvds/blog/507570/

0:00 Популярные тесты производительности Python веб-фреймворков
3:49 Разворачиваем проект под тесты
6:39 Запуск тестов Aiohttp
9:05 Запуск тестов Meinheld с Falcon
10:40 Aiohttp сливает, асинхронность отстой:(
11:22 Или нет?
12:02 Изменим тесты и проведём их снова
14:38 Ёлочки-палочки, что происходит? Почему?
17:15 Мультипроцессинг, мультипоточность, асинхронность — когда что использовать?

/****************** about ******************/

Меня зовут Алексей Голобурдин, я программирую с 2004 года и на этом канале делюсь своим опытом. Я основатель и руководитель компаний:

— Диджитализируй digitalize.team, разрабатываем сложные IT системы для бизнеса;
— Salesbeat salesbeat.pro, комплексный модуль доставки для интернет магазинов.

Если у вас есть проект на разработку, пишите нам на hi@digitalize.team.

С другими предложениями, а также если вам нужна одна или несколько индивидуальных консультаций/уроков по разработке (3000 руб/час), пишите мне на alexey@salesbeat.pro.

Мои соц сети:
www.facebook.com/a.goloburdin
www.instagram.com/alexeygoloburdin/
vk.com/a.goloburdin

---

Как собрать электрощит для частного дома?


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

Щит ABB: avselectro.ru/catalog/nizkovoltnoe-oborudovanie/shchitovoe-oborudovanie-i-nku/korpusa-shchitov-i-shkafov/1063350
Набор для крепления щита в полые стены: avselectro.ru/catalog/nizkovoltnoe-oborudovanie/shchitovoe-oborudovanie-i-nku/aksessuary-dlya-shchitov-i-shkafov/montazhnye-aksessuary-dlya-shkafov/1063328
Выключатель автоматический 2 полюсный 32A C 4,5kA ABB: avselectro.ru/catalog/nizkovoltnoe-oborudovanie/apparaty-i-ustroystva-zashchity/modulnye-avtomaticheskie-vyklyuchateli-avtomat/79988
Выключатель автоматический 1 полюсный 16A C 6kA ABB: avselectro.ru/catalog/nizkovoltnoe-oborudovanie/apparaty-i-ustroystva-zashchity/modulnye-avtomaticheskie-vyklyuchateli-avtomat/72174
Выключатель автоматический 1 полюсный 10A C 6kA ABB: avselectro.ru/catalog/nizkovoltnoe-oborudovanie/apparaty-i-ustroystva-zashchity/modulnye-avtomaticheskie-vyklyuchateli-avtomat/72172
Распределительный блок 100А 4х-полюсный 7 отверстий: avselectro.ru/catalog/nizkovoltnoe-oborudovanie/klemmy-i-klemmnye-bloki/klemmniki-shiny-zazhimy/63297
Выключатель автоматический 1 полюсный 25A C 6kA ABB: avselectro.ru/catalog/nizkovoltnoe-oborudovanie/apparaty-i-ustroystva-zashchity/modulnye-avtomaticheskie-vyklyuchateli-avtomat/72176
Шинная разводка 1-фазн. 12мод.63А: avselectro.ru/catalog/nizkovoltnoe-oborudovanie/shchitovoe-oborudovanie-i-nku/shiny-i-shinnye-razvodki/72300
Реле контроля напряжения RBUZ D63t: avselectro.ru/catalog/nizkovoltnoe-oborudovanie/shchitovye-pribory/kontrolnoe-rele/rele-kontrolya-napryazheniya/840415
Устройство защитного отключения 2 полюсный 25A 30mA тип AC ABB: avselectro.ru/catalog/nizkovoltnoe-oborudovanie/apparaty-i-ustroystva-zashchity/ustroystva-zashchitnogo-otklyucheniya-uzo/73031
Провод 6 мм кв. синий: avselectro.ru/catalog/kabeli-i-provoda/kabeli-i-provoda-odnozhilnye/provoda-ustanovochnye-povyshennoy-gibkosti/31680
Провод 6 мм кв. красный: avselectro.ru/catalog/kabeli-i-provoda/kabeli-i-provoda-odnozhilnye/provoda-ustanovochnye-povyshennoy-gibkosti/33392
Провод 10 мм кв. красный: avselectro.ru/catalog/kabeli-i-provoda/kabeli-i-provoda-odnozhilnye/provoda-ustanovochnye-povyshennoy-gibkosti/31644
Провод 10 мм кв. синий: avselectro.ru/catalog/kabeli-i-provoda/kabeli-i-provoda-odnozhilnye/provoda-ustanovochnye-povyshennoy-gibkosti/31643
Наконечник штыревой втулочный изолир. 10мм.кв. х12мм (уп.=100шт) КВТ: avselectro.ru/catalog/kabeli-i-provoda/aksessuary-dlya-kabelya/kabelnye-nakonechniki-i-soediniteli-gilzy/763105
Наконечник штыревой втулочный изолированный 6,0мм.кв. х 12мм желтый (уп.=100шт.) КВТ: avselectro.ru/catalog/kabeli-i-provoda/aksessuary-dlya-kabelya/kabelnye-nakonechniki-i-soediniteli-gilzy/400579
Ограничитель на DIN-рейку: avselectro.ru/catalog/nizkovoltnoe-oborudovanie/klemmy-i-klemmnye-bloki/izolyatory-i-ogranichiteli-dlya-klemmnykh-blokov/51955
Щипцы для зачистки электропроводов: vseinstrumenti.ru/ruchnoy_instrument/elektromontazhnyj/dlya_snyatiya_izolyacii/sparta/schiptsy_dlya_zachistki_elektroprovodov_matrix_sparta_177305/
Ножницы кабельные: avselectro.ru/catalog/ruchnoy-instrument/instrumenty-dlya-raboty-s-kabelem/nozhnitsy-kabelnye/759672
Инструмент для снятия изоляции КВТ WS-12 69476: voronezh.vseinstrumenti.ru/ruchnoy_instrument/elektromontazhnyj/dlya_snyatiya_izolyacii/kvt/instws-12_69476/
Пресс-клещи ПКВк-10у: avselectro.ru/catalog/ruchnoy-instrument/zazhimnoy-instrument/press-gidravlicheskiy/1167917
Пресс-клещи ПКВк- 6: avselectro.ru/catalog/ruchnoy-instrument/zazhimnoy-instrument/press-gidravlicheskiy/75118

Music:
by Guggenz: soundcloud.com/guggenz

Добро пожаловать на мой канал, друзья! Здесь я делюсь информацией в разных областях жизни — от технологий до путешествий! Надеюсь Вам понравиться!
Подписаться на канал: www.youtube.com/channel/UCJHS22_QyRowmNAaxoUd4dA
Если Вам нравится информация на канале, Вы можете поддержать меня: clck.ru/LBRYB
— Я вконтакте ► vk.com/artyom2503
Я в instagram► www.instagram.com/amatyashov/