I work at the Deutsche Bank TechCenter
Hello! I am Alexander Beloturkin, I work as Dev Manager at the Tech Center of Deutsche Bank, where I came more than 4 years ago. The first day was unusual. Compared to IT companies, where the majority come in jeans and T-shirts, it was very unusual to see people in strict shirts and speaking English on the phone. But over time, the atmosphere became familiar and friendly. I was interested in, on the one hand, the proximity to the end user, the ability and desire of this user to explain the essence of the problems that we solve together, and on the other hand, colleagues who are so reverent about the quality of their work. And, looking a little ahead, I’ll say: no, we don’t write bookkeeping under win98, we make the world's most effective platform for trading currency derivatives and much more.So, I work at Deutsche Bank, in the Russian Technology Center. What does it mean to work as an IT specialist in such a large investment bank? This means that all your relatives and friends will be sure that you know in advance what will happen to the ruble and which picture will be chosen for banknotes of 2000 rubles (Vladivostok). But you for some reason hide it and, most likely, for selfish ones.
In fact, you can answer this question for a very long time: it’s enough to roughly imagine how many people and all kinds of business processes exist in the bank. For example, Deutsche Bank employs more than 80,000 people. There are approximately 40 countries with a smaller population. Iceland, which conquered everyone at the World Cup, has a population of about 330,000. Given only the able-bodied population, it can be assumed that among people who can play football, Deutsche Bank is comparable to Iceland and, in theory, can assemble a team at the level of the World Cup. In theory…It would be strange to think that an organization of this magnitude can do without serious IT support. Of course, in such a large bank there is an IT infrastructure and a lot of created software. Investment banks have long ceased to be organizations around economists and bankers. Now in the center of investment banks is IT. It is IT that becomes what determines the effectiveness of business processes, determines whose application is the first to go on the exchange, who better calculates the risks of transactions or who is the first and best to provide investment solutions to its customers.
So what does it mean to work in an investment bank? For me, this is primarily to work alongside great professionals. The concentration of smart people here is very high. Some time ago, I worked with a team that deals with High Frequency Trading. They fight for microseconds for exchange trading algorithms. Have you read the article “What every programmer should know about memory”? (Google and read). Here, I think, these guys can tell everyone what they need to know about memory and about all the other guts of modern systems in order to respond to price changes in 10 microseconds , make a complex calculation and send an application to the exchange.My project has a quantum living in London. This is one of those people who are like ones all over the world — only a few, and I can communicate with him every day and often for more than one hour. True, after talking with him you feel like a freshman. His knowledge of the mathematical calculations of financial instruments and the entire inner kitchen is simply amazing.
Some say that the bank has a lot of legacy (junk)
Well, of course, there is a legacy code: Deutsche Bank in Russia is already 135 years old. The programming language "C" was invented in the early 70's. Obviously, software in the bank was written not for the last 5 years, as in a young startup, but much longer. But where advanced solutions and technologies are needed, inefficiencies are quickly eliminated. As a result, those legacy ones are well-written, well-composed applications that are sometimes inferior to modern solutions. A man was sitting next to me, who, by coincidence, was rewriting one legacy of a system, which was often easier to figure out with debugging than with source code. So he received a noticeable pleasure in the opportunity to unearth something there, to understand the original idea of the author and improve it first logically, and then in technical terms. As a result, it was possible to save an indecent amount by supporting an old solution, improve system behavior and just be proud of the work done. But this is not a job for everyone.
Domain knowledge
I always say that you cannot write a good product if you do not know what and for whom you are doing. This, of course, makes us study some banking theories. Does everybody need this? No, there are projects that have little to do with business and most likely represent an infrastructure component. And there are projects where without understanding the business there is nothing to do. And here, as they say, the taste and color ... For example, I am very interested in calculating all kinds of derivatives, respectively, I can bring much more benefit in projects where this knowledge will be useful. What is absolutely necessary is knowledge of the English language, as often even correspondence within the team is in English, not to mention talking to business users.What tools do they use?
In short, they are different. There are, of course, some strategic decisions (no one really wants a mixed IT infrastructure), but at the same time it mainly depends on the project and its needs. If there is a reasoned understanding of why this or that software should be used, no one will force you to use something completely inappropriate. Plus, there are quite large projects where there is a need and expediency to use some expensive / large solutions, and, accordingly, there is an opportunity to touch such systems and products. For example, I have 10,000 CPUs in the project who constantly think about something. Optimization of the algorithms saves a significant amount of electricity on these CPUs by a couple of percent.
In this regard, a new project in the bank does not differ from a startup, git, mongo, hadoop - all that is needed, if justified. Not far from me, for example, colleagues use Scala and Actors. Often I overhear what they think about all this =).
Agile or not Agile?
Depends on the team. Someone chooses one, someone else. We are not process oriented. If we want and we can, we use one methodology, if not, another. In our project, the perverted Agile, we changed it in the way that is convenient for us all, and at the same time we continue to share. In general, this is of course an intra-team issue. Deutsche Bank periodically hires trainers to train scrum masters, product oouners, etc. For teams that attended all such courses, the effect was, of course, noticeable even to neighbors. We well understand that it is necessary to write efficient code (see about saving electricity or about 10 microseconds), but at the same time reliable and supported. They can wake us up at 4 a.m. to sort out the problem, and here you quickly begin to understand the value of logs, diagnostic utilities, etc. Mistakes in this area can be very expensive.Where to grow
Deutsche is honestly a good place for professional growth. Someone is growing technically, someone as a leader, someone from IT is moving into business. It is possible to switch from one project to another. I would say that everything very logically proceeds from the fact that there is a need for everyone to like what they are doing, because no one needs dissatisfied employees who, for no reason, file a letter of resignation. We have programs for senior students and graduates. They undergo a little training, and then fall into a full-fledged team, where, if desired, they can grow at tremendous speed.
We open the Deutsche Bank's blog on Habré to tell you about us, about our projects, our employees, about our ideas and observations in IT, and, of course, just to talk with you about IT technologies.