Re[7]: Программирование за 10 лет
От: Aikin Беларусь kavaleu.ru
Дата: 09.12.08 11:35
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>по моему разумению это окончание учебы в школе-начало учебы в университете.

I>Т.е. человек начинающий работу уже готовился 5 лет. что бы стать спецалистом хорошим ему нужно в среднем еще 5 лет.
I>Итого — 10, а не два, полтора или "месяцы"
У меня есть знакомый, который только недавно закончил 10 класс, а уже отлично разбирается в .net, взял Summer of Code и которого пригласили в Гугл. Да тут даже универом не пахнет.Но это экстраординарный случай.

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


А теперь рассмотрим меня:
5 лет матфака, почти никакого программирования, цель аспирантура и остаться на кафедре (моя кафедра "рулила" в универе).
Снимают ректора и ставят человека с другого факультета. Смысла оставаться в универе не осталось.
За 2 месяца самостоятельно изучил C#, сдал брейнбенч на мастера и меня взяли в одну из офшорных контор города (200+ программистов).
Полгода трачу на обучени Лотусу (зря потраченное время). Попадаю на .net проект. Через год становлюсь техническим лидером и архитектором проекта (неформально, конечно). Через 1,5 одним из ведущих .net специалистов в конторе. Через 2 считаю, что расти в конторе уже некуда (в профессиональном, а не карьерном смысле), тупо закалачиваю бабло и самообразовываюсь в свободное время.

Да, устроился я 2,5 года назад. Так что программерского опыта у меня именно 2,5 года + 2 месяца подготовки.



Вывод: да насрать на уровень подготовки человека, главное чтобы были Способности и Желание
Автор: Кодёнок
Дата: 09.12.08



СУВ, Aikin

P.S. Кодёнок, ничего что я заменил "талант" на "способности". Мне кажется это слово больше отражает требования к "кандидату".
Re[2]: Программирование за всю жизнь
От: Aikin Беларусь kavaleu.ru
Дата: 09.12.08 11:40
Оценка:
Здравствуйте, Tilir, Вы писали:

T>Лично я замечаю за собой что вот уже семь лет профессионального программирования (и около одиннадцати от того момента как я впервые увидел досовский Borland C) каждый год я поднимаюсь на некоторую новую вершину и впереди ещё необъятное поле.

+1

T>Какие десять лет, они там вообще о чём? Вся жизнь, меньше не получится.

Вот тут нужно остановиться и найти оценки уровня программиста и обозначить где же именно на этой шкале "начинается" программист.
Ведь дело вот в чем: один человек проучившись всю жизнь может так и не достугнуть того уровня, который другой достиг за 1-2 года.
Re[8]: Программирование за 10 лет
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 09.12.08 11:43
Оценка:
Здравствуйте, swined, Вы писали:

>> кандидат(гуманитарий со знанием компьютера), который закончил курсы

>> (язык+технология) исписал тут два листа формата A4 и это далеко не
>> единственный пример.

S>так бывает? О_о это ж задача на общую логику и в самом худшем случае

S>комбинаторику за пятый класс. для решения достаточно аттестата об окончании
S>средней школы и знания синтаксиса target языка.

Что бы решить эту задачу надо знать

1. язык
2. уметь работать со строками посимвольно
3. знать представление числев в строковом виде
4. знать общий вид целого числа
5. уметь думать логически и удерживать все составляющие в уме

итого — надо представить или записать целое число в общем виде (что уже не все могут как ни странно) и далее обработать последовательность в цикле.

задача реально сложная для вчерашних школьников

для девелоперов со стажем можно чуть чуть усложнить — (целое число или число с фиксированой запятой)
т.е. не [+|-]digit[digits] а [+|-][digits][.]digit[digits]

это добавляет еще два-три строки.

итог — лист формата А4 исписал высокооплачиваемый девелопер со опытом работы 7 лет !

или вот такая — для строки, представления числа с фиксированой запятой обрезать незначащие нули при наличии оных до 2 штук.

результат примерно то тот же — студенты решают со второй или третьей попытки.
Re[8]: Программирование за 10 лет
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 09.12.08 11:52
Оценка:
Здравствуйте, Aikin, Вы писали:

A>У меня есть знакомый, который только недавно закончил 10 класс, а уже отлично разбирается в .net, взял Summer of Code и которого пригласили в Гугл. Да тут даже универом не пахнет.Но это экстраординарный случай.


У меня есть примерно такие же знакомые, узнай у него, когда он начал интересоваться программированем. Наверняка не этим летом

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


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

A>5 лет матфака, почти никакого программирования, цель аспирантура и остаться на кафедре (моя кафедра "рулила" в универе).


A>За 2 месяца самостоятельно изучил C#, сдал брейнбенч на мастера и меня взяли в одну из офшорных контор города (200+ программистов).


5 лет матфака это очень, очень развитое мышление, например способность формализовать проблему, к асбтрактному мышлению и тд и тд. Собственно это и есть основное требование к программисту — уметь формализовать проблему и абстрагироваться в нужный момент.

A>Полгода трачу на обучени Лотусу (зря потраченное время). Попадаю на .net проект. Через год становлюсь техническим лидером и архитектором проекта (неформально, конечно). Через 1,5 одним из ведущих .net специалистов в конторе. Через 2 считаю, что расти в конторе уже некуда (в профессиональном, а не карьерном смысле), тупо закалачиваю бабло и самообразовываюсь в свободное время.


A>Да, устроился я 2,5 года назад. Так что программерского опыта у меня именно 2,5 года + 2 месяца подготовки.


и +5 лет матфака.

A>Вывод: да насрать на уровень подготовки человека, главное чтобы были Способности и Желание
Автор: Кодёнок
Дата: 09.12.08


Вывод гораздо проще — ты почему то не включил то время, во время которго у тебя формировались основные навыки.




A>СУВ, Aikin


A>P.S. Кодёнок, ничего что я заменил "талант" на "способности". Мне кажется это слово больше отражает требования к "кандидату".
Re[9]: Программирование за 10 лет
От: Aikin Беларусь kavaleu.ru
Дата: 09.12.08 12:29
Оценка:
Здравствуйте, Ikemefula, Вы писали:

Без определения критериев кого считать программистом, а кого нет считаю обсуждение бессмысленным.
Re[9]: Программирование за 10 лет
От: Кодёнок  
Дата: 09.12.08 12:47
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Вывод гораздо проще — ты почему то не включил то время, во время которго у тебя формировались основные навыки.


С такой логикой надо включить еще и дошкольный возраст — в нем формировались самые важные навыки, читать и писать. Тогда не то что 10, а 20-25 лет сразу выйдет.

I>Я знаю много таких. Это не специалист а обезьяна обученая нажимать на определенные кнопки и писать под диктовку. До девелопера ему как до небес.


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

В конце концов, намного более высокая ценность опыта — это не наша специфика, это везде так. Пусть меня поправят, если где-то не так.

A>>P.S. Кодёнок, ничего что я заменил "талант" на "способности". Мне кажется это слово больше отражает требования к "кандидату".


«Талант» подходит лучше. Просто наличие способностей не объясняет, зачем юноши сами по себе дома с компьютером возятся, зачем они потом на работе тратят дополнительное время, чтобы рефакторить и улучшать код, хотя им этого делать не обязательно, и т.п.
Re[10]: Программирование за 10 лет
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 09.12.08 12:47
Оценка: +1
Здравствуйте, Aikin, Вы писали:

A>Здравствуйте, Ikemefula, Вы писали:


A>Без определения критериев кого считать программистом, а кого нет считаю обсуждение бессмысленным.


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

Программист — специалист, который для поставленой задачи
1. строит в уме модель должного масштаба или использует готовую
2. формализует решение в рамках этой модели
3. фиксирует решение в виде создания программного обеспечения или внесения изменений в существующее.

специалист + 1 и 2 сворачивается в "инженер", но так нагляднее
Re[9]: Программирование за 10 лет
От: swined Россия  
Дата: 09.12.08 12:56
Оценка:
Ikemefula wrote:

> Что бы решить эту задачу надо знать

>
> 1. язык
> 2. уметь работать со строками посимвольно
> 3. знать представление числев в строковом виде
> 4. знать общий вид целого числа
> 5. уметь думать логически и удерживать все составляющие в уме
>
> итого — надо представить или записать целое число в общем виде (что уже
> не все могут как ни странно) и далее обработать последовательность в
> цикле.

итого, выпускник ближайшей средней школы, который не прогуливал уроки
информатики, заимплементит это на паскале чуть ли не по памяти ибо примерно
этим они в школе емнип и занимаются. ну или заимплементит все это на
java/C++/C#/etc, если он немного любопытный и пытался заниматься этим дома.

> задача реально сложная для вчерашних школьников


для них она проще всего. остальные уже могли позабывать все

> для девелоперов со стажем можно чуть чуть усложнить — (целое число или

> число с фиксированой запятой) т.е. не [+|-]digit[digits] а
> [+|-][digits][.]digit[digits]
>
> это добавляет еще два-три строки.
>
> итог — лист формата А4 исписал высокооплачиваемый девелопер со опытом
> работы 7 лет !
>
> или вот такая — для строки, представления числа с фиксированой запятой
> обрезать незначащие нули при наличии оных до 2 штук.

тоже за 7й класс задачка

>

> результат примерно то тот же — студенты решают со второй или третьей
> попытки.

а у нас в школе за неумение это сделать (или хотябы списать у того, кто
умеет ) ставили два.
Posted via RSDN NNTP Server 2.1 beta
Re[10]: Программирование за 10 лет
От: Aikin Беларусь kavaleu.ru
Дата: 09.12.08 13:26
Оценка:
Здравствуйте, Кодёнок, Вы писали:

I>>Вывод гораздо проще — ты почему то не включил то время, во время которго у тебя формировались основные навыки.

Кё>С такой логикой надо включить еще и дошкольный возраст — в нем формировались самые важные навыки, читать и писать. Тогда не то что 10, а 20-25 лет сразу выйдет.
Ну так я же так и написал, а он не согласился

A>>>P.S. Кодёнок, ничего что я заменил "талант" на "способности". Мне кажется это слово больше отражает требования к "кандидату".

Кё>Просто наличие способностей не объясняет, зачем юноши сами по себе дома с компьютером возятся, зачем они потом на работе тратят дополнительное время, чтобы рефакторить и улучшать код, хотя им этого делать не обязательно, и т.п.
Это достаточное, но не необходимое условие.
У меня (да и у тебя? думаю) перед глазами много людей, которые ничем не интересуются кроме исполнения своих обязанностей на том уровне как их когда-то научили.
И все же они профессиональные программисты. Профессиональные в том смысле, что они этим зарабатывают на хлеб, это их профессия.
Re[11]: Программирование за 10 лет
От: Aikin Беларусь kavaleu.ru
Дата: 09.12.08 13:26
Оценка: +1
Здравствуйте, Ikemefula, Вы писали:

A>>Без определения критериев кого считать программистом, а кого нет считаю обсуждение бессмысленным.


I>Это уже проходили. Сначала дай определение программиста, потом инженера, потом человека, млекопитающего, организма а как дело дойдет до бытия спор резко закончится, ибо бытие неопределяемое понятие, как множество в математике.


I>Программист — специалист, который для поставленой задачи

I>1. строит в уме модель должного масштаба или использует готовую
I>2. формализует решение в рамках этой модели
I>3. фиксирует решение в виде создания программного обеспечения или внесения изменений в существующее.
И что с этим "определением" можно дальше делать? Оно ничего не определило, а еще больше все запутало.
Каков уровень задачи? Если взять достаточно сложную задачу, то врятли хоть кого-то можно назвать программистом. С другой стороны, можно выбрать простую задачу, решить которую можно (исползуя полный цикл 1-2-3) после 5-10-минутного обучения.

Мне не нужно мне формальное определение программиста, так же не нужно подгонять теоретическую базу под это определение.
Мне будет достаточно примерного критерия. С помощью которго можно сказать программист кто-то или нет.
Re[12]: Программирование за 10 лет
От: samius Россия http://sams-tricks.blogspot.com
Дата: 09.12.08 13:33
Оценка:
Здравствуйте, Aikin, Вы писали:

A>Здравствуйте, Ikemefula, Вы писали:


A>>>Без определения критериев кого считать программистом, а кого нет считаю обсуждение бессмысленным.


I>>Это уже проходили. Сначала дай определение программиста, потом инженера, потом человека, млекопитающего, организма а как дело дойдет до бытия спор резко закончится, ибо бытие неопределяемое понятие, как множество в математике.


I>>Программист — специалист, который для поставленой задачи

I>>1. строит в уме модель должного масштаба или использует готовую
I>>2. формализует решение в рамках этой модели
I>>3. фиксирует решение в виде создания программного обеспечения или внесения изменений в существующее.
A>И что с этим "определением" можно дальше делать? Оно ничего не определило, а еще больше все запутало.
+1

A>Мне не нужно мне формальное определение программиста, так же не нужно подгонять теоретическую базу под это определение.

A>Мне будет достаточно примерного критерия. С помощью которго можно сказать программист кто-то или нет.
А зачем? Одним только критерием программиста вопрос о сроках обучения не решится.
Re[13]: Программирование за 10 лет
От: Aikin Беларусь kavaleu.ru
Дата: 09.12.08 13:35
Оценка:
Здравствуйте, samius, Вы писали:

I>>>Программист — специалист, который для поставленой задачи

I>>>1. строит в уме модель должного масштаба или использует готовую
I>>>2. формализует решение в рамках этой модели
I>>>3. фиксирует решение в виде создания программного обеспечения или внесения изменений в существующее.
A>>И что с этим "определением" можно дальше делать? Оно ничего не определило, а еще больше все запутало.
S>+1

S>А зачем? Одним только критерием программиста вопрос о сроках обучения не решится.

Чтобы можно было бы разговаривать. Иначе получается "слово против слова".
Re[2]: Программирование за 10 лет
От: COFF  
Дата: 09.12.08 13:35
Оценка:
Здравствуйте, Кодёнок, Вы писали:

Кё>У нас сроки становления работника определяются величинами в полгода-год. 10 лет — вообще не вариант. Думаю, у других так же. Какая фирма будет ждать 10 лет — фантастический срок? Среднестатистический срок работы на одном месте и то меньше.


Не могли бы Вы подробнее рассказать о своей фирме, чем она занимается, проектах в которых довелось поучаствовать, Вашем образовании и вообще, так сказать, жизненном пути? Просто приведенные цифры настолько с одной стороны, впечатляют, а с другой — не согласуются с моим и не только моим опытом, что если это все правда, то это просто прорыв в образовании и обучении. Было бы интересно взять подобный опыт на вооружение ))
Re[10]: Программирование за 10 лет
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 09.12.08 13:40
Оценка:
Здравствуйте, Кодёнок, Вы писали:

Кё>С такой логикой надо включить еще и дошкольный возраст — в нем формировались самые важные навыки, читать и писать. Тогда не то что 10, а 20-25 лет сразу выйдет.


Алгебра логики это гораздо сложнее.

Кё>Во-первых, это настоящие, нормальные девелоперы, у которых соображалка работает. Разницы в результатах с кандидатами наук не видно. Могут исследование провести, с неизвестной библиотекой разобраться, алгоритм придумать. Во-вторых, мне обезьян почему-то не попадалось. Необученные, медленно думающие — были, такие, что их работа плоха сразу по всем критериям — были, а бездумные обезьяны — нет. Есть сомнение, что такие вообще существуют. Может вам просто нравится ощущать свое превосходство над обезьянами, вот и навыдумывали


С каким к.т.н. ты сравнивал ? Вот со мной работают к.т.н. специалисты по теории графов, ажно три человека, с кем мне их сравнить из девелоперов ?

Разумеется, программить как девелоперы они не могут, зато и девелоперы не могут и близко так решать задачи как они.
Re[10]: Программирование за 10 лет
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 09.12.08 13:42
Оценка:
Здравствуйте, swined, Вы писали:

S>итого, выпускник ближайшей средней школы, который не прогуливал уроки

S>информатики, заимплементит это на паскале чуть ли не по памяти ибо примерно
S>этим они в школе емнип и занимаются. ну или заимплементит все это на
S>java/C++/C#/etc, если он немного любопытный и пытался заниматься этим дома.

видел только пару штук, которые сами интересовались и решали всякие задачки.

>для них она проще всего. остальные уже могли позабывать все


Из бесед с людьми я заметил ровно наоборот.

>> или вот такая — для строки, представления числа с фиксированой запятой

>> обрезать незначащие нули при наличии оных до 2 штук.
S>тоже за 7й класс задачка

Это очень специальная школа должна быть.

S>а у нас в школе за неумение это сделать (или хотябы списать у того, кто

S>умеет ) ставили два.

Значит очень специальная школа была.
Re[12]: Программирование за 10 лет
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 09.12.08 13:44
Оценка: :)
Здравствуйте, Aikin, Вы писали:

I>>Программист — специалист, который для поставленой задачи

I>>1. строит в уме модель должного масштаба или использует готовую
I>>2. формализует решение в рамках этой модели
I>>3. фиксирует решение в виде создания программного обеспечения или внесения изменений в существующее.
A>И что с этим "определением" можно дальше делать? Оно ничего не определило, а еще больше все запутало.
A>Каков уровень задачи? Если взять достаточно сложную задачу, то врятли хоть кого-то можно назвать программистом. С другой стороны, можно выбрать простую задачу, решить которую можно (исползуя полный цикл 1-2-3) после 5-10-минутного обучения.
A>Мне не нужно мне формальное определение программиста, так же не нужно подгонять теоретическую базу под это определение.
A>Мне будет достаточно примерного критерия. С помощью которго можно сказать программист кто-то или нет.

I>>Это уже проходили. Сначала дай определение программиста, потом инженера, потом человека, млекопитающего, организма а как дело дойдет до бытия спор резко закончится, ибо бытие неопределяемое понятие, как множество в математике.


Вобщем, не можешь привести свой аргумент — свободен.
Re[7]: Программирование за 10 лет
От: Кодёнок  
Дата: 09.12.08 13:45
Оценка:
Здравствуйте, Ikemefula, Вы писали:

Знакомые теоретизирования. Считаю это ошибкой.

Мысль такая:
— то, что радиоэлектроника изучает, как работает радио, не означает, что для сборки радио надо учить радиоэлектронику;
— то, что физика (механика) и химия изучает, что происходит в автомобилях, не означает, что чтобы научиться водить, надо их учить;

I>основы дискретной математики — это булева алгебра, ибо логика программа не своидится к if(всё сильно)


То, что булева алгебра изучает логические булевы выражения, не означает, что для изучения и применения штук типа if (File.Exists && !Path.Exists) надо учить булеву алгебру (ты сам-то как, сначала научился, затем в универе дискретка началась, или пока она не началась, с булевыми выражениями фатальнейшие трудности имел и программировать по факту не мог?)

I>алгоритмизация — вот например обход какой то структуры это уже логические выражения + циклы всякие.


То, что наука об алгоритмах изучает программы, не значит, что для написания программ надо учить науку об алгоритмах.

I>посчитать опеределитель матрицы для студента первого курса это довольно сложная задача, как ни странно, с итерациями по массивам вечно путаются.

I>Раз миф, значит миф Сообщу это студентам, раз никакого скрета нт, они завтра же смогут написать то же что и я

У новичков всегда трудности и что-то не получается. Так все устроено. Непонятно, что ты этим хотел сказать.

I>Основы дискретки — это логические выраженя например.


То, что знание True && False == False входит в дискретную математику, не значит, что обучая человека этому знанию, ты устраиваешь ему изучение дискретной математики.

Это принципиально разный подход: «учить основы дискретной математики», это грубо говоря, взять книжу с таким названием и читать все подряд, а изучить логические операторы — это взять только нужное, даже не задумываясь, к какой науке это принадлежит.

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

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

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

Заявляя новичкам «вам нужно изучить основы дискретной математики», ты оказываешь медвежью услугу и уводишь их от главного. Неудивительно, что обучение на рабочем месте за несколько месяцев кажется университетским преподам сказкой — 95% их обучения составляет изучение знаний, а самому главному — отдается только 5%, причем самые опытные (профессора) занимаются второстепенным, а главное — практики и лабораторные часто ведут лаборанты, не всегда способные проследить, происходит ли на самом деле обучение или выполняется пошаговое следование методичкам.
Re[14]: Программирование за 10 лет
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 09.12.08 13:45
Оценка: -2
Здравствуйте, Aikin, Вы писали:

S>>А зачем? Одним только критерием программиста вопрос о сроках обучения не решится.

A>Чтобы можно было бы разговаривать. Иначе получается "слово против слова".

Разумеется, у тебя то аргументов и нет. Только определения тебе подавай. Я ведь угадал на счёт бытия ?
Re[2]: Программирование за 10 лет
От: yumi  
Дата: 09.12.08 13:49
Оценка:
Здравствуйте, Кодёнок, Вы писали:

Кё>Талант первичен, желание и опыт — вторичны, всяческие обучения и курсы — десятые степени важности. Талант — это такая штука, из-за которой человек занимается программированием в собственное свободное время просто потому что ему хочется, даже если не учили, не платят деньги, не та фаза луны, и т.п. Это ни с чем не сравнится. Если есть талант, желание и обучение подразумеваются сами собой, талант включает их в себя.


Талант вообще штука абстрактная. Образование все же первично (включая самообразование).
Lisp is not dead. It’s just the URL that has changed:
http://clojure.org
Re[7]: Программирование за 10 лет
От: Lloyd Россия  
Дата: 09.12.08 13:54
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Я знаю много таких. Это не специалист а обезьяна обученая нажимать на определенные кнопки и писать под диктовку. До девелопера ему как до небес.


Позвольте поинтересоваться, в какой области вы работаете?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.