Делают Ли Фреймворки Разработчиков Глупыми?

Предлагаю вам перевод записи в блоге, автор которой отметил мировые тенденции в современном программировании.

Хотя это Java, с которой я никогда не работал, многое из этого показалось мне пугающе знакомым.

На прошлой неделе я провел несколько собеседований, чтобы нанять разработчиков Senoir Java с пятилетним опытом работы.

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

Почти все новые фреймворки в резюме почти все указывают как «Большой опыт работы с Spring, Hibernate, Web Services и т. д.».

Вот как прошли собеседования.

я : Вы использовали Spring в своем последнем проекте.

Каковы преимущества использования Spring? Челленджер : Мы можем настроить bean-компоненты в XML, а Spring позаботится о создании экземпляров и предоставит их нам.

я : Если Spring занимается только созданием объектов, то зачем он вообще нужен — я могу напрямую создать экземпляр с помощью «нового».

Зачем мне настраивать имена классов в XML и получать объект из Spring? Челленджер : Если завтра мы захотим сделать другую реализацию нашего интерфейса, мы можем добавить ее и обновить XML, чтобы использовать ее.

Нам не нужно модифицировать класс в Java и компилировать его.

я : Но вы пишете новый класс, очевидно, вам нужно скомпилировать проект. После изменения XML в 99% случаев будет упакован в файл war или Ear. Вы запустите сценарий ANT и создадите войну с новыми изменениями.

Так что ваша точка зрения «если это XML, мне не нужно компилировать» безосновательна.

Челленджер : Ммм, но шаблон внедрения зависимостей требует идти по этому пути.

я : Хорошо, я закончил.

Наш HR свяжется с вами :-) Еще одно интервью: я : Можете ли вы рассказать нам о своем последнем проекте и технологиях, которые вы использовали? Челленджер : Это система XYZ. Мы использовали Spring, Hibernate, REST WebServices. я : Хорошо, можете ли вы рассказать нам что-нибудь об архитектуре RESTful? Челленджер : Мы можем разработать приложение RESTful, используя @RequestMapping(value="/url", метод="POST").

Мы также можем использовать методы PUT и DELETE. я : Это правда, но в чем заключается концепция RESTful? Челленджер : Я говорю следующее: если вы используете @RequestMapping(value="/url", метод="POST") - вы можете разработать RESTful-приложение.

я : ХОРОШО.

Насколько хорошо вы понимаете Hibernate? Челленджер : Я использую Hibernate последние два года, и мне комфортно с ним работать.

я : Каковы преимущества Hibernate перед JDBC? Челленджер : Используя Hibernate, нам не нужно ничего писать для взаимодействия с базой данных, с этим справится Hibernate. я : Как Hibernate узнает о требованиях вашего проекта? Челленджер : Если вы его используете, он будет обрабатывать сохранение, обновление и извлечение данных из базы данных.

я : Ээээ.

Ладно.

В свободное время ты читаешь какие-нибудь блоги, связанные с технологиями? Челленджер : Да почему бы и нет. Итак, я изучаю Hibernate изнутри.

я : Очень хорошо, было приятно с вами поговорить.

Наш HR свяжется с вами :-) Все собеседования проходят так.

Я считаю, что фреймворки повышают продуктивность разработчиков.

Но разработчикам следует попытаться понять, как фреймворк это делает. И для этого не обязательно понимать всю внутреннюю структуру фреймворков.

Если вы действительно разбираетесь в сервлетах и JSP, вам будет очень легко понять любую веб-инфраструктуру Java, такую как Struts, SpringMVC и так далее.

Но если вы не совсем понимаете основы, очевидно, что на каждый вопрос ответом будет: «Документация фреймворка решит эту проблему».

Я настоятельно рекомендую тем, кто хочет начать свою карьеру в качестве Java-разработчика, изучить Core Java, сервлеты и иногда JSP. Только тогда вы сможете разбираться в фреймворках на достойном уровне.

Теги: #frameworks #java #интервью #тупые программисты #Карьера в IT-индустрии

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.