Аналитика
Энтерпрайзный код — на чём писать?

Энтерпрайзный код — на чём писать?

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

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

Один очень благочестивый и набожный человек внезапно лишился всего своего состояния. И зная, что Господь может в любых обстоятельствах прийти к нему на помощь, принялся молиться:
— Сделай так, чтобы я выиграл в лотерею.
Такие молитвы воссылал он год за годом, но оставался бедняком.
Но вот он и умер и, как человек праведной жизни, попал прямо к райским вратам.
Но входить отказался. А заявил, что прожил всю свою жизнь, не нарушая заповедей и в полном соответствии с тем, чему его учили, а вот Бог все равно так и не послал ему выигрыш в лотерею.
— И все, что Ты мне обещал, ничего не стоит! – в ярости кричал он.
— Я был готов помочь тебе, — отвечал Господь. – Но ты бы хоть раз купил лотерейный билет!

Пауло Коэльо, «Мактуб»

Именно так, многие мечтают, да не многие стремятся. Что обычно делают программисты? — Пишут программы. Для кого? Для непрограммистов, которым до лампочки энтерпрайзность их приложения. Главное — чтобы работало как-то. При чём здесь, казалось бы, программиста должна поджимать проблема безопасности: сломают — работать не будет :) Но нет, не тут то было: защита «неуловимого Гарри» (да кому он нужен?) работает для большинства проектов.

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

Место для подвига есть везде

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

Если заказчик / начальник / менеджер этого не оценят — не их дело — Вы просто веселились. Делали то, что им нужно, но так, как Вам нравится!

Читай код вместо доков

Лучшая документация к коду — это сам код. Доки нужны тогда, когда делать всё нужно быстро и не задумываясь. Но мы то всё ещё хотим думать, а главное — можем! Если предстоит пользоваться какой-то платформой долгое время, вполне логично изучить её, понять, что же хотел передать автор этим циклом, какие мысли мучили его, когда он писал этот класс. И куда важнее — в чём смысл этого класса? Может он не нужен, а может наоборот — решает более широкий круг задач, чем заявлено. Всё это сложно понять, читая доки. Да и сложно по докам перенять манеру автора. А ведь вы используете его продукт в качестве платформы — у него есть чему поучиться.

Пиши велосипеды

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

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

Opensource проекты

Не стоит витать в облаках — никто не будет переделывать свой бизнес ради Вашей, пусть даже замечательной, идеи. Бизнес есть бизнес — ему нужны деньги (результаты) здесь и сейчас. Отдушиной же для программиста могут стать OpenSource проекты. Где почти никто никому не обязан, где код открыт и кривизна его становится очевидной, где сроки гибки, а пользователи благодарны. Именно так бы выглядела разработка ПО без коммерции :) Монетизация Свободного ПО, естественно, возможна, но сейчас не об этом. Ведь именно здесь отсутствуют сдерживающие факторы, от которых жизнь-нежизнь в бизнесе. Именно здесь можно тренировать своё мастерство. Проколы будут замечены, но на них вы ничего не потеряете. Однако, опыт приобретёте.

Максимум, чем вы рискуете — добрым именем ником.

Так на чём же писать то?

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

Также может быть вам интересно:

Программист на PHP

Кто идёт программировать на PHP? Почему PHP так популярен в мире?

Читать »

Программист — это тот, кто не нужен заказчику

Читать »
Фото Как сделать свою middleware в Django (с примерами)

Как сделать свою middleware в Django (с примерами)

Middleware или "промежуточное программное обеспечение" - элегантный способ установить общие правила обработки запросов и ответов приложения. Давайте напишем парочку middleware, чтобы понять, как они работают.

Фото Как настроить отправку почты из Django

Как настроить отправку почты из Django

Письма об ошибках, отчёты на почту, восстановление паролей - всё это полезно при работе с сайтом. Django предоставляет удобный способ это сделать с минимумом настроек!

Фото Добавляем поддержку медиа-файлов в Django проект

Добавляем поддержку медиа-файлов в Django проект

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

Фото Настройка журналирования (логирования) в Python с примерами

Настройка журналирования (логирования) в Python с примерами

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

Фото Нет слов, одни... однострочники

Нет слов, одни... однострочники

На днях вышел пост со списком полезных однострочников для JavaScript программистов. Памятуя Perl-овую молодость, заглянул туда.

Фото Microsoft открывает исходники, а её IDE супер-популярна

Microsoft открывает исходники, а её IDE супер-популярна

Решил сложить пару фактов и немного над этим поразмыслить. Реально ли Microsoft "переобулись"?

Фото Добавляем переменные в контекст Django шаблонов (свой контекст-процессор)

Добавляем переменные в контекст Django шаблонов (свой контекст-процессор)

В Django вы можете передавать данные в шаблоны посредством контекстов. Контекст передаётся из контроллера (view в терминах Django), однако, если одни и те же данные нужны в разных местах, лучше сделать свой контекст-процессор.

Фото Пример своей консольной команды в Django проекте

Пример своей консольной команды в Django проекте

Если вы работали с Django проектом, то, скорее всего, запускали команды из консоли (manage.py). В Django есть простой способ писать свои команды для управления проектом.