Как указано в названии, какова разница в многолетнем опыте работы с данным языком с точки зрения разработчиков? Например, если у одного разработчика было пять лет работы с языком A, а у другого разработчика было два года работы с языком B, а затем три года работы с языком A, будет ли между ними заметная разница?
9
Это зависит.
У меня есть друг, который склонен придерживаться одного языка, поэтому, если вы считаете его «программистом А», он имеет опыт работы с этим языком 1 год, пять раз.
Разные языки позволяют делать разные вещи. Одно из написанных мной сочинений Пола Грэхема называется « Обыгрывание средних ». В нем он пытается убедить людей учиться шутить, но он также делает несколько очень полезных замечаний:
В общем, мой совет - выучить несколько языков и узнать сильные и слабые стороны языков.
источник
Конечно, разработчик, имеющий более чем многолетний опыт работы на одном языке, лучше поймет основные библиотеки и особенности этого языка. Если языки охватывают одну и ту же парадигму (императив против функциональности), у них не должно быть больше проблем с выбором этого языка, кроме изучения этого.
Моя самая большая трудность в выборе нового языка была связана с попыткой перейти с C # на Erlang, потому что он представлял не только новый синтаксис, но и новый способ мышления о программировании.
источник
Вот что я ожидал / надеюсь:
источник
Языки не проблема. Вы можете выучить весь язык за пару дней. Что требует больше времени для освоения, так это соглашения, API и различные сторонние платформы. Когда люди просят пять лет X, они не заботятся о языке, они хотят, чтобы у кого-то был большой опыт решения проблем на этом и с этим языком, чтобы им не приходилось платить ни за какую кривую обучения.
источник
Экспертиза и обдуманная практика.
Если вы не практикуете намеренно, вы не приобретете опыт. (Вы должны проверить свои ошибки и исправить их, попрактиковаться в том, в чем вы слабы, и наличие эксперта, который скажет вам, что вы делаете неправильно, также помогает.)
Если вы не пытаетесь улучшить, вы можете быть новичком навсегда!
После десяти тысяч часов осознанной практики вы достигнете опыта. (Этот вывод из образования / обучения по всей сети.)
Если ваш программист А не практиковал сознательно, они никогда не поправляются.
Если ваш программист Б не занимался умышленно, им никогда не станет лучше.
Еще одно открытие из того же исследования: если у меня 15000 часов, а у вас 10000, и я продолжаю практиковаться, и вы тоже, вы никогда не будете лучше меня.
Знание двух языков, вероятно, сделает B лучшим программистом (при условии соблюдения правил практики).
источник
И вы используете их для языка А, я полагаю? (Понятно, что будет разница в языке B.)
Это частично зависит от различий между A и B (особенно, если мы сократим опыт второго разработчика с A). Если они довольно похожи, по существу не будет никакой разницы в опыте. Если у А есть совершенно разные понятия, то для их изучения достаточно трех лет. Учитывая очень большую библиотеку и сложные инструменты, может быть разница между тремя и пятью годами.
Конечно, здесь важнее всего личность. Хороший разработчик может тщательно изучить новую платформу за три года, и это не должно быть проблемой.
источник
Я бы согласился, что язык есть язык, а понятия есть понятия.
Моя проблема в том, что в наши дни существует большое количество программистов, которые без сложной IDE вообще не могли бы программировать. Они на самом деле не программисты, но больше похожи на дизайнеров.
По личному опыту я знаю, что многие люди были соблазнены непростой средой разработки Microsoft. Неверно, что они помещают текстовое поле на экран, затем устанавливают свойства с помощью мастера и перетаскивают данные из изображения базы данных, но действительно ли они являются программистами на каком-либо языке, если все, что они делают, - это устанавливают базовые тесты на равенство?
Эти люди никогда не смогут взять изученные ими Концепции и применить их к другому языку.
Когда я интервьюирую людей, меня больше интересует, как они делали свою разработку и какие фреймворки они использовали. Мне нравится задавать вопросы типа «Как вы пишете обработчик событий?», «Как именно вы помещаете данные в БД?» Или даже «Как сделать эту кнопку пурпурной, когда я нажимаю на нее?» это быстро отсеет дизайнеров и оставит программистов. Я обнаружил, что 3 или 4 года на самом деле программирования с год на моем языке выбора достаточно для того, что мне нужно.
Просто другое мнение,
Tal
источник
«Многолетний опыт работы с языком / платформой X» - это во многом патология найма ...
Он открыт для интерпретации и не так полезен, как кажется на первый взгляд. Как уже было сказано, «Мифы о многолетнем опыте» хорошо читаются.
Кроме того, очень важно, что измерение самого «многолетнего опыта» может быть очень неточным. Вот пример из моего нынешнего выступления: моя основная задача - разработка и поддержка веб-приложения на Java. Тем не менее, это работает на стороне сервера, который является MFC / C ++ / SQL Server. Следовательно, я имею дело с кодом C ++ практически ежедневно. НО - этот опыт C ++ является относительно поверхностным и ориентированным на обслуживание, и я больше не пишу большие компоненты или программы с нуля на MFC / C ++ (хотя я привык в предыдущих ролях).
Могу ли я считать эти последние 5 лет как "5 лет опыта в C ++"? Может быть. Возможно, нет. В зависимости от того, как я хочу продать его, чтобы получить определенную роль, я могу легко переиграть его без откровенной лжи, или я могу признать, что на самом деле это не было 5 солидных «лет опыта C ++». :) Я уверен, что множество подобных случаев так же открыты для такого рода проблемы «неточности измерения». Глубина опыта может сильно омрачить качество опыта. Таким образом, «количество времени, проведенного с C ++» само по себе ничего не значит.
источник
Да, Программист 1 не имеет синтаксического знания языка B.
Концепции программирования являются концепциями программирования. Язык - это просто синтаксис.
источник