My software is shit.

We are not given with you to understand
What is so happy about the coder,
And what the hell is the algorithm,
That Moder himself banned.
So what? comment not to write? -
So that we can figure it out.
So many different "well, why?"
That at the time just quit.
About 15 years ago, I began to get acquainted with computers. DOS, Turbo Pascal, Windows, Asm, Perl, Linux, network fundamentals - nights without sleep flew by, and the children's dream of becoming a lawyer, understanding the law and helping people, made room for the desire to become a programmer.
')
Admission to the university for the IT-specialty and the first small disappointments: at the university they do not teach how to become a good specialist, they don’t talk a lot about modern technologies and give a little more to try. Yes, for those who have come without having decided on a profession and not imagining what it is, the best option is to decide in the first years of study. In order for senior courses to know what to strive for and get a specialization in the chosen direction, or go to another professional field.
The first okoloprogrammisty side jobs: “accounting of employees”, “catalog of goods for the site”, “diary with schedule” ... Analysis of someone else's code and misunderstanding how to write is so disgusting. Well, these are mostly one-time crafts by novice programmers and you have to go to the company where you are developing. The first test and the sympathy for the company that began with the interview: they were not interested in what I was writing, but how I do it, because language is just a tool. However, after passing the interview and studying what you have to work on, you immediately recalled artisan crafts from freelancing attempts. The same tangled, devoid of allusions to the documentation and full of dirty solutions code, the change of which led to problems in the most unexpected places.
After seeing what questions appear on the programming forums, after talking with other programmers, it became clear: this is almost everywhere. Good code is only interesting for you. The employer / customer is only interested in the result, and not in what way it is achieved. It is not surprising that with this approach they use faster solutions instead of the most suitable ones. Not only is the customer interested that his program can use not all 512MB of RAM, not to slow down and not to fall when the office starts from a notorious company - it already works and brings money, but the fact that the client is sitting in front of the manager for 15 minutes instead of ten, so and hell with him, he is already sitting, and the one who is behind him and may not have time before the end of the working day - so he may still not conclude an agreement, but the sitting person will see that everything is “serious, like in adult uncles”.
Oh yeah! And the more money the business brings, the less the likelihood of any changes for the better. Until stupefaction. On the website for the sale of girls laid out their photo shoot. The gallery of each item was simple as a direct and hurray: a dozen or a half small photos, on click - a full-size photo opens in a new window. Sitting in the office where the server was on the same network, everything worked fine. I was confused by one thing - in the miniature there was the same image as in the full-size version. The same two or three megabytes. "And behind the window is the month of May, the month of May, the month of May, And in the gray city dialup and you sit and wait." A proposal to make smaller images in miniatures was refused without giving reasons. Prior to discussing the amount for a one-time call to convert and adding a file name postfix to the gallery display script, it did not come.
The result: working as a programmer is not for me. Life does not end there, at least there is iron and administration.
Hmm, with iron did not work out because of an allergy to dust, we are starting to study administration. The simplest thing is installing / restoring Windows, working with the main set of utilities is already in the baggage of knowledge, we are going to get experience working as a call boy at the office of the name of Vasi Pupkin and riding around the city, repairing computers for people and organizations who either have no familiar computer programmers or whom such geniuses have already visited (many thanks to such talents - these orders brought more money).
There is no desire to be engaged in Windows. And in the near future will not appear. It is uncomfortable to work as a Windows admin in the office where the software is not completely licensed. And where is it licensed - there are already admins there and nobody needs them. Where would you stick with your initial knowledge of Linux, programming and web servers? We look, aha: the Internet. I want to do networking? Definitely not. I want to eat and go to work as a programmer. I do not like it, but 800 a month. After two weeks of life, web hosting shows up with a tech support job.
Hosting ... Hosting gave more than four years. The most positive impressions of the work as a process. Especially during the development of the industry. The study of new technologies, the need for a variety of knowledge, the ability to first think over everything and do it once well. The leadership’s interest in the fact that the old worked steadily, and the new improved the old (and, of course, brought in money). Of the minuses - at that time, the wage is sufficient to live peacefully alone.
Moving to the edge of geography and my knowledge of programming and administration, I begin to knead, collapse and slowly + sadly shove myself into a tectonic rift of the lower spinal hemispheres. There are jobs, there are a lot of them, but ... 12-15k. Rental housing 9-10. Thousand to travel, the rest of the food, part-time work - on everything else. 18-20 get 1C-specialists - it is already possible to live without a job and go on vacation normally, but with knowledge of 1C at the “put escu, correct fractional separator” level and nowhere take without knowledge of accounting. We need to learn and at least some work. There is a vacancy of technical support in the Internet provider, an interview, a strange question about Oracle and a sudden offer to work as an administrator.
I have not seen so many strangely working software collected in one place. Updates to new versions solve problems in one place, but create in another. Part of the source code is not. The other part cannot be changed independently, the third one seems to be, but is not going to. Similar software from other developers is similar in maintenance. Everything costs like a wing from an airplane, easily like a cast-iron bridge, falls with a dashing jack, is divinely documented and contributes to the accelerated comprehension of Zen.
From the good - a competent team, the ability to do well, the demand for all skills, ranging from writing batch file and ending with database migrations.
From the sad: sometimes there is an acute shortage of full-time specialists in some areas of IT, - everything has to learn by itself. Because of this, it’s hard to prioritize tasks - both are needed and we did it a year ago, but to continue this direction you need this. Still hard without bureaucracy. It is almost impossible and seems to have to try to breed it. You can ask colleagues to describe their requirements / wishes and discuss everything written. But getting into the head and understanding how everything really should be is impossible.
You can do everything as they say. It has a name - the Italian strike. But here is a commercial organization, not a budget one. Not only will no one keep such an employee, but colleagues will not want to work with such a person when they receive a notification about the delayed wages due to this person. Do not like it - better to leave.
Only to leave especially nowhere. I, as far as I can judge myself, have ceased to be a programmer. Sis.adminom - almost the same. Grieving is stupid. Sooner or later all the same, you need to make room for the young.
You can change the profession. Go to study, start everything from scratch.
You can implement to start any of the old ideas and start your own business.
The size of financial pillows covering the risks for both options is about the same.
It remains to decide what to do, to stop IT and start living.