SQL программисты

Комментарии еще никто не писал. Будьте первым.

Чтобы добавить комментарий войдите в систему.

Ответ на пост «"Программисты не умеют программировать"»

В этом отношении мне в своё время понравилась программа для создания гильошей от фирмы-разработчика "CERBER". Одна из первых версий программы была написана на машинных кодах и весила меньше одного (!) мегабайта. Естественно, что декомпилировать и взломать её так никто и не смог, а бесплатная версия сохраняла готовые гильоши только в формате *.BMP.

Она, вроде как, существует и до сих пор, но пошла по пути наименьшего сопротивления, разрослась аж до 125 мегабайт в архиве, и мне таки кажется, что ломаную версию можно найти.

Для ЛЛ, гильош — это защитный элемент из кривых линий на ценных бумагах и денежных знаках.

Ответ KindlyProgrammer в «"Программисты не умеют программировать"»

Банальщина, но вдруг кому пригодится.

В англоязычном менеджменте есть четыре грейда развития специалиста, которые описываются забавной игрой слов:

1. I don't know what I don't know - Я не знаю что я не знаю.

Это новичок, пришедший с курсов, которому втирали что он теперь супер-пупер спец. Ему кажется что все легко и просто делается и он не видит никаких проблем - он еще не столкнулся со своими пробелами в знании.

2. I know what I don't know - Я знаю что я не знаю.

А теперь вот столкнулся - и пришло понимание, что все его знания покрывают только малую часть, а в остальном, как оказывается - пусто. Здесь он сталкивается с синдромом самозванца и должен найти в себе силы (и получить поддержку), чтобы продолжить учиться и развиваться.

3. I know what I know - Я знаю что я знаю

Поборов синдром самозванца, зрелый специалист может четко и ясно разграничить область своих знаний от незнаний. Он сделает вам прекрасно ту работу, в которой разбирается, но откажется от другой - "не моя специфика, не знаю". Он не боится своих незнаний. Очень многие специалисты здесь останавливаются, т.к. не видят смысла или не могут расти дальше.

4. I don't know what I know - Я не знаю что я знаю.

Это специалисты-кудесники, которые творят чудеса за счет своего глубокого развития в смежных областях и широкого кругозора щелкают задачи на синергии различных своих знаний, не имея внезапно знаний и опыта по поставленной задаче - они говорят удивленно "Надо же, оказывается я знаю кунг-фу и это знаю и могу.

Развитие специалистов по этим стадиям сильно зависит от внешнего окружения и от действий менеджера (руководителя) - как и какими задачами нагружать специалиста, какими способами мотивировать, как реагировать на разные косяки.

Если интересно - погуглите сами по названиям стадий.

Ответ на пост «"Программисты не умеют программировать"»

А я соглашусь, хоть и сам программист.

Я типичный крудошлеп, без бэкграунда в computer science. Кое-как выучил Java Core, кое-как посмотрел Spring, что-то там по реляционкам - и устроился на работу джуном аж за 35к в Хабаровске в местный бодишоп. Там, понятное дело, уже подтянулся к остальным, через три месяца круды пилил не хуже местных "мидлов". Через семь месяцев Сбербанк схантил за 100к с переездом в Москву, я и согласился - что я, дурак что ли?

Там зарплата довольно быстро выросла до 135к, и в принципе на этом этапе я считал, что схватил госпожу удачу за хвост - я весь такой умный, зарабатываю x2 по Москве и x5 по России. Правда, когда я попробовал пройти собес в другую компанию (по-моему, Luxoft), моя радость быстро омрачилась - меня спросили что-то примитивное, в духе "а как устроена HashMap в Java", а я вообще ни сном, ни духом. Какие хэш-функции, нафиг они нужны? Какие коллизиии? Какая потокобезопасность? Ребята, есть класс HashMap, как его использовать, я знаю, что вам еще надо то?

Впрочем, печалился я недолго - просто выучил ответы на типовые вопросы Java / Spring собеседований, благо, таких материалов в интернете море. Да, на одном собесе не смог реверснуть связанный список и пролетел, зато на другом были довольно типовые вопросы, и я без особых проблем перешел уже на 250к в другой бодишоп.

Был ли я хорошим крудошлепом? О да, я мог быстро написать хороший, покрытый тестами круд на Java. Был ли я хорошим программистом? О нет.

  1. Многопоток - паника

  2. Другой ЯП - паника

  3. Вообще что угодно, связанное с алгоритмами или нестандартными структурами данных - паника

  4. Внутрянка Java (как устроена JMM, как работает GC и т.д.) - паника

  5. Просьба задизайнить приложение сводилась к разбиению на микросервисы. Любые попытки вывести на темы доступности / производительности / консистентности данных - паника.

  6. Любые попытки выйти за пределы базовых понятий реляционок - паника.

И вот уже второй год я пытаюсь закрыть эти пробелы и дать самому себе нормальное образование в computer science.Алгоритмы, concurrency, базы данных, распределенные системы и вычисления, внезапно - базовая математика (дискретка, комбинаторика, теорвер), битовые манипуляции. Пригодилось ли мне это на работе? Нет, я все так же пилю круды в массе своей (сейчас меньше, т.к. работа связана больше с менеджментом). Разве что знания системного дизайна здорово выручает при создании архитектуры приложений. Но.

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

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

В общем, иногда синдром самозванца - это не синдром самозванца, просто внешний мир намекает вам, что вы реально нихрена не знаете. Так что учитесь, блин.

Ответ XaLjaLniySween в «"Программисты не умеют программировать"»

ТС, ты сам-то хуйни не неси. Или у тебя приложение Сберонлайн/Тинькофф и еже с ними стоит прямо на железе? Серьезно? А если нет, чё ты вафлю жуешь про сотни видов процессоров? Этим приложухам до пизды, они на ОСях сидят, и процессоров тех в глаза не видят. То же самое про различные типы ОСей. Так-то нихуя, что в 1 семействе всегда есть обратная совместимость, а для разных видов ОСей программы вообще пишутся РАЗНЫЕ. Короче, ты в вопросе полный ноль, но высраться так спешил, что забыл снять штаны. Вот такие вы криворукие и пишите копеечные проги по гигабайту. Лучше бы библиотеки оптимизировать учились.

Ответ на пост «"Программисты не умеют программировать"»

Очередной истеричный дурачок, который не разбирается в вопросе и которому программисты соли на хуй насыпали. Так еще и в топе коммент: «в чем он не прав?»

Если коротко, то во всем. А если подробнее, то смысл в том, что в мире существует просто ебейшее количество процессоров, графических чипов, wi-fi модулей, 3/4/5g модулей, дисплеев и камер. Теперь представим возможное количество их комбинаций. Представили? И к каждому компоненту идёт свой драйвер.

А если я скажу, что кроме железа есть еще 2 абсолютно разные операционных системы и у каждой системы есть по 5-10 ревизий, которые совершенно по разному могут взаимодействовать с этим железом и по разному отображать анимации и графические компоненты программы. Ведь у таких Васянов в жопу ужаленных явно не каждый год новый айфон, а какой нить сука meizu 2013 года, который при этом еще и не обновлялся, и вообще больше не выпускается, как и драйвера на него.

И вот программисту ставят задачу разработать кроссплатформенное приложение, с поддержкой телефонов 10 летней давности и старых версий операционной системы, потому что новые просто не будут такой телефон поддерживать сами. И у программиста есть ровно 2 варианта.

1. Написать 2 отдельных приложения на каждую операционку, плюс их различные версии. А если кто-то не в курсе, то пишутся они абсолютно на разных языках и используют разные технологии. То есть это зачастую не выполнимая задача для одного программиста, их уже нужно минимум два, а если приложение состоит не из двух кнопок, а это сложное банковское приложение, которое должно быть защищено, совершать nfc транзакции, взаимодействовать с геолокацией, поддерживать аутентификацию faceid, то программистов нужно штук 5 минимум, им нужно параллельно написать разные компоненты программы, чтобы она в конце не развалилась и нормально работала. Времени это займёт минимум год, а то и больше, включая многоуровневое тестирование всей этой пиздалы.

2. Взять 2 программистов и написать одно приложение на кроссплатформенном фреймворке, где от программистов будет требоваться только написание бизнес-логики и создание архитектуры одного приложения. А по времени это займет в 2 раза меньше. То есть затраты составят В ПЯТЬ! раз меньшую сумму и приложение будет готово в 2 раза быстрее. Более того, поддерживать одно приложение в дальнейшем гораздо проще, быстрее и дешевле.

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

Как думаете, какой из вариантов заказчика устроит больше?

Пиздеть - не мешки ворочать.

"Программисты не умеют программировать"

Немецкие программисты

Немецкие программисты не знают алгоритмов и не понимают, что такое вычислительная сложность. Им это просто не нужно. Они крутят тройные циклы, а потом удивляются, что всё тормозит.
Они оценивают задачу, на которую требуется один день, в пару месяцев. Они не пишут тесты, из-за чего потом ещё месяцами исправляют баги.
Зато они очень любят бессмысленные совещания, а также документировать всё, что только можно. Документацию они часто пишут на немецком. Да бывает, что и код.
В результате, немецкие сайты и программы тормозят, в них толком ничего не работает, постоянные баги. Пользовательский интерфейс совершенно вырвиглазный: ничего невозможно найти или понять, как работает та или иная функциональность.
Никаких значимых программных продуктов они не производят. Это и понятно: что можно производить с таким отношением?

Такие дела.

С уважением,
Умка

С днём программиста программисты!

Программисты тут?

Подборка SQL тренажёров

1. Интерактивный тренажер по SQL – Stepik

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

2. SQL Тренажер. Бесконечное приключение 00. Интро. – Stepik

Короткий тренажер, с интересным сценарием уроков.

В игровой форме закрепляются знания SQL. Необычные задачи от простого к сложному. Планируется целый цикл интересных историй, где каждое задание это необычный квест. Сейчас пока самые простые азы.

3. SQL Academy: онлайн курс SQL и тренажёр c упражнениями (sql-academy.org)

Всесторонний курс по SQL, спроектированный так, чтобы навсегда изменить твоё отношение к SQL. Мы вместе пройдём путь, чтобы понять как этот язык работает, и получим все необходимые навыки для эффективного применения его на работе.

4. Упражнения по SQL (sql-ex.ru)

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

5. Задачи по Python, SQL, программированию и Data Science | IT Resume

Сайт с платным доступом, но часть задач беспалтные.

Например Задача:

[Тестовое Альфа-банк] Покупки телефонов в Туле по месяцам | IT Resume

6. Master Coding for Data Science - StrataScratch

Зарубежный сайт, напоминающий leetCode, есть бесплатная версия использования

Материал подготовлен участниками чата

Fastler - информационно-развлекательное сообщество которое объединяет людей с различными интересами. Пользователи выкладывают свои посты и лучшие из них попадают в горячее.

Контакты

© Fastler v 2.0.2, 2024


Мы в социальных сетях: