Возникло желание обобщить свои (и не только) представления о фирмах, имеющих отношение к созданию программных продуктов. Личный опыт, так сказать.
Пример - большая израильская фирма, выпускающая большой и серьезный продукт или группу продуктов. Продукт рассчитан на профессионалов в какой то области, и завязан на сопутствующую кучу дорогостоящего железа. Как это выглядит в социальном плане?
Есть куча мальчиков и девочек, которые знают C++ и C#, год назад закончили универ, знают как расшифровывается аббревиатура OOD и UML, и понятия не имеют о том, чем в глобальном плане занимается фирма. Большинство из них нанимается через manpower. Они генерируют ровно столько же багов, сколько и кода, и искренне удивляются, когда узнают что то чем они занимаются, имеет какое-то отношение к real world. Их баги отсеиваются бета-тестерами.
Есть промежуточная группа несколько более опытных и высокооплачиваемых товарищей, которые средне рубят в дизайне, понимают что они пишут, и могут сами исправить баги отловленные бета-тестерами. Как правило, эта группа целит либо в team leaders, либо в архитекторы, либо наружу, но в большинстве просто тянет лямку. Профессиональный рост на таком этапе проблематичен, потому что большинство из них глухо сидят на отведённых им кусках проэкта, у многих имеются семьи и дети, и углублять свои познания у них просто не хватает времени.
Есть гении. Их один-два человека на фирму. Описывать надобности нет. Занимаются наиболее теоретически сложной стороной проэкта, как правило собственно к программированию отношения не имеющей. С реальностью общаются плохо.
Есть team leaders. Это бывшие программисты, которые разучились пользоваться C++ и перешли на Power Point. В профессиональном плане являют собой наиболее жалкое зрелище. Но виноваты в этом не они, а идиотская система, которая настаивает на том что team leadery должны набираться из программистов, но при этом заваливает их отчетностью и административной работой настолько, что собственно о системе они знают намного меньше, чем даже первая категория. У новичков в этом иногда бывают порывы, но кончается это тем, что подслушиваешь в лобби фразы типа: "Представляешь, а я сегодня баг исправил. Впервые за два года работы! Только не говори никому, инженеры прибьют".
Есть высокое начальство. Оно есть. Как ни странно, там иногда попадаются знающие люди, особенно в том что касается стандартов и теории.
Есть бета-тестеры. Они совершенно особая категория людей, которые до малейших мелочей знают как должна вести себя система, но как правило имеют плохое представление о том, что она собственно делает.
И наконец, есть дидок в подвале. "Подвал", это образно, конечно. Ему за пятьдесят, он не очень хорошо знает C# и .NET, он не стесняется code duplication настолько, что способен бесстыже программировать методом copy/paste, и не знает, как называется половина design patterns, хотя использует их интуитивно, называя это "здравым смыслом". Тем не менее, зарплата дидка в подвале уступает зарплате только президента фирмы, потому что во всей конторе он единственный, кто действительно понимает КАК работает вся система, ПОЧЕМУ она работает именно так, а не иначе в любой данный момент времени, ЧТО ИМЕННО система ДОЛЖНА и МОЖЕТ делать, и что она делать НЕ МОЖЕТ. Является предметом тихой ненависти всего отдела маркетинга. Отзывается, как правило, на имя Владимир, Виктор или Юрий, и является выпускником МАИ, Физтеха и других подобных контор одной исчезнувшей страны еще с тех лет, когда большинство программистов фирмы еще не было в проэкте. Пожалуй, он единственный человек в фирме, который имеет право носить звание Инженера.
- Барабашка - это научный факт. (с) аФон+