Что работодатели ищут в абитуриентах-самоучках? [закрыто]

23

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

Что работодатели хотят знать о моем опыте программирования? Работодатели хотят посмотреть на код, который я написал, или они могли бы увидеть программное обеспечение в действии? Или их волнует только то, сколько моего программного обеспечения используется / сколько оно принесло доход? Должен ли я написать о своем дизайне и стиле программирования?

Мое прошлое: я недавно закончил университет, в котором я изучал иностранные языки, и именно в это время я узнал, что программирование - это то, чем я действительно хочу заниматься. В настоящее время я программист гаража, разрабатываю программное обеспечение для клиента для коммерческого использования, продолжая самообучаться, но моя цель - начать «правильную» работу и карьеру. В качестве дополнительного повода я сейчас живу в Финляндии, но ищу работу в Китае или Японии (я изучал оба языка во время обучения за границей).

Ано Пяйвинен
источник
Обратите внимание, что большинство программ в наши дни выполняется командами (просто для того, чтобы закончить), и способность писать код в форме, ожидаемой другими, является важным навыком. Возможно, вы захотите пройти курс обучения программированию или два в вашем бывшем университете, если это вообще возможно, просто для изучения базовых навыков.
2
«выучить базовые навыки» - это не означало, что вы не знали никаких базовых навыков, но что есть чему поучиться, и нет уверенности, что вы выучили их все самостоятельно.
4
Посмотрите, что должен знать каждый майор CS . Подчеркивается важность наличия у Git портфолио опыта, чтобы показать сотрудникам, навыки Linux / UNIX, различные парадигмы программирования и многое другое. Также см . Матрицу компетенций программиста и бесплатные курсы по информатике Coursera .
Энтони
@ AnoPäivinen Кстати, не стоит недооценивать количество самоучек в бизнесе и не расстраивайтесь из-за того, что на первый взгляд может показаться огромными пробелами. Я работал с некоторыми удивительными людьми, которые были самоучками.
MrFox

Ответы:

8

Я бы сказал, что работодатели ищут такие вещи у всех заявителей-программистов (это исходя из моего собственного опыта в качестве главного разработчика, который проверяет кандидатов):

  • Способность быть гибким и быстро осваивать новые технологии (это особенно важно для программистов-самоучек)

  • Умение общаться проблемы

  • Способность решать алгоритмические и логистические задачи (важно для программистов-аналитиков)

  • Способность соответствовать стандартам и правилам местного бизнеса, т.е. Не зацикливайтесь на своем, обязательно следуйте соглашениям об именах бизнеса, в котором вы работаете.

  • Честный и трудолюбивый.

В большинстве случаев крупные компании попросят вас предоставить заявителю упражнение. Эти упражнения варьируются по сложности, но одним примером может быть кодирование многократно используемого модуля, который преобразует сумму в долларах в читаемую на английском языке строку текста, которая будет записана в чеке на эту сумму, т.е. "999,34 доллара" - "Девятьсот девяносто девять долларов тридцать четыре цента".

Важно отметить, что это будет не только код, который они будут рассматривать в этих упражнениях, но также и документация, которая идет с ним, т.е. документ, который объясняет проблемы, предположения и используемый алгоритм. Они также будут проверять ваши соглашения об именах (главным образом, проверять согласованность) и проверять четкое комментирование кода.

Аарон Мургатройд
источник
9

Ключ

Серьезно, я ищу всего несколько вещей в кандидате:

  1. базовая способность программировать
  2. интерес к программированию
  3. понимание соразмерно с образованием и опытом
  4. способность учиться
  5. доброта

Примеры: выпускник средней школы с самообучением, который решил 50 задач Эйлера: легкий найм. MSCS с 4.0 GPA, который не может объяснить разницу между TreeMap и HashMap: не нанимайте.

Кевин Клайн
источник
Можете ли вы объяснить, что вы имеете в виду с добротой? Это свойство не быть подонком?
Ано Пяйвинен
1
@ AnoPäivinen: он охватывает ряд видов поведения, касающихся обращения с коллегами, которые все сводятся к рассмотрению для других. «Рывок» определяется неспособностью учитывать других.
Кевин Клайн
Я собирался сказать, что должен прийти на работу для вас, исходя из ваших требований, но я понятия не имею, что такое дерево / хэш-карта. После трех лет жизни и разработки программного обеспечения / веб-разработки меня все еще бросают в интервью для вещей, о которых я никогда не слышал. Заставляет меня чувствовать, что я ничему не научился. Иногда я клянусь, что вы все это выдумываете. Либо так, либо я действительно ничему не научусь, пока меня не наймут.
Джош Кэмпбелл
@Josh: получить копию «Введение в алгоритмы». Любое издание.
Кевин Клайн
1
@ papercuts: Если вы подаете заявку на стажировку, то я думаю, что было бы разумно упомянуть, что вы решили n задач Эйлера, где n> 20. Ваша цель с резюме - получить звонок. Информация, которая показывает некоторую способность на самом деле программировать, не повредит.
Кевин Клайн
3

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

Прежде всего, никогда не пишите «работа в Китае или Японии» . Звучит как «Финляндия или Австралия» (без обид). Они совершенно разные, и тебе придется выбирать.

Кроме того, работа в другой стране обычно означает более высокие налоги для компании, различные ограничения (например, нанять одного иностранца, приходится нанимать N местных жителей) и так далее. Поэтому, чтобы быть принятым на работу в Китае, вы должны быть действительно хороши в том, что делаете .

На самом деле, у вас есть два лучших варианта:

  • Выпускник в стране вашего будущего. Это даст вам (а) знания в области национальных стандартов; (б) деловые контакты; (в) официальный диплом (который может быть важнее, чем вы думаете). Также, как и везде, крупные компании связываются с университетами, чтобы найти наиболее выдающихся студентов, и у вас есть хорошие шансы быть одним из них.
  • Обратитесь в международную компанию, имеющую филиалы в Китае. Вы можете поговорить с отделом кадров и согласиться работать определенное время на местной должности, а затем переехать в ту же компанию (меньше бумажной работы). Имея языковой и культурный фон, вам будет легче. И к моменту переезда у вас уже будет практический опыт работы в сфере ИТ в компании.
bytebuster
источник
Спасибо за идеи! Может показаться странным, что я выбираю между Китаем (Шанхаем) и Японией, они очень разные, но мне они оба очень нравятся. Но я пока не могу решить, какой из них лучше, поэтому я стремлюсь к обоим и посмотрим, что произойдет. Интересно, имеет ли это смысл!
Ано Пяйвинен
Вы можете любить их обоих. Просто убедитесь, что ваши приложения предназначены для китайского и японского рынков труда. Может быть, разные сопроводительные письма также будут полезны, как в этом ответе .
bytebuster
2

Что работодатели хотят знать о моем опыте программирования?

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

Работодатели хотят посмотреть на код, который я написал, или они могли бы увидеть программное обеспечение в действии?

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

В качестве дополнительного повода я сейчас живу в Финляндии, но ищу работу в Китае или Японии (я изучал оба языка во время обучения за границей).

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

Калеб
источник
3
«Поставьте себя на их место: если бы вы нанимали кого-то, вы бы выбрали парня, который может не знать, что делать с компилятором» - для многих компаний это полностью зависит от того, насколько они дешевы.
фунтовые
2

Я бы сказал, что наиболее важные навыки, которые программисты-самоучки могут не иметь, не зная об этом, - это инженерия программного обеспечения и архитектура программного обеспечения.

Убедитесь, что вы знаете больше, чем просто пишете код, убедитесь, что вы знаете, что такое ремонтопригодность и как этого достичь; что такое ТВЕРДЫЕ, почему это считается хорошим и необходимым; шаблоны проектирования и др.

Кроме того, попытайтесь исправить любые плохие части вашего процесса. Например: автоматическое тестирование (что каждый должен делать!), Отслеживание ошибок, контроль версий исходного кода (также обязательно). Этот список не предназначен для включения всего, это всего лишь пример.

K.Steff
источник
2
Это то, что я обычно нахожу отсутствующим в выпускниках CS! Возможность читать O (n) для разных контейнеров, но никогда не использовала отладчик.
Мартин Беккет
2

Что работодатели хотят знать о моем опыте программирования? Работодатели хотят посмотреть на код, который я написал, или они могли бы увидеть программное обеспечение в действии?

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

Или их волнует только то, сколько моего программного обеспечения используется / сколько оно принесло доход?

Это за пределами вашей сферы ответственности, меня это не волнует, если вы не претендуете на должность менеджера проекта или выше.

Должен ли я написать о своем дизайне и стиле программирования?

Не слишком много, но, возможно, будут полезны маркеры, показывающие области интереса с вашими примерами кода.

Джим
источник
Хорошо, я не буду беспокоиться о том, как мое программное обеспечение окажется в руках клиента, и согласен хорошо его написать.
Ано Пяйвинен
2

Навыки самообучения

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

Что работодатели хотят знать о моем опыте программирования? Работодатели хотят посмотреть на код, который я написал, или они могли бы увидеть программное обеспечение в действии?

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

Некоторые другие моменты, которые могут быть очень важны для работодателей:

  1. Хорошее отношение
  2. Страсть к программированию
  3. Опыт работы с компьютером - понять, как вы понимаете основы работы компьютера и программного обеспечения.
  4. Рабочая этика и мягкие навыки
  5. Умение учиться и самосовершенствоваться
  6. История образования
  7. Предыдущий опыт работы
  8. Отсутствие предвзятых представлений
  9. Возможность задавать вопросы - Да, задавайте вопросы, а не делать предположения.
Е.Л. Юсубов
источник
1

В дополнение к другим ответам - перечислите инструменты, которым вы научились за время обучения.

Я обучал выпускников известных школ со знаменитостями, которые настаивали на написании кода Java в блокноте Windows и использовании компилятора командной строки («так лучше» - для одноклассной программы). Большинство рабочих мест используют IDE и другие инструменты программирования. И научить их, как использовать Eclipse, было проще, чем пытаться научить их SVN.

Перечислив одну или несколько сред IDE или (что более важно) один или несколько инструментов хранилища кода, вы покажете, что готовы работать с командой.

Ответ B: если вы можете попасть туда, попробуйте выставку CEBIT в Ганновере в Германии. Мы привыкли, что люди посещают наш стенд с просьбой о работе в нашей стране. Вероятность того, что вы встретите нужного человека, который может вам помочь, невелика. Или спросите их, нужен ли им местный / европейский человек, чтобы помочь им.

JQA
источник
Хороший момент в изучении разных IDE. Мое отношение к этому моменту было "whadev, я буду учить их, когда это необходимо".
Ано Пяйвинен
1
Я понимаю вашу точку зрения по поводу IDE, но я бы взял кого-то с опытом Java только из командной строки над разработчиком BlueJ!
Майкл К
0

Как только вы сможете продемонстрировать, что написали качественный код, то как и где вы научились программировать, становится менее важным. Вы создали приложение целиком, поэтому вы сможете объяснить дизайн, проблемы, с которыми столкнулись, и почему вы выбрали эти решения.

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

JeffO
источник
0

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

Если степени не доступны, известные сертификаты являются плюсом. Некоторые сертификаты не требуют курса, вы можете только сдать экзамен.

Что работодатели хотят знать о моем опыте программирования?

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

Работодатели хотят посмотреть на код, который я написал, или они могли бы увидеть программное обеспечение в действии?

Может быть. Лично я не слышал о работодателях, которые просят показать код (кроме кода, который вы пишете во время технического собеседования, в качестве теста). Если вы веб-дизайнер или дизайнер пользовательского интерфейса, в большинстве случаев они захотят увидеть некоторые веб-сайты, которые вы создали или разработали.

Или их волнует только то, сколько моего программного обеспечения используется / сколько оно принесло доход? Должен ли я написать о своем дизайне и стиле программирования?

Большинству работодателей будут интересны языки программирования, на которых вы свободно пишете код, знания, которыми вы владеете, и приобретенные навыки. То, сколько программного обеспечения используется и приносит доход, - это маркетинговые вещи, а не программирование. Большинство компаний имеют свой собственный дизайн и стиль программирования. Они ожидают, что сотрудник должен быть знаком с такими методами, как Agile, Scrum, Extreme, в зависимости от того, что они используют.

Коралловая лань
источник