Блог

Советы сеньоров: коммуникация рулит

Как же непросто быть джуниором… Много вопросов и мало ответов. Не знаешь, к кому обратиться за помощью, как настроиться на продуктивную работу. Стрессуешь по любому поводу и понятия не имеешь, как стать хорошим специалистом… 

SoftTeco Team срочно идет на помощь :) Мы побеседовали с опытными разработчиками-сеньорами Романом и Николаем. Уверены, их практические советы помогут молодым джунам скорее побороть все страхи. 

Роман Оголихин — специалист со стажем работы 20+ лет, занимает должность руководителя.NET отдела в SoftTeco и курирует отдел devOPS. 

Роман Оголихин, Head of.NET Dept SoftTeco

Николай Чижов работает в SoftTeco Gomel frontend-разработчиком, общий стаж работы — более пяти лет. 

Николай Чижов, Frontend Developer SoftTeco Gomel

Что должен знать Junior-разработчик, чтобы получить должность или удержаться на уже «завоеванной» позиции?

Роман: В разных компаниях свои подходы, поэтому я расскажу, какие требования у нас. Что касается.NET, то в первую очередь важно, чтобы молодой специалист понимал синтаксис языка. Причем важно не только понимание того, что инструкция языка делает, но и того, какую проблему решает. Если джуниор работает с бэкенд, то важно понимать базы данных. Реляционные в первую очередь — это must have. Также знать SQL, понимать, какие бывают проблемы производительности, уметь написать запросики средней сложности. Важно понимать и протокол HTTP, как минимум — GET и POST запросы, чем они отличаются. Остальное придет с опытом.

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

Почему лучше работать в компании, чем во фрилансе? Ведь молодые сотрудники зачастую стремятся работать «на себя».

Роман: Я сам был фрилансером какое-то время. Фриланс кажется крутым вначале: ты не очень зависишь от работодателя, появляется ощущение свободы. Однако есть и большие минусы:

  • Нет никакой защищенности. С тобой в любой момент могут разорвать отношения. Возможно, тебе придется неделю-две или даже больше искать новый проект. Это и нервирует, и в деньгах проседаешь;
  • Работа в одиночку. Некоторым это и подходит, но в большинстве своем, человек — существо социальное. Для нас важно быть в коллективе и работать в команде;
  • Нет чувства принадлежности к компании и общему делу;
  • Разница в менталитете. Фрилансеры редко работают на белорусские компании, чаще всего — на европейские. Культуры стран различаются. И все-таки приятно быть в своей культуре. Чем меньше различий, тем лучше.

Николай: Я тоже работал во фрилансе на маленьких проектах в начале карьеры. Согласен, на фрилансе зачастую приходится по нескольку недель сидеть без работы, заказчики могут «кинуть». Что не очень приятно, т.к не хватает уверенности в завтрашнем дне. Но потом я устроился на первое место работы и со фрилансом закончил. Не стоит оно того. Мне нравится работать в компании, это имеет свои плюсы:

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

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

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

Роман: Тоже скажу, что обратиться к более опытным коллегам не стыдно. Не надо бояться и стесняться спросить что, как и почему. Главное, не перегибать палку и не спрашивать каждые полчаса. Это уже может вызвать раздражение.

Однако в первую очередь я советую понять, что нужно делать, и попробовать самому. Если через 2 часа не получили результата, то обратиться к старшим товарищам. Если на проекте нет никого опытного технически, можно подойти к своему ментору (техлиду) и с ним обсудить интересующие вопросы. Также можно обратиться к человеку, который отвечает за коммуникацию с заказчиком. Главное понять бизнес-логику. Когда она понятна, задача наполовину сделана.

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

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

Роман: Да, нужно сложную задачу разбить на несколько простых. Понять бизнес-логику, какие входные данные и какой конечный результат. Также важно коммуницировать с бизнес-аналитиком, менеджером проекта и заказчиком.

Как справляться со стрессом, если все-таки что-то не получается?

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

Николай: Мне очень помогает смена деятельности. Надо отвлечься от разработки, попить кофе с печенькой, выйти подышать свежим воздухом, поговорить с коллегами на отвлеченные темы. Смена деятельности отлично разгружает мозги. Затем опять приступить к работе. Понять, что раздражает и что не получается. Если опять где-то застряли, идите взаимодействовать с коллегами. Главное не замыкаться в себе, перебороть гордость и самоуверенность, чтобы обратиться к старшим товарищам.

О каких базовых вещах не догадываются молодые специалисты?

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

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

Что касается зарплаты, то лучше не ожидать высокой, так как она нарабатывается опытом и знаниями. Джуниор, в большинстве своем, не обладает такими качествами изначально.

Роман: К тому же молодые специалисты приходят из среды научной — из университета, и попадают в среду инженерную — в компанию. Это всё-таки разные среды. Если в универе сложное название диплома — это круто, то в производстве, наоборот, чем проще и понятнее, тем лучше.

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

Сколько времени в день нужно уделять прокачке своих навыков?

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

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

Делали вы ошибки будучи джуниором, о которых жалели? Что вы можете посоветовать молодым специалистам, чтобы избежать этих ошибок?

Роман: Об ошибках жалеть не стоит. Это способ приобретения опыта. Я однажды связался с технологией, которая казалась перспективной, а потом умерла. Это был хороший опыт для меня. К тому же начинающим разработчикам много чего прощают. Адекватное руководство понимает, что будут проблемы и ошибки. Не нужно бояться совершать их. Ошибки — это нормально. Лучше их обсуждать. 

Николай: Серьезных ошибок я не совершал. У меня были похожие ситуации в самом начале моей карьеры, когда пришел на работу, сел на проект, что-то делал и упирался в момент, который мне был не совсем понятен. Я полдня искал что-то в интернете, в книгах, в материалах. А потом оказалось, что можно было обратиться к опытному коллеге. Он бы подсказал мне нужную вещь за 5 минут, и это сэкономило бы много времени.

Джуниорам можно дать и такой совет: не выходите за рамки здравого смысла. Многие джуны приходят и могут кидаться в крайность: хотят выучить все и сразу. Не стоит пытаться объять необъятное с наскока. Поработайте с одной технологией и ее стеком, выучите ее досконально, и постепенно расширяйте свой профессиональный кругозор дальше.

Какие главные вещи вы поняли за годы работы?

Роман: Самая главная вещь — соблюдать баланс между работой и личной жизнью. Не должно быть перекосов ни в одну, ни в другую сторону, потому что, очевидно, будут проблемы либо там, либо там.

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

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

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

Роман: А еще многие забывают про собственное здоровье. Пока молодой, тело все прощает, но через годы напомнит о себе. Наша работа сидячая, поэтому важно следить за здоровьем., а точнее за опорно-двигательным аппаратом, осанкой и зрением. Также не забывать про нервную систему и психику. Например, можно делать небольшие перерывы во время работы. Даже если задача горит, обязательно нужно встать, подвигаться. Бывает, что, отвлекшись, придет в голову другое решение, и задача выполнится быстрее. 

Блиц:

Сложно ли работать продуктивно в начале карьеры?

Роман: Сложно работать продуктивно. И работать, в целом, непросто. Но это проходит, а продуктивность со временем возрастает.

Завышены ли требования к джуну сегодня?

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

Многое ли решают Soft Skills?

Роман: Да, очень многое. Они важны не меньше, чем тех скиллы. Но опять же, есть и исключения. Вы можете стать очень крутым программистом, но при этом иметь минимум софт скиллов. Главное выполнять работу качественно и в срок, и вас за это будут ценить. Но рекомендую прокачивать софт скиллы, так быстрее и проще стать востребованным специалистом

Оптимизировать производительность лучше во время разработки или после?

Николай: Среди программистов ходит одна крылатая фраза: «Преждевременная оптимизация — это зло». Обычно все требования и расходы проистекают из требований бизнеса. Можно написать поставленную задачу за один день, и она будет работать не очень эффективно. Бизнес в это же время потратит на это 5 тысяч у. е. А можно написать задачу и за дней десять, она будет работать эффективней, но бизнес потратит уже 70 тысяч. Поэтому оптимизацию работы нужно устраивать тогда, когда есть настроенные инструменты, которые будут собирать определенные метрики и определять, где у вас то самое бутылочное горлышко, которое надо оптимизировать. Также многое зависит от выбранной архитектуры проекта\программы — если она изначально выбрана неудачной, то оптимизация может либо не принести ожидаемого улучшения, либо быть и вовсе бессмысленной.

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

Самый интересный проект, который вы сделали?

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

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

Обсуждение
Комментируйте без ограничений

Релоцировались? Теперь вы можете комментировать без верификации аккаунта.

Комментариев пока нет.