Чем больше я хожу на собеседования, тем больше понимаю что большинство людей проработавших в ИТ могут не знать банальных вещей(а так же все больше пишу статей на эту тему :) ).
Суть в том, что большинство требований к программисту – это знание фреймверков, плагинов, cms систем и тому подобного. При этом этими знаниями оценивается уровень программиста. Проблема в том, что это кардинально не верно. Так давайте-ка зададимся вопросом, что же такое программирование.
Один умный аналитик безопасности систем сказал “Безопасность – это процесс, а не состояние”. И практически так же можно описать программирование. Ибо программирование – это поиск решение, умение качественно и быстро подстраиваться под задачу и решать ее. Скажем так.. основная задача программиста – это анализировать. И чем выше уровень специалиста, тем больше ему приходится решать не типизированных задач. Следовательно знание как устроен какой-то фреймверк или CMS система - бесполезны.
Программист – это человек который каждый день учится и развивается.
Из более 15 собеседований, только на одном мне предложили решить логические задачки и спросили мое мнение о определенных процессах. Еще понравились пару ребят которые попросили написать код на определенную задачу(которая была кардинально не верна изначально).
В общем я составил небольшой список грубых ошибок на собеседованиях:
Где-то так.
Господа работодатели, рекомендую обратить на это внимание ибо многие люди никогда к вам и не прийдет, если вы не научитесь задавать верные вопросы.
Постала задача расдекодить пару PHP скриптов закодированных Zend. Пошарился в сети и нашел нормально работающий deZender, к сожалению на китайском, но понять работу труда не составит даже и так.
Единственный минус это обсфукаторы, портят всю малину. После них приходится доправлять код руками. Но как говорится “хочешь кататься, умей и саночки возить”, так что за халяву прийдется всеравно платить.
Пару месяцев назад мы с колегами разработали новую концепцию программинга – “IF – programming”.
ПРЕДИСТОРИЯ
Сидели мы значит, как всегда программили.. сроки сдачи проэкта как вседа прошли.. а так как изначально Апликейшн никак не проэктировался(на мну не сатрите.. я там тада еще не работал)) код его был сущим адом(на первый взгляд). Структура отсутствувала напрочь, писали как гритсо с головы. Когда все же мы решили что нужно писать по – человечески было уже поздно, переделывать код не было времени, а потому мы продолжили писать криво(но железно)).
Так вот сидели мы и программили, каждый свое. Мне в руки попал скрипт отвечающий за дерево и его связку с остальными обьектами. В скрипте всего 350 строк ПХП кода. Прикол в том что весь он написан исключительно на IF операторах. Ифы каждый в 5-6 уровней тянулись по всему коду, присутсвовал матричный метод построения данных.. вообщем жесть, но сама суть в другом. С этим кодом по сути работал я изначально, так вот, когда мои колеги попытались в нем разобратся(а специ они классные) мозги их ушли в даун и отклик практически отсутствовал. В этот момент и родилась идея “IF – programming’а”.