Типичные задачи 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 #работапрограммистом

IP-адреса | Курс "Компьютерные сети"


Лекция по IP-адресам, часть 1. Курс «Компьютерные сети» — www.asozykin.ru/courses/networks_online.

Как можно поддержать курс:
1. Яндекс Кошелек — money.yandex.ru/to/410014298228017
2. PayPal — www.paypal.me/asozykin
Заранее спасибо за помощь!

Добавляйтесь в друзья в социальных сетях:
вКонтакте — vk.com/avsozykin
Facebook — www.facebook.com/asozykin
Twitter — twitter.com/AndreySozykin

Обновленная версия лекции с более качественным звуком.

IP-адреса — это глобальные адреса, используемые в стеке протоколов TCP/IP. Широко используются в Интернет.
Используются для уникальной идентификации компьютеров в составной сети.

Существует две версии протокола IP:
— IPv4: адрес 4 байта
— IPv6: адрес 16 байт

Длина адреса IPv4 – 4 байта, 32 бита.
Форма представления: 4 десятичных числа 0-255, разделенных точками.

Подсеть (IP-сеть, сеть, subnet) – множество компьютеров, у которых старшая часть IP-адреса одинаковая.

Структура IP-адреса:
— Номер подсети – старшие биты
— Номер хоста (компьютера в сети) – младшие биты

Маска подсети показывает, где в IP-адресе номер сети, а где хоста. Структура маски:
— Длина 32 бита.
— Единицы в позициях, задающих номер сети.
— Нули в позициях, задающих номер хоста.

Формы записи маски:
— Десятичное
— В виде префикса

Мой канал с краткими и понятными объяснениями сложных тем в ИТ и компьютерных науках —
goo.gl/kW93MA

Как проходить #собеседование


#soer #ityoutubersru

Давайте немного поговорим про собеседования и можно ли повысить свои шансы при их прохождении

Чат для программистов — discord.gg/3UVJWAs
Спонсорская помощь — www.patreon.com/soersoft

Группа ВК — vk.com/codeartblog
Github — github.com/soersoft
Веб-сайт — codeart.ru

Что делать если задают некорректные вопросы на собеседовании


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

Чат для программистов — discord.gg/3UVJWAs
Спонсорская помощь — www.patreon.com/soersoft

Группа ВК — vk.com/codeartblog
Github — github.com/soersoft
Веб-сайт — codeart.ru

Agile, Scrum и LeSS в Райффайзенбанке без вот этого вот всего.


Выступление Сергей Щербинин, руководителя управления стратегического развития ИТ, Райффайзенбанк на конференции МарТех 2018.
23 апреля 2018.
Организатор конференции CoMagic.

Гибкое управление продуктом в двух словах (русская версия)


Перевод на русский язык видео-презентации Хенрика Книберга «Agile Product Ownership in a nutshell) — blog.crisp.se/2012/10/25/henrikkniberg/agile-product-ownership-in-a-nutshell

Оригинал видео — www.youtube.com/watch?v=502ILHjX9EE

Agile - гибкий подход к управлению проектами - РУПор - Таченков Алексей


Основу подхода заложили два японских специалиста Hirotaka Takeuchi, Ikujiro Nonaka в статье The New New Product Development Game, от 1996 год. В статье обобщили опыт нескольких японских корпораций (Xerox, Toyota, Nec и другие), работающих с принципиально новыми продуктами. Ключевая идея статья заключалась в формировании самоорганизующихся команд, которые делают короткие итерации, автономны от других, мотивированы на результат командными целями, и повышает мастерство друг друга делясь друг с другом опытом.

С течением времени под этот подход формировалось все больше и больше проектных методик, пока в 2001 году на горнолыжном курорте не произошла встреча 17 специалистов по разработке ПО. На этой встрече была сформирована общая система ценностей по управлению проектами, в дальнейшем получившая название Agile – манифеста. 4 ценности и 12 принципов легли в основу множества методов согласно подходу Agile.
1. Люди и взаимодействие важнее процессов и инструментов;
2. Работающий продукт важнее исчерпывающей документации;
3. Сотрудничество с заказчиком важнее согласования условий контракта;
4. Готовность к изменениям важнее следования первоначальному плану.

Таким образом, не отрицая важности того, что справа, всё-таки больше ценится то, что слева.

C 2001 подход Agile существенно расширил свои границы и вышел за пределы IT-бизнеса. Теперь под зонтиком Agile находятся многие управленческие и инженерные фреймворки по управлению проектами, формируя зонтик Agile. Под этот зонтик попадают подходы Scrum и Kanban, Crystal и экстремальное программирование (XP), а также другие системы управления и инженерные практики.
Важно понимать, что Agile подходы работают не всегда, и Дейвом Снойденом была разработана Кеневин модель, которая показывает, что использовать экспериментальные практики, коими являются подходы Agile, можно в ситуациях, когда не до конца очевидны причинно-следствие связи проекта, цель представляет собой скорее видение, образ, а стоимость переделок не запредельно высока.
Тем ни менее, в случае инноваций и проектов с высокой степенью неопределенности, подходы Agile являются наилучшими из существующих в современном мире.

#УправлениеПроектами #Agile #Эджайл #Агиль #Scrum #Kanban #Скрам #ГибкоеУправлениеПроектами

Алексей Таченков: bit.ly/tachenkov