При одновременной работе с несколькими языками программирования, как вы оцениваете опыт работы с каждой технологией?

В настоящее время я работаю программистом с четырьмя различными технологиями:

  1. Ява
  2. С++
  3. PHP
  4. Питон

Я не работаю только над одной технологией за раз, так как меня могут назначить на проект PHP, в то время как мне поручают поддерживать проект Java, в котором не хватает персонала.

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

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

В отличие от этого вопроса , я не ищу информацию о том, как форматировать список этих технологий. Я ищу, как указать мой уровень владения в них.

Вы должны разделить свой опыт на временные рамки? или вы просто думаете, что это лучше?
CMW, мой вопрос в другом. Ссылка, которую вы предоставили, требует форматирования. Я прошу разделить мой опыт, потому что я не могу перечислить свой опыт во всех четырех как 4 года. Их общая сумма составит четыре года. Надеюсь, теперь я ясно выразился. Спасибо.
Получали ли вы какие-либо отзывы от рекрутеров о том, что необходима такая конкретика?
Я смущен тем, как это отличается. У вас разные особенности, как с ними обращаться, то же самое.
Это определенно не дубликат другого вопроса. Я собираюсь внести изменения , чтобы попытаться сделать это более ясным. Если вы считаете, что это можно улучшить, или если я упустил суть, пожалуйста, не стесняйтесь редактировать свой собственный Ролен! Заранее спасибо.
более подходящая копия заданного вопроса, вероятно, звучит так: «Как мне указать знание языка в моем резюме?» «Описывать владение с точки зрения лет использования… совсем не очень полезно… Это оставляет общие термины, такие как свободное владение, опытный, компетентный и множество других, как вы заметили. Существует несколько тестов и структур языка. мастерство, которое предлагает руководящие принципы..."
@gnat, этот вопрос еще менее применим, поскольку разговорные языки не похожи на языки программирования. Изучение нового языка программирования оказывает многократное влияние на ваши «способности к программированию», что применимо к резюме. Изучение новых разговорных языков может улучшить вашу «способность изучать разговорные языки», но редко когда изучение одного разговорного языка непосредственно улучшает другой.
Проблема в том, что опыт и мастерство не одно и то же. Я бы назвал свой главный навык тем, в котором у меня нет большого опыта, так как мой другой опыт устарел.

Ответы (4)

Резюме: перечислите свой опыт программирования, а не опыт работы с каждым конкретным языком.

В более широком смысле перечислите свой опыт в навыке, а не опыт работы с каждым конкретным инструментом.

Программирование — это набор навыков, который в первую очередь ориентирован на применение определенного способа работы и практического применения алгоритмов и структур данных с использованием различных инструментов. Этими инструментами могут быть языки, различные парадигмы программирования, библиотеки, существующее программное обеспечение, базы данных и так далее. Навык программирования — это способность осмысленно комбинировать эти инструменты для достижения конечной цели.

Например, представьте, если бы вы видели кого-то, чье резюме:

Навыки и умения:

Плотницкие работы

  • Молоток и гвозди: 4 года
  • Видел: 2 года
  • Соединения типа «ласточкин хвост»: 2 года
  • Язычково-пазушные суставы: 6 месяцев

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

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

Например, можно было бы разбить его так:

Навыки и умения:

веб-разработка

  • Разработаны веб-бэкенды с использованием PHP, Java, Python для выполнения ABC.
  • Используемые языки шаблонов MVC XYZ

Серверные сценарии

  • Разработаны автоматизированные инструменты с использованием Python и C++ для выполнения ABC.
  • Интегрирован в комплекты сборки HHH для достижения бла-бла-бла.

Дело в том, что языки — это инструменты для достижения навыков, а не навыки сами по себе.

В качестве контрпримера вы можете очень хорошо знать Python и использовать Python для создания 100 великолепных масштабируемых веб-сайтов. Однако, если бы была должность, требующая от программиста проведения научного анализа данных, когда бизнес использует Python, вы могли бы быть менее квалифицированным, чем программист, который провел большой анализ данных с помощью R и немного знает синтаксис Python.

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

Например, давайте представим, что вам поручили заниматься проектом Java в течение 2 месяцев. По истечении 2 месяцев вам дали второй проект, который нужно было завершить с использованием C++, но ваш проект Java продолжал работать в том же темпе. Таким образом, еще через два месяца вы можете сказать, что фактически выполнили 3 «рабочих месяца» программирования на Java и 1 «рабочий месяц» на C++.

Но «опыт» работы с языком программирования — это не просто заявленное количество времени, в течение которого вы активно выполняли рабочую функцию с этим языком. В этом примере тот факт, что вы не занимались непосредственно Java в течение 1/2 времени на последнем отрезке, не означает, что вы не изучали его, не становились лучше в нем, даже осмотически благодаря опыту C++.

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

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

Пожалуйста. Подумайте о том, чтобы пометить ответ как «принятый», если он смог вам помочь. Спасибо!

Я использовал время только в моем трудовом стаже. Для навыков я просто перечислил используемые языки. В достижениях я давал количественную оценку, когда это было возможно. Пример:

  • Разработано и закодировано около пятидесяти тысяч строк языка Ада; разработано и проведено кодирование около тридцати тысяч KSLOC.

Резюме, которые мне понравились больше всего (обычно консультанты), имели табличную форму с тремя полями: годы использования, последний раз использования, самооценка от 0 до 10 с четко определенным значением «10» (обычно «Я писал книги о этому и учу этому других»).

Годы использования вместе с уровнем дают вам представление о том, насколько хорошо кандидат может обращаться с технологией, а « Последнее использование » дает представление о том, насколько необходимо наверстать упущенное.

Результат будет примерно таким:

| #     | Years used | Last used   |  Level (0..10) |
| C++   | 15         | 2 years ago |  8             |
| Java  | 10         | using now   |  7             |
| Linux | 15         | using now   |  6             |