Найти тему

Особенности становления программистом

Оглавление

Отечественные программисты высоко ценятся в мире, они получают большие зарплаты и имеют достаточно работы. Поэтому интерес к программированию высок. Tech Today побеседовал с представителями Sigma Software — одного из ведущих ИТ-компаний, которая занимается разработкой программного обеспечения. 

Технический директор и директор рекрутмента, который также является руководителем софтверного университета Sigma Software University, рассказали, что необходимо для успешного начала карьеры программиста.

Основные виды программирования

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

Программирование для web. Слышали о Gmail или Dropbox? Создание подобных веб-приложений и является программированием для web. Это направление имеет ответвление: front-end и back-end. Когда вы открываете тот же Gmail, видите только одну часть программы - клиентскую. На жаргоне программистов — front-end. Но основные вычисления производятся на сервере. Создание кода для серверной части это - back-end.

Для back-end программирования используются языки: 

  • Java; 
  • JavaScript; 
  • C #; 
  • Ruby; 
  • PHP; 
  • Python.

Для front-end: JavaScript с надстройками TypeScript и CoffeeScript.

Программирование автономных enterprise-систем. Это могут быть системы, которые вообще не имеют пользовательского интерфейса. Например, механизмы обработки статистики показа онлайн-рекламы.

Здесь используются языки программирования: 

  • Java; 
  • C #; 
  • Python.

Big Data и машинное обучение. «Горячая» тема, которая охватывает создание программных продуктов для обработки и анализа петабайт накопленных данных. Используют языка: 

  • Java; 
  • Scala.

Для систем машинного обучения преимущественно применяют Python.

Сегмент, который охватывает решения для social media, блогов, e-commerce, почти полностью базируется на использовании PHP.

Создание программ для персональных компьютеров. Понемногу теряет популярность под натиском web. Здесь программисты работают на 

  • С ++ с библиотекой QT; 
  • C # и платформой Microsoft .NET.

Что интересно, в последнее время десктопные программы начали создавать с помощью web-технологий, применяя инструменты, подобные Node-WebKit. Например, именно так создан клиента для очень популярного мессенджера Slack.

Разработка компьютерных игр. В этой сфере используются преимущественно С ++, для создания казуальных или не очень требовательных 3D-игр также популярная платформа Unity, которая позволяет писать на C #.

Программирование для встраиваемых систем. Например, написание драйверов, написание программ для маломощных устройств, интернета вещей и тому подобное. Отдельная и тяжелая для изучения отрасль, где преимущественно используется «чистый» С или даже Assembler.

Четыре этапа становлением программистом

  • Первый шаг — изучение computer science: всего, что касается парадигм программирования (по крайней мере того, что касается объектно-ориентированного и функционального программирования), алгоритмов, структуры данных, формирует состав мышления. В вузах или самостоятельно - не имеет значения. Выбор конкретного языка на данном этапе не имеет очень большое значение, но, с другой стороны, нет смысла в изучении таких языков, как Basic или Pascal, которые уже много лет почти не используются в индустрии. По нашему мнению, Python может быть очень неплохим выбором для новичка.
  • Второй шаг - окончить курсы по программированию.
  • Третий шаг — интернатура в IT-компании и специализация, по результатам обучения и стажировки необходимо окончательно выбрать направление, в котором дальше будущий программист должен развиваться и совершенствоваться.Очень важно побывать в «шкуре» интерна, получить опыт работы над реальными проектами.
  • Последний, четвертый шаг - получение позиции Junior-разработчика и работа над настоящими коммерческими проектами.Первое, к чему нужно быть готовым либо придется быстро научиться, - это умение работать в команде. Принять стиль и принципы работы команды, учиться работать именно на результат, а не кодить с 9 до 18 часов - пять дней в неделю. И самое главное - необходимо продолжать учиться чему-то новому. Потому что реальность коммерческой разработки отличается от того, чему учат на курсах или во время стажировки.
Большое спасибо за прочтение! Пожалуйста, поставьте лайк и подпишитесь на канал, чтобы не пропустить свежие статьи. Этим Вы очень поможете в развитии блога!
Также рекомендую прочитать статью Гнев, гордыня, ненасытность и страсть помогут стать тру программистом