📜 ⬆️ ⬇️

What is IT in a major investment bank



Let's play in the association. IT in a huge investment bank - what comes to mind? Strict control over the development process? A bunch of smart people who know how futures are different from forwards? Commands that easily write multi-threaded and secure code? Or maybe Monsieur is a pessimist and thinks that “everything is like everyone’s”?

I worked for the last four years in banks. One year at Credit Suisse, offshore from Russia with business trips to the London office, and 3 years at Citigroup, living in New York. And I'll tell you what: IT in banks is an intellectual ghetto, with all its minuses and ... minuses. There are very smart guys, cool teams, but they are much smaller than the industry average, and the bulk of the workers are zombies that produce a very bad code and then crutches and poultices to it.
')
How did it happen? Let's figure it out. The plan is simple: let's start with the obvious things that distinguish the financial industry so strongly from all others, and see what it resulted in.


Finance


The most obvious difference is finance as a field of knowledge. The number of years you can spend on training is about the same as your whole life plus a thousand. Nothing complicated separately - simple mathematics, models, etc., but the volume of material itself quickly becomes a problem. All this creates its own language, not accessible to people from outside. You simply do not understand what you are told if you haven’t cooked in this saucepan.

Now we will make a mental experiment: what does your success depend on at the new place of work? For the sake of argument, let us assume that 50% is from your abilities and knowledge, 25% from the ability to create social ties (I said so flatteringly "from the ability to go to lunch with the boss"), and 25% from good luck. Ok, is it the same thing in banks? Nope A free conversation in a language from the desired finance area easily eats up 25% of the pie. Those. if you are a dummy, for the last 5 years, the system has been breaking down once and has learned all the keywords during this time - welcome to the team. No magic, just a little perseverance. So what if your knowledge of software development in recent years has not gone beyond the book "Java / C # for dummies" - this is a simple part compared to knowledge of finance, right? Nothing, learn along the way.

Over time, the value of such workers for non-financial companies falls dramatically - no one outside the financial industry is particularly interested in your knowledge of derivatives, but the knowledge of new technologies and (sometimes) the tolerable ability to write code is not yet.

Salaries


It is not a secret at all that the level of wages in finance is on average higher than in other industries. This makes banks a very attractive place to work. If for the same 8 hours of programming a day you can receive for the conditional 30% more money - give me two such jobs.

This situation creates another barrier for IT-Schnick, working on hold. If you cannot find an equally well-paid job "on the side", even if you feel that you are stagnant in one place and are degrading, then most likely you will not change anything, even if in the medium / long term it would be beneficial.

If you look at the resume of such a typical employee, you will see a series of banks there. In large financial centers, it generally becomes comical - often after a change of work, people just start walking to the next building, and in extreme cases - to the next floor.

Banks love money


And the third is that banks can do well and count money. They also know that stability is the key to financial success. It is better to make 100 rubles a year for 100 years, rather than one year to make coffee, earn 250, and go broke for a second. And to earn 500 all the same will not turn out - such clever and greedy here the whole street.

Everything in banks is designed for the fact that irreplaceable ones are not. In order to check this, workers are sent every year on a “forced” two-week vacation, during which they are even forbidden to answer letters. It is also absolutely normal when 70% of people around you do nothing (or do garbage), when different projects do the same thing in incompatible ways, when teams build their bicycles from scratch, etc. This is impossible in ordinary companies that should count money, but in banks this is OK. When one trader can blow a billion bucks a day, who will care about a project that hasn’t been delivered on time?

The other side of the love of money is hiring a cheap slave. strength If you came from the moon and wanted to find out where Citigroup is located, then you will think that the answer is in India, because most of the offices and development centers are located there. In the US, there is also a common way to hire a visa for H1b (the same Indians, for the most part) for a penny. At the same time, quality often does not concern anyone - there is a budget lowered from above, and it needs to be mastered. So once my citigroup manager came up to me and said, “The last dude you interviewed was good?” No, I say, he was as stupid as the March rabbit in January, he would not be able to write his name twice in a row. “Well, we take it anyway. He will learn in the process. We have a budget. ” This dude after half a year was able to remove us one base in production, and a year later he quit.

Total


As a result, the lower levels of IT in banks are filled with incompetent people who wipe their pants and from year to year at best do nothing, at worst - prevent others from working. Business analysts, spending months on documenting columns in an old application. Programmers who do not even try to test their code. Managers who do not even try to keep track of tasks and requirements, etc. I saw with my own eyes how one “product owner” during the discussion put his hands in his ears and began to say “lalala, I can't hear you, lalala”. I am not kidding. I saw it with my own eyes. Or, just for example, in my project one javist opened the c # file and changed it. He did not know the syntax, because the project is clearly no longer compiled. When I asked him why he didn’t check that everything works, he replied - “I don’t know how to compile .net”.

By the way, many such characters are well aware of their professional inappropriateness outside the banking environment, and therefore they are trying in every way to protect their workplace. This leads to exciting political games between people and entire departments, servility to the authorities, and total reluctance and inability to take responsibility. Again, as an example, a case from my project. When I realized that my boss was desperately afraid of making any decisions, I decided to check this out by asking me to decide where to put the button for some new functionality. Well, what could be simpler - well, poke your finger at the screen - they say, shove it here! No, he sent an email to his boss, his boss’s boss, and the heads of the three regions, “let's decide together where to put the button”. I do not know what answer he received, but I suppose that they lucidly explained to him that such idiotic letters are not sent to such people, so after a couple of days he responded to the team mailing “I instruct you to decide for yourself”.

Programmers who have mastered the art of “unfactoring” have learned how to protect their workplace most effectively (see here: www.confreaks.com/videos/271-rubyconf2008-unfactoring-from-patterns ). In short, this is when a good code turns into govnokod by point changes. But since there is no place to take a good code, such programmers simply write an application or component for years in such a way that no one, not even Chuck Norris, can understand anything about it. Such people are difficult to dismiss, it is easier to continue to pay them for support.

And the saddest thing is that they do not do it on purpose. Well, they do not know how to physically different. Here, for example, lived-was the application in the bank. Then the data stream grew, and the application began to die, because it was a collection of anti-patterns, and no one could fix it. No problem, the bank decided to rewrite everything from scratch. And who will rewrite something? Do you really think that the existing team will quit with the phrase “I'm tired of shit, I'm leaving”? Of course not. Because after a couple of years, these same people began to attack the same rake.

Well, and lastly: yes, I know that there are also steep peppers in banks. Someone attracted money, someone likes to study the financial literature. There are whole teams in which it would be nice to work. Moreover, for some reason, higher levels of management (starting from the managing director) were usually pleasantly surprised - maybe peer pressure works there? But if you are going to work at the bank as an ordinary programmer - get ready for a swamp. And good luck.

Source: https://habr.com/ru/post/201610/


All Articles