18.04.2024

Интервью с программистом: «Я думал, будет сложно, а оказалось, еще сложнее»

Как научиться программировать? Как найти работу программистом? Долго ли нужно учиться? Этими вопросами задаётся, наверное, каждый, кто хочет освоить эту профессию. Android-разработчик Эдуард Мишустин поделился своим опытом в профессии и рассказал о том, как началась его карьера.

С чего началось твое знакомство с этой профессией?

В 11 классе мои друзья позвали меня на курсы программирования от Samsung. Там я научился основам этого ремесла. Меня это, действительно, увлекло, и затем я поступил в Сибирский государственный университет науки и технологий имени академика М.Ф. Решетнева в Красноярске. Там я учился на специальности «Информатика и вычислительная техника». Параллельно с этим, занимался дома самостоятельно. Когда прошел курсы, я знал уже гораздо больше, чем нам преподавали в университете, и учеба стала скучной. Поэтому я делал больший упор на самообразование. Пытался делать игры и приложение для просмотра фильмов. Однажды мне предложили работу в стартапе. Я решил согласиться, ведь от практики ты получаешь гораздо больше знаний, чем изучая теорию. Так, на третьем курсе я бросил институт и теперь продолжаю развиваться сам. Вся моя жизнь изменилась в мгновение. Я устроился на работу и съехал от родителей в один день. Этот день я не забуду никогда.

Какие навыки для программиста самые важные?

Это зависит от сферы, в которой человек хочет работать. Например, в игровой индустрии нужны знания математики. Допустим, у тебя есть задача: сделать симуляцию воды в игре. Твой персонаж стоит перед морем, и это море должно быть похожим на настоящее. С такими же волнами и приливами. Вот здесь программисту нужна математика, физика. Если же ты создаешь сайты или приложения, то тут нужно знать совсем другие вещи. Самое главное – это желание и интерес. Интерес, который будет заставлять тебя изучать какие-то новые фишки.

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

Говорят, что программист 60% рабочего времени проводит в Гугле, почему так?

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

4 апреля — международный день интернета. Если написать сегодняшнюю дату числами, получится 4.04 Дата праздника выбрана не случайно, число очень напоминает «ошибку 404». Как программисту, вам известно, что такое ошибка 404 и почему именно 404?

Сервер просто показывает, что не смог найти сайт по данному адресу. Есть такая теория, что основная база данных научного центра CERN, в стенах которого и зародился интернет, располагалась на четвертом этаже в комнате №404. Оттуда и пошло название этой ошибки.

Многие компании на своих сайтах делают эти страницы «красивыми». Авторские страницы 404 – это правило хорошего тона веб-разработки. Они есть и у Гугла, и у Яндекса, и у Вконтакте и у Фейсбука. Некоторые компании прячут в них свои «пасхальные яйца».

Почему программисты не любят Explorer?

Это распространенный стереотип. На самом деле Explorer не так уж и плох, просто раньше он был намного медленнее других браузеров. А еще старая версия не поддерживает многие современные разработки. Однако есть и новый Explorer, он называется Microsoft Edge. Да-да, это по сути тот же самый браузер, только он быстрее и лучше. Хотя я все равно предпочитаю Яндекс или Google.

Я знаю, что ты сейчас работаешь в компании «Купибилет» и занимаешься разработкой мобильного приложения. Сколько еще человек вместе с тобой работает над приложением?

У нас две команды. Одна работает над приложением на IOS – это смартфоны компании Apple, другая – над приложением на Android-устройствах. Я отношусь ко второй команде. Мы работаем вчетвером, но занимаемся только написанием кода. Еще есть много других специалистов, по-разному важных для поддержания приложения.

Какая позиция в команде самая важная?

У нас есть лидер, который работает здесь дольше нас и намного опытнее в написании кода. Он проверяет все, что мы делаем, указывает на ошибки и распределяет новые задачи. Руководит, так сказать. И одновременно с этим берет на себя самую сложную работу. Такую роль может взять на себя только ответственный и уверенный в себе человек. На нем держится весь рабочий процесс. (Не хотел бы я брать на себя столько ответственности. Мне больше по душе отвечать только за свою часть работы).

Ты так хорошо отзываешься о своей работе. Неужели все так идеально… Должны же быть и какие-то минусы. Что больше всего бесит тебя в профессии?

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

Также бесит, что надо исправлять чужие баги. Кто-то другой накосячил, и приложение начинает работать неправильно, а мне потом приходится разбираться, как вообще написан код и где в нем допущена ошибка. А если еще и код плохой, то это ну очень сильно раздражает.

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

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

Какое было твое самое большое заблуждение о программировании, когда ты начал учиться?

Я думал, что это будет долго и сложно, а оказалось, что это еще дольше и сложнее, чем я себе представлял (смеется). Ну а если серьезно, я изначально хотел работать с Android-ом, но думал, что мне надо будет по большей части делать игры. Я даже сам сделал несколько несложных игр, когда учился. Но оказалось, что тут больше работы с приложениями. Хотя меня это не сильно разочаровало, мне все равно нравится моя профессия.

Существует так много языков программирования. Они кажутся такими страшными и сложными. Расскажи, с каким языком лучше начать знакомство новичкам? Как вообще в них разобраться?

Я знаю всего два языка: java и kotlin. Мне для работы этого вполне хватает. Начал я программировать с Java. Он довольно старый и в андроид разработке сейчас не используется. Котлин – официальный и главный язык для андроида. Он более емкий, лаконичный, для восприятия он понятнее и так сказать «красивее». Языки программирования очень похожи, если знаешь один, то остальные будет изучить легко. Главное – понять принцип их работы. Однако новичкам советую все же начать с Java script. Это фундаментальный язык. На нем сейчас в основном пишут сайты. Он же самый распространенный в мире, так что где-нибудь вы с ним точно столкнетесь.

Если я стану программистом, как понять, что я уже хороший специалист?

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *