Как стать программистом и разработчиком

(Комментарии давал Максим, Software Engineer в компании EPAM Systems).

Суть профессии

Программист – профессия творческая, и, также как и любое серьезное творчество, требует структурности и комплексного подхода. Если смотреть на процесс программирования как на процесс создания интересного и уникального объекта, то работа всегда будет в радость.

"И в школе, и сейчас для меня программирование – это искусство. Я думаю, работа программиста зависит от того, как он ее выстраивает. Она вырастает скорее из отношения к задаче, чем непосредственно из самой задачи. Любую скучную вещь можно сделать интересной, и, наоборот, любая интересная вещь может казаться скучной, если ты уделяешь ей недостаточно усердия и внимания".

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

"Проще всего выбрать специальность, взяв в руки книжку по профилю. Если, допустим, это веб-дизайн, то можно пролистать книжку «Веб-дизайн для чайников». Если интересно, то, после того, как сделаешь несколько простых сайтов, можно смело идти на курсы. Если есть деньги, можно сразу пойти на платные: это точно не повредит.

Я захотел стать программистом, когда мне купили первый компьютер. Это было примерно в 8 классе. Но реальная мотивация появилась где-то в 11 классе, когда я начал участвовать в олимпиадах по информатике".

Где учат

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

"На курсах ты готовишься работать над проектом. Это знания, которые ты сразу применишь. У группы есть куратор, который читает лекции и проверяет задания. Очень важен сам факт нахождения в офисе, в группе людей, которые учатся по той же программе. В институте — по-другому. Там преподаватель что-то рассказывает по своему предмету, а потом ты должен сдать экзамен. Знания в рамках учебного плана не всегда соответствуют актуальным требованиям рынка. Например, в институтах нет специализации «веб-дизайн», несмотря на то, что эта область очень перспективная. То есть в вузе тебя учат основам, а на курсах дают знания, которые нужны прямо сейчас"

Учебный процесс

Профильные курсы могут быть ориентированы как на людей, которые вообще никогда не сталкивались с программированием, так и на профессионалов, которые хотят повысить свой уровень и получить новые знания. Длительность курсов зависит, прежде всего, от сложности материала: они могут длиться несколько месяцев или, напротив, три часа. Краткосрочные курсы – это не обязательно сжатый материал: они просто могут включать в себя один важный модуль, определенный аспект большой области (например, определенного языка). Такие курсы называются интенсивами, и, как правило, рассчитаны на людей, уже имеющих опыт кодинга.

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

"У нас на курсах очень простое собеседование: несколько вопросов по объектно-ориентированному программированию. Еще спрашивают уровень английского. Хороший английский — это весомый плюс. Попросят прочитать и перевести отрывок текста.

Учиться придется около 4-х месяцев. При должном усердии можно устроиться в 100% случаев. А раньше не брали на работу людей даже с хорошими оценками. В моей группе из 10 человек взяли 9. Даже люди без технического образования вполне могут поступить на курсы, выучиться и устроиться. Одна из наших сотрудниц – живой тому пример".

Рабочий процесс

В большинстве случаев, программирование — все-таки командная работа. Поэтому нужно уметь общаться и не бояться просить совета.

"Коммуникативные навыки (softskills) - это то, что требуется от сотрудника наравне с собственно техническими (hardskills). Если ты задаешь вопрос - это значит, что ты умный и учишься.Если что-то не получается, всегда можно обратиться за помощью и «перекинуть» задачу на человека, который чувствует, что может с ней справится. И, я думаю, такая ситуация типична для всех компаний. Если человек сталкивается с проблемой и никому об этом не говорит - он просто не сможет работать".

Место работы

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

Многие начинающие программисты выбирают работу в офисе потому, что там существует делегирование и распределение ответственности. Если ты программист – значит, ты занимаешься только кодом, и никто не будет требовать от тебя решения каких-то посторонних задач.

"В хорошей компании программист избавлен от «бытовухи». У нас существует разделение труда. Сложности, которые возникают в процессе работы с заказчиком, решают бизнес-аналитики. А дизайнеры и разработчики работают над конкретным техническим заданием. Если этого не происходит – это проблема. Все это решается при условии, что у команды есть технический уровень и мотивация. В нашей профессии все очень честно: люди получают деньги за свою работу, а не за что-то другое".

Плюсы и минусы профессии

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

"Да, тут сложно почувствовать драйв. Хотя многим это удается. У меня был этап, когда каждый день хотелось программировать, но в данный момент для меня это просто работа.

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