На встрече, посвященной Javascript, я услышал, как мой друг, технический предприниматель, выкупивший две компании, начал свою тираду о курсах для начинающих по кодированию и о термине «младший разработчик».
Избавляя вас от капельного сарказма, мы сделали следующие выводы:
- Младший разработчик не решает настоящих инженерных задач; они выполняют работу css и html, которую инженеры среднего и высшего звена хотят избежать.
- Младший разработчик означает веб-инженера, которому недоплачивают.
- Компания, которой нужен младший разработчик, который на самом деле «сдвинет иголку», просто хочет, чтобы разработчик не понимал своей рыночной стоимости или не имел уверенности, чтобы требовать ее.
- Младший разработчик означает, что вам нужно немного держать руку на пульсе… и в этом нет ничего плохого. Но если вы самостоятельно решаете проблемы, то вы не младший разработчик.
И все же это прославленный термин, который девяносто процентов учебных курсов для начинающих по кодированию предлагают в качестве своей визитной карточки, обещая, что выпускники уйдут с опытом, чтобы потенциально создать свою собственную компанию или внести свой вклад в крупную компанию на высоком уровне.
Здесь должен быть пробел ...
Мир младших разработчиков становится все более переполненным, и поток выпускников подрывает уверенность «зеленых» программистов в подаче заявок на высшие, интересные должности в области разработки программного обеспечения, а также в требовании оплаты, достойной программирования для решения таких задач.
Это, пожалуй, единственная отрасль, в которой «младший разработчик», казалось бы, может не иметь опыта во вторник, потому что он не ответил на вопрос SQL, а к пятнице проведет идентичное собеседование для старшего бэкэнда, потому что они практиковали присоединения и союзы в течение двух дней. Или прочитайте блоги Walmart Labs о проектировании систем. Или прочтите одну книгу по архитектурным паттернам программного обеспечения.
Я хотел быстро и грязно разработать план действий, чтобы избежать этой ловушки, из которой многим разработчикам нужно время, чтобы выбраться из нее.
Дорожная карта:
- Знайте, что есть разница между способностью выполнять работу и возможностью пройти собеседование. Нравится вам это или нет, но многие собеседования на высшем уровне сводятся к вопросам, касающимся алгоритмов и системного проектирования. Практикуйте общие алгоритмы CS, сортировки, полиномиальные вопросы и т. Д. Я большой поклонник торта для собеседования. Изучите дизайн системы, пока не составите мнение об общих проблемах, возникающих в масштабе. Я бы обратился к таким блогам, как WalMartLabs и The Netflix Tech Blog.
- Знайте основы вашего данного языка. В Javascript понимайте замыкания и обратные вызовы на очень личном уровне. Позиции высшего среднего и высшего звена будут проверять эту область с самого начала. Для этого обратитесь к источникам подготовки для начинающих, таким как Codesmith’s CSX. У них довольно много проблем, которые гарантируют, что вы можете отслеживать объем и контекст выполнения. Лучшие буткемпы заботятся об этом еще до того, как вас впустят.
- Сделайте чистый гитхаб. Идея запаха кода вполне реальна. Убедитесь, что ваш github чистый, а журналы коммитов очищены и полезны для всех, кто собирает информацию.
- Создайте github, полный проектов, которыми вы увлечены и с которыми можете поговорить.
- Постоянно смотрим на набирающие обороты технологии и ныряем в документацию. Попробуйте создать самую маленькую жизнеспособную вещь с помощью чего-то вроде GraphQL или Websockets… что-то важное, но, возможно, второстепенное. Таким образом вы можете попасть в начало многих строчек.
- Вносите свой вклад в развитие открытого исходного кода, даже если это просто написание документации.
- Узнайте, как облететь установленную кодовую базу и как можно быстрее получить понимание. Изучите git blame, git diff и git log, чтобы стать детективом кода. Научитесь использовать тест кодовой базы, чтобы получить представление о приложении.
- Посетите лучший буткемп с проверенной репутацией. Избегайте тех, в которых все студенты пишут одни и те же приложения. Рекрутеры очень хорошо знакомы с этими github и резюме. Codesmith из Лос-Анджелеса и Нью-Йорка заставляет своих студентов придумывать свои собственные флагманские проекты. Студентов специально отводят от традиционных ориентированных на пользователя приложений crud и заставляют работать над инструментами и библиотеками разработчика. Уверенность в том, что нырнул на такой глубокий уровень за такой короткий промежуток времени, часто неоценима.
Я надеюсь, что это поможет любым младшим разработчикам почувствовать вдохновение для того, чтобы сделать большой скачок к ролям выше среднего и высшего уровня!