Оцінка рівня програміста

  • тестування
  • програмування

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

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


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

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


Загалом, підкажіть будь ласка якісь ресурси для об'єктивної оцінки своїх знань і навичок, або взагалі якісь методи. Хочеться пізніше піти в IT компанію, але не можу навіть уявити яким із напрямків і на кого можу претендувати Junior | Middle.

Оцінка вартості і знань працівника у кожної компанії своя. Де то більше цінуватимуть розуміння вами патернів проектування і знання тієї предметної області де ви будете працювати. Де то найважливішим буде ваше прагнення розвиватися і доводити до кінця.
Деяким компаніям набагато важливіше, що б ви розуміли особливості та підводні камені мови на якому вам доведеться писати. А є компанії в які ви ніколи не потрапите якщо не працювали з системами контролю версії і баг трекінг, будь ви навіть тричі геній!

Людина коштує рівно стільки, скільки йому готові платити. Я в цьому переконався на власній шкурі. Найгірше що з вами може статися, якщо ви зрозумієте, що знаєте вже дуже багато. У цей момент ви помрете як фахівець.

Особисто моя порада буде таким: походіть на співбесіди, навіть не заради того що б змінити роботу, а просто що б поспілкуватися з розумними людьми і зрозуміти основні потреби ринку. Я думаю після цього ви самі складете адекватну оцінку себе.

І патернів я не знаю, хоча часто чую про них, але все часу немає, і якось більш насущні речі потрібно вивчити. Намагався використовувати систему контролю версій, але так і не зрозумів навіщо вона потрібна коли працюєш один і пам'ятаєш всі зміни =)

З приводу вашої поради - велике спасибі. Буквально пару місяців назад ходив на пару співбесід, але враження залишилися самі капосні. Багато чого я розповісти про свої проекти не можу, бо NDA. Лише про парі, і то в загальних рисах. На одному з них начальник сам не знав навіть модель OSI, а на другому мало не з гавном змішали. Хоча на всі питання на кшталт відповідав правильно і розгорнуто, та й не складні вони були. За підсумком сказали, що навіть тест мені дадуть, бо нічого не знаю, стажу немає. досвіду теж. Однак увечері подзвонили і сказали що я підходжу.
Так що бажання просто так по співбесідах ходити якось не хочеться = (Та й часу немає. Працюю з 9 до 18, часто після роботи залишаюся. А собеседуют в основному в робочий час. Але все одно, велике спасибі за пораду.

Так є компанії, які люблять змішувати людей з продуктами життєдіяльності. Намагайтеся не сприймати їх всерйоз як правило працювати в таких компаніях, теж неприємно.

Патерни рекомендую почитати, усвідомити, спробувати, а потім знову перечитати. В іншому я вважаю походи на співбесіди самим цікавим заняттям. За останні 3 роки я відвідав не менше 50 і майже кожен раз виносив для себе щось нове.

Дозвольте і мені висловити свою точку зору. Як правильно зазначили вище, об'єктивно оцінити знання програміста по числовий шкалою (хоч по 100..0-бальною), мабуть, неможливо. Та й напевно не потрібно, так як в кожній компанії вимагають різні знання (хто ще крім компаній буде вас оцінювати?).

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

У непрофільних ж - робота програміста найчастіше необхідна для підтримки внутрішньої інформаційної інфраструктури, від ІТ-фахівців потрібно лише, щоб вони просто виконували свою роботу ( «працює - ну і добре, стеж, щоб не зламалося»).

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

З приводу співбесід. Ходити на них - весело, якщо вибрати правильний настрій. Уявіть собі, що ви взагалі не хочете потрапити в цю компанію, а прийшли лише показати все, що ви вмієте, «який ви з себе хороший фахівець». Звичайно, не варто випинати своє ЧСВ при співбесіді - ведіть себе природно; в той же час, побиватися в разі невдачі не варто - ви ж зовсім і не хотіли до них йти працювати.

Забагато тексту вийшло ...

Схожі статті