5171

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

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

Я типичный крудошлеп, без бэкграунда в 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, базы данных, распределенные системы и вычисления, внезапно - базовая математика (дискретка, комбинаторика, теорвер), битовые манипуляции. Пригодилось ли мне это на работе? Нет, я все так же пилю круды в массе своей (сейчас меньше, т.к. работа связана больше с менеджментом). Разве что знания системного дизайна здорово выручает при создании архитектуры приложений. Но.

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

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

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

Вы смотрите срез комментариев. Показать все
1
DELETED
Автор поста оценил этот комментарий

Ты подожди, скоро тебе начнут вопросы задавать типа как обеспечить SLA 99.9, как лоад балансинг по SNI делать, как ты автоскейлил сервисы и прочую хуйню. Все от того, что щас на девелоперов все говно сваливают.

раскрыть ветку (5)
11
Автор поста оценил этот комментарий

А в чем смысл тогда DevOpsoв? Сидеть helm чарты bitnami править?

"В БД не буду лезть настраивать доступы, redis не моя вотчина, проксю настраивать лень". И ЗП сука на уровне разработчиков. Собственно это их задача возиться с SLA и балансировку настраивать.

Мне как CI/CD настроили так я сам мерджил, деплоил и перезагружал поды.

Но зато чел мог на нескольких работах сразу работать

раскрыть ветку (3)
3
DELETED
Автор поста оценил этот комментарий

Хаха смысл девопсов, что их нанимать надо. А нахуя, когда есть девелоперы на которых можно сгрузить все говно?

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

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

Еще и тренды какие-то хипстерские вводишь. В итоге хтонь и усталость от ебанины каждодневной.

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

0
Автор поста оценил этот комментарий

разрабы часто мыслят другими категориями, скрам\канбан и прочая соддомия плохо ложаться на инфру, когда она должна жить годами и удовлетворять БДСМ-запросы менеджмента при этом, вот тут и выходят на сцену ДевоПсы'

2
DELETED
Автор поста оценил этот комментарий

А я и не против, мне интересно) На работе, конечно, есть отдельный отдел devops, но обладая базовыми занятиями, проще с ними на одном языке говорить.

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку