Даниил Колесниченко:
Мне сложно говорить про Eclipse - я ни дня на нем не писал. Но пишу в аналогичной IDE: Intellij IDEA. Скажу про нее.
Там несколько тысяч фич, которых нет в текстовых редакторах. Например вы пишете имя интерфейса, а IDE сама подставляет путь, где он реализован. IDE проверяет синтаксис с учетом того, что классы, аннотации и черти что еще находится в других файлах. IDE сама подключает библиотеки. Дает выбор SDK и управлением им. IDE подключается к БД и умеет запускать веб-сервер. Встроенный дебаггер, встроенный ant, maven, gradle. Встроенные шаблоны проектов. Импорт проекта из pom. Рефакторинг кода, когда в одном месте меняешь, а меняется везде. Интеграция с VCS (в том числе даже стэши). Интеграция с системами статического анализа кода. Интеграция с CI. Встроенный деплоймент.
Да у меня клавиатура сотрется, если я все буду перечислять ))))
abs0lut: опыт не печальный. Просто со временем понял, что главное точно знать ради чего делаешь дело. Ради развлечения или ради результата. Если ради результата, то нужно учитывать коммерческие ценности - время и оптимальность затрат усилий. Vim со всеми существующими плагинами никогда не догонит IDEA/Eclipse/что_там_еще_есть.
vaarsn: собственно, это вопрос больше психологии и развития, получения опыта. Вы свой опыт получили, выводы сделали, пришлось заплатить. Нужно вовремя выйти из игры или перекроить условия на те, которые возможны в данной ситуации при наличии нового опыта и поменявшихся интересов той стороны. Нужно уметь признавать неудачу и фиксировать ее, ну утопая еще глубже. Если не признаете, что это уже плохая сделка, то уйдете в ней еще глубже.
nonlux: "по сути своей то же самое что и в винде, можно реализовать и на unix."
Далеко не все. Exchange до сихпор повторить никто не смог. Zimbra и CG выглядят слабенько на его фоне. Тоже самое с провиженингом (MIIS или как он там теперь называется). Тоже самое с офисными продуктами. Тоже самое с оркестрацией десктопов. К тому же AD - лучшая реализация LDAP из всех существующих (а я работал со многими).
Илья Т.: я вам больше скажу - я не брал людей потому, что они слишком квалифицированны. Мне нафиг не надо, чтобы человек чувствовал себя униженным и из-за этого либо ушел невовремя либо филонил. Пусть ищет себе подходящую работу.
Илья Т.: если существует термин "overqualified" - значит были причины его придумать. Уже одно только это должно вас заставить задуматься. Никто не будет придумывать название сущносте/проблеме, которой не существует.
Артур Нуруллин: у меня друг сидел несколько лет на яве. перешел на руби. жена с дочерью голодные не сидели. можно одним днем уволиться с сениора и на следующий выйти на джуниора. не обязательно учить язык после увольнения.
"То есть девопсами рождаются? :) "
Такова специфика профессии, что в DevOps приходят уже опытные. Опытные открывают книгу, чтобы упорядочить знания, а не чтобы оттолкнуться от берега. Поэтому если задали такой вопрос, значит опыта нет (таково было мое ошибочное предположение). Могу привести пример. Вот простейшая статья: blog.xebialabs.com/2010/12/20/deployment-automatio...
Если вы поняли о чем она и учтете в работе, значит у вас уже многолетний стаж :) Если его нет, вы ничего не поймете.
В любом случае мой совет был универсальным. В частном порядке я могу быть неправ.
===
"По пункту 1: что означает "все"? у нас уже автоматизировано все"
Отличная новость. Значит часть пути уже пройдена :)
"2) Можете привести пример ботлнеков, на вашем опыте?"
Ну я привел выше, упомянув сразу решение -G/B. Распишу подробнее. Разработчике нужно иметь всегда свежий код на DEV-сервере. Изначально планируется разворачивать код раз в три часа. Процесс разворота идет, например, 40 минут. Если вы будете это делать не раз в три часа, а по каждому коммиту или просто чаще, то у вас будет один сплошной даунтайм. И разработчик будет сидеть скрестив ручки и либо жадть пока развернется код и поднимется сервер либо пока вообще начнут выкладывать новый код.
Это аффектит работу девелопера вдвое или втрое снижая его производительность. Боттлнек? Он самый! Внедряете Green/Blue - voila!
Или другой пример: несовпадение релиза базы и релиза кода. Нужно их как-то выравнивать.
Или вот пример: смоук тесты провели и начинаете деплоить ветку, которую ищите.... Решение - автоматизировать создание тэга.
Короче любое систематическое промедление по времени - боттлнэк и его нужно изкоренять.
===
"3) А вот это уже интересно. Поясните на примере, пжл. У нас прогеры несут ответственность за то, что код, попавший в релиз, не убьет систему. Прогеры знают. что нельзя делать никаких коммитов в пятницу (VCS лочится в этот день), чтобы не испортить релиз. По сути прогеры уже несут ответственность за косяки в релизах, но отвечают не перед нами (инженерами), а перед своим начальством."
Я не про commit freeze. Вот пример из моей недавней ситуации. Ребята держат конфиг хибернейта в WEB-INF, если не объявлена директория с конфигом (/etc/[app_name]). Она была объявлена, но почему-то tomcat не подцепил ее. Казалось бы это проблема сисадмина. Но только не в DevOps. Программисты решали проблему почему всегда деплоится, а теперь нет. Причем ничего не меняя на энвайронменте, а только листая логи. Переписали код так, что он начал выплевывать в лог переменное окружение и ошибка стала видна. Код этот был закоммичен и остался навсегда с нами, а значит инструмент по быстрому обнаружению этой ошибки уже у нас в руках. Ключевой момент: программисты написали инструмент для сисадминов, вовлеклись в последнюю цепочку доставки кода. И были вынуждены это сделать. То есть они не имеют право забить по принципу "от нас пуля вылетела, проблема на вашей стороне". Вашей и нашей стороны больше нет как понятий.
===
"Мы считаемся релиз-инженерами?"
Конечно. Вы же релизы релизите)))
===
"Вопрос не в том, что есть конечная задача или ее нет, а в том, нет ли у нас УЖЕ DevOps подхода?"
Я не судить о том, о чем знаю по паре постов от вас :) Но какой-то необходимый минимум у вас точно есть. Полное покрытие автоматикой, если это правда автоматика, уже больше половины дела.
Мне сложно говорить про Eclipse - я ни дня на нем не писал. Но пишу в аналогичной IDE: Intellij IDEA. Скажу про нее.
Там несколько тысяч фич, которых нет в текстовых редакторах. Например вы пишете имя интерфейса, а IDE сама подставляет путь, где он реализован. IDE проверяет синтаксис с учетом того, что классы, аннотации и черти что еще находится в других файлах. IDE сама подключает библиотеки. Дает выбор SDK и управлением им. IDE подключается к БД и умеет запускать веб-сервер. Встроенный дебаггер, встроенный ant, maven, gradle. Встроенные шаблоны проектов. Импорт проекта из pom. Рефакторинг кода, когда в одном месте меняешь, а меняется везде. Интеграция с VCS (в том числе даже стэши). Интеграция с системами статического анализа кода. Интеграция с CI. Встроенный деплоймент.
Да у меня клавиатура сотрется, если я все буду перечислять ))))