Не очень понимаю, почему первые считают себя программистами. Но коли им так нравится, пусть
Я давно уже понял что профессиональный шовинизм это ярко-выраженная черта на хабре, но делает ли это вам чести и заслуживает ли рассмотрения?
не познал графов и связывающий их с олимпиадами
И вот как на вас в принципе реагировать? Вы себя считаете самым умным, выпячиваете своё превосходство и при этом не в состоянии читать и понимать собеседников, а сейчас вообще скатились до вранья. Где я графы связал с олимпиадами? Вы написали о графах, я ответил что не в курсе что это. Всё.
рассказывает нам истории о Федях, которые не смогли в разработку
В какую разработку? Где вы такое вычитали? Вы живёте в своем выдуманном мире, научитесь читать и адекватно вести беседу.
Это уже обход графа. Графы окружают нас везде
Ну и славно, как это связано с тем что незнание алгоритмов (или знание) на что-то явно влияет?
Вот я ничего не знаю про графы и вполне успешно пишу софт когда мне это требуется, не вижу связи.
И немалая часть нашей работы заключается в различных фильтрациях, трансформациях, поисках и пр. по графам.
Я рад за вас и вашу работу где так много всего интересного, только к разговору это не относится.
Пожалуйста, не надо больше историй про Федь, олимпиадников и медалистов.
При всём богатстве своего ума вы совсем не умеете в аналогии, не умеете читать написанное и не вникаете в суть беседы. Эгоцентризм в высшей стадии.
давно подмечено что высокие мужчины и женщины чаще закомплексованы и находят себе в пару не человека мечты, а того кто придётся, поэтому пары для обоих гендеров выглядят как высокий + мелкий дрыщ. Пардон что не смогу привести пруф в виде статьи, читал об этом давно и не знал что придется её цитировать.
Ну и вопрос - как это связано с нашим разговором?
Как возможности могут не влиять на уровень дохода?
Потому что сами по себе возможности это статичное состояние, а вот реализация этих возможностей - это уравнение на X переменных. Сложность именно в их реализации, так как часто просто абсурдная ситуация - человек не осознает что имеет какую-то возможность.
Как пример - на вещевых рынках в 90-е был минимум людей с высшим образованием, так же как сегодня малый бизнес состоит преимущественно из людей с базовым образованием. Так как например я не знаю как я могу продать свои знания теории относительности или умение программировать МК, а они не обременены такими терзаниями и муками выбора, они сдают металл оптом, участвуют в гостендерах, гоняют бригады из таджиков на ремонт кровли, вот так и живут на свой 1%. то есть они не только умеют реализовать то что им дано природой, но и способны найти возможности там, где их, казалось бы, и вовсе нет.
Поэтому сам факт знания алгоритмов ни на что не влияет, это просто факт. Если так не понятно, можно придумать миллион примеров, например факт наличия у меня двух удочек и спиннинга тоже никак не влияет на мои доходы, потому что я не рассматриваю даже их как средство для заработка. Ну или так - если ко мне придёт человек и скажет - пойдем к нам работать, будешь применять свои знания программирования МК, зарплата 10000 зеленых - я откажусь, так как я не хочу этим заниматься совсем (как показывает практика, то что интересно мне в МК вообще не продаётся, так как у бизнеса совсем другие запросы, в свою очередь то что бизнес продаёт и за что был бы мне готов заплатить, я вообще не рассматриваю как работу). То есть наличие возможности никак не меняет доход, её обязательно нужно уметь/хотеть реализовать. Если вы в своей жизни руководствуетесь сугубо тем что вы всегда хотите всё что бы вам не предложили (лишь бы платили) и вы считаете что все на планете обязательно видят возможности и априори их умеют применять - то вы уникум.
Например я очень хороший оратор и в жизни много говорю (и пишу, вы наверное заметили), но я и говорю и пишу только когда мне это действительно хочется. Поэтому например я никогда не читаю лекций и не веду занятия дольше короткой фазы с одной группой, так как я не могу повторять одно и то же годами или в неделю прочитать одну и ту же лекцию 4 группам например в разные дни - я лучше застрелюсь. Поэтому я и не состоялся как программист-работник, я не хочу программировать кому-то что-то мне неинтересное. А то что интересно мне - я не умею продавать.
кажется пользовался таким в 90-е из какой-то стандартной либы
ни обхода графа в ширину
Про графы знаю только то, что они есть, а что это и как работает - представления не имею. Возможно какая из функций стандартных либ и использует их, но я не имею привычки изучать внутренности чужого кода.
ни каких-нибудь очередей
Писал двунаправленную очередь на ASM 8088 на лабораторной году в 1993, больше никогда не пользовался (за исключением каких-то стандартных списков TList или чего-то подобного на их основе, я знаю что это не LIFO/FIFO, я в целом о потребностях).
никаких DSL
Не представляю что это
никаких интерпретаторов
BASIC, если вы о чем-то другом, то я не в курсе
сложных парсеров
делал как-то разбор JSON на awk стандартными средствами, делал разбор xml на Си, но это под конкретную узкую задачу, по принципу "посчитал и выкинул"
Чем вы занимались эти 35 лет?
Очевидно что всем чем угодно, но только не перечисленным вами.
Встречный вопрос - с чего вы взяли, что вами перечисленное используется всеми программистами мира во всех задачах? Я ни когда не писал ничего для обработки сигналов, потоков видео, tcp/udp и т.д. и т.п. Я вообще не представляю как с такими вещами работать и какие там технологии, библиотеки, фреймворки, железо и т.п. И почему собственно я обязательно должен всё это знать? Потому что кто-то в интернета так считает?
Если в вашей конторе в месяц платят столько сколько на фрилансе платят за 3ч, странно что Федю к вам вообще занесло
Вы путаете палец и сами знаете что. Если Федя не способен решить простую задачу, то и сложную он не решит и вопрос тут не в деньгах. Федю к нам занесло как студента-отличника, он хотел набраться опыта, прошел собеседование, но не прошел проверку временем. Тут опять же скорее всего эффект регионального вуза, я за Москву вообще говорить не стану, возможно там ситуация с отличниками и медалистами как-то отличается, но думаю не сильно, так как олимпиады и реальность вообще никак не пересекаются.
Уж не знаю насколько хороший пример, но я был круглым отличником с 3 по 5 курс, диплом на 5. НО!!!! И ЭТО ВАЖНО! Я самокритичен и я знаю каковы реально мои знания и умения, я себя оцениваю на 2-3 балла. А отличником я был, потому что получение оценки 5 вообще никак не связано со знаниями и умениями. Мы были "переселенцами из республик" и для меня была важна повышенная стипендия, я смог её получить, просто за первые курсы я понял как работает система и "хакнул" её. Преподаватели - это просто люди, и если ты всё делаешь по их шаблону отличника, то 5 тебе гарантировано. Была только одна преподавательница по менеджменту, которая проверяла именно знания, но это был один экзамен - согласитесь, выучить один предмет не составит труда, когда остальные у тебя на 80% стоят автоматом. И я нигде и никогда не скажу, что я великий программист, ну или хотя бы синьор или лид, я порой даже на джуниора не гожусь, но, отмечаю еще раз, в статье указываются просто программисты, нигде не указан какого уровня, с каким дипломом и какими навыками и, как для вас не парадоксально, я тоже попадаю в число программистов.
Поэтому если где-то есть программист которому алгоритмы нужны ежесекундно, то всегда найдется такой, которому они не понадобятся никогда в жизни. Это неоспоримый факт. И уж если вы себя считаете умным, то спорить с ним ГЛУПО.
Так мой изначальный пост как раз об этом. Больше половины ответивших мне почти дословно пытаясь мне доказать необходимость знания алгоритмов в итоге пишут ту же самую мысль что озвучиваю и я. Всё же знание алгоритмов не помогает вам читать и понимать написанное :) Если вам всё же непонятно разберу ваши же слова:
Индивидуальные обстоятельства индивидуальны
Абсолютно верно, именно поэтому нет никакой прямой зависимости от знаний алгоритмов и уровня оплаты труда.
Но имея больше знаний, у вас больше возможностей
Несомненно, но возможность нужно уметь реализовать. То есть мы опять упираемся в тезис выше по тексту - ваши возможности никак не влияют на ваш уровень дохода напрямую. Скажу чуть больше - нужно так же уметь выбирать работу на перспективу, это тоже серьезный скилл и неправильно выбранная работа сегодня, пусть и с хорошим доходом, может привести вас к потере времени, а возможно и утрате веры в себя, когда крах проекта из-за горе-стартаппера, вы почему-то примете на свой счёт и просто уйдя в жёсткую депрессию уничтожите себя как специалиста. Рассуждать так можно бесконечно ибо "индивидуальные обстоятельства индивидуальны".
Да, банально, интервью в фаанги зная алгоритмы пройти легче
Мы говорим о всех людях сразу, о всех индивидуальных обстоятельствах сразу, мои слова охватывают всё множество возможных программистов на планете и со всеми уровнями скиллов. А вы загоняете разговор в какие-то конкретные рамки. Хорошо, давайте сведём в одну таблицу общее число ИТ специалистов, общее число программистов в них, общее число программистов знающих алгоритмы хоть немного, общее число программистов знающих алгоритмы весьма профессионально и основательно и общее число программистов проходящих тесты фаанг (я не знаю что такое фаанг, поэтому пишу повторяя за вами).
У меня нет таких чисел, но интуитивно я уверен что последние две позиции весьма малочисленны, но так как ни вы ни автор статьи даже не пытаетесь в разговоре обозначать весьма малочисленную группу людей, а оперируете общими значениями всех-всех-всех программистов, то и мои комментарии будут с вами несогласны.
Надеюсь мой комментарий достаточно фактологичен, рационален и понятен?
То есть я зная алгоритмы и теоретически (с ваших слов) обязательно должен получать больше, но сознательно отказался от этого в пользу другой работы? Что-то не сходится.
и в чем её важность? я озвучил своё мнение о том, что НЕзнание алгоритмов не мешает карьере программиста, как и знание алгоритмов. То что вы прямы как лом в чтении по диагонали - я не виноват.
Без обид, но если вы с 35 годами опыта работаете за 300 баксов "без знаний алгоритмов" - то это лучшая реклама их учить.
Чем плох интернет - все думают что жизнь всех людей идёт по возрастающей и абсолютно у всех одинаковая, как в семье так и в карьере. Я нигде не написал что я программист сейчас, нигде не написал что 300 баксов это моя зарплата за программирование. Я вам рассказал о том, что за то время пока я программировал, мне знания алгоритмов никак не пригождались, совсем. И моя максимальная зарплата за карьеру была 2500 баксов в 2008 году, если вы позволите, я вам не стану показывать свою медкарту и объяснять причины, по которым я сегодня рад и 300 баксов, но уверен, что "федя со знанием алгоритмов" в моей ситуации, тоже не остался бы при своих.
Если учесть озвученную зп, то Вася работает за пятерых за копейки
во-первых это было очень давно и за копейки работали оба, только вася работал, а федя страдал и отлынивал, как недооценённое чудо. Мы не знаем что сейчас с васей и с федей, финалы их карьер могут быть самые разные, но за пример взят конкретный момент и полезность конкретного человека с конкретными регалиями.
Это человек, который обладает развитым алгоритмическим мышлением, умеет писать код, знает структуры данных, когда и как их применять, умеет решать задачи. Что из этого не нужно в программировании?
Это не так. Я преподаю много лет и нет ничего хуже медалистов с регалиями, который на куче олимпиад победил и решает всё отлично и вообще молодец. Из них единицы буквально обладают теми характеристиками что вы указали.
Но алгоритмы надо применять почти везде! Не 100% времени, а эпизодически, но вы не можете наперед сказать, что вот тут вот они понадобятся, а вот тут — нет. Вот какой-то знак дорожный встречается редко. Значит ли что в экзамене на ПДД его не должно быть?
Да бросьте, я программирую с 1987 года и мне ни разу не понадобилось самому что-то писать (ассемблер на 6502 не в счёт). Всё что нужно давно есть в либах и если у вас не какой-то проект по управлению ядерным реактором на QNX+C, то достаточно написать _sort(A) и всё.
Касательно ПДД - момент в том что 99% как оголтелые изучают разборы дорожных ситуаций читая толстенные книжки. когда проще выучить тонюсенькую книжку ПДД.
Ну а недостающие знания в программировании можно наверстать позже, если они потребуются.
Вот очевидно вам, что там понадобятся:линейная регрессия, теория чисел, динамическое программирование, moving window max (прямо задачка на литкоде такая есть), фильтр калмана?
Вы столько умных слов наговорили, что я в смущении. Я вообще не понимаю что это и мне это никогда не пригодится, как и сам webrtc, я не собираюсь его переписывать или дописывать. С чего же вы решили что человек, которому интересно работать с СУБД вдруг подорвётся программировать кодеки? Даже у программиста так или иначе есть своя специализация. Невозможно знать и уметь всё профессионально, это вне рамок человеческих возможностей.
Более того, проблема с алгоритмами в том, что почти любая алгоритмическая задача допускает тупое наивное решение.
С моей точки зрения полезнее тот программист, который умеет пользоваться стандартными инструментами C# например и не пишет днями и ночами свои реализации алгоритмов, которые потом еще и некому будет поддерживать или модифицировать. Я как-то на гитхабе нашел класс по работе с изображениями определенного формата (вообще на Си две функции code/decode занимали пару экранных страниц), всё было оформлено отлично, но беда, размеры этого класса были страниц на 300.
Продуктивнее требовать знание алгоритмов при найме у всех
Абсолютно непродуктивно, так вы легко отсеиваете тех, кто никакими алгоритмами никогда не занимается, и в них не умеет, зато отлично например пишет что-то другое. Вы себя загоняете в рамки.
У меня в карьере масса примеров когда сообразительный "вася" оказывался лучше, чем дипломированный "федя",и на собеседовании "васю" я приметил как раз задавая простые ничего не значащие вопросы, так скажем - житейские. Начальник был против его найма, но я уговорил. В итоге "вася" сейчас работает за пятерых, я "федя" давно ушел, так как "не видит для себя перспектив".
Но тут задачи именно запрограммировать.
Когда задача типовая, то и решение типовое. Вы проверяете на типовые решения. А в разработке ПО (если конечно вам не нужен "тупой" кодер) нужен творческий подход и задачи не типовые появляются и решение нетиповое нужно искать. Поэтому лучше творческий и сообразительный программист, который в состоянии прочитать что такое O(N) при необходимости, нежели тот, кто кроме O(N) ничего и не знает.
Нет. И любое интервью вы пройдете таким кодом. Более того, почти никто нигде не испольует ООП на таких интервью.
Ну пройду, а как работать в команде буду?
Ключевые слова "за границей". Уверен, что существует человек из вашего региона россии, который выучил алгоритмы и получает в той же стране, что ваш брат, в 2-3 раза больше, работая в гугле.
Ну и пусть получает, видимо он пригодился на своем месте. Вопрос-то в том, что умение в алгоритмы ничего не определяет если вам эти умения некуда применять.
Тут же всё как всегда - если вы 10 лет посвятили конькобежному спорту, то на выхлопе у вас останется только пара перекаченных ног, которые, внезапно, не помогут вам стать быстрым бегуном.
Поэтому любой человек щелкающий как орешки алгоритмические задачи - останется тем, кто - умеет алгоритмические задачи. Всё.
Так же как знание всех операторов, команд, макросов наизусть ни на каплю вас не приблизит к тому, чтобы вы стали программистом-богом.
Поэтому такие задачи при приёме на работу - это бред, только если человек не ищется на позицию, где эти алгоритмы и нужно применять.
Я знаю-знаю, вы тут же возразите, что тест проверяет способности человека к решению задач в целом и т.д. и т.п., но тогда и тест должен быть не только из алгоритмических задач и потом, я хорошо пишу на ассемблере, но не умею вообще в ООП, то есть я могу написать код на C#, но процедурный. Делает ли это меня плохим программистом или всё же это делает меня узкоспециализированным, но не плохим?
PS: мой брат успешно работает за границей в геймдеве, но он никогда не писал сортировку пузырьком и не знает что такое коды Элиаса XD а я знаю, только у него зарплата в 20 раз больше.
LocalBDE я как раз использовал с DBF. SQLite знаю только название, но никогда не пользовался. Был доступен Cache еще, но в тестовом режиме, платная была. После DOS Clipper/FoxPro мне dbf были проще в работе.
в 2000 году был мне заказ сделать обработку данных на примере одной программы написанной очень крутым (для меня) программистом, который, по слухам, уехал в США и работал уже в Майкрософт.
Я знал только Delphi и LocalBDE и поэтому делал реализацию на них. У него проект был на C+WinAPI+какой-то бинарный формат БД.
Больше всего была разница в объемах файлов БД, у меня месяц работы выражался в 2-3 мегабайт (не гигабайт) данных, для транспортировки на одной дискете использовал ZIP, выгрузка сразу шла в архив при экспорте. А у гуру в прошлом проекте данные за год умещались в 200 килобайт и плохо паковались, подозреваю что он сам всё сжимал в какой-то LZ вариант. Тогда я понял, что мне не стать хорошим программистом XD (и не стал). А смотря на поделки современных разработчиков уверен что сделал бы отличную карьеру если бы пошел этим путём, ибо сегодня говнокодеры в почёте.
Весьма типичная особенность новичка - циклопических размеров игровая карта, аж на 509 шагов. По первости часто кажется, что чем больше тем лучше, но это почти всегда не так.
Наверное каждому своё, но ы всегда в такое играли целиком всё воскресенье (а некоторые игры которые рисовали сами играли несколько месяцев), поэтому длительность игры всегда была на первом месте. Тут как правила фишка в том, что тот кто проигрывает уже не слишком хочет играть повторно (иногда хочет отыграться конечно).
Поэтому самые несбалансированные, как по мне, это Монополии/Менеджеры.
Связь в том, что эта красная зона может быть по маршруту кратчайшему
опять же, не могу судить по всем городам, но я больше чем уверен, что диагональные направления в городах это исключения, а не правило, и как мы знаем из школьной программы - квадрат гипотенузы равен сумме квадратов катетов, то есть разница между диагональным маршрутом и прямоугольным всего в 1.4 раза, при скорости в 20 км/ч (я гарантирую что по объезду что по парку вы 20 не сможете все равно ехать даже если разрешить) вы затратите на прямоугольный проезд всего на 10-15 секунд больше времени.
сли мы будем плодить всюду ограничения и запреты, то как бы и Нахер не нужон этот ваш самокат
Вы же понимаете про что статья? Точно понимаете?
Экономии времени не даст, затрат на дорогу тоже
Это неправда. Эффекта нет только в одном случае если вы выходя из точки А сразу попадаете ко входу в метро, а выходя - сразу на точку Б.
У меня маршрут до дома при обычном перемещении состоит из трех отрезков: пешком 15 минут, ожидание троллейбуса, поездка на троллейбуса по пробкам 15-30 минут, пешком 12 минут. На самокате я гарантировано добираюсь до дома за 18-22 минуты. Для меня выгода времени очевидна и особенно в этом году для меня очевидно что самокат бережёт мою ногу, которая из-за остеоартроза испытывает проблемы при ходьбе.
Средняя скорость тут ваще не причем
Смысле? Средняя скорость маршрута и формирует время, за которое вы его преодолеваете, поэтому в плотном траффике города например никому не упал ламборгини какой-то со своими 350 км/ч, в Новосибе у меня средняя скорость на машине всего 17 км/ч )))) а на самокате за лето средняя в районе 13.
Я беру самик с мыслью что будет 25 км/ч езда
Какая глупость, это только в каком-то супер-городе с выделенными для самокатов дорогами? Ну или если вы злостный нарушитель всего и вся.
а деньги брать не забывают. Обидно
У меня складывается мнение что вы абсолютно неправильно понимаете смысл самокатов - это, в большинстве своем, компенсация неудобных автобусных маршрутов. избавление от пробок, быстрое перемещение на короткие дистанции, ну и это транспорт последней мили, то есть когда до метро не пешком, а на самокате, а после метро опять на самокате.
Самокат никогда и нигде не декларировался как замена ОТ - это бред. Нет, я конечно знаю людей у которых забавная жизнь и они живут на своих самокатах и моноколесах, проезжая в день по 100-150 км, но это смерть суставам, во-первых, во-вторых - при скорости 25 км/ч это 4-6 часов в дороге в сутки - это как нужно не любить себя и свою жизнь чтобы столько времени убивать на дорогу???
за все города не скажу, но в Новосибе в основной массе по паркам вообще нельзя ездить.
любит скорость сбросить до 20
а сколько было? просто в Вуш на самом быстром варианте ограничение 24 и быстрее все равно не получится. А 20 ехать такое себе удовольствие, ибо уже весьма опасно. На моем 4 км маршруте я 24 еду только на участке в 400 метров, в остальных случаях это борьба с пешеходами и отвратительной дорожной инфраструктурой, где средняя скорость редко превышает 10 км/ч
наверное я просто отличаюсь от домохозяек, но я как бы сразу понимаю, что если сервис что-то мне рекомендует, то он это делает на основании какого-то алгоритма и объяснять мне почему алгоритм это предлагает не требуется, тем более надпись "вам подходит" для меня будет иметь обратный эффект, так как у меня будет резонный вопрос - почему вы так решили? И ответ "потому что этот фильм смотрят те кто смотрели фильм Чужой" мне не выглядит убедительным, не ясно как мой просмотр и мои предпочтения связаны с другими людьми, я могу посмотреть Чужого, а потом корейскую сопливую дораму. Это всё какие-то шаблоны. Вкусы у людей мало пересекаются, а если пересекаются сильно, то тут вопрос - а есть ли у этих людей вкус?
Например - я очень люблю научную фантастику и мне постоянно рекомендуют то Звездные войны, то Звездный путь, которые я терпеть не могу. Или если я посмотрел "Стражи галактики" мне начинают рекомендовать Трансформеров - зачем? Где связь? Я такое не смотрю.
Так что все эти алгоритмы - это лавирование на уровне угадайки и как показывает ваша же табличка с опросом - попадаете вы только в 70% аудитории, тут было бы уместно посмотреть, по каким именно фильмам в этой аудитории у вас было попадание, а то может так случиться, что это буду российские сериалы с плачущими эмо или стреляющими ментами с соответствующими зрителями, где любой контент похожий на предыдущий заходит на ура.
есть S6, продавать за копейки жалко, после вашей статьи что-то призадумался, у меня еще есть китайская mSD на 128Гб с очень низкой скоростью, порядка 500 кб/сек, алишные пройдохи подсунули, в итоге спором я оставил себе за 100 рублей и тоже не знал где применить. И вот думаю, может как раз бэкапчик замутить, пусть ночью разностные файлы дописывает, за 8 часов можно 0.5*3600*8=14.4 гб заливать. На чтение она быстрее, порядка 2-3 мегабайт сек. Только да, придется корпус расклеивать чтобы от батареи отключить.
Я давно уже понял что профессиональный шовинизм это ярко-выраженная черта на хабре, но делает ли это вам чести и заслуживает ли рассмотрения?
И вот как на вас в принципе реагировать? Вы себя считаете самым умным, выпячиваете своё превосходство и при этом не в состоянии читать и понимать собеседников, а сейчас вообще скатились до вранья. Где я графы связал с олимпиадами? Вы написали о графах, я ответил что не в курсе что это. Всё.
В какую разработку? Где вы такое вычитали? Вы живёте в своем выдуманном мире, научитесь читать и адекватно вести беседу.
Ну и славно, как это связано с тем что незнание алгоритмов (или знание) на что-то явно влияет?
Вот я ничего не знаю про графы и вполне успешно пишу софт когда мне это требуется, не вижу связи.
Я рад за вас и вашу работу где так много всего интересного, только к разговору это не относится.
При всём богатстве своего ума вы совсем не умеете в аналогии, не умеете читать написанное и не вникаете в суть беседы. Эгоцентризм в высшей стадии.
давно подмечено что высокие мужчины и женщины чаще закомплексованы и находят себе в пару не человека мечты, а того кто придётся, поэтому пары для обоих гендеров выглядят как высокий + мелкий дрыщ. Пардон что не смогу привести пруф в виде статьи, читал об этом давно и не знал что придется её цитировать.
Ну и вопрос - как это связано с нашим разговором?
Потому что сами по себе возможности это статичное состояние, а вот реализация этих возможностей - это уравнение на X переменных. Сложность именно в их реализации, так как часто просто абсурдная ситуация - человек не осознает что имеет какую-то возможность.
Как пример - на вещевых рынках в 90-е был минимум людей с высшим образованием, так же как сегодня малый бизнес состоит преимущественно из людей с базовым образованием. Так как например я не знаю как я могу продать свои знания теории относительности или умение программировать МК, а они не обременены такими терзаниями и муками выбора, они сдают металл оптом, участвуют в гостендерах, гоняют бригады из таджиков на ремонт кровли, вот так и живут на свой 1%. то есть они не только умеют реализовать то что им дано природой, но и способны найти возможности там, где их, казалось бы, и вовсе нет.
Поэтому сам факт знания алгоритмов ни на что не влияет, это просто факт. Если так не понятно, можно придумать миллион примеров, например факт наличия у меня двух удочек и спиннинга тоже никак не влияет на мои доходы, потому что я не рассматриваю даже их как средство для заработка. Ну или так - если ко мне придёт человек и скажет - пойдем к нам работать, будешь применять свои знания программирования МК, зарплата 10000 зеленых - я откажусь, так как я не хочу этим заниматься совсем (как показывает практика, то что интересно мне в МК вообще не продаётся, так как у бизнеса совсем другие запросы, в свою очередь то что бизнес продаёт и за что был бы мне готов заплатить, я вообще не рассматриваю как работу). То есть наличие возможности никак не меняет доход, её обязательно нужно уметь/хотеть реализовать. Если вы в своей жизни руководствуетесь сугубо тем что вы всегда хотите всё что бы вам не предложили (лишь бы платили) и вы считаете что все на планете обязательно видят возможности и априори их умеют применять - то вы уникум.
Например я очень хороший оратор и в жизни много говорю (и пишу, вы наверное заметили), но я и говорю и пишу только когда мне это действительно хочется. Поэтому например я никогда не читаю лекций и не веду занятия дольше короткой фазы с одной группой, так как я не могу повторять одно и то же годами или в неделю прочитать одну и ту же лекцию 4 группам например в разные дни - я лучше застрелюсь. Поэтому я и не состоялся как программист-работник, я не хочу программировать кому-то что-то мне неинтересное. А то что интересно мне - я не умею продавать.
даже не представляю что это
кажется пользовался таким в 90-е из какой-то стандартной либы
Про графы знаю только то, что они есть, а что это и как работает - представления не имею. Возможно какая из функций стандартных либ и использует их, но я не имею привычки изучать внутренности чужого кода.
Писал двунаправленную очередь на ASM 8088 на лабораторной году в 1993, больше никогда не пользовался (за исключением каких-то стандартных списков TList или чего-то подобного на их основе, я знаю что это не LIFO/FIFO, я в целом о потребностях).
Не представляю что это
BASIC, если вы о чем-то другом, то я не в курсе
делал как-то разбор JSON на awk стандартными средствами, делал разбор xml на Си, но это под конкретную узкую задачу, по принципу "посчитал и выкинул"
Очевидно что всем чем угодно, но только не перечисленным вами.
Встречный вопрос - с чего вы взяли, что вами перечисленное используется всеми программистами мира во всех задачах? Я ни когда не писал ничего для обработки сигналов, потоков видео, tcp/udp и т.д. и т.п. Я вообще не представляю как с такими вещами работать и какие там технологии, библиотеки, фреймворки, железо и т.п. И почему собственно я обязательно должен всё это знать? Потому что кто-то в интернета так считает?
Вы путаете палец и сами знаете что. Если Федя не способен решить простую задачу, то и сложную он не решит и вопрос тут не в деньгах. Федю к нам занесло как студента-отличника, он хотел набраться опыта, прошел собеседование, но не прошел проверку временем. Тут опять же скорее всего эффект регионального вуза, я за Москву вообще говорить не стану, возможно там ситуация с отличниками и медалистами как-то отличается, но думаю не сильно, так как олимпиады и реальность вообще никак не пересекаются.
Уж не знаю насколько хороший пример, но я был круглым отличником с 3 по 5 курс, диплом на 5. НО!!!! И ЭТО ВАЖНО! Я самокритичен и я знаю каковы реально мои знания и умения, я себя оцениваю на 2-3 балла. А отличником я был, потому что получение оценки 5 вообще никак не связано со знаниями и умениями. Мы были "переселенцами из республик" и для меня была важна повышенная стипендия, я смог её получить, просто за первые курсы я понял как работает система и "хакнул" её. Преподаватели - это просто люди, и если ты всё делаешь по их шаблону отличника, то 5 тебе гарантировано. Была только одна преподавательница по менеджменту, которая проверяла именно знания, но это был один экзамен - согласитесь, выучить один предмет не составит труда, когда остальные у тебя на 80% стоят автоматом. И я нигде и никогда не скажу, что я великий программист, ну или хотя бы синьор или лид, я порой даже на джуниора не гожусь, но, отмечаю еще раз, в статье указываются просто программисты, нигде не указан какого уровня, с каким дипломом и какими навыками и, как для вас не парадоксально, я тоже попадаю в число программистов.
Поэтому если где-то есть программист которому алгоритмы нужны ежесекундно, то всегда найдется такой, которому они не понадобятся никогда в жизни. Это неоспоримый факт. И уж если вы себя считаете умным, то спорить с ним ГЛУПО.
Так мой изначальный пост как раз об этом. Больше половины ответивших мне почти дословно пытаясь мне доказать необходимость знания алгоритмов в итоге пишут ту же самую мысль что озвучиваю и я. Всё же знание алгоритмов не помогает вам читать и понимать написанное :) Если вам всё же непонятно разберу ваши же слова:
Абсолютно верно, именно поэтому нет никакой прямой зависимости от знаний алгоритмов и уровня оплаты труда.
Несомненно, но возможность нужно уметь реализовать. То есть мы опять упираемся в тезис выше по тексту - ваши возможности никак не влияют на ваш уровень дохода напрямую. Скажу чуть больше - нужно так же уметь выбирать работу на перспективу, это тоже серьезный скилл и неправильно выбранная работа сегодня, пусть и с хорошим доходом, может привести вас к потере времени, а возможно и утрате веры в себя, когда крах проекта из-за горе-стартаппера, вы почему-то примете на свой счёт и просто уйдя в жёсткую депрессию уничтожите себя как специалиста. Рассуждать так можно бесконечно ибо "индивидуальные обстоятельства индивидуальны".
Мы говорим о всех людях сразу, о всех индивидуальных обстоятельствах сразу, мои слова охватывают всё множество возможных программистов на планете и со всеми уровнями скиллов. А вы загоняете разговор в какие-то конкретные рамки. Хорошо, давайте сведём в одну таблицу общее число ИТ специалистов, общее число программистов в них, общее число программистов знающих алгоритмы хоть немного, общее число программистов знающих алгоритмы весьма профессионально и основательно и общее число программистов проходящих тесты фаанг (я не знаю что такое фаанг, поэтому пишу повторяя за вами).
У меня нет таких чисел, но интуитивно я уверен что последние две позиции весьма малочисленны, но так как ни вы ни автор статьи даже не пытаетесь в разговоре обозначать весьма малочисленную группу людей, а оперируете общими значениями всех-всех-всех программистов, то и мои комментарии будут с вами несогласны.
Надеюсь мой комментарий достаточно фактологичен, рационален и понятен?
То есть я зная алгоритмы и теоретически (с ваших слов) обязательно должен получать больше, но сознательно отказался от этого в пользу другой работы? Что-то не сходится.
и в чем её важность? я озвучил своё мнение о том, что НЕзнание алгоритмов не мешает карьере программиста, как и знание алгоритмов. То что вы прямы как лом в чтении по диагонали - я не виноват.
Чем плох интернет - все думают что жизнь всех людей идёт по возрастающей и абсолютно у всех одинаковая, как в семье так и в карьере. Я нигде не написал что я программист сейчас, нигде не написал что 300 баксов это моя зарплата за программирование. Я вам рассказал о том, что за то время пока я программировал, мне знания алгоритмов никак не пригождались, совсем. И моя максимальная зарплата за карьеру была 2500 баксов в 2008 году, если вы позволите, я вам не стану показывать свою медкарту и объяснять причины, по которым я сегодня рад и 300 баксов, но уверен, что "федя со знанием алгоритмов" в моей ситуации, тоже не остался бы при своих.
во-первых это было очень давно и за копейки работали оба, только вася работал, а федя страдал и отлынивал, как недооценённое чудо. Мы не знаем что сейчас с васей и с федей, финалы их карьер могут быть самые разные, но за пример взят конкретный момент и полезность конкретного человека с конкретными регалиями.
Это не так. Я преподаю много лет и нет ничего хуже медалистов с регалиями, который на куче олимпиад победил и решает всё отлично и вообще молодец. Из них единицы буквально обладают теми характеристиками что вы указали.
Да бросьте, я программирую с 1987 года и мне ни разу не понадобилось самому что-то писать (ассемблер на 6502 не в счёт). Всё что нужно давно есть в либах и если у вас не какой-то проект по управлению ядерным реактором на QNX+C, то достаточно написать _sort(A) и всё.
Касательно ПДД - момент в том что 99% как оголтелые изучают разборы дорожных ситуаций читая толстенные книжки. когда проще выучить тонюсенькую книжку ПДД.
Ну а недостающие знания в программировании можно наверстать позже, если они потребуются.
Вы столько умных слов наговорили, что я в смущении. Я вообще не понимаю что это и мне это никогда не пригодится, как и сам webrtc, я не собираюсь его переписывать или дописывать. С чего же вы решили что человек, которому интересно работать с СУБД вдруг подорвётся программировать кодеки? Даже у программиста так или иначе есть своя специализация. Невозможно знать и уметь всё профессионально, это вне рамок человеческих возможностей.
С моей точки зрения полезнее тот программист, который умеет пользоваться стандартными инструментами C# например и не пишет днями и ночами свои реализации алгоритмов, которые потом еще и некому будет поддерживать или модифицировать. Я как-то на гитхабе нашел класс по работе с изображениями определенного формата (вообще на Си две функции code/decode занимали пару экранных страниц), всё было оформлено отлично, но беда, размеры этого класса были страниц на 300.
Абсолютно непродуктивно, так вы легко отсеиваете тех, кто никакими алгоритмами никогда не занимается, и в них не умеет, зато отлично например пишет что-то другое. Вы себя загоняете в рамки.
У меня в карьере масса примеров когда сообразительный "вася" оказывался лучше, чем дипломированный "федя",и на собеседовании "васю" я приметил как раз задавая простые ничего не значащие вопросы, так скажем - житейские. Начальник был против его найма, но я уговорил. В итоге "вася" сейчас работает за пятерых, я "федя" давно ушел, так как "не видит для себя перспектив".
Когда задача типовая, то и решение типовое. Вы проверяете на типовые решения. А в разработке ПО (если конечно вам не нужен "тупой" кодер) нужен творческий подход и задачи не типовые появляются и решение нетиповое нужно искать. Поэтому лучше творческий и сообразительный программист, который в состоянии прочитать что такое O(N) при необходимости, нежели тот, кто кроме O(N) ничего и не знает.
Ну пройду, а как работать в команде буду?
Ну и пусть получает, видимо он пригодился на своем месте. Вопрос-то в том, что умение в алгоритмы ничего не определяет если вам эти умения некуда применять.
у меня $300, у него $6000 - что не так?
Тут же всё как всегда - если вы 10 лет посвятили конькобежному спорту, то на выхлопе у вас останется только пара перекаченных ног, которые, внезапно, не помогут вам стать быстрым бегуном.
Поэтому любой человек щелкающий как орешки алгоритмические задачи - останется тем, кто - умеет алгоритмические задачи. Всё.
Так же как знание всех операторов, команд, макросов наизусть ни на каплю вас не приблизит к тому, чтобы вы стали программистом-богом.
Поэтому такие задачи при приёме на работу - это бред, только если человек не ищется на позицию, где эти алгоритмы и нужно применять.
Я знаю-знаю, вы тут же возразите, что тест проверяет способности человека к решению задач в целом и т.д. и т.п., но тогда и тест должен быть не только из алгоритмических задач и потом, я хорошо пишу на ассемблере, но не умею вообще в ООП, то есть я могу написать код на C#, но процедурный. Делает ли это меня плохим программистом или всё же это делает меня узкоспециализированным, но не плохим?
PS: мой брат успешно работает за границей в геймдеве, но он никогда не писал сортировку пузырьком и не знает что такое коды Элиаса XD а я знаю, только у него зарплата в 20 раз больше.
LocalBDE я как раз использовал с DBF. SQLite знаю только название, но никогда не пользовался. Был доступен Cache еще, но в тестовом режиме, платная была. После DOS Clipper/FoxPro мне dbf были проще в работе.
я люблю пользоваться решениями разработанными под конкретные задачи, универсальное не значит - всегда хорошее.
в 2000 году был мне заказ сделать обработку данных на примере одной программы написанной очень крутым (для меня) программистом, который, по слухам, уехал в США и работал уже в Майкрософт.
Я знал только Delphi и LocalBDE и поэтому делал реализацию на них. У него проект был на C+WinAPI+какой-то бинарный формат БД.
Больше всего была разница в объемах файлов БД, у меня месяц работы выражался в 2-3 мегабайт (не гигабайт) данных, для транспортировки на одной дискете использовал ZIP, выгрузка сразу шла в архив при экспорте. А у гуру в прошлом проекте данные за год умещались в 200 килобайт и плохо паковались, подозреваю что он сам всё сжимал в какой-то LZ вариант. Тогда я понял, что мне не стать хорошим программистом XD (и не стал). А смотря на поделки современных разработчиков уверен что сделал бы отличную карьеру если бы пошел этим путём, ибо сегодня говнокодеры в почёте.
Наверное каждому своё, но ы всегда в такое играли целиком всё воскресенье (а некоторые игры которые рисовали сами играли несколько месяцев), поэтому длительность игры всегда была на первом месте. Тут как правила фишка в том, что тот кто проигрывает уже не слишком хочет играть повторно (иногда хочет отыграться конечно).
Поэтому самые несбалансированные, как по мне, это Монополии/Менеджеры.
опять же, не могу судить по всем городам, но я больше чем уверен, что диагональные направления в городах это исключения, а не правило, и как мы знаем из школьной программы - квадрат гипотенузы равен сумме квадратов катетов, то есть разница между диагональным маршрутом и прямоугольным всего в 1.4 раза, при скорости в 20 км/ч (я гарантирую что по объезду что по парку вы 20 не сможете все равно ехать даже если разрешить) вы затратите на прямоугольный проезд всего на 10-15 секунд больше времени.
Вы же понимаете про что статья? Точно понимаете?
Это неправда. Эффекта нет только в одном случае если вы выходя из точки А сразу попадаете ко входу в метро, а выходя - сразу на точку Б.
У меня маршрут до дома при обычном перемещении состоит из трех отрезков: пешком 15 минут, ожидание троллейбуса, поездка на троллейбуса по пробкам 15-30 минут, пешком 12 минут. На самокате я гарантировано добираюсь до дома за 18-22 минуты. Для меня выгода времени очевидна и особенно в этом году для меня очевидно что самокат бережёт мою ногу, которая из-за остеоартроза испытывает проблемы при ходьбе.
Смысле? Средняя скорость маршрута и формирует время, за которое вы его преодолеваете, поэтому в плотном траффике города например никому не упал ламборгини какой-то со своими 350 км/ч, в Новосибе у меня средняя скорость на машине всего 17 км/ч )))) а на самокате за лето средняя в районе 13.
Какая глупость, это только в каком-то супер-городе с выделенными для самокатов дорогами? Ну или если вы злостный нарушитель всего и вся.
У меня складывается мнение что вы абсолютно неправильно понимаете смысл самокатов - это, в большинстве своем, компенсация неудобных автобусных маршрутов. избавление от пробок, быстрое перемещение на короткие дистанции, ну и это транспорт последней мили, то есть когда до метро не пешком, а на самокате, а после метро опять на самокате.
Самокат никогда и нигде не декларировался как замена ОТ - это бред. Нет, я конечно знаю людей у которых забавная жизнь и они живут на своих самокатах и моноколесах, проезжая в день по 100-150 км, но это смерть суставам, во-первых, во-вторых - при скорости 25 км/ч это 4-6 часов в дороге в сутки - это как нужно не любить себя и свою жизнь чтобы столько времени убивать на дорогу???
и какая связь?
за все города не скажу, но в Новосибе в основной массе по паркам вообще нельзя ездить.
а сколько было? просто в Вуш на самом быстром варианте ограничение 24 и быстрее все равно не получится. А 20 ехать такое себе удовольствие, ибо уже весьма опасно. На моем 4 км маршруте я 24 еду только на участке в 400 метров, в остальных случаях это борьба с пешеходами и отвратительной дорожной инфраструктурой, где средняя скорость редко превышает 10 км/ч
я как раз в туалете им и пользуюсь преимущественно, а так просто лежит на столе - зачем бы мне он нужен был?
10 км/ч например и пусть ползут.
наверное я просто отличаюсь от домохозяек, но я как бы сразу понимаю, что если сервис что-то мне рекомендует, то он это делает на основании какого-то алгоритма и объяснять мне почему алгоритм это предлагает не требуется, тем более надпись "вам подходит" для меня будет иметь обратный эффект, так как у меня будет резонный вопрос - почему вы так решили? И ответ "потому что этот фильм смотрят те кто смотрели фильм Чужой" мне не выглядит убедительным, не ясно как мой просмотр и мои предпочтения связаны с другими людьми, я могу посмотреть Чужого, а потом корейскую сопливую дораму. Это всё какие-то шаблоны. Вкусы у людей мало пересекаются, а если пересекаются сильно, то тут вопрос - а есть ли у этих людей вкус?
Например - я очень люблю научную фантастику и мне постоянно рекомендуют то Звездные войны, то Звездный путь, которые я терпеть не могу. Или если я посмотрел "Стражи галактики" мне начинают рекомендовать Трансформеров - зачем? Где связь? Я такое не смотрю.
Так что все эти алгоритмы - это лавирование на уровне угадайки и как показывает ваша же табличка с опросом - попадаете вы только в 70% аудитории, тут было бы уместно посмотреть, по каким именно фильмам в этой аудитории у вас было попадание, а то может так случиться, что это буду российские сериалы с плачущими эмо или стреляющими ментами с соответствующими зрителями, где любой контент похожий на предыдущий заходит на ура.
есть S6, продавать за копейки жалко, после вашей статьи что-то призадумался, у меня еще есть китайская mSD на 128Гб с очень низкой скоростью, порядка 500 кб/сек, алишные пройдохи подсунули, в итоге спором я оставил себе за 100 рублей и тоже не знал где применить. И вот думаю, может как раз бэкапчик замутить, пусть ночью разностные файлы дописывает, за 8 часов можно 0.5*3600*8=14.4 гб заливать. На чтение она быстрее, порядка 2-3 мегабайт сек. Только да, придется корпус расклеивать чтобы от батареи отключить.