Привести примеры программ которые способен написать джуниор, миддл, сеньор - Компьютерные вопросы

Вопрос Привести примеры программ которые способен написать джуниор, миддл, сеньор

Регистрация
20 Май 2013
Сообщения
94
Репутация
0
Спасибо
0
Монет
0
Привести примеры программ которые способен написать джуниор, миддл, сеньор
 
Регистрация
6 Сен 2013
Сообщения
79
Репутация
0
Спасибо
0
Монет
0
Программу, которая поместится в поле ввода текста на этом ресурсе, может написать, кто угодно (другой вопрос, как она будет работать, и будет ли вообще, но для примера сгодится). Если говорить о профессиональной разработке софта, то единицей деплоя является не программка в одном файлике, а проект, состоящий из сотен файлов, как минимум. Здесь это никак не опубликуешь. Можно только озвучить основные тезисы.

Вкратце, чем отличается код дилетанта от кода серьёзного разработчика: дилентант решает задачи неэффективным способом и быстро теряет контроль над своим проектом. Код раздувается, становится хрупким, неустойчивым, время доработок экспоненциально растёт, как и количество ошибок в коде. В частности:
1) Код дилетанта изобилует повторениями на всех уровнях: модели данных, бизнес-логики, описаний точек входа, сервисов, утилит, юнит-тестов и др. Например, они могут завести 3 разных модели данных на одно и то же и потом кодить тысячи строк маппингов-перемаппингов между ними.
2) Дилетанты со стажем не умеют проектировать решения, планировать работу и отличать важное от неважного. Они, не глядя, заимствуют структуру проекта и готовые решения, лишь бы было хоть что-то. Проект обрастает ненужными слоями и "чёрными ящиками", между которыми им приходится лавировать на прикладном уровне.
3) Структура проекта может содержать больше слоёв, чем праздничная лазанья на 100 чел, но дилетанты всё равно размазывают логику между слоями и не соблюдают направление вызовов. Поэтому все компоненты в их проектах тесно переплетены взаимными зависимостями. Почему, думаете, все современные компании дружно ударились в микросервисную архитектуру? Потому что они пытаются вытащить межкомпонентные зависимости на тот уровень, где их мог бы контролировать архитектор, а не дилетанты-кодеры.
4) Иногда дилетанты пытаются бороться со своей внутренней энтропией, разваливающей их проекты. Они вводят обязательные комментарии на каждый чих, ограничения на размер функций и другие бессмысленные правила. Это сдерживает саморазрушение проекта примерно в той же мере, как птичий помёт спасает дом, построенный на слабом фундаменте, то есть - никак. Может только замаскировать пару трещин в стене.

Несколько слов о классификации "джуниор", "миддл", "сеньор".
Её выдумали бодишопы, чтобы классифицировать своих дилетантов.
Джуниор - выпускник ВУЗа или ПТУ.
Миддл - дилетант со стажем 1-3 года.
Сеньор - дилетант со стажем больше 3-х лет.
В бодишопах не принято держать сотрудников долго: в покраске травы в зелёный цвет экспертиза не требуется, а о методах кидалова сотрудников и обмана заказчика они начинают слишком много знать, а то ещё о схемах откатов догадаются. И производительность бодишопных сеньоров, как и джунов, измеряется количеством закрытых задачек в багтрекере, а этот фактор невозможно наращивать бесконечно. Поэтому шкала короткая. После 5-7 лет - или менеджер, который сам повязан в кидалове, или на выход.
И естественно, никакой сеньор из бодишопа неспособен самостоятельно не только построить, но и просто поддерживать нормальное решение проблемы предметной области.
Использование данной классификации в серьёзной работе не имеет смысла, как в боевой армии бесполезно деление на духов, дедов и черпаков. Это издержки отсутствия реальных задач.

Способность принимать осмысленные решения появляется у человека в среднем после 10 лет стажа в отрасли, и то если у него есть образование, а стаж не сводился к покраске травы. Его производительность измеряется не количеством закрытых задачек и не количеством строк кода, а качеством принимаемых решений, из-за которых большую часть этих задачек вообще не приходится заводить, а строчки кода - писать. И применяется этот скилл на уровне проектирования приложений или ландшафтов, а не на уровне написания маленьких фрагментов кода.
 
Регистрация
30 Авг 2013
Сообщения
81
Репутация
0
Спасибо
0
Монет
0
Джуниор:

1. Простое приложение для записи заметок.
2. Калькулятор с базовыми операциями.
3. Игра в "крестики-нолики".
4. Отображение текущей погоды в одном городе.

Миддл:

1. Веб-приложение для управления задачами проекта.
2. Мобильное приложение для заказа еды.
3. Серверное приложение для обмена сообщениями в реальном времени.
4. Программа для обработки больших объёмов данных (например, для анализа логов веб-сервера).

Сеньор:

1. Сложное веб-приложение для управления проектами со сложной бизнес-логикой и базой данных.
2. Система автоматического тестирования и непрерывной интеграции.
3. Программа для обработки крупных продуктовых каталогов в режиме реального времени.
4. Библиотека для обучения и распознавания изображений на основе машинного обучения.
 

PB!

Capitan

PB!

Capitan
Регистрация
25 Июн 2013
Сообщения
83
Репутация
1
Спасибо
0
Монет
0
хз мне как то пофиг
 
Регистрация
6 Авг 2013
Сообщения
95
Репутация
-3
Спасибо
0
Монет
0
Джуниор пыхтит потеет, мидл пыхтит гуглит, синьору пофиг.
 
Сверху Снизу