Re[3]: что должен уметь senior?
От: alzt  
Дата: 18.07.18 19:47
Оценка:
Здравствуйте, Sharov, Вы писали:

A>>Если ему надо, чтобы кто-то сказал, что делать, то максимум мидл. Если нужна нянька, то джуниор.


S>От предметной области зависит. Можно и для senior'а няньку приставить в случае сложной предметной области, чтобы каждый шаг обговаривать.

S>А так, согласен. Вопрос -- должен ли при этом разрботчик разбираться в предметной области?

Нянька — это человек, который будет присматривать за джуниором, чтобы тот не накосячил. Будет подсказывать ему, что делать, помогать планировать, рассказывать как тестировать и как писать тесты.
Разработчик абсолютно не обязан разбираться в предметной области, кроме нишевых (игры, банки, драйвера и прочее), но в этом случае ему выдаётся консультант. При этом консультант может вообще не уметь программировать и приглядывать за программистом он просто не может.
Re[2]: что должен уметь senior?
От: IID Россия  
Дата: 18.07.18 21:52
Оценка: +1
Здравствуйте, Kolesiki, Вы писали:

M>> — понимать ассемблер


K> И формат 3.5" дискет. Тебя чё, разморозили что ли??


Как можно быть хорошим программистом и не понимать ассемблер при этом ?
Это же не равносильно не понимать, как твой код в итоге работает. Даже если он на каком нибудь питоне. Ведь всё в итоге уходит в нейтив, и исполняется на CPU (GPU пока вычеркнем).
kalsarikännit
Re[5]: что должен уметь senior?
От: IID Россия  
Дата: 18.07.18 22:07
Оценка:
Здравствуйте, copypaste, Вы писали:

C>Поэтому, кстати, "20-летний сениор" — это как "ортодоксальный еврей", оксюморон. Для того чтобы набраться опыта нужно время.


Я начал программировать в 13 лет.
В 14 мне стало мало скорости ЯВУ, выучил ассемблер, по единственной доступной матричной распечатке таблицы команд, в которой опечатки были на каждой третьей строке.
В 15 написал первую игру полностью на высокооптимизированном ассемблере, порядка 4kloc. Предварительно отреверсив десяток фирменных игр, чтобы изучть все подходы к реализации быстрой графики. Плюс все сопутствующие утилиты сделал, включая редактор уровней и уровни в нём. По технологиям игра не уступает фирменным (на той платформе).
В 18 лет уже на IBM PC экспериментировал с 3D графикой, делал свой растеризатор, перспективную коррекцию при текстурировании. Иннер-лупы тоже на ассемблере, чтобы можно было анимации делать, а не рендерить кадр полчаса.

И это во времена когда не было или только начинал появляться интернет.
Тогда компьютер был у 1 из 100, компьютеры эти были в ТЫСЯЧИ раз слабее сегодняшнего недорого ПАЯЛЬНИКА , а основным источником знаний был отладчик и чужой код.
Сейчас набраться опыта в миллион раз проще. Проблема может быть только в отсутствии интереса (и лени).
kalsarikännit
Re[8]: что должен уметь senior?
От: IID Россия  
Дата: 18.07.18 22:09
Оценка: 5 (1)
Здравствуйте, De-Bill, Вы писали:

DB>Самый простой пример Кармак, который в 26 был одним из самых "влиятельных" разработчиков индустрии компьютерных игр.


Забавный факт: Blizzard, для своего Warcraft-1 сетевую часть по протоколу IPX писала, основываясь на сетевом коде из DOOM.
kalsarikännit
Re[3]: что должен уметь senior?
От: Kolesiki  
Дата: 19.07.18 02:58
Оценка: -1 :)
Здравствуйте, IID, Вы писали:

IID>Как можно быть хорошим программистом и не понимать ассемблер при этом ?


Легко! Достаточно иметь общие понятия: о памяти — что ОЗУ — его мало, харда — много, но медленно, что есть несколько ЦПУ, способных без труда перемолотить пару сотен потоков. Что сеть — это всегда потенциальная точка сбоя. Короче, не зная вообще ни одной ассемблерной команды, можно абсолютно спокойно писать хорошие, оптимизированные программы.

Я понимаю, что вам, старпёрам, очень жалко своё время, потраченное на изучение таблицы GDT, написание DOS-резидентов, выжимание тиков из каждой перделки... но просто прими это — асм больше не игрок, просто приятная вещь для ПОНТОВ в курилке.

IID>Это же не равносильно не понимать, как твой код в итоге работает.


Ну в такую-то дурь не надо скатываться! Надо знать язык, а не во что разворачиваются лямбды или итераторы. И уж тем более, пофигу во что они превратятся после JIT. Как я говорил выше, не надо понтов на пустом месте — даже зная АСМ трёх машин, я не вижу сколь-угодно полезной особенности этих знаний при написании C# кода.
Re[6]: что должен уметь senior?
От: Kolesiki  
Дата: 19.07.18 03:03
Оценка: :)
Здравствуйте, IID, Вы писали:

IID>... а основным источником знаний был отладчик и чужой код.


Ну, как грится, п***ть — не мешки ворочать! Прям таки и вижу малолетнего усатого гения, который по дампам игр(!!!) изучил теорию 3D, вектора, перемножение матриц... Родной, остынь! От понтов уже тошнит и прямо скажем, ЗДЕСЬ ты никого не переплюнешь, тут полно людей, которые тоже много чего делали. Главное — приходи к нам в 21 век: тут уже лямбды, DSL'и, макроязыки всякие... для жизни больше не нужен "адрес памяти экрана".
Re[7]: что должен уметь senior?
От: De-Bill  
Дата: 19.07.18 03:36
Оценка:
K>Ну, как грится, п***ть — не мешки ворочать! Прям таки и вижу малолетнего усатого гения, который по дампам игр(!!!) изучил теорию 3D, вектора, перемножение матриц...

Для работы с 3D уровня того времени не нужна была никакая теория, вектора, перемножение матриц. Достаточно было знания математики 8го класса или просто 2х формул (синус суммы и косинус суммы), всё остальное выводилось соображающим школьником на бумажке. А основным челенжем была оптимизация быстродействия. Писать на голом ассемблере, конечно, уже и тогда смысла не имело никакого, но ассемблерные вставки были вполне полезными.

K>Главное — приходи к нам в 21 век: тут уже лямбды, DSL'и, макроязыки всякие... для жизни больше не нужен "адрес памяти экрана".


Мда... лябды, DSL и макроязыки — это 21й век?
Re[12]: что должен уметь senior?
От: mizuchi Земля  
Дата: 19.07.18 04:39
Оценка:
Здравствуйте, neFormal, Вы писали:

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


M>>ну отдели. опиши, что значит знать c++ на 100% и определи кол-во процентов на которое ты его знаешь.

M>>а если не нашёл? но они есть. и сколько их есть — как ты можешь знать?

F>планка же меняется.

F>находятся баги, появляются новые фичи.

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



при чём тут меняется она или нет? если она менятся, то ты ещё более себе противоречишь


даже если бы планка не менялась, то нельзя было бы знать что есть 100% знания
---------------------

nothingness.space
Re[4]: что должен уметь senior?
От: mizuchi Земля  
Дата: 19.07.18 04:49
Оценка: 1 (1) +1
Здравствуйте, Kolesiki, Вы писали:

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


IID>>Как можно быть хорошим программистом и не понимать ассемблер при этом ?


K>Легко! Достаточно иметь общие понятия: о памяти — что ОЗУ — его мало, харда — много, но медленно, что есть несколько ЦПУ, способных без труда перемолотить пару сотен потоков. Что сеть — это всегда потенциальная точка сбоя. Короче, не зная вообще ни одной ассемблерной команды, можно абсолютно спокойно писать хорошие, оптимизированные программы.


K>Я понимаю, что вам, старпёрам, очень жалко своё время, потраченное на изучение таблицы GDT, написание DOS-резидентов, выжимание тиков из каждой перделки... но просто прими это — асм больше не игрок, просто приятная вещь для ПОНТОВ в курилке.


ну напиши например майнер крипты, который быстрее всех тех, что уже есть.

зная только php, c# и html.


или какую-нибудь крипто-библиотеку.
---------------------

nothingness.space
Re[13]: что должен уметь senior?
От: neFormal Россия  
Дата: 19.07.18 07:16
Оценка:
Здравствуйте, mizuchi, Вы писали:

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

M>при чём тут меняется она или нет? если она менятся, то ты ещё более себе противоречишь

при том, что объём знаний, требуемых для заявления об их обладании, меняется. то, что вчера было доступно кр00тому синьору, сегодня преподают на первом курсе.
и нет тут противоречий. нужно бежать со всех ног, чтобы просто оставаться на месте.

M>даже если бы планка не менялась, то нельзя было бы знать что есть 100% знания


поэтому экспертов такого уровня у нас и нету.
а вот в старых стагнирующих технологиях это намного-намного проще.
...coding for chaos...
Re[9]: что должен уметь senior?
От: neFormal Россия  
Дата: 19.07.18 07:21
Оценка:
Здравствуйте, IID, Вы писали:

DB>>Самый простой пример Кармак, который в 26 был одним из самых "влиятельных" разработчиков индустрии компьютерных игр.

IID>Забавный факт: Blizzard, для своего Warcraft-1 сетевую часть по протоколу IPX писала, основываясь на сетевом коде из DOOM.

да что там. половина геймдева на рубеже тысячелетий была на основе Q2/Q3.
...coding for chaos...
Re[4]: что должен уметь senior?
От: Vlad_SP  
Дата: 19.07.18 08:00
Оценка: +1
Здравствуйте, alzt,

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


К сожалению, это очень распространенное заблуждение. Программист, который абсолютно не разбирается в предметной области, способен наворотить таааакого!... Плавали, знаем-с. И "консультант" ему тут не помощник. Во-первых потому, что консультант не понимает, как будет работать программный код программиста. И во-вторых потому, что некие "мелочи", нечто, для консультанта само собой разумеющееся и даже не требующее пояснений, для программиста может оказаться нежданным неизвестным фактором, способным отправить в /dev/null всю разработку целиком.
Re[5]: что должен уметь senior?
От: _Artem_ Россия  
Дата: 19.07.18 08:10
Оценка:
Здравствуйте, Vlad_SP, Вы писали:

V_S>И во-вторых потому, что некие "мелочи", нечто, для консультанта само собой разумеющееся и даже не требующее пояснений, для программиста может оказаться нежданным неизвестным фактором, способным отправить в /dev/null всю разработку целиком.

Это что за архитектура такая, что некие "мелочи" могут отправить всю разработку в мусорку? Если предусмотреть возможность изменений, то максимум потребуются некоторые переработки архитектуры. А минимум дописывание недостающего.
Re[7]: что должен уметь senior?
От: IID Россия  
Дата: 19.07.18 09:04
Оценка: 5 (1) +1
Здравствуйте, Kolesiki, Вы писали:

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


IID>>... а основным источником знаний был отладчик и чужой код.


K>Ну, как грится, п***ть — не мешки ворочать! Прям таки и вижу малолетнего усатого гения, который по дампам игр(!!!) изучил теорию 3D, вектора, перемножение матриц...


Как говорится — смотрю в книгу, вижу фигу

Своё первое 3D я сделал в 16, ещё в 11 классе, в 1996 году. Вывел формулы поворота на основе арктангенса.
Матрицы, аналитическая геометрия была на 1-ом семестре первого курса. Т.к. мехмат. Узнал что в школе мне буквально чуть-чуть не хватило, одного преобразования, чтобы остаться с чистыми синусами и косинусами. Ну а матричная форма — она и так интуитивно понятна. Вот обратные матрицы — это уже веселее. Причём за константное время и без циклов. Чтобы, например, камеру из произвольного положения вернуть в начало координат, повернув весь мир.
На первом курсе мне было 17 лет.
Так что да — в 18 я имел весь нужный математический аппарат для 3D, включая сплайны и диковинные кватернионы.
kalsarikännit
Re[9]: Оффтоп
От: Sharov Россия  
Дата: 19.07.18 09:14
Оценка: +1
Здравствуйте, IID, Вы писали:



DB>>Самый простой пример Кармак, который в 26 был одним из самых "влиятельных" разработчиков индустрии компьютерных игр.


IID>Забавный факт: Blizzard, для своего Warcraft-1 сетевую часть по протоколу IPX писала, основываясь на сетевом коде из DOOM.


На сколько я знаю, это какой-то спец писал, не Кармак. На сколько я понял, при всем величии Кармака как программиста, весь rocket science в движках,т.е. математику, разработал/сделал Абраш.
Кармак все это дело грамотно написал. Могу и ошибаться.
Кодом людям нужно помогать!
Re[8]: что должен уметь senior?
От: IID Россия  
Дата: 19.07.18 09:20
Оценка:
Здравствуйте, De-Bill, Вы писали:

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


Имело всю дорогу, до появления массовых 3D ускорителей.
Вот любопытная дока от одной из ведущих финских демо-групп второй половины 90х-начала 00х.
В ней разбираются самые быстрые иннерлупы текстурирования полигонов, фиксированная точка, учёт субпиксельной и субтексельной точности (помните "дрожащие" текстуры в sofware render движках?)
И оптимизация этих inner loop с учётом линий кеша и U- V- конвееров массовых тогда Pentium.
kalsarikännit
Re[8]: что должен уметь senior?
От: mizuchi Земля  
Дата: 21.07.18 23:38
Оценка:
Здравствуйте, IID, Вы писали:


IID>Своё первое 3D я сделал в 16, ещё в 11 классе, в 1996 году. Вывел формулы поворота на основе арктангенса.


а сейчас ты в каком классе тогда??? в 34ом?


ничё себе ты древний.
---------------------

nothingness.space
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.