Недавно я проходил собеседование на должность разработчика программного обеспечения, где работодатель попросил меня предоставить образец кода, чтобы оценить мой уровень опыта. Я предоставил приложение, которое я недавно завершил в качестве побочного проекта. В нем были основы того, что они искали в технической спецификации роли, поэтому я подумал, что этого будет достаточно. Но они вернулись ко мне через несколько дней, отказавшись от меня, так как сочли меня слишком «младшим» для этой должности. Я работал над более сложными приложениями, но этот код защищен соглашениями о неразглашении и тому подобным.
Как произвести впечатление на потенциального работодателя и избежать потенциальных судебных исков в будущем?
Первое, что нужно сделать, это запросить конкретную обратную связь от работодателя. Не все работодатели откликнутся на такой запрос — может быть против политики говорить что-либо, кроме принятия или отклонения кандидата. Другие могут быть более откровенными с советами и предложениями.
Поскольку вы представили свой собственный код, а не образец компании, вы должны получить некоторые другие мнения о вашем коде. Code Review Stack Exchange — один из вариантов. Если у вас есть друзья, которые также являются разработчиками программного обеспечения, они тоже могут помочь. Если вы работали над проблемой, предоставленной компанией, вы должны спросить их, прежде чем передавать код кому-либо еще, поскольку они могут не оценить потенциальные решения своих проблем с кодированием, размещенные в общедоступных местах, даже если решение не соответствует их стандартам. .
В будущем, если вас попросят предоставить образец кода, вы можете спросить их, есть ли у них что-то конкретное, что они хотели бы увидеть, или проблема, которую вы можете решить. В идеале вы бы решали это в технологиях, которые использует компания, если вы их знаете, но некоторые компании относятся к этому более терпимо и больше смотрят на общие подходы к решению задачи.
Если компания не предлагает проблем, вы можете найти примеры. Вы можете перейти на Project Euler , Programming Praxis , TopCoder или Programming Puzzles и Code Golf Stack Exchange . Создайте репозиторий GitHub и потратьте столько времени, сколько считаете нужным, на разработку некоторых примеров. Что разумно, зависит от вас. Поскольку это общедоступные образцы, я бы последовал моему совету, приведенному выше, — попросите других людей просмотреть и оставить отзыв.
Представление о том, что программисту нужно портфолио, распространено, но оно оказывает огромную медвежью услугу отдельным людям. Многие рабочие места связаны с созданием проприетарного программного обеспечения и программного обеспечения с закрытым исходным кодом, а также более 40 часов в неделю усилий, оставляя мало времени вне работы, чтобы иметь личную жизнь, а также создать достойное портфолио. Если компания не желает уважать и понимать природу надлежащего программного обеспечения и потребность людей в балансе между работой и личной жизнью в процессе найма, это будет огромным красным флагом в отношении корпоративной культуры и отношения к сотрудникам.
На этот раз тебе не повезло. Просмотрите код, который вы использовали, чтобы увидеть, насколько хорошо он написан. У вас нет возможности узнать, был ли это образец кода или просто какой-то парень, увидевший его, которому не понравилось, как он был изложен.
Если он хорошо отформатирован, хорошо написан код, то все должно быть в порядке.
Вы можете потратить кучу часов на написание бесполезного примера кода для портфолио, а можете просто двигаться вперед. Следующий потенциальный работодатель, вероятно, не будет просить образец кода.
Портфолио есть не только у фотографов и художников, но и у разработчиков программного обеспечения. Вы можете положить в него все, что вы можете придумать, что продемонстрирует ваши навыки. Преимущество серьезного портфолио в том, что вы создаете работающее приложение, которое может быть более сложным, чем образец. Вы можете опираться на него, и по мере того, как вы сталкиваетесь с новыми технологиями, вы также можете дополнять его. Разница между портфолио и образцом в том, что образец — это просто код, который вы отправляете. Ваше портфолио — это всесторонняя демонстрация вашей работы, а не просто фрагменты кода тут и там.
Для начала изучите Git и настройте себе репозиторий Github . Как только вы это сделаете, просто придумайте какой-нибудь проект, которого на самом деле не существует, и начните писать код. Взгляните на некоторые образцы проектов Microsoft, чтобы найти идеи. Затем вы делитесь этим портфолио со всеми, кому вы хотите его иметь. В любом случае, это также, вероятно, будет найдено в Google.
Во- вторых, настройте хост, на котором фактически работает ваше приложение. Пусть люди увидят, что вы умеете программировать, и ваш код действительно работает.
Ключом к успешному портфолио является полупостоянство и построение на нем. Пусть потенциальные работодатели увидят многое из того, что вы можете сделать, а не только какой-то код, который вы им отправляете.
Кроме того, примите участие в Open Source . Я тоже не могу этого предложить. Это хорошо смотрится в вашем резюме, дает вам некоторый код, на который вы можете указать, и помогает вам оттачивать свои навыки.
Джефф Этвуд (один из основателей Stack Exchange) хорошо сказал :
[портфолио] часть должностной инструкции графического дизайнера, но почему это правило не должно применяться и к разработчикам программного обеспечения? ... Любой может составить шаблонный текст резюме, полный напористых глаголов и причудливых ключевых слов. Бла-бла-предприятие, бла-бла, стратегическое бла-бла, архитектор, бла-бла. Преимущества принципа «показывай, а не рассказывай» гораздо более убедительны.
Прошу более конкретных отзывов. Что насчет вашего кода, который делает его «младшим»?
Вы также можете опубликовать его на сайте Code Review SE для получения дополнительных отзывов.
Многие разработчики не пишут код, которым они владеют, или код, которым они владеют, предназначен для небольших личных проектов/переделки и не имеет профессионального качества.
Вы должны либо получить отзывы о своем текущем коде и улучшить его, чтобы он был более высокого профессионального качества, либо объяснить, что вы не можете предоставить образец кода, но хотели бы выполнить с ними упражнение по программированию или сеанс доски.
Я полагаю, вы слышали шутку про медведя.
К счастью для вас, вам не нужно писать сверхсложное приложение или идеальное приложение, вам просто нужно написать пример кода, который так же хорош или лучше, чем тот, который представили ваши другие соискатели на ту же работу.
И эти конкурирующие охотники за работой имеют те же ограничения. Никто не может отправить код с работы. А профессиональные разработчики с хорошими сторонними проектами с открытым исходным кодом либо очень редки, либо слишком дороги для найма на большинство вакансий по разработке программного обеспечения.
Поэтому, если вы принимаете то, что сказал интервьюер, за чистую монету, это означает, что вы можете немного улучшить существующий пример кода.
Если вы не знаете, что добавить, я бы посоветовал вам спросить некоторых из ваших друзей-разработчиков в той же области и просто попытаться добавить некоторые из этих улучшений по одному. Опять же, это не займет много времени, потому что почти все конструктивное, что вы добавите, резко выделит вас среди конкурентов.
И, в конце концов, поиск работы — это тоже игра с числами, так что не принимайте слишком серьезно ни один отказ. Применить во многих местах. Работодатели используют разные способы оценки соискателей.
папарацци
Алекс_
Дэн
комар
комар