Какой уровень компетенции описывает термин «Рабочие знания»?

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

В частности, сообщение о вакансии, которое я видел, требовало «рабочего знания языка ассемблера». Я столкнулся с языком ассемблера, когда работал над учебником Raspberry Pi «Baking Pi», целью которого было написать очень простую ОС на ассемблере. Тем не менее, я никогда не занимался кодированием на этом языке, поэтому я не чувствую, что смогу сделать какую-либо полезную работу со своими знаниями ассемблера.

«Я не чувствую, что смогу сделать какую-либо полезную работу со своими знаниями сборки». У вас нет "рабочих знаний" сборки.

Ответы (4)

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

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

А как насчет возможности свободно кодировать что-то, используя справочные материалы? Я программировал более или менее кратко во многих вещах, обладаю теоретическими и некоторыми практическими знаниями почти во всех существующих концепциях и т. д. и т. д. Я чувствую, что этого было бы недостаточно в книгах большинства людей, даже если Я лично знаю, что могу довольно быстро начать работу с этим материалом. Я полагаю, что я должен сделать некоторые вещи на языках, актуальных на рынке, прежде чем искать работу.
@Asmageddon, люди всегда кодируют с помощью «справочного материала», такого как Stackoverflow и руководств по коду / вики. Вы же не ожидаете, что люди будут все заучивать наизусть, не так ли? Или вы имеете в виду что-то другое, когда говорите «справочный материал»?

«Рабочее знание» отражает низкий уровень компетенции в какой-либо области — ожидается, что вы будете работать с инструментом, но не обязательно должны быть экспертом в этом инструменте.

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

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

Практические знания: 1. Знание того, как заставить что-то работать без более глубокого понимания того, почему это работает или как это исправить, если оно сломается.

Что касается разговора в кулере с водой , вот источник, подтверждающий это: en.wiktionary.org/wiki/working_knowledge
@CMW Не возражаете, если я включу это в свой ответ?
@Zibbobz дерзай. Вы написали в основном то, что я написал бы, если бы написал ответ.
@Zibbobz, что сказал Эндерленд. Я украл у него ссылку.
@Zibbobz, разве ваш ответ не противоречит другому ответу выше с 23 голосами?
@Pacerier Вовсе нет. Но это указывает на то, что стандарты «рабочего знания» могут различаться у двух разных людей. Хотя я считаю, что возможности работать с языком в уже существующей программе и решать программные проблемы в этой существующей программе достаточно, чтобы квалифицироваться как «рабочий язык», это с точки зрения технической поддержки. Инженер-программист (ответ, набравший наибольшее количество голосов) будет больше заинтересован в том, может ли человек создать всю рабочую программу на этом языке, и немного меньше заботится о ее последующем обслуживании.

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

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

Что ж, я был бы очень рад, если бы меня наняли на основе моих ограниченных знаний языка ассемблера, поскольку мне очень нравилось его использовать, и я чувствую, что это будет отличная возможность для меня уделить больше времени этому предмету. Возможно, тогда я обладаю соответствующими рабочими знаниями? :-)
Не "уделять больше времени предмету" - можете ли вы как-то продуктивно поработать над ним в свой первый день? Если нет, то это еще не «рабочее знание».

«Я не чувствую, что смогу сделать какую-либо полезную работу со своими знаниями сборки». У вас нет "рабочих знаний" сборки.

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

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