@yasniy_ezh
Космонавтика, программирование, роботы, сети.

Как определить свой уровень программирования?

Как правильно определить свой уровень знаний в области программирования?
Или где можно увидеть требования к кандитам различного уровня, то есть junior/middle/senior?
  • Вопрос задан
  • 66965 просмотров
Решения вопроса 1
index0h
@index0h
PHP, Golang. https://github.com/index0h
Эти уровни - абстракция, причем зависящая от компании. Пройдите несколько собеседований и спросите, что думает о вас интервьюер.

Юниор чаще всего - это программист с в основном теоретическими знаниями, либо наоборот только практическими знаниями. Он умеет решать более-менее стандартные задачи. Юниора обязательно надо учить. При получении нового задания он "создает" свое решение.

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

Синьйор - понимает не только то зачем использовать ту, или иную технологию, а еще и как она работает, например почему при HL форин ключи сожрут io hdd. Может спроектировать и вести средний по размерам проект. Получив новое задание он уже знает как его решить кучей способов, выбор заключается только в правильности интеграции решения.

-----------------

Многое зависит от интервьюера.
У меня был случай, собеседование на php senior developer: поговорили про HL оптимизации, архитектурные предложения для решения неких задач, способы оптимизации и т.д., а потом:
- перейдем к практике: что произойдет в таком коде:
$a = 5 + '5abc' + 'abc5';
- произойдет следующее: я посмотрю blame скрипта и поговорю с автором этой строчки, что бы узнать, что такого хренового в жизни может произойти, что бы он позволил себе это написать.
- ну, тут вопрос на приведение типов
- 10, но вы в своей практике с подобным сталкивались?
- нет
- вот и я не сталкивался...
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
opium
@opium
Просто люблю качественно работать
1000 часов Джуниор
5000 часов мидл
10000 часов сеньор
Ответ написан
Мне нравится простая аналогия которая ближе к бизнесу чем к технологиям. Например есть задача — сварить борщ. Профессионал уточнит несколько нюансов: с пампушками или свекольник, капуста квашенная или свежая. Парню с небольшим, но опытом понадобится рецепт: сварить мясо, сделать заправку и т.д. Новичок учится и ему нужно описывать весь процесс: набрать кастрюлю воды, поставить на плиту, etc.
Ответ написан
Комментировать
laska
@laska
PHP/JS разработчик
Есть много тестов, к примеру тут.
Но это не слишком хорошо отражает градацию.

Попробую обобщить мой опыт.

Junior пишет код под присмотром более опытных программистов, сам делает только простые вещи.
Middle это обычный программист, таких большинство. Он может отлично проходить любые тесты, иметь хороший опыт, знать все тонкости JS. А может и не знать.Но в любом случае он должен справляться с любой разумной задачей.
А senior это не только про JS. Он должен быть специалистом во многих смежных областях, чтобы понимать "философию JS". Как правило такие люди либо сами пишут популярные библиотеки, либо контрибьюторы в них, либо пишут книги. В общем как то двигают язык вперед.

Впрочем, есть компании в которых могут дать миддла студенту, а сеньера рядовому девелоперу. А в некоторых компаниях ступней четыре. Все относительно.
Ответ написан
globuzer
@globuzer
gezgrouvingus progreszive ombusgrander greyderzux
Соглашусь, что в различных компаниях, требования разные, а значит и уровни градации профессионализма специалистов совершенно различный.
Зависит не только от знаний языка, а от способностей вести проект, решать задачи, подходить к нестандартным задачам с новыми идеями, умение общаться в команде, работать с менеджерами, тестировщиками, коллегами. Важно не только предлагать свою точку зрения в решении задачи, но и умение выслушать своих коллег, направить общий мозговой штурм на выполнение общей цели, выполнению задачи и реализации определенного проекта. Немаловажно знание английского языка.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы