Interview: How are apprentices living at Rusfinance Bank?

We talked to two guys who were trainees yesterday and now work in the state. They mainly write code in Java and also make extensive use of the bank's internal framework. Some front-end projects use React.js.







Both are students who were able to combine internship and full-time studies. They argue that it is possible to get an internship at a large international company even without a lot of experience behind them. The main thing is knowledge and desire. Read about how to become an intern, establish yourself well and get a job in the state, in the interview under the cut.



Why did you choose a career in IT? Why are you interested in development?



Misha: Since childhood, I have been drawn to IT. Firstly, it was always interesting to me. This can be said to be my passion. Secondly, my father is an IT specialist with 20 years of experience, also a Java developer. He once told me: "Misha, choose Enterprise, choose Java." I have never regretted it. It is one of the most expensive industries and one of the most expensive languages ​​on the market today.



I am interested in learning new things, turning the code into something that works. As for me, this is cool. You feel like a creative person.



Danila: From childhood I loved exact sciences - mathematics, computer science and chemistry. I was choosing between economics and IT. I realized that IT is closer to me.



I like development because you can use non-standard solutions. I have always wanted to create products that will simplify people's lives.



How did you find out about the internship program at Rusfinance Bank (RFB)?



Misha: I created a resume on hh.ru, and received an invitation to talk. The bank's recruiters found me themselves.



Danila: I sent my CV to the RFB myself.



Why did you choose this option? What other companies have you considered?



Danila: I considered Sberbank and consulting companies.



One of the options didn't work for me on schedule. Sberbank also offered an internship, but in the end I chose the RFB. In addition, here I was offered to make a full entry in the work book, that is, from the very beginning to record the length of service in the specialty. On the whole, the RFE offered more interesting conditions.



Misha: I liked communicating with HR, and with the head of the department. I thought why not. I had other suggestions, but they dragged on for a long time. And here everything happened very quickly - in just a week and a half.



I studied Java and the Enterprise segment for a long time, attended courses, I was preparing for this. So, already in my second year, I started thinking about working in my specialty.



What selection stages did you go through?



Misha:There were two stages. The first is an interview, you had to tell about yourself. I arrived at the office on Zemlyanoy Val. HR and the head of the department were there. Basically, I was asked purely biographical questions, but sometimes simple technical questions.



Then they gave me technical specifications. They had to be made at home. I solved them quite easily, and then I was invited to a technical interview. I was asked questions about the tasks that I had solved, and also given small tasks in the course of the conversation. For example, you had to find errors in the proposed code example.



Danila: Yes, I had about the same thing.







What technical tasks did you complete? How difficult were they?



Misha:They were aimed at the core of the language, at the basics. In addition, I had to deal with the integration with third-party libraries. For example, I needed to understand the C code run library from under Java. I was also doing a REST vs GraphQL comparison job.



They were given a week to complete the assignment. And I tried to cope faster: in the end, I got carried away and managed everything in one day.



Danila: There was mainly a theoretical part and several practical tasks. I was given a couple of days to complete.



After that there was a technical interview - questions about Java and development in general, as well as several practical tasks. All tasks were simple, although some, nevertheless, made me think.



Did you have a portfolio on GitHub at the time you applied? Can you share a link?



Misha: github.com/Kazeev



Most of the projects from there I do not find interesting. Therefore, they are closed. But there are also open ones. In general, there is nothing like that there.



Within the walls of the company, I made a more interesting project - I wrote a simple starter .



Danila: github.com/Danilkashtan



Before that, I had a little experience in commercial and non-commercial development, but I cannot say that I can boast of anything.







How difficult was it to combine your internship with your studies? How long did the internship last? What schedule did you work on?



Misha:Now I have entered the third year. I have a bachelor's degree, full-time, full-time. I study at the Moscow Power Engineering Institute (MPEI) with a degree in Applied Informatics in Economics. The rector signed an individual schedule for me. I could not attend some of the classes.



I spent about 6 hours a day on my internship (30 hours a week). For example, I worked in the first half of the day, and studied in the second. Or vice versa. I had to get up early and stay up late. But I seem to have done it.



After going online (due to the pandemic), it became easier. I switched to full time. I work and study at home. I manage to combine.



Danila: I study at MIREA (Russian Technological University), majoring in Applied Informatics in Economics. When the internship began, I was in full-time training in the 3rd year.



I thought it would be more difficult: when I first came to the bank, I expected that everything was very strict and clear there. But in fact, both the management and the team were loyal to the fact that I am a student. I went to classes that should not be missed, and in my free time I made up for it: I had to work 30 hours a week.



What tasks did you solve during your internship? Have you had an internship project? Did you manage to complete the project you were working on?



Misha: As such, I didn't have an internship project. There was a list of tasks that needed to be done as part of the study of a self-written engine (and framework) created by the bank's developers. They gave me two weeks for this. The assignments were simple, so it took me about a week to complete them.

Examples of assignments for trainees:



  • ;
  • ;
  • ;
  • , ;
  • ;
  • ;
  • ( JavaEE), .
And after that, I gradually began to take on "combat" business tasks. At first they were small (correct a line, add a column). After 4-5 months, I received a larger task - to develop an internal module for our framework.



It was difficult there, because I had to do a lot of work with format conversion. If previously prepared data came from the database, this time it was necessary to receive and process pure JSON. But I seem to have done it.



Danila: There was no separate project. At first I worked on tasks to learn the internal framework. A month later, I joined the SCRUM team and joined the work on the product.



What technologies did you meet during your internship? What skills have you acquired?



Misha:I studied bank frameworks as well as other proven libraries that help speed up development. The big change is that we started to separate front and back using ts and java. RPC will be replaced by REST, and gwt by react. And I am glad of this: now I have experience of working with new technologies.



Before that, I had no experience in commercial development. Previously, I did not work in teams with clearly defined responsibilities. And in the bank I learned to independently assess and distribute my time, to understand the technical assignment. But, probably, the main thing is interaction with colleagues and communication.



I got a better understanding of how to better debug the code, how to anticipate risks in advance. Whenever possible, the team spent a lot of time on code review and refactoring.



A separate skill is working with legacy code. I had to understand a lot. And including studying the internal framework of the bank.



Everything is easier in new projects. There we write a clean back-end using REST.



Danila: During the internship, I figured out the internal framework of the bank, as well as SVN, REST, RPC, React.js and Formik (a library for creating forms). In general, technologies are not as important as gaining experience in commercial development, interaction with the team.

It is often more profitable to train young specialists "from scratch" in the skills and technologies that we need than to retrain specialists with work experience.
How do you feel about legacy code?



Danila: With understanding. People come and go, leaving behind the code. I think a bank is objectively not an organization that can quickly get rid of the legacy code. Of course, you need to strive for this. This will allow you to look at what is and do better.



Although in other, smaller or more flexible, projects, you can also quickly make mistakes and drag them from release to release.



How did your adaptation and training go? Did you have a mentor / mentor?



Misha: I did an internship in the office. I had my own mentor who purposefully engaged in my training. He talked about the system, gave tasks and monitored their implementation.



Or, for example, when we switched to REST and Jersey RESTful Web Services, we had a friendly paired code review with another intern. In our work with him, there was a slight desynchronization. We were pointed out these little things, and we corrected everything.

If the trainee performs "combat" tasks, then the code-review could be carried out by employees of the unit to which the trainee is attached.
Danila: I also did an internship in the office. This was long before the pandemic. Every day the mentor found time to teach me something new about working with the framework (starting with the simplest thing - adding buttons and fields to the form, interacting with the database, and so on).



It also checked the tasks I was doing. It was very comfortable. A week later, I began to gradually take on combat missions.

3- 50% .
What difficulties / discoveries did you face in the process?



Misha: It was difficult to understand a lot of someone else's code. But this is a skill that comes with time.







Danila: My most important discovery is immersion in commercial development. Your code undergoes a large number of checks, it must comply with requirements and corporate standards.



Although at some point it was difficult for me. However, I realized pretty quickly that there are advantages to this. For example, you can write your own code based on someone else's code that has already been written to solve a similar problem and already complies with corporate standards.



Besides, I was surprised that in such a serious organization people would be cheerful and open-minded.



How did your internship expectations come true?



Misha: They were completely justified. I got hard skills and soft skills. Although in general the tasks are not difficult, but resource-intensive.



I am required to perform simple operations with data, but I don't need any more yet.



Danila: The internship exceeded my expectations, probably in all respects. I especially want to note the loyal attitude towards students-trainees and the opportunity to combine them with studies.



How did you get on a permanent job in the state? What did you do for this?



Misha: Probably, this just happened after I independently implemented the module that I mentioned above from scratch. It was a really complex module.



Danila:At the end of the internship, my mentor described me as a person who can quickly figure out and get involved in work. Colleagues listened to him. So I was accepted into the staff, remaining in the SCRUM team.



I learned quickly, quickly found the information I needed and the options for using it. That's why I got into the state.

The selection criteria for interns to work on the staff are standard:



  • successful completion of the training stage (in particular, the assimilation of theoretical material, successful solution of practical tasks);
  • successful completion of the first "combat" missions on time;
  • skill to work in team;
  • readiness to study the technologies used in the bank, show interest in the proposed tasks.
What has changed since your transition to the state? What team are you currently working with? What tasks?



Misha: As I worked in the Harmony team, I continue to work there. We are actively introducing new technologies.



Danila: I began to perform more complex tasks. For example, I am currently building a UI using React.js. This is a new technology for the bank. It's nice that I was entrusted with such responsibility.



What do you like about SCRUM in general and the RFB SCRUM-team in particular?



Misha: Our team was heading towards SCRUM and now, at last, they have reached it. We have yet to build work within the framework of this methodology.



We are helped by analysts who issue very detailed technical specifications: “add a button here”, “add a button there”, “make such and such a window”. Let's see what will happen next.



Danila: I like SCRUM. It brings it together, it's fun. You constantly communicate with people who make one product, you see the goals of the team, you see the direction in which the project is developing.



However, we are not afraid to go beyond the SCRUM Guide, slightly adjusting the processes for ourselves.



What advice can you give to beginners? What skills should they train?



Misha: First of all, take the time to prepare. You need to strive to perfectly match the requirements of the vacancies. Do not think that some requirements are written there just like that and you will not be asked about them.



Secondly, I recommend students to participate in hackathons and similar events. For example, in Moscow there are a lot of open areas where they take place. There, young developers can get basic soft skills, show themselves well, receive medals and certificates.



This will definitely be a plus for your resume.



Thirdly, take development courses, refresher courses. There are many free courses including.







Danila: Perhaps the university does not provide hard skills, but it teaches you to quickly find information and delve into it. I would advise you to pump this particular skill.



In addition, I would advise you to upgrade your soft skills, that is, communicate more with strangers. For example, now I can already see that we are recruiting people to our team, focusing on how comfortable we will be to communicate with them.



Last but not least, don't quit school for work. I think it's better to spend more time looking for a job that can be combined with studies.



All Articles