Типичные программисты

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

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

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

В этом отношении мне в своё время понравилась программа для создания гильошей от фирмы-разработчика "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 под нативный код.

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

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

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

Типичные немецкие пенсионеры

Не так давно наткнулся на Фокусе на статью "При помощи простой уловки вы увеличите свою пенсию на сумму до 110 евро в месяц". Саму новость я не стал читать, но обратил внимание на картинку:

(не)Типичные джуниоры

Пришли к нам в отдел три новых сотрудника. Все окончили техникум связи, один даже с красным дипломом.

Начался процесс адаптации и поставили мне задачу обучить их и ввести в курс дела.

То ли у меня завышенные требования, то ли у людей проблемы с адекватностью.

Итак:

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

-Другой сотрудник не смог ввести цифровой пароль, потому что не знал что цифры на правой части клавиатуры вводятся только при включенном NumLock. (За то он слёту выучил фразу "я был занят" и на вопросы почему он что-то не сделал отвечает "я был занят")

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

А мне их ещё в серверную вести... страшно товарищи, страшно...

Да, типичные жители Якутска именно так и выглядят

Снимки медведей, сделанные фотоловушками. Твои типичные фотки на фронталку

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

Контакты

© Fastler v 2.0.2, 2024


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