Как стать автором
Обновить

Комментарии 26

«В комментариях приветствуется обсуждение и здоровая критика данной классификации. „
Честно говоря, вообще не понятно, зачем всё это. Вся информация сейчас доступна онлайн. Кроме того,

“Bagtrack»
Создавать свой трекер ошибок на основе ФС — вообще странная затея, когда есть специальные инструменты. Я уже не говорю о том, что трекер должен быть доступен нескольким людям с нескольких рабочих машин. Или у вас в этой папке только хранится теоретическая информация о трекерах, а ошибки вы там не описываете?

«программист, разработчик. Два понятия близки по значению, но всё же разработчик это более высокий уровень»
Тут тоже, если честно, не совсем понятно, откуда вы взяли такую классификацию. Если про различия в кодер/программист в русскоговорящем сообществе кто-то и говорит, то про программист/разработчик — от вас я услышал в первый раз.
«Создавать свой трекер ошибок на основе ФС — вообще странная затея»
Вы всё не так поняли. Я имел ввиду, что всё перечисленное надо знать, уметь пользоваться.
«программист/разработчик — от вас я услышал в первый раз»
В книжках так писали. А чем по вашему отличается программист от разработчика? Или это одно и тоже?
«В книжках так писали. А чем по вашему отличается программист от разработчика? Или это одно и тоже?»
Ага, я думаю, что это одно и тоже. По крайне мере, думал раньше так. Сейчас смотрю — stackoverflow.com/questions/27516/whats-the-difference-between-programmer-and-software-engineer — тоже есть люди, которые поддерживают вашу точку зрения. Так что, видимо, сколько людей — столько и мнений.
Тот, кто изучит все что вы написали, станет программистом-разработчиком 80-го уровня.
Но зачем нужна эта классификация?
Умение пользоваться багтрекером и умение пользоваться хотя git — очень разные по сложности задачи.

Языки программирования и фреймворки в разных папках — IMHO нелогично, потому как фреймворки связаны с конкретным языком
программирования. Если я PHP Быдлокодер, мне учить directX будет странно…
А я и не говорю что всё это надо учить, это просто классификация знаний. Это недостижимый идеал, как Солнце.

«Языки программирования и фреймворки в разных папках — IMHO нелогично»
Изучение языка программирования подразумевает освоение синтаксиса и «идеологии» данного ЯП. А изучая фреймворки смотрите на готовые решения и узнаёте как их правильно применять. Эти категории разные, хотя и близкие, разный подход в обучении — разные знания по типу.
Какой же это идеал?
Как только вы поработаете несколько лет в каком-то конкретном проекте, у вас немедленно появятся новые отрасли, которые захочется изучить подробнее, и которых в вашей классификации нет.
Какой сферы знаний, необходимых для разработки ПО, нет в моём классификаторе? Приведите пример.
Вообще ничего нет по архитектуре различных железячных платформ.
Шины, разные (отличные от x86) процессоры, вообще нет электроники.

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

Многие разделы у вас несвязаны… Как тестирование можно было отнести только к методикам, если существуют целые языки программирования специально связаны исключительно с автоматизацией тестирования?
«Вообще ничего нет по архитектуре различных железячных платформ.
Шины, разные (отличные от x86) процессоры, вообще нет электроники»
Как нет? Категория Platform — аппаратная платформа, сюда входят все «железячные» вопросы.

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

«Многие разделы у вас несвязаны… Как тестирование можно было отнести только к методикам, если существуют целые языки программирования специально связаны исключительно с автоматизацией тестирования? „

Языки программирования это в большей степени теория, синтаксис. А тестирование это практика, знание инструментов тестирования и методик. Определённо разные понятия.
Окей, с таким подходом к классификации, удачи вам.
offtop:
Из чего состоит «абстрактный разработчик»?

Из абстрактного кофе, помноженного на абстрактную лень =)
Bagtracker — система отслеживания… сумок???
Я же писал: «Для придания лаконичного вида всему каталогу названия папок состоят из одного слова на английском языке.» Это просто условные названия категорий в классификаторе знаний.
Ааа, понял. Исправил букву. Да вы лингвист как я посмотрю.
А вам, как я посмотрю, вообще пофиг на грамотность?)
Всю эту «классификацию» можно заменить на <любой поисковик по вашему выбору>. Ваш программист/разработчик 80 уровня, к тому моменту, когда он все это изучит — превратится в древнего динозавра со знаниями о давно позабытых технологиях.

Есть конкретная задача — поисковик в руки, ищете адекватные современные подходы и инструменты и решаете.
Чтобы что-то найти, нужно примерно представлять что ищешь! Также добавлю, что некоторый объём знаний должен быть в голове. Вы представляете себе разработчика, который на каждый свой шаг открывает Гугл и ищет как сделать что-то?
Одно дело — примерно представлять. Другое дело — прочитать кучу книг по каждой из перечисленных вами категорий. Последнее — излишне и совершенно не нужно. И не сделает из человека идеального программиста. Получится программист, запомнивший кучу лишней и не понятно для чего нужной ему информации, к тому же успевшей уже устареть на несколько лет.

По сути дела, даже самая свежая, только что вышедшая из печати книга по любому фреймворку, библиотеке, базе данных, платформе, приложению и т.п. уже является устаревшей, так как пока ее редактировали и готовили к печати — в обсуждаемом предмете успело произойти множество изменений. Уже давно гораздо эффективнее учиться не по книгам, а по онлайн-мануалам и референсам, в которых, к тому же, часто можно найти и комментарии и советы пользователей, — как начинающих, так и опытных профессионалов.
Ну и стоит разделить теоретическую базу от знания конкретных технологий. Теоретическая база остается актуальной дольше.
Когда программист понимает, что программирование — это не цель, а средство для зарабатывания денег начальником и теми, кто приходят к нему с заказами. И тогда он стремится отойти от программирования и занять позицию, по другую сторону баррикад, где язык программирования уже не Java или C#, или С++, а деньги…
Как-то сильно философски и ниочём.
Если у вас есть конкретная работа, вы изучаете то, что именно в ней используется. У вас сразу меняются приоритеты, и фильтруется ненужное. В результате вы становитесь эффективным разработчиком, который выполнил работу, изучив необходимые для нее сведения.

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

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

А теперь представьте человека, который ещё толком не определился со своей специализацией и нигде не работает. Он приходит устраиваться на работу и говорит: «Я толком ничего не умею, но ведь есть Гугл, где всегда можно найти любой ответ. Возьмите меня кем-нибудь».

Моя классификация не расставляет никаких приоритетов между категориями. Она не говорит что раньше учить, а что позже. Она вообще не говорит, что всё это надо учить. Это просто попытка структурировать знания в сфере разработки ПО.
Методика подходит, если хочешь стать эрудированным. Если хочешь стать эффективным, то следует поискать другие методы. «Мудр не тот, кто знает многое, а тот, кто знает нужное.» ©
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории