Я бы сказал, что существует большая разница между независимой разработкой приложений и работой в команде, которая все знакома с Silverlight / WPF. Совершенно верно, что вы можете спроектировать пользовательский интерфейс с помощью перетаскивания, назначить свойства с помощью визуального дизайнера, а затем написать весь необходимый код в среде на основе XAML и едва заметить разницу между ним и используемым интерфейсом Winforms. к. Несомненно, что другим будет процесс работы с другими людьми, знакомыми со всеми концепциями и шаблонами, которые стали стандартными в мире WPF / Silverlight: привязка, команды, стили, свойства зависимости и т. Д. Если ваша работа нуждается чтобы интегрироваться с их, у вас возникнет проблема, если вы проигнорируете различия в двух платформах.
Что не означает, что опыт Winforms бесполезен. Вся логика все еще там, все тот же код на стороне сервера все еще должен быть написан, и, вероятно, есть еще полдюжины других мест, где тип пользовательского интерфейса, с которым вы работаете, не имеет значения ни в малейшей степени. И, вероятно, лучший способ узнать о Silverlight или WPF - это создать реальный проект для работы, в котором вы можете легко заставить некоторые новые идеи работать с той же логикой, к которой вы привыкли.
Много вопросов сводится к качеству программиста, независимо от вашего опыта. Конечно, если бы я хотел, чтобы кто-то поддерживал существующее приложение WPF, я хотел бы иметь программиста с таким опытом, но я бы с радостью взял кого-то, кто написал хороший код для Winforms и хотел бы выучить новую парадигму, если бы я хотел разрабатывать новые приложения или собирать совершенно новую команду.
Было бы ошибкой думать, что опыт Winforms «достаточно хорош» в большинстве случаев, когда требуется программист Silverlight / WPF, точно так же, как опыт C ++ не «достаточно хорош», если мне нужен опытный C # программист. Существует достаточно различий концептуально , что вам нужно показать, по крайней мере, готовность изменить парадигму и, возможно, некоторое знакомство с концепциями, которые являются ключевыми для новой технологии. Тем не менее, хороший код - это хороший код, и я не думаю, что кто-то должен быть уволен из-за отсутствия опыта работы с конкретной технологией.