Plarium corporate blog
IT-companies
IT career
Programming
Perfect code
December 2018 18

Я и код: как стать востребованным программистом

После одного из недавних постов мы получили много интересных вопросов и комментариев. В том числе вы хотели знать, как, по нашему мнению, стать востребованным программистом.

Проекты краснодарской студии Plarium значительно отличаются друг от друга по используемому стеку технологий. Нам приходится решать разноплановые задачи и задействовать большое количество профессионалов. Программисты — важная часть команды Plarium Krasnodar. Всего над созданием кода в проектах студии трудятся свыше 50 наших коллег.

Мы проанализировали их опыт и готовы ответить на поступившие вопросы.



Программистом может быть каждый


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

Значимость математической базы зависит от того, чем конкретно вы будете заниматься в будущем. Так, в Data Science глубокие познания в математике — обязательная компетенция программиста. Чтобы решать большинство задач в этой сфере, приходится создавать сложные модели. Конечно, если думать последовательно и логически, то написать подходящую формулу получится и без докторской степени по математике. Однако соответствующая теоретическая подготовка сэкономит вам уйму времени и сил.

Английский язык сейчас — негласный стандарт индустрии. На русском существует куда меньше качественных туториалов. Документация по актуальным технологиям, новости, семинары, лекции авторитетных спикеров, за редким исключением, публикуются на английском. Локализованных версий может не существовать вовсе.



Обучение никогда не заканчивается


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

В обучении языкам программирования нельзя делать больших перерывов. Желательно ежедневно уделять этому занятию по несколько часов. А попутно — развивать навыки тайм-менеджмента. Хотя эта компетенция не зависит от будущей специализации, чем быстрее вы научитесь правильно распоряжаться своим временем, тем успешнее пойдет учеба и дальнейшая работа. Важная часть образования для программиста — общение с коллегами. В таких беседах можно узнать о новых технологиях и профессиональных секретах.

Интернет — лучший источник знаний


И для новичков, и для профи основным источником знаний служит интернет. Вам пригодятся как специализированные ресурсы для программистов, так и сайты общего профиля. Например, за новостями удобнее всего следить через Twitter. Там же вы найдете лайфхаки от опытных разработчиков.

Много полезной информации есть на YouTube: туториалы разного уровня сложности, записи лекций, семинаров, презентаций, наглядные демонстрации возможностей тех или иных технологий. Не стоит игнорировать трансляции лайвкодинга (проводятся на Twitch и YouTube). На них можно в прямом эфире увидеть, как работают состоявшиеся специалисты, а если что-то покажется непонятным — сразу же задать вопрос стримеру. Подсмотренные на трансляции приемы и подходы к работе, вплоть до расположения окон и используемых сочетаний клавиш, сэкономят вам много времени и уберегут от досадных ошибок.

В процессе обучения крайне важно анализировать уже работающий код. Здесь пригодится GitHub и ему подобные сервисы. Книги по программированию не могут предоставить тот же объем качественных и актуальных примеров.

В своей повседневной работе специалисты Plarium Krasnodar пользуются и массой других сайтов. Мы отобрали самые интересные и подготовили подборку ресурсов для программистов.

Если вы планируете посвятить себя C# и веб-разработке, полезными источниками информации станут:

https://blogs.msdn.microsoft.com/dotnet
https://metanit.com
https://learn.javascript.ru/

Если вас интересует изучение движка Unity, следите за обновлениями на следующих ресурсах:

https://connect.unity.com
https://blogs.unity3d.com
https://jacksondunstan.com

Если хотите погрузиться в индустрию геймдева, посещайте эти сайты:

https://dtf.ru
https://gamasutra.com
https://www.alanzucconi.com
https://app2top.ru
https://simonschreibt.de
https://engineering.riotgames.com
https://proglib.io/p/gamedev-blogs



Программист — универсальный специалист


Программист в IT — универсальный солдат. Необязательно фокусироваться на определенной сфере деятельности: несмотря на разный стек технологий, специалист без особых проблем может перейти из геймдева в Enterprise и наоборот. Это вовсе не отменяет того, что нужно понимать особенности работы. К примеру, программисту в геймдеве все-таки стоит разбираться в игровой индустрии и самому быть геймером.

В процессе обучения неизбежно встает вопрос, что лучше: исследовать максимально возможное число технологий или специализироваться на чем-то конкретном. Ответ придет с опытом — по мере решения задач программиста, с которыми вы столкнетесь в повседневной работе.

Типичные ошибки новичков


Мы проанализировали типичные ошибки начинающих программистов и на их основе сформулировали несколько советов. Не наступайте на чужие грабли!

Нельзя усложнять код без крайней необходимости. Листинг должен читаться легко, чтобы сразу было понятно, что и как делает каждая часть программы. Недопустимы ситуации, когда спустя некоторое время вы не можете разобраться, как использовать созданные ранее классы или библиотеки. Громоздкие, неочевидные конструкции тяжело отлаживать, а ошибиться при их написании — проще простого.

Не стоит изобретать велосипед. Почти для любой задачи можно найти подходящий фрагмент работающего кода. Если поиски безрезультатны, скорее всего, вы некорректно сформулировали запрос. Зачастую программистам свойственна некоторая самоуверенность. Даже если поиски увенчались успехом, может показаться, что самописный код — лучше готового решения. Со временем вы начнете понимать, когда именно оправданы усилия, потраченные на написание системы с нуля. До этого целесообразнее пользоваться чужими наработками.

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

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

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

Избавляйтесь от ригидности мышления. Объяснить, как не надо делать, молодому программисту гораздо проще, чем коллеге постарше. С возрастом мы становимся менее открытыми к новым идеям и начинаем болезненно воспринимать критику. Старайтесь не замыкаться в себе и рассматривайте проблемы с разных сторон.

Мы надеемся, что статья оказалась полезной тем, кто делает первые шаги в программировании. А если вы уже стали гуру кода, делитесь в комментариях своей историей: как учились, где набирались опыта, чем вдохновлялись, какие ошибки совершали.
-2
9.2k 67
Comments 24
Top of the day