Нельзя отрицать, что сейчас ожидания от разработчика намного выше, чем 10 лет назад. Есть много разных языков программирования, баз данных, фреймворков, гибких методологий и так далее. И если вы хотите стать успешным разработчиком, как же выделиться из толпы, чтобы получить свою первую роль junior-разработчика в крутой компании?
Не существует машины времени, которая может перенести тебя сразу к тому моменту, где ты — крутой разработчик с высокой зарплатой, который пользуется авторитетом своих коллег.
Но мы составили список советов, которые помогут стать ближе к этой цели, продвинуться в сфере разработки и занять хорошую должность.
Поговорим обо всем детальнее.
Идея здесь в основном в том, чтобы позволить вам и вашей команде работать над базой кода, не изменяя текущее состояние вашего приложения. Руководство GitHub, вероятно, хорошее место для начала, если вы никогда раньше не использовали контроль версий.
Если вы знакомы с GitHub, узнайте, как его (или аналогичную платформу) использовать максимально эффективно. Например, как изменить сообщения фиксации, когда вы этого хотите, как удалять коммиты, или, если вы заметили новую неизвестную ошибку, как провести расследование и узнать, какая фиксация потенциально нарушила ваш код и так далее.
В начале карьеры разработчика вы хотите знать и уметь все. Вы начинаете изучать языки Ruby, JavaScript, Elixir, React, Node, вы читаете книги и смотрите онлайн-курсы как сумасшедшие. И рано или поздно наступает момент, когда вы знаете все понемногу, но не можете создать приложение с нуля ни на одном из изученных фреймворков или языков. Поэтому лучше сосредоточиться на чем-то одном и делать это хорошо.
К примеру, для начала вы можете выбрать освоение Ruby. Если знаете английский, попробуйте прочитать книгу Практический объектно-ориентированный дизайн на Ruby, автора Сэнди Мец или Well Grounded Rubyist Дэвида А. Блэка. Также вы можете пройти дополнительные курсы по Ruby, которые улучшат ваши знания о Ruby и разработке приложений Rails с использованием TDD. И только спустя какое-то время вы можете перейти к открытию других языков, таких как Python.
Начинайте с базового языка, у которого есть хорошее сообщество. Так, с Ruby вы можете понять, как работают объектно-ориентированные языки, а затем, возможно, перейдете к более сложному языку, например JavaScript. Перечисленные выше языки — не догма, на их месте может быть любой другой. Главное, что вам нужно усвоить — выучите одну вещь и выучите ее хорошо.
Что же такое TDD, что делает его волшебным и почему вы должны это знать, чтобы получить работу?
TDD (Test Driven Development) — это разработка, управляемая тестированием. Как следует из названия, вы пишете тест для кода, который хотите получить в итоге. Затем видите, что ваш тест провалился, вы пишете новый код и видите, что тест пройден. Есть несколько причин, по которым это очень полезно, когда вы только начинаете карьеру разработчика:
Это важно знать для получения первой работы, потому что TDD — широко распространенная практика в техническом сообществе. Освоить её нелегко, так что чем раньше вы начнете и поймете, почему это хорошо и как TDD помогает вам в разработке приложения, тем быстрее ваши дела пойдут в гору.
Когда вы впервые создаете приложения на языке, который только изучаете, может быть довольно сложно понять, как соединить точки для создания функционального приложения. И вот тут появляются они — фреймворки.
Такие фреймворки, как Ruby on Rails (Ruby), Django (Python), Meteor (JavaScript), помогают разработчикам быстрее создавать свои приложения, поскольку им не нужно заниматься настройкой и конфигурациями. Для джуна это означает, что вам не нужно тратить много времени, пытаясь понять, как настроить сервер, маршруты или базу данных. Все эти фреймворки помогут вам в этом и позволят сразу же приступить к работе. Так что вы можете сосредоточиться на создании своих проектов. Как только вы создадите достаточное количество приложений, вы начнете понимать, почему фреймворки настроены именно так и, возможно, тогда уже перейдете к созданию ваших приложений без их помощи.
Словарное значение слова «Гибкость» — это способность делать что-то быстро и четко. Так что же такое гибкая разработка программного обеспечения?
Догадаться легко: это быстрая разработка приложений с четкой обратной связью. До того, как была введена гибкая разработка, компании были «водопадом», которые работали над приложением до тех пор, пока оно не становилось идеальным, затем выпускали его в мир и потенциально понимали, что никто не захочет его использовать.
Agile помогает преодолеть эту проблему и строит свою теорию на MVP (минимально жизнеспособном продукте). Вы создаете приложение как можно проще, публикуете его для всего мира, получаете отзывы, а затем улучшаете или изменяете его. Таким образом, вы не тратите все свои ресурсы и время на приложение, которое людям не нужно.
Для технических команд было разработано несколько гибких методологий, которые помогают в гибкой разработке программного обеспечения. Каждая из них приносит свой вклад в разработку новых продуктов. А значит, каждую из них вам стоит знать.
Ошибка большинства новичков заключается в том, что они хотят самостоятельно решить все проблемы, с которыми сталкиваются. Нет нужды говорить, что это не очень хорошо. Из-за такого подхода легко потерять мотивацию и загубить свою карьеру на корню.
Когда вы сталкиваетесь с проблемой, которую не можете решить, ищите решения в Интернете. Старайтесь не тратить больше 2-х часов на то, чтобы разобраться в ней самостоятельно. Эффективнее будет спросить кого-нибудь и быстрее получить помощь. Вполне вероятно, что вам просто не хватает какой-то маленькой детали, например точки с запятой. Конечно, проблемы могут быть сложнее, но, тем не менее, не бойтесь просить о помощи. Все сталкиваются с одинаковыми проблемами, и техническое сообщество любит помогать.
Важно уметь описывать проблему четко и ясно. Если вы не зададите правильные вопросы, вы не получите правильных ответов. Понимание того, о чем спрашивать, обычно приходит при создании приложений. Чем больше вы строите и чем больше понимаете, тем лучше вы будете искать решения в Интернете. Это очень важно для вашего потенциального работодателя. Они не захотят нанимать кого-то, с кем нужно возиться, как с ребенком и приносить всю информацию на блюдечке. Конечно, ваши коллеги в компании помогут вам, когда вы застряли, но вам нужно проявить инициативу и объяснить, что вы пробовали раньше и что искали, чтобы упростить процесс. Будьте активны в поиске решений.
Когда вы только начинаете что-либо изучать, вы, как правило, доверяете всем ресурсам, которыми пользуетесь. Так делать не нужно. Ресурсы заполняют информацией люди, и никто из нас не идеален. Существует множество библиотек или приложений, которые написаны не так хорошо, как могли бы. Поэтому чтобы найти хороший и чистый код, лучше читать, исследовать и экспериментировать.
Почему это важно? Вы не станете доверять сторонней компании, у которой решение написано в 100 строках, когда вы можете уместить то же самое решение в 10. Подумайте, как этот код может повлиять на ваше приложение — он может замедлить его, он может сломать его, это может быть небезопасно. Не доверяйте каждому фрагменту кода или библиотеке, которые вы видите. Размещение кода в Интернете или создание библиотеки ничего не стоит. И этим могут воспользоваться не очень хорошие люди.
Вы можете многому научиться, читая книги, проходя онлайн-курсы или даже посещая семинары. Не бойтесь запачкать руки, создавая бесполезные приложения, которыми никто не будет пользоваться. Используйте их, чтобы узнать, как все работает. Даже если вы не закончите свой проект, просто подумайте о том, что вы узнали то, чего не знали раньше. Любая информация, полученная вами в результате экспериментов, является огромным преимуществом для вашей первой роли разработчика.
Не беспокойтесь о том, как опытные люди будут создавать приложение. Сосредоточьтесь на том, как вы его построите, а затем получите обратную связь. Меньше потребляй чужой информации и больше производи собственные проекты.
Python — именно этот язык для изучения предлагала мне таргетированная реклама лет эдак 5 назад. Я на тот момент была так же далека от IT, как и от рекламы, поэтому просто скролила непонятные картинки из другого мира. Не знаю, повлияли ли они на меня за столько лет, но в результате именно Python я выбрала в качестве первого языка программирования.
На то, чтобы найти “ту самую работу”, ушли недели. На то, чтобы составить правильное резюме, ушли часы.
Почти готово.
Финальный штрих — сопроводительное письмо.
Если вам необходимо заказать проект у сторонних исполнителей, в котором отсутствуют жесткие требования к качеству, попробуйте поработать с подрядчиками по техническому заданию. Этот план поможет разработать веб-портал, красивый и удобный дизайн, создать статью для блога или услуги. Благодаря ТЗ вы сразу конкретизируете собственные пожелания и избежите “косяков”. Давайте более детально разберем, что из себя представляет этот план работ, какие есть тонкости нюансы его составления.
Украинский рынок труда в сфере IT является кандидатским. Это означает, что специалисты получают работу по принципу “не меня выбирают, а я выбираю”. Это приводит к высокой конкуренции между компаниями за лучшие кадры.
И вот тут на арену выходит HR, который либо обеспечит компанию реальным специалистом, либо же выпустит его в пользу конкурента. К сожалению, второе происходит очень часто из-за обидных ошибок рекрутера.
Добавить комментарий