Перевод статьи «Things I’ve Learned My First 90 Days as a Junior Developer».
К получению первой программистской работы вел долгий и трудный путь. Конец этого пути обозначился только тогда, когда я начала, наконец, работать. Я училась, чтобы стать разработчиком, и была настолько занята этим процессом, что у меня не было возможности подумать о том, что будет, когда я получу работу. Собственно, я пыталась это представить, но сложно представить нечто, чего ты никогда не переживал.
Мои первые девяносто дней пролетели стрелой. В компании не было никакой особой программы для онбоардинга джуниоров, а через месяц после начала работы страна погрузилась в локдаун из-за пандемии. Это добавило сложностей помимо стандартной необходимости изучить все нужное для работы. Я совершила кучу ошибок, а достижение результатов заняло больше времени, чем мне бы хотелось.
В этой статье я собрала список того, что новичку стоит сделать, чего делать определенно не стоит, и как избежать ловушек в этом постоянно меняющемся мире разработки, когда ты джуниор на своей первой работе. Список ни в коем случае не исчерпывающий, и я уверена, что опыт других людей отличается в лучшую или худшую сторону. Я рассказываю о своем опыте, так что не стоит воспринимать это как истину в последней инстанции: делайте поправку на собственную ситуацию.
Коммуницируйте, коммуницируйте, коммуницируйте
Важность коммуникации трудно переоценить. Это вообще основа программирования, без нее ничего не будет. Если вы чего-то не знаете или не понимаете, не надо улыбаться и кивать. Спросите, как это делать и что значить это слово.
Если вы не будете сообщать о том, как у вас дела, что вы сделали и чего вы не знаете, ваш менеджер об этом и не узнает. Вы оба — взрослые люди. Вам как разработчику, безусловно, не нужна нянька, но вы должны ставить менеджера в известность о том, на что уходит ваше время: это поможет в повышении продуктивности.
Знания важны, но хорошие отношения важнее
На большинстве позиций делается упор на то, сколько вы знаете. Это, конечно, очень важно для разработчика, но не настолько важно, как умение сохранять хорошие отношения с коллегами и менеджерами.
Вы можете быть талантливы и очень способны, но ваши отношения с людьми — вот что вас держит на вашей работе. Если людям нравится работать с вами, они куда вероятнее простят вам ошибки и помогут заполнить пробелы в ваших знаниях.
Терпение и понимание в два раза важнее знаний, хотя нанимают вас как раз за знания. В общем, ценно и то, и другое, но доброжелательность ценнее. Помните, что важно не то, что вы говорите, а то, как вы это говорите.
Проблемы: они связаны с компанией или касаются программирования как такового?
Даже если вы работаете в сфере разработки уже несколько лет, все равно вам еще многому предстоит научиться. А новичку вообще кажется, что весь этот объем информации катится на него лавиной. Мне в этом плане очень помогло разграничение проблем на те, что связаны с компанией («Есть ли у меня нужные права?», «Как работает эта система?»), и те, что касаются программирования как такового («Можно ли найти этот баг на Stackoverflow?»).
Когда разберетесь с природой проблемы, вам станет проще понять, к кому обратиться за помощью. Если проблема связана с компанией, сразу задавайте вопрос коллегам. Если нет — сначала ищите в Google.
Как просить о помощи
Для джуниора вообще нормально просить о помощи. Но это особый навык. Для начала, как я сказала в предыдущем пункте, определите природу своей проблемы.
Дальше поищите решение этой проблемы в Google. Если вы потратили полчаса на поиски и испытание разных вариантов, но ничего не помогло, — задавайте вопросы коллегам. При этом будьте конкретны. Расскажите о проблеме, а также о том, что вы уже испробовали. Ставьте вопрос четко и учитывайте, что ваш коллега может быть занят своими делами.
Обычно я задаю вопрос в Slack и оговариваю, что коллеги могут не спешить и ответить, когда им будет удобно. Когда обращаетесь за помощью, не нужно спешить и уж тем более — проявлять невежливость. У людей полно своей работы, а вы занимаете их время.
Впрочем, извиняться тоже не стоит Помогать вам в решении проблем и способствовать вашей учебе — часть работы ваших коллег. Лучше поблагодарите их за ответы. Говорите «спасибо» каждый раз, и не важно, насколько мала проблема, которую вам помогли решить. Чтобы помочь вам, человек оторвался от своей работы, а это не всегда просто.
Записывайте шаги решения проблем, чтобы в будущем решать подобные задачи уже самостоятельно. Когда вы спрашиваете что-то в первый раз, никакой вопрос не является слишком глупым и не стоящим ответа. Но если вы продолжите спрашивать одно и то же, это уже будет просьба не о помощи, а о том, чтобы люди работали вместо вас.
У вас будут как хорошие, так и плохие дни
У нас у всех бывают дни, когда мы хорошо себя чувствуем и успешно справляемся с работой. Но бывают и дни, когда чувствуешь себя ужасно, к тому же все валится из рук. Это нормально. Бороться тут надо только с разочарованием.
Будучи джуниором, вы переживете много плохих дней, когда вам будет казаться, что вы не только ничего не знаете, но никогда ничему и не научитесь. Не позволяйте себе разочароваться. Подумайте обо всех случаях, когда вы ошибались и чему-то научились на своих ошибках.
Я вот совершила предостаточно ошибок, но не сдалась. Не хочу и не буду сдаваться. Если даже я потеряю эту работу, я буду искать новую. Плохие дни это нормально, главное, чтобы из-за них вы не остановились.
Дам еще отдельный совет. Когда выдался плохой денек и хочется рыдать (как вариант — орать), пойдите и поплачьте (покричите) где-нибудь. Вредно держать эмоции в себе. Можно подождать до возвращения домой или уединиться где-нибудь в туалете, но эмоции непременно нужно выпустить, после чего можно продолжить движение вперед. Плакать и кричать не значит быть слабым, это значит просто быть человеком.
На чем нужно сосредоточиться в своей учебе
Изучите, как работает система — от клонирования и скачивания репозитория до развертывания. И не забывайте тестировать свою работу после внесения изменений в код. Чтобы разобраться в работе системы вам, вероятно, придется постоянно просить о помощи. Побольше записывайте; вообще стоит вести упорядоченные записи. Также старайтесь побольше практиковаться в процессе. В конечном итоге, опыт — лучший учитель.
Учитесь пользоваться рабочими инструментами (пускай кто-нибудь вам покажет, как это делать). В инструментах разработки есть много функционала, и если его использовать неправильно, это может привести к нежелательным последствиям. Я однажды запустила обновление SQL в базе данных, не понимая, к каким изменениям это приведет. У моего начальника ушло восемь часов на исправление ситуации. Мне было страшно, но я усвоила полезный урок: не спеши, изучай инструменты и будь осторожнее.
Вкладывайте деньги в свое развитие: покупайте книги, курсы и все, что вам нужно для лучшей работы. Ожидая фидбэка или дальнейших инструкций, занимайтесь учебой. Постоянная учеба и развитие — основа нашей профессии. Узнать все вы, конечно, не сможете, но вполне можно учить понемногу каждый день. Беритесь за большие темы и разбивайте их на отдельные задачи.
Приобретайте базовую компьютерную грамотность. Программирование это больше, чем отдельные языки. Вообще важнее изучить принципы и процессы, потому что языки меняются, а принципы с процессами остаются по большей части неизменными.
Компьютер — сложная штука. У многих людей возникают проблемы с использованием компьютеров, а тех, кто разбирается в этих машинах на более глубоком уровне, — гораздо меньше.
В учебе будьте внимательны и любопытны, но не пытайтесь все запомнить. Тщательное ведение записей в десять раз лучше великолепной памяти. Записывайте все и практикуйтесь, практикуйтесь, практикуйтесь.
Заботьтесь о своем здоровье, иначе ваша производительность будет страдать
Ваше здоровье очень важно для вашей работы. Складывается впечатление, что большинство разработчиков страдают бессонницей и мигренью. Я думаю, это следствие постоянного стресса.
Будучи разработчиком, вы работаете по десять часов кряду и все равно не видите результатов своей работы. А ведь нужно еще учиться, коммуницировать, успевать к дедлайнам, участвовать в совещаниях и т. п. Это какая-то черная дыра, в которую вас засасывает, и если вы не позаботитесь о своем здоровье, все может завершиться депрессией и прочими проблемами.
Первое, что я хотела бы посоветовать, — здоровый ночной сон. Никакое количество кофе его не заменит. Кроме того, обязательно проводите на улице хотя бы 15 минут в день. Побудьте на солнышке, прогуляйтесь. Ежедневная небольшая прогулка полезнее, чем длительная тренировка раз в неделю.
Не забывайте о правильном питании и пейте побольше воды. Купить пиццу по дороге домой, конечно, проще, но если вы будете поступать так слишком часто, это плохо скажется на здоровье. Я не хочу сказать, что пицца это вообще плохо; просто подходите к делу с умом, пускай пицца будет для особых случаев. Помните, что правильное питание это больше о балансе, чем об ограничениях.
Проявляйте старание
Это, пожалуй, самое важное. Делайте все, что от вас зависит, чтобы справляться со своими обязанностями. Задавайте вопросы, ведите заметки, изучайте что-то новое каждый день. Понемногу результаты ваших усилий станут видны.
Не сравнивайте себя с другими джуниорами и не думайте, что если вы не знаете что-то общеизвестное, то вы не настоящий разработчик. Когда вы только начинаете свой путь, ваша задача — учиться и стараться работать как можно лучше. В конечном итоге, это также и все, что вы можете сделать.
Надеюсь, из этой статьи вы узнали что-то новое и полезное. Если у вас есть и другие советы для джуниоров, — добавляйте в комментариях.
[customscript]techrocks_custom_after_post_html[/customscript]
[customscript]techrocks_custom_script[/customscript]