Почитал топики, где советуют идти в программисты и IT, решил написать свое мнение на примере простых вещей.
Есть у нас терминал Quik и брокер Открытие. Так я заметил там такой баг, что в таблице лимиты по бумагам в колонке цена приобретения отображается полная чушь, и эта чушь прослеживается как в квике, так в приложении для личного кабинета.
Вот простой пример, у меня в таблице было 600 др. AGRO и цена приобретения стояла 1160 рублей. Под конец года я решил максимально уменьшить налоговое бремя там где было это возможным, воспользовавшись коррекцией рынка. И купил 600 др. по цене 1082, а затем продал 600 др. по цене 1088.
По методу fifo у меня должна была цена появится приобретения равная 1082 рублей. А у меня цена в терминале появилась равная 1121. Что вообще никак не соответствует средней цене приобретения 600др, которые у меня на балансе.
А все получилось из за того, что программисты открытия рассчитывают среднюю цену по формуле Сср = (Сср*Nср + С1*N1)/(Nср+N1);
где
Сср — средняя цена приобретения акций до текущей даты.
Nср — количество бумаг на балансе до текущей даты.
С1 — цена приобретения бумаг сегодня.
N1 — количество бумаг приобретенных сегодня.
Что абсолютно не верно и показывает абсолютную чушь, когда работает метод fifo.
Объективные данные будут только тогда, когда программистами как глобальная переменная будет использоваться структура из массивов, в которую они будут добавлять массив при покупке с ценой и количеством бумаг, и при продаже из этой структуры будет из массива с индексом 1 вычитаться количество проданных акций, и если количество акций проданных, превышает значение в первом члене структуры, то член структуры удаляется из нее, а оставшееся количество проданных акций будет вычитаться из следующего по индексу члена и так далее.
А среднее значение приобретения нужно уже считать по структуре данных, обновленной после завершенных операций.
Я три дня звонил в открытие, хотел указать им на ошибку, так как по этой цене смотрю, где можно уменьшить налогооблагаемую базу. В итоге, они не решили добавить пару строчек кода, чтобы исправить свою ошибку, а тупо вбили правильные цифры, которые я хотел, даже не сделав это относительно других бумаг. Вот такая квалификация!!!
Я работаю в сфере промышленной электронике, у нас на предприятии глобальные модернизации выполняются сторонними фирмами, в том числе и иностранными. Последний раз это делали немцы, причем программистов они наняли русских. Требовалось провести интеграцию в действующую систему управления конвейером дополнительный исполнительных механизмов. В итоге русские программисты взявшиеся за подряд, листали нам, чтобы мы помогли им это сделать. Хотя мы в отличии от них не программисты, наша задача заключается только в обслуживании и ремонте системы. То есть в случае отказа контроллера, определить неисправность, взять новый контроллер, его запрограммировать готовой программой и установить, ввести в работу систему.
Как то при написании траекторий робота, один программист задумался, что бы не выйти за пределы нагрузок возникающих на шарнирах в связи с высокой скоростью. Я ему написал дифференциальное уравнение, где ускорение было как вторая производная от траектории по времени. А при знании ускорений легко уже посчитать и силы. Но программиста уже замкнуло только при виде одного уравнения.
Когда пишут, про то, что программирование это легко, может работа в какой нибудь среде разработки проектов и легко, когда тебе преподнесли хорошо расписанный алгоритм работы, уровень по советским временам техникума. Но когда тебе нужно создавать самому, так еще то, что востребовано, это уже тяжелей.
У меня друг он входит в it отдел, он не программист, его задача ставить задачи программистам и продумывать алгоритм работы системы по оптимизации «цифровизации» процессов производства компании. Так говорит из за тупости программистов уже настолько вник в программирование, что сними вместе приходится писать проекты. Хотя моя задача по сути им сказать, где какие данные им взять, как обработать, куда выгрузить и в каком виде.
Так что работа хорошим программистом, это очень не просто. А учитывая, что у нас большой процент населения вообще не может даже лампочки подключить через выключатель. Это уж совсем нелепые советы идти учиться программировать.
Они рассчитывают то, что им дал аналитик, скорее всего. Дали формулу — считаем по этой формуле. Дали другую — считаем по другой. В больших проектах бывает ну настолько все по разному, что даже сложно обобщать. Например:
1) Я видел как ТЗ поведения и тестирование (анализ ТЗ скорей) делали после того, как был написан код (крупный розничный ретейлер).
2) Я видел как код не писали год, потому что не были готовы тесты и документация (гражданская авиация).
Это было достаточно утомительно в целом, по-этому лично я ушел из профессии. Однако программировать для себя — это кайф, это — одно. Работать на кого-то это другое. Везде так, думаю, где есть творческий момент в профессии.
ЗП когда уходил было чуть больше 5к зелени. Нафиг они не нужны, на самом деле. Это слишком много, чтобы просто жить, и слишком мало, чтобы жить хорошо.
Потому, когда работал, писал программы для себя сам. Когда все уже отлажено и работает, можно это уже отдавать программистам для включения в систему.