четверг, 10 января 2013 г.

Сказки про программистов

1. Жил-был программист. Работал он в одной компании, видел как многие другие программисты меняют работу. И вот он тоже искал, искал работу и нашел. Зарплата была большая, но все что-то не устраивало. То под кондиционером посадят, то поругают зря, то профессионального развития нет. Мучился он мучился и перешел работать в другую компанию с меньшей зарплатой. А все потому, что не в деньгах счастье, но важно то, что вы делаете.



2. Жили-были программисты, которые создали один продукт и продукт пользовался успехом, поскольку на рынке других аналогичных продуктов не было. И вот задумали они создать мега-систему workflow, которая будет контролировать все бизнес-процессы компании. Создали они мега-архитектуру, много сигарет выкурили, много пива выпили пока делали этот проект. Но как-то не получалось у них внедрить эту мега-систему. Остальные программы работали и работали прекрасно без этой системы. Потом ушел один программист, потом другой. И все забыли про эту систему. А все потому, что не знали программисты про Agile и были очень горды. А гордыня - это первый враг при создании успешного продукта.

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

4. Однажды программисты из п.2 решили подумать как сделать так, чтобы было все сложное было простое и прочитали они про web-сервисы и поняли они, что нужно писать все на веб-сервисах. Все данные они посылали по XML и проверяли с помощью XSD. Написали много сервисов Что-то писали на Java, что-то на PHP. В итоге их система стала еще сложнее. Многие простые функции были реализованы в виде сервисов. Данные стали передаваться медленнее, отлаживать программы стало на порядок сложнее. Но они не считали, что это проблема, ведь настоящие спецы не боятся сложности. И были они очень горды своей системой и до сих пор думают, что делают все правильно.

5. Жил был программист и прочитал он как-то про паттерн state-machine. На каждое состояние программы он создал по классу, реализовал множество делегатов и лямбда-выражений. И думал он, что программа была классная, хотя и сложная. А зачем так делать сложно, спрашивали его? А затем, что это обеспечит надежность и отказоустойчивость. Но реальная жизнь показала, что сложность программы ведет к ненадежности. Из-за сложного кода потерял программист прозрачность логики и были там серьезные баги.

6. Жила была компания и назвала она продукт "Завтра будет". Делали программисты делали, но успех программного продукта каждый раз откладывался на завтра. Проблема была в том, то никто из менеджеров не читал книжку про капитана Врунгеля и не знал, что как вы яхту назовете, так она и поплывет. В итоге проект закрыли.

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

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

Комментариев нет:

Отправить комментарий