О качестве и надежности. Уже в который раз...

О качестве и надежности.

Уже в который раз после дальней поездки на машине у меня возникают в голове такие вот мысли:
Практически весь софт, в написании которого я участвовал в последние четыре года, был крайне ненадежным. Игровые сервера и сервера приложений постоянно валились, глючили, теряли связь, жрали память, плевались ошибками и ни в какую не хотели работать стабильно.
Даже прошедший тестирование в QA сервер обычно мог работать в лучшем случае неделю, после чего его приходилось придерживать руками чтобы он не падал. То есть подкрутить конфиг там, добавить памяти здесь, быстренько сделать маленький патчик, ребутнуть сеть, остановить лишние сервисы.
Если же намечася показ начальству или заказчику - показатели стабильности и надежности по закону подлости и вовсе пробивали пол и улетали к соседям снизу. И я уже как-то к подобному привык, да и все привыкли, "ну а чо, система сложная", типа так и надо. Ну упадет - перезапустим, делов-то. Подобные проблемы перестали восприниматься как проблемы и стали нормальным ходом работы, а отсутствие проблем - наоборот чем-то выдающимся, праздником прям каким-то.

А вот машина, на которой я езжу. Я купил ее уже не новой, четыре года, 55 тысяч пробега. И вот еду я и еду по финским дорогам. А потом по русским колдобинам. Ночью и днем, в дождь, туман. В разных режимах - то втапливая педаль в пол чтобы обогнать фуру на трассе, то часами крутя мотор на холостых в пробке. То несясь почти на предельной скорости, то тошня 40, убивая подвеску ямами на наших загородных "шоссе". Часами, днями, неделями и месяцами. И поршни все так же молотят, крутятся валы, ремни, дрыгают амортизаторы, бегает ток по проводам - тысячи деталей, система ничуть не менее сложная чем наши программы, а то и более, и вот оно работает и работает, годами, без усталости, в любых условиях, не давая даже повода открыть капот.
И я задумываюсь, что за инженеры создали это, да и многие другие произведения техники, что смогли сделать это так вот надежно. И почему мы, вся наша индустрия, которая в общем-то тоже считается "инженерной" в некотором смысле, неспособны породить что-либо близкого по надежности? Почему машины - работают, а программы - глючат и тормозят?

Тут вы скажете мне, что я необъективен. Что программы я вижу на этапе создания, когда они еще не успели избавиться от проблем, а машины наоборот - уже после того как все собрано и проверено. И что бывет супер-надежный софт, все эти бортовые программы самолетов и космических кораблей, а машины тоже бывают ломучими, даже новые.
Может быть.
Но вот точно могу сказать, что если бы те фирмы, в которых я работал, делали автомобили - я бы лучше того, пешочком.
About quality and reliability.

For the umpteenth time after a long trip by car I have such thoughts in my head:
Virtually all of the software I've written in the past four years has been extremely unreliable. Game servers and application servers were constantly crashing, buggy, losing communication, eating memory, spitting errors and not wanting to work in any stable way.
Even a QA-tested server could usually work for a week at best, after which it had to be held in place so that it would not fall. That is, tweak the config there, add memory here, quickly make a small patch, reboot the network, stop extra services.
If it is planned to show the authorities or the customer - indicators of stability and reliability according to the law of meanness and even pierced the floor and flew to the neighbors from the bottom. And I somehow got used to something like that, and everyone got used to it, “well, cho, the system is complex,” as it should be. Well, it will fall - restart, something. Similar problems have ceased to be perceived as problems and have become the normal course of work, and the absence of problems is, on the contrary, something outstanding, a celebration of some kind.

But the car I drive. I bought it is not new, four years, 55 thousand mileage. And here I am going and driving along Finnish roads. And then on the Russian potholes. Night and day, in the rain, fog. In different modes - then vtaplivaya pedal to the floor to overtake the truck on the track, then turning the engine at idle in a traffic jam for hours. That rushing almost at top speed, then vomiting 40, killing the suspension pits on our country "highway". Hours, days, weeks and months. And the pistons are still threshing, spinning shafts, belts, jerking shock absorbers, running current through wires - thousands of parts, the system is no less complicated than our programs, or even more, and now it works and works, over the years, without fatigue, any conditions, not even giving a reason to open the hood.
And I wonder what kind of engineers created this, and many other pieces of equipment that could do it so securely. And why are we, our entire industry, which in general is also considered “engineering” in a certain sense, incapable of generating anything close in reliability? Why do machines work and programs get buggy and slow down?

Here you will tell me that I am not objective. What programs I see at the stage of creation, when they have not had time to get rid of the problems, and the cars on the contrary - after everything is assembled and checked. And that byvet super-reliable software, all these on-board programs of airplanes and spacecraft, and the machines are also lomuchimi, even new.
May be.
But I can say for sure that if the firms in which I worked did make cars, I would be better off with peshochkom.
У записи 6 лайков,
3 репостов.
Эту запись оставил(а) на своей стене Егор Смирнов

Понравилось следующим людям