PDA

Просмотр полной версии : Матрица компетентности программиста


scrat
03.07.2009, 04:12
Недавно натолкунлся на достаточно интересную страничку (http://dev.by/page/programming_matrix) на dev.by.

Наверное будет полезно всем.

Fata1ex
03.07.2009, 04:27
Интересная вещь, спасибо. Видно в какую сторону идти.

Gar|k
03.07.2009, 11:17
да интересная классификация ) у меня разброс по некоторым пунктам от 0 до 3 х ггг

Fata1ex
03.07.2009, 12:45
Дада, это как раз самое интересное - где-то твердая 2-3, а где-то 0-1 :)

razb
03.07.2009, 13:18
Дада, это как раз самое интересное - где-то твердая 3-4, а где-то 0-1
Ага, аналогично. Вообще интересная вещь )
scrat += 3

scrat
03.07.2009, 13:38
Дада, это как раз самое интересное - где-то твердая 3-4, а где-то 0-1 :)
я вот для себя открыл что я вообще не имел дело с юнит-тестированием и алгоритмы у меня в подвешенном состоянии, а надо бы 3

Rebz
03.07.2009, 13:45
я вот для себя открыл что я вообще не имел дело с юнит-тестированием и алгоритмы у меня в подвешенном состоянии, а надо бы 3
кстати, уверен, что многие их (юнит-тесты) для себя открывают. Как-то раньше не особо осознавали, что программер не только должен писать код, но и тестировать его).

alex912
03.07.2009, 14:41
осталось туда добавить знание английского и можно вешать на стенку :)

desTiny
03.07.2009, 15:46
программер не только должен писать код, но и тестировать его).
а потом подгонять под непройденные тесты :)
/*
--ну откуда взялся этот WA на 67-ом тесте??
(через 3 часа усиленного дебага):
--а какого хрена оно вообще работало?
*/

Ra$cal
03.07.2009, 16:19
дык это ж и гуд. без теста проблемный код остался бы незамеченным =)
зы: кто еще не юзает тесты - начинайте. это очень мощный помощник в кодинге. как минимум позволяет адекватно определить порядок создания функционала. плюс помогает видеть слишком сложные методы, которые требуют рефакторинга, когда они выполняют слишком много обязанностей и непонятно как и что именно в них тестить =)

desTiny
03.07.2009, 17:46
//просмотрел табличку по ссылке
знание prolog убило :)
так дойдёт и до чего-нибудь вроде "также программист обязан уметь искать хорновские интерполянты формул специального вида"

slesh
03.07.2009, 18:33
Судя по моей работе web-программист должен уметь:
1) иметь навыки вебдизайнера
2) уменять писать программы для работы с БД на Delphi + MsSQL
3) Писать системные программы для работы с контроллерами.
4) писать разного рода сетевые программы
5) быть постоянно хорошим грузчиком.
6) уметь чинить свой и чужие компьютеры.
7) быть саппортом при возникновении затруднительных ситуаций при работе с MS Office
8) чинить принтеры и менять картриджи.

Жаль этого в таблице нет ))

Kaimi
03.07.2009, 18:39
Судя по моей работе web-программист должен уметь:

Ты явно куда то не туда устроился...

nerezus
04.07.2009, 04:45
Хороший юнит-тест должен покрывать 5-10% кода. Если больше - то написание его будет самоцелью.
А по табличке 3-4 примерно(индексы с 1 :) ), некоторые пункты ниже.

Судя по моей работе web-программист должен уметь: На моей первой работе меня тоже называли программистом, хотя программирование не входило в мои обязанности и я не написал ни строки кода за эти полгода ;)

slesh
04.07.2009, 10:21
Ну я инженер-программист отвечающий за работу сайта, его модернизацию и добавление новых возможностей, но на практике оказываюсь обычным эникейщиком

Зато у нас на работе есть типа - тоже инженер-программист но при этом единственное чем он занимается - работа в фотошопе и он незнает вообще языков программирования)

А главное есть девка 19 лет - техник-программист. У которой 2 прямых задачи - работа с БД и чинить компы. (чесно говоря сам офигел когда впервые увидел как она комп собирала из двух поломанных)

И девка лет 26 есть еще которая полностью по MsSQL кодингу и некоторым прогам.
Весёлый отдел короче ))

Но самое главное мы все программисты!!! ))) Вот так вот и появляются на свет программисты со стажем которые в глаза компиляторы не видели

Forcer
04.07.2009, 11:26
постоянно пишу unit-test'ы. планирую попробовать TDD.

Хороший юнит-тест должен покрывать 5-10% кода. Если больше - то написание его будет самоцелью.
5-10?! смеешься? это вызвать геттеры и сеттеры - вот и будет 5-10. =))

У нас в проекте требуемое покрытие - 80%, знаю проекты где нужно 100 %. Это скорее всего больше чем нужно. 60% достаточно. Но когда пишешь unit-test - проверяешь главную функциональность - у тебя получается у класса покрытие ~70-80 как правило. А 5-10 - это вообще ничего.

Как-то раньше не особо осознавали, что программер не только должен писать код, но и тестировать его).
А еще он должен следить за сложностью кода и стилем. Я про метрики, findbug и checkstyle. Но обо всем этом программист узнает, когда устроивается в хорошую фирму, когда происходит его становление как разработчика. Тогда он и понимает необходимость юнит-тестов, полезность метрик, findbug и checkstyle.

nerezus
04.07.2009, 23:42
5-10?! смеешься? это вызвать геттеры и сеттеры - вот и будет 5-10. =)) 100% покрытие - это в несколько раз больше, чем код.
Поэтому ненапряжно только основные вещи покрывать тестами. Не мелочь, а крупные интерфейсы.
Если что-то ломается, то уже известно примерное место бага и его будет отследить гораздо проще.

_antony
05.07.2009, 00:36
А мне кажется , что главное это воображение и хорошая алгоритмическая база , все остальное приходящие =)

[n]-c0der
05.07.2009, 01:07
А мне кажется , что главное это воображение и хорошая алгоритмическая база , все остальное приходящие =)
Я тоже грибы люблю...

sn0w
05.07.2009, 01:59
ниасилил, в силу того что пост не на одной паге %))

ааа. хехе, голяка - поставьте вмето n 1 или 0 и получите что аффтар - мудной и нудный мудаг =) (не к тс адресовано)

ppps: ДА И ВООБЩЕ ЗАЕБАЛИ ВСЯКИЕ ДЕБИЛЫ СО СВОИМ ПРАВОПИСАНИЕМ. пусть своих детей учат. Ведь мы то лучше, а?! ;)

sn0w
05.07.2009, 02:11
Судя по моей работе web-программист должен уметь:
1) иметь навыки вебдизайнера
2) уменять писать программы для работы с БД на Delphi + MsSQL
3) Писать системные программы для работы с контроллерами.
4) писать разного рода сетевые программы
5) быть постоянно хорошим грузчиком.
6) уметь чинить свой и чужие компьютеры.
7) быть саппортом при возникновении затруднительных ситуаций при работе с MS Office
8) чинить принтеры и менять картриджи.

Жаль этого в таблице нет ))


какой же хитрый?? самый что нинаесть тупой программист! =))))))))))))))))

Ra$cal
05.07.2009, 03:11
это ж белорусский рубль. курс посмотри =)

ps: книги лучше покупать на http://books.ru

ultimatum
05.07.2009, 04:32
Как то у меня в разброс в таблице все идет )

Forcer
05.07.2009, 07:52
100% покрытие - это в несколько раз больше, чем код.
100% покрытие это значит что во время работы теста вызываются все методы тестируемого класса. А это в свою очередь может обеспечиваться вызовом одного метода тестируемого класса. У меня при 100% покрытии как правило unit-test'ы примерно такие же как и тестируемые классы. Больше всего места занимает настройка - моки, стабы, и ассерты.

Ra$cal
05.07.2009, 13:33
если юзать TDD то кода тестов будет ровно стока, скока нужно для проверки основного функционала. Гетеры\сетеры тестить смысла нету, если они тривиальные.

Forcer
05.07.2009, 14:34
если юзать TDD то кода тестов будет ровно стока, скока нужно для проверки основного функционала. Гетеры\сетеры тестить смысла нету, если они тривиальные.
про геттеры-сеттеры я сказал потому, что не знаю как другим способом 5-10% покрытия. Это можно сделать либо дернув только геттеры/сеттеры, либо такое может быть когда нащ тестируемый класс юзался другим классом и некоторые методы дергались во время работы юнит-теста для другого класса. Тогда у нашего тестируемого класса может быть небольшое покрытие. Если же мы пишем юнит-тест для конкртеного класса и проверяем его основную функциональность - то покрытие будет большим - и никак не 5-10%.

nerezus
09.07.2009, 23:18
100% покрытие это значит что во время работы теста вызываются все методы тестируемого класса. А это в свою очередь может обеспечиваться вызовом одного метода тестируемого класса. У меня при 100% покрытии как правило unit-test'ы примерно такие же как и тестируемые классы. Больше всего места занимает настройка - моки, стабы, и ассерты. Т.е. ты считаешь при покрытии только внешние методы? Тогда согласен.

slesh
10.07.2009, 10:05
2 sn0w ну если учесть что из месяца работой занят только 5 дней в общем случае, то это даже хорошо. А так просто лазею постоянно по инету. За исключением что сцуки привозят по 40 ящиков бумаги периодически.

Forcer
11.07.2009, 15:14
Т.е. ты считаешь при покрытии только внешние методы? Тогда согласен.
я сам не считаю :) - IDE считает. а на серваке - teamcity. и коверэйдж считается по количеству строк кода отработанных в ходе теста.