Contents:

Free Python Course ➞ Mini-course for beginners and for Experienced coders. 4 cool projects in the portfolio, live communication with the speaker. Click and find out what you can learn in the course.
Learn moreIgor Bulyga is a professional in his field with extensive experience and deep knowledge. He focuses on various aspects of his work, which allows him to provide high-quality services and find a personalized approach to each client. Igor constantly improves his skills and stays up-to-date with the latest trends in his field, making him an expert and a reliable partner. His work is distinguished by a high level of professionalism and attention to detail, which contributes to the achievement of excellent results.

An expert in his field has deep knowledge and significant experience, which allows him to effectively solve problems and offer innovative solutions. His competencies cover a wide range of topics, making him a valuable resource for colleagues and clients. The expert's professionalism is confirmed by successful projects and positive reviews, demonstrating their high level of qualifications and the trust they enjoy from their partners. The expert actively monitors the latest trends and new developments, helping them stay at the forefront of their profession. iOS Software Engineer at Booking.com. His primary programming language is Swift. He occasionally uses Objective-C, allowing him to maintain his skills with older technologies. Developing mobile applications for the iOS platform requires a deep understanding of architecture and modern approaches, and experience with both programming languages significantly expands the engineer's capabilities. Links are an important element of web content, providing users with access to additional information and resources. They improve site navigation and aid in SEO optimization, increasing visibility and ranking in search engines. It is important to use relevant anchor text so that users and search engines can easily understand the link's destination. It is also worth monitoring the quality of external links, as they affect the authority of your site. Regularly updating links and checking their functionality will help keep your content relevant and improve the user experience. Proper use of links not only helps attract traffic but also increases trust in your site.
I studied at Bauman Moscow State Technical University in the "High-Precision Aircraft" program, but by the middle of my third year, I became disillusioned with my chosen profession and began looking for new paths. At that time, the first iPhone models appeared on the market. I asked my parents for money and bought an iPhone 4S. This phone made such an impression on me that I decided to become an iOS developer.
How it all began
I learned on forums that iOS app development is done on macOS. I didn't have a Mac, so I created a Hackintosh—a PC running macOS. I studied materials on forums and read books such as "Developing Applications for Mac OS X Lion" and "The C Programming Language" in Russian. Often, the examples from these sources didn't work, and I had to search a lot on the Internet and find solutions to the problems that arose.


After selling my PC, I bought a 21-inch iMac and began actively searching for a job. I sent my resume through platforms like hh.ru, Habr, and other career sites, but received no responses. Finally, I came across a job posting for an "iOS developer at a startup" on ITmozg.ru. The task was to support and add new features to a children's mobile game. I was given a test assignment, which I approached enthusiastically, using old textbooks and resources. Having successfully completed the test, I got my first job with a salary of 15-20 thousand rubles, which was a good amount for a student at the time.
I worked at the startup for a year until it closed. After that, I had to look for work again, but not for long. Just a month later, I found a company affiliated with the government that was developing an app for the Ministry of Internal Affairs. This app had an unusual structure: it consisted of cards representing police departments. With it, employees could view the positions and ranks of their superiors and subordinates. My job was largely uneventful, and I spent my time in the office doing nothing, yet still earned a steady salary. Thus, I "worked" for six months while simultaneously studying at university.
Later, one of the founders of the startup I worked for contacted me. He had started a new, large-scale project with the help of an outside investor. The idea behind the app was that users would come to a cafe, scan a QR code, and share their impressions of the restaurant on social media. Depending on the reach of the post, the restaurant would provide a discount of 5-15%. I joined the project as an iOS developer, while simultaneously receiving a salary from a government agency, and felt like I was on top of my game.
The app for the Ministry of Internal Affairs was shut down, and the startup once again failed to live up to expectations. The investor lost interest, which led to delays in salary payments. Luckily, around that time, I received an invitation to interview at red_mad_robot, an outsourcing company that develops mobile apps for major brands. Initially, I was hesitant and doubted my abilities, but I decided to give it a try.
The interview was unexpectedly easy. I was asked interesting questions, and we discussed modern frameworks in detail. The next day, I received an offer. I worked at red_mad_robot for a little over a year and participated in significant projects, including the first version of the AlfaStrakhovanie app. This experience allowed me to develop my skills and deepen my knowledge in development, as well as become part of a team working on innovative solutions.
One of the most memorable moments in my career was attending a winter corporate party with colleagues when we drove past billboards advertising AlfaStrakhovanie. It was amazing to realize that, as a student, I was already involved in such a large-scale project. In addition, I participated in the development of the first versions of the Perekrestok and M.Video apps, as well as the redesign of the Otkritie app. For our latest work, we received high marks from reputable rating agencies, confirming the quality and significance of our contribution to the development of these brands.
Cyprus, or There and Back Again
When red_mad_robot decided to start developing its own products, I was transferred to in-house development. At that time, my brother moved to Cyprus and invited me to join him. I sent my resume to the Cypriot company Aloha Mobile, known for its product Aloha Browser. This mobile browser offers users a built-in VPN, download manager, bookmarks, and many other useful features. One notable feature was downloading videos from YouTube, although the company later encountered restrictions. I successfully passed the interview and completed the test task. Having received an attractive offer, I decided to leave red_mad_robot, and together with my wife we moved to Cyprus.



After two years of living in Cyprus, we realized we were tired of the island and decided to return to Moscow. While in Cyprus, I was actively interviewing at Moscow companies. Joom had an opening with a salary of 300,000 rubles a month, but unfortunately, I was unable to pass the interview with the recruiters. I ended up working at PURE, where I worked remotely, as the office was in Portugal. However, after three months, I began to feel disillusioned with the work and the company itself.
Initially, PURE used a simple business model based on a monthly subscription, allowing users to access services without restrictions. However, this model did not suit the App Store, and the marketplace threatened to shut down the dating service. In an attempt to restore profits, PURE began actively introducing advertising across all its channels. I didn't think this strategy would be successful, so I decided to leave the company.
After that, I got a job at a company developing a VPN service. However, after three months, I was disappointed: instead of working on the VPN, we switched to creating a palm reading app. The value of such projects is seriously questionable. Ultimately, I decided to leave the company without hesitation.
My next job was at the American company Alfa Labs. They developed apps for meditation, call recording, document scanning, and other functions. One of the last projects I worked on was an app that measured heart rate using a light sensor. Although the office was in Boston, all the developers and designers were in Belarus, and I was the only Russian on the team.
After much deliberation, I decided to try my hand at a large corporation, choosing between Ozon and Yandex. I passed interviews at both companies, but the process at Yandex was very difficult and resembled the competition at Google. It consisted of six interviews and lasted two months. Ultimately, I received an offer with a salary significantly below my expectations. In contrast, the interview at Ozon was quicker, lasting just a week, and I received a decent salary offer.
Interview at Booking.com
Before joining Ozon, I was planning to move to America or Europe, but these plans changed due to the pandemic. During the lockdown, I actively researched relocation opportunities, solved problems on LeetCode, and practiced for interviews in a Telegram group.
Traveling to America turned out to be difficult due to visa difficulties. Asian and Middle Eastern countries were not on my agenda, so I focused on Europe. I started by sending my resume to several companies in London. However, many of them did not respond, and others did not offer relocation services.
I remembered Booking.com, whose office is in Amsterdam. I reached out to someone working there on Twitter asking for a recommendation. The referral program doesn't guarantee employment, but it significantly simplifies the first step—getting your resume scanned by a recruiter. While referral services were previously offered online, Booking.com has changed its referral policy. Now a candidate can only be considered if the person recommending them worked at the same company and can point out their achievements.



A Twitter user suggested sending a resume directly, and if there is no response from Booking, he will be able to find out the reasons. To my surprise, I received a response within two days, and they provided me with a link to four tasks on the HackerRank platform. I successfully completed them, after which a recruiter contacted me to discuss available positions. Initially, you can interview for several positions and then choose the one that best suits you. I chose the position of Core iOS developer in the Accommodations department.

The interview at Booking.com was conducted in English. During the initial phone call with an HR specialist, my language proficiency is tested. Some candidates don't make it past the first interview precisely because of their insufficient English. I don't have a perfect British accent, but my English proficiency was sufficient to successfully pass all stages of the interview. It's important to remember that confident English is a key factor for successful employment in an international company.
During the technical interview, I had a call with two developers from Booking. They provided a link to the HackerRank platform, where I was asked to solve two problems: one related to platform development, the other to algorithms. I was allotted half an hour for each problem. After successfully completing the tasks, we discussed work processes at Booking.com and life in Amsterdam in English.
A few days after submitting my application, the recruiter contacted me and asked me to choose a date for the final stage of the interview. I chose the maximum timeframe – four weeks from now. As a result, the entire interview process at Booking.com took me two months.
The final part included three main sections.
- System Design. This section lasted 1 hour 15 minutes and consisted of two tasks. The first involved a schematic drawing of the Booking.com main screen and hotel cards and asked me to describe how I would design it, what architectural patterns and entities I would use, and how I would interact with the server. The second involved designing a Notification Center.
- Fit interview. This is a conversation during which the employer explores the candidate’s beliefs, characteristics, and how they would fit into the team. It was conducted by the hiring manager, along with the manager responsible for all teams in the tracker, and an intern. The intern simply listened as experienced colleagues asked questions. They asked how I would measure the quality of my work, how I could improve Booking.com, and so on. The conversation resembled a casual conversation with colleagues about work matters and lasted an hour.
- Algorithms. This is the most difficult part of the interview. They recommend solving such problems first in a simple way, and only then in an optimal way. I ignored this advice and immediately started looking for a "smart" solution. In the end, I wasted 40 minutes and still ended up with the most stupid one.
I thought I had failed the interview, but two days later, the recruiter from Booking offered to hold a call. They told me they were ready to make an offer – all that remained was to agree on the final amount.

At my first interview, I was asked about my salary expectations. I specified a minimum salary of €60,000 per year. However, it turns out that the salary for this position starts at €75,000. Booking.com has several job levels: junior, core developer, and senior. According to information from Blind and Glassdoor, the salary for a core developer ranges from €75,000 to €100,000, while for a senior, it starts at €100,000. Senior employees also receive stock options at Booking.com and other benefits.
How I collected my visa documents
Booking.com outsourced the management of employee relocation and legal matters. Representatives of this company contacted me, clarified the necessary documents, and provided access to my personal account in their system. In this office, I was able to track the status of my MVV visa application.
An MVV visa allows you to legally work in the Netherlands for three months while you wait for a residence permit. The visa application process was entrusted to a Booking.com representative, and my task was to collect and submit the necessary documents.
- passport;
- signed contract with Booking.com;
- notarized and apostilled translation of an apostilled marriage certificate (those who have moved to the Netherlands have a joke - "apostille on an apostille");
- visa application form.
A marriage certificate is required for those moving to the Netherlands with a spouse. However, even if you are not officially married, your partner can also join you. In this case, the Dutch Immigration Service will request proof of your relationship. This could include joint photos, social media correspondence, or other materials that confirm your connection. Prepare these documents in advance to expedite the immigration process.
For European institutions to accept marriage and birth certificates, you must obtain an apostille on the original documents. An apostille is a special stamp confirming their authenticity. Obtaining an apostille can be a significant challenge when moving, as it can only be obtained at the registry office that issued the certificate. Make sure all your documents are properly completed and ready for the apostille process to avoid delays and difficulties when adapting to Europe.
We lived in the Moscow region, and our registry office was located in Krasnogorsk. This is a remote location, accessible only by car, and there is only one parking lot for ten cars. All the necessary documents required a notarized translation into English, after which I needed to obtain an apostille from the Ministry of Justice.
The events unfolded in mid-December. I needed to submit the documents before the end of the year to apply for a visa, as I was scheduled to start work on March 1st. However, the next available slot at the registry office only opened after the New Year holidays. As a result, I turned to a private agency, which prepared all the necessary documents in 5 days for 12,000 rubles. The agency's specialists independently affixed all the required stamps and performed a notarized translation.
On December 30th, I uploaded scans of the documents to my personal account and began waiting for a response from the Dutch Immigration Service. Surprisingly, I received an approval notification on January 7th. This is quite fast, especially considering the standard application review period can be up to 90 days. Receiving such a quick response highlights the efficiency of the Dutch Immigration Service and the importance of completing the necessary paperwork.
Obtaining a visa through an intermediary is impossible, so I had to complete the final step—scheduling an appointment at the embassy. Due to the pandemic, the number of available appointment slots has been reduced to six per day. Appointments open every two weeks, on Tuesday mornings, so it's important to snag one. At the embassy, I presented the original documents and a letter from the ministry, received a sticker, and flew to Amsterdam at the end of February.
In part one, I shared my main impressions. In the next part, I'll talk about our move to Amsterdam, the search for housing, the necessary financial investments, and why this foggy European city is superior to sunny Cyprus.
Keep your content relevant by regularly updating and adding fresh material. This not only improves user experience but also helps improve search engine rankings. Make sure your text contains keywords that match the topic and intent of your audience. Additionally, use internal links to navigate your site and increase the time users spend on pages. Optimizing titles and meta descriptions also plays a crucial role in SEO. It's important to remember that high-quality content is the foundation of successful online marketing.
Read also:
- Getting a job at Amazon: 5 steps from resume to offer
- Who is John Gilmore and what are free internet users grateful to him for?
- React.js for programming beginners: what is it, how it works, and why is it needed?

