Оценка уровня программиста?

Добрый день,

Каким образом можно оценить свой уровень знаний в программировании?

Я достаточно молодой специалист (21 год, 6 курс, чуть меньше года работаю), работаю в довольно большом банке в отделе экваринга (банкоматы, POS-терминалы), но по сути я занимаюсь разработкой внутреннего ПО, для нашего отдела и отчасти процессинга. Пишу в основном на Perl и Java. Как хобби изучаю дома Python и опять же Java. По характеру работы мне приходится иметь дело со всевозможным многообразием языком (человек-комбайн), начиная от C/C++ и заканчивая VB в Экселе, JS, HTML, CSS. Плюс слежение за сервером, обновления, прокладка сетей. В общем куча разноплановой работы и дизайн, и верстка, и программирование.


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

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


В общем, подскажите пожалуйста какие-нибудь ресурсы для объективной оценки своих знаний и навыков, или вообще какие-нибудь методы. Хочется позднее уйти в IT компанию, но не могу даже представить по какому из направлений и на кого могу претендовать Junior|Middle.
  • Вопрос задан
  • 36847 просмотров
Решения вопроса 3
@korvindest
Оценка стоимости и знаний сотрудника у каждой компании своя. Где то больше будут ценить понимание вами паттернов проектирования и знания той предметной области где вы будете работать. Где то самым важным будет ваше стремление развиваться и доводить до конца.
Некоторым компаниям гораздо важнее, что бы вы понимали особенности и подводные камни языка на котором вам придется писать. А есть компании в которые вы никогда не попадете если не работали с системами контроля версии и баг треккингом, будь вы даже трижды гений!

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

Лично мой совет будет таким: походите на собеседования, даже не ради того что бы сменить работу, а просто что бы пообщаться с умными людьми и понять основные запросы рынка. Я думаю после этого вы сами составите адекватную оценку себе.
Ответ написан
Weageoo
@Weageoo
Нужно просто попросить прособеседовать себя к.-л. опытного программиста, а он вас скажет ваш относительный (относительно его опыта) уровень и вашу ценность для ентерпрайза/науки.
Ответ написан
Пригласить эксперта
Ответы на вопрос 12
TheHorse
@TheHorse
Навыки программирования очень сложно оценить. Знание языка, вообще, почти не коррелируют с уровнем программиста. Знание паттернов — тоже. Частота использования гугла — тоже. Я, например, будучи программистом 10 лет, все еще по каждой мелочи пользуюсь гуглом, и так будет всегда.

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

Единственное, что могу посоветовать — поискать ответы на вопросы такого рода.
Ответ написан
sainnr
@sainnr
Позвольте и мне высказать свою точку зрения. Как правильно отметили выше, объективно оценить знания программиста по числовой шкале (хоть по 100..0-бальной), пожалуй, невозможно. Да и наверное не нужно, так как в каждой компании требуют различные знания (кто еще кроме компаний будет вас оценивать?).

Тем не менее, можно выделить несколько категорий знаний, по которым можно составить более-менее объективную картину программиста. Например, сюда можно отнести:
— владение различными ЯП;
— опыт работы с каждым из них;
— работа в команде;
— участие в OpenSource-проектах;
— наличие собственных разработок;
— знание паттернов;
— знание алгоритмов, структур данных;
— знание методологий разработки;
— знакомство с системами контроля версий, тестирования;
— и т.д.

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

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

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

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

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

По поводу собеседований. Ходить на них — весело, если выбрать верный настрой. Представьте себе, что вы вообще не хотите попасть в эту компанию, а пришли лишь показать все, что вы умеете, «какой вы из себя хороший специалист». Конечно, не стоит выпячивать свое ЧСВ при собеседовании — ведите себя естественно; в тоже время, убиваться в случае неудачи не стоит — вы же совсем и не хотели к ним идти работать.

А чтобы было о чем рассказать, в свободное время (оно же у вас есть?) разрабатывайте «для себя» разные программки. Ну например, напишите какой-нибудь парсер, поработайте с API различных систем (того же Яндекса), сделайте собственный таск-менеджер, придумайте сами интересную вам небольшую идею и доведите ее до конца. В каждой такой задаче можно найти много тонких моментов — оптимизация скорости алгоритма, структуры БД, применение паттернов, взаимодействие компонент, написанных на разных ЯП и т.д.

Многовато текста получилось…
Ответ написан
KriegeR
@KriegeR
Software Engineer
taliban
@taliban
php программист
«Сам я свои знания оцениваю как низкие, т.к. часто пользуюсь гуглом, большинство решений беру оттуда и внедряю к себе(стараясь правда понять как оно работает)»
Вот это вот плохой показатель =) Я свои знания оцениваю как выше среднего, но тоже часто пользуюсь гуглом, а знаете почему? До меня такую работу уже делали, вдруг кто-то сделал ее лучше меня, почему бы этим не воспользоваться?
Если хотите уходить, и не можете выбрать куда, идите на вакансию постарше, если не пройдете на мидла но у них будет вакансия на джуниора, они Вам ее предложат.
Ответ написан
Adam_Ether
@Adam_Ether
Java Developer
Попробуйте сходить на собеседование например в Yandex/Google/Intel (нужное подчеркнуть, в городе на буковку М.), возможно, объективно оценят, если примут и согласятся на «цифры», значит Вы нужный им специалист. А если Вы будете нужны такой вставить имя компании сюда, значит вы программист высокого уровня.
Кстати говоря, компаниям выше нужны сильно заточенные под язык и предметную область люди.
Ответ написан
Есть некое количество компаний, которые занимаются независимым тестированием и сертификацией, где можно оценить различные скиллы, в том числе программерские, или пригодность для той или иной роли (роль это некий набор требуемых скиллов). Раньше популярным был brainbench.com — там устраивали бесплатные тестирования в качестве промоушена и даже высылали сертификаты. В России получение брейнбенчевских сертификатов было национальным видом спорта. Сейчас, похоже, все только за деньги, но можете попробовать поискать какие-то стартапы, они для раскрутки тоже могут проводить бесплатное тестирование.
Ответ написан
jolasveinninn
@jolasveinninn
Посмотрите разработанные АПКИТ профессиональные стандарты в области ИТ для программистов, там описано какими навыками и знаниями должен обладать специалист того или иного уровня.
Ответ написан
7workers
@7workers
Попробуйте наоброт — сначала решить, сколько хотите зарабатывать, и потом «померяйтесь» с кем-нибудь с такой зарплатой.
Ответ написан
@sav_mon
Рекомендую бесплатный курс "Программировать может каждый" pmok.ru
Ответ написан
@Happi
Был заказ от фирмы оценить программистов разработали тест.
Пока каждый желающий может пройти бесплатно.
aiti112.blogspot.ru
анкета внизу блога
Ответ написан
Ваш ответ на вопрос

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

Войти через TM ID
Похожие вопросы