Программисты знают реальную силу бэкенда

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

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

Кому реально под силу исследовать соседнюю планету

На протяжении многих лет ее реально исследуют космические аппараты и зонды только одной страны. Да, бывали и неудачи, но давайте честно - кто еще такое может на планете? Никто!
За 20 лет они:
- первые долетели до планеты.
- добились первой посадки на планету космической станции.
- получили первые пробы атмосферы и грунта.
- сделали первую запись звука с планеты.
- сделали первые панорамные фотографии с планеты.

И да, это планета Венера! И страна эта СССР! И еще - все это с 1961 по 1981 год.
Но это СССР, это другое

Моряки знают толк в том, как доходчиво написать текст для всех народов мира

Знают как со всех сторон порадовать клиента

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

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

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

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

Продавец на WB наконец-то озвучил реальную причину брака кроссовок

Ответ 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 под нативный код.

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

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

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

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

Контакты

© Fastler v 2.0.2, 2024


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