Думаю, я мог бы напомнить о некоторых экзаменах, например, экзаменах MCP или BrainBench, но за них нужно платить много денег.
Если вы действительно хотите сдать экзамен, чтобы оценить свою компетентность, вы можете приобрести одно из руководств по подготовке к экзаменам MCP по ASP.NET, C# и SQL Server и посмотреть, насколько хорошо вы понимаете и усваиваете этот материал. Однако я не уверен, что это самый точный способ оценки компетентности.
Вы можете получить хорошую качественную оценку своих навыков работы с SQL Server, просто прочитав книги Ицика или Калена и посмотрев, как вы их понимаете. Для .NET прочитайте Рихтера и критически оцените себя с точки зрения концепций, которые вы найдете в этой книге. Имеют ли эти концепции смысл?
Вероятно, самый ценный способ получить обратную связь - попросить старших разработчиков откровенно оценить ваши навыки.
Если вы спрашиваете, как я оцениваю своих младших разработчиков, то это довольно просто, когда я вижу их код и их послужной список в течение нескольких месяцев, но я не считаю, что количественный анализ - лучший способ. Вместо этого я задаю такие вопросы, как:
Спросите себя, как бы ваши лидеры ответили на эти вопросы о вас. Если вы всерьез уверены, что они ответят положительно, вам будет легче "оценивать себя".
Обычно это довольно специфично для компании. Будет ряд критериев, которым разработчик должен соответствовать, прежде чем получит повышение или продвинется на более высокий уровень.
Иерархия обычно очень похожа; с общими (совокупными) критериями перехода на следующий уровень. По моему опыту, это примерно следующее:
1 Выпускник / недавний опыт работы
2 Младший / Стажер-разработчик
3 Разработчик
4 Старший разработчик
5 Ведущий разработчик
Когда меня спросили о подобном, я прочитал от кого-то здесь на SO, что
he will try to answer the questions on SO.
Позвольте мне перефразировать это,
Я попытаюсь измерить свою производительность с помощью чьих-то вопросов и ответов.
Сказав это, я не буду сравнивать свою компетентность с коллективным знанием здесь, на SO.
Честно говоря, все относительно. Я работал в командах, где младшие разработчики из одной команды превосходили старших разработчиков из другой команды во всех отношениях. В разных условиях разные наборы навыков будут цениться по-разному.
Что касается "проверки" ваших навыков, то довольно удобная проверка может быть проведена прямо здесь, на StackOverflow. Ищите вопросы по .NET и пытайтесь на них ответить. На те, на которые вы не можете ответить, учитесь у тех, кто на них отвечает. Повторяйте, повторяйте. Это не очень структурировано, но определенно может быть полезно.
Также полезно просто следить за некоторыми крупными блогами и посмотреть, можете ли вы быть в курсе того, о чем они говорят, и попытаться внедрить что-то из этого в личные побочные проекты, просто чтобы учиться и практиковаться.
Единственный способ действительно оценить уровень своего мастерства - это продвигать его вперед. Найдите то, в чем вы не до конца разобрались, и изучите это. По-настоящему опытный разработчик никогда не является экспертом, скорее он просто более опытен, чем был вчера.