Выбираю•IT помогает в выборе будущей профессии абитуриентам
и студентам, в развитии профессиональных навыков молодым специалистам,
в выборе дополнительных программ обучения и специальных курсов.

О портале Каталог профессий

Поиск по порталу

Программист .NET

Платформа .NET позволяет реализовывать настольные приложения для Windows

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

1. Программист на .NET: какими знаниями и навыками он должен обладать?

2. Инструментарий программиста на.NET?

3. Каковы требования компании к уровню образования потенциальных сотрудников?

4. Какие требования предъявляются к опыту работы?

5. Есть ли особые требования, которые обусловлены спецификой деятельности компании?

Александр Шилин, старший инженер-программист, Группа компаний РЕЛЭКС

1. Программист .NET должен обладать такими же знаниями и навыками, как и любой другой разработчик: принципы разработки программного обеспечения SOLID, DRY, KISS; умение работать с исходным кодом, написанным другим программистом; знание основных паттернов проектирования; понимание и опыт работы с реляционными базами данных; английский язык на уровне чтения технической документации.

2. В нашей компании большинство проектов, в которых используются технологии .NET, разрабатываются на языке C#, поэтому и инструментарий соответствующий. Стандартный стек для C#: ASP.NET MVC, ADO.NET, WCF, WPF, Silverlight, SQL и так далее.

Приветствуется умение самостоятельно разрабатывать архитектуру отдельных блоков системы и организацию их взаимодействия. Понимание, как можно оптимизировать производительность системы, также пригодится программисту .NET, равно как и навык быстрой локализации ошибок. Полезным будет опыт разработки высоконагруженных масштабируемых систем, а также знакомство с такими продуктами, как Redis, SignalR, ElasticSearch, RabbitMQ.

3. Пока еще не было случаев, чтобы на вакансию разработчика в нашу компанию откликался человек без высшего образования. В свою очередь, мы уже долго проводим ежегодную практику для студентов по тем или иным технологиям, и всегда после такой практики часть практикантов остаются у нас работать. Обычно это происходит на одном из последних курсов университета. В целом, конечно же, большее значение имеет практический опыт работы.

4. У нас нет жестко зафиксированных требований к опыту работы. В зависимости от проекта и команды требования могут различаться, в основном они варьируются от нуля до трех лет или определяются количеством проектов, в которых участвовал кандидат. После изучения резюме HR-специалистом отобранные кандидаты решают тестовую задачу. Затем их ждет собеседование с руководителем проекта, который оценивает как общий уровень программиста, так и знания конкретных предметных областей и технологий, требуемых на проекте.

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

Николай Добровольский, вице-президент Parallels

1. К общим требованиям можно отнести знание английского языка на уровне чтения технической документации. Также важны умение работать в команде, самостоятельность, ответственность и коммуникативные навыки.

Если говорить про узконаправленные навыки, то программистам .NET сегодня требуется владение технологией ASP.NET MVC. Также можно считать must have навыки работы с SQL Server и использования Transact-SQL. Кроме того, потребуется знание WCF, XML, XSLT и LINQ. Нужен навык объектно-ориентированного программирования. В целом можно сказать, что хорошие специалисты, пишущие на Java, .NET или другом языке, всегда востребованы.

2. Если вам хочется писать веб, то лучше попробовать Python или Ruby и еще JavaScript. Если писать системные утилиты, алгоритмы, то лучше попробовать C или C++.

Под мобильные системы можно выбирать между Java, Objective-C, .NET (можно также подумать о JavaScript, но совет спорный). Если хочется писать десктопные приложения, то лучше попробовать C++, .NET. Если в планах сидеть не на «винде» и писать не только под Windows, то лучше не думать о .NET. По поводу IDE: у Java есть Eclipse, Net Beans, но я бы посоветовал idea.

3. У нас в компании есть несколько человек без профильного технического образования. Это скорее исключение, но подтверждающее гипотезу, что увлеченный человек может самостоятельно добиться успеха в программировании. В основном же к нам приходят выпускники ведущих технических вузов страны: МФТИ, МГТУ им. Баумана и других. Также у Parallels есть собственная базовая кафедра и научные лаборатории по подготовке инженеров на базе Физтеха, «Бауманки», Университета Мальты и других.

4. Все зависит от позиции, на которую приходит разработчик. Если речь идет о старте карьеры, то глубокое знание конкретного языка не потребуется. Конечно, знать и понимать, чем отличается List от Vector и что в каких случаях быстрее работает, нужно. Не помешает также знание того, какая хеш-функция вам кажется хорошей, как работает Map, что такое функция сложности, чем отличается, на ваш взгляд, хороший код от плохого, и тому подобные вещи. Но понимание глубины специфики придет к вам по мере практики.

5. Мы заведомо стараемся набирать людей, которые имеют большой потенциал и готовы развивать свой профессионализм в данной области. Профессионализм – очень важный момент. Но, несмотря на то что мы ИТ-компания, мы ставим во главу угла личные качества и коммуникабельность и считаем, что это неотъемлемая часть современного командного игрока. Мы всячески стараемся развивать эти навыки в наших сотрудниках.

Кирилл Скрыган, руководитель команды Rider в JetBrains

1. С технической точки зрения нужно хорошо разбираться в самом языке C#, понимать, как работает платформа .NET, уметь обращаться с основными инструментами для нее. Важно понимать принципы многопоточного программирования, знать, как работают структуры данных. Социальная часть тоже очень важна: нужно уметь слушать/убеждать других членов команды. Даже в начале, просто чтобы понять, что и как работает, нужно плотно пообщаться как минимум с половиной команды.

2. Неотъемлемая часть разработки ReSharper/Rider – пользоваться этим же продуктом в повседневной работе. Поэтому, конечно, в инструментарий входят Visual Studio + ReSharper или Rider. Очень желательно умение пользоваться профиляторами (dotTrace, dotMemory), бывает, что нужны в работе декомпиляторы и дазассемблеры (dotPeek, Ildasm). Но, понятное дело, всеми этими инструментами можно научиться пользоваться достаточно быстро, главное – уметь быстро осваивать новое.

3. Здесь нет какого-то четкого закона: с одной стороны, у нас есть талантливые сотрудники из далеко не самых сильных математических вузов, с другой – чисто среднестатистически большая часть людей у нас все же с матмеха СПбГУ. Самое главное, чтобы человек умел быстро обучаться новому.

4. Здесь нет особых требований. Например, у меня в проекте есть несколько студентов, начавших работать непосредственно у нас, и они прекрасно себя проявляют и приносят огромную пользу продукту.

5. Да, есть. Нужно сочетание, с одной стороны, хорошей технической базы, с другой – важны активность, инициативность, находчивость, изобретательность. В наших продуктах мы постоянно придумываем что-то новое, постоянно пытаемся улучшить любимое детище. Конечно, важно, чтобы у всех членов команды горели глаза от того, чем они занимаются, чтобы им было действительно интересно. eof

Подготовил Игорь Штомпель

Яндекс.Метрика  
Проект Издательского дома "Положевец и Партнеры"

По вопросам партнерства обращайтесь по электронной почте chooseit@samag.ru

Телефон: +7 499 277-12-45