Inside Revolut's expanding team of Python coders
Farshid Ashouri is a busy man. As the head of Python engineering for app-based bank Revolut, he already runs a team of more than 100 Python engineers and he's hiring at least 30 more as part of Revolut's quest to become the self-described "best financial superapp on the planet."
Revolut uses Python for what it's best known for, says Ashouri: "Artificial intelligence, machine learning and computer vision." The existing 100-strong team includes 45 data scientists working on aspects of machine learning. "In our FinCrime department, for example, teams work on machine learning models to improve fraud detection," he says. Among other things, Revolut's NLP team is using AI tools to develop a chatbot and expand the help center. The help center team is developing a tool to answer customer complaints in real time. The computer vision team is developing products for the automation of ID verification and facial recognition for account onboarding.
Revolut has long had a reputation for being a grindy kind of employer. CEO Nik Storonksy said in 2017 that people there, "work long hours...at least 12, 13 hours a day." However, it's also known for living its mantra of "getting sh*t done:" things happen quickly there, products get built. "Work is mentally stretching and challenging," wrote one Revolut software engineer on Blind recently. "You can have a lot of impact very quickly," concurred a data scientist last year.
While some banks (JPMorgan) have been toiling to escape Python 2, Ashouri says Revolut's Python stack is very up-to-date. "Unless there are substantial changes, usually we introduce the latest version with little to no delay." Revolut are already using pattern matching power in the most recent Python release (presumably Python 3.11) It's also working on the reproducibility of load tests, which Ashouri describes as a "complex, exciting challenge."
Unlike some banks, Revolut is also all about remote working. It moved to a permanent remote working model in February 2021 and last year began offering its employees the right to work from offices outside their home countries for 60 days a year. Ashouri says Revolut is "fun" and flexible. - The company also has a reputation for letting employees define their hours.
Unfortunately, getting into Revolut isn't all that easy. In the past, an SVP told us 99% of candidates were rejected (this wasn't for Python developer roles in particular though). When it comes to Python developers, Ashouri says he's looking for candidates with a security-first approach to design and "deep knowledge of data structures, databases, concurrency, and general problem-solving skills." The company runs a multi-stage recruitment process that includes a live coding session where candidates share their screens with Revolut engineers and solve problems in Python.
Ultimately, it's all about being passionate when it comes to solving problems and helping customers, says Ashouri. It might also help if you familiarize yourself with the code below. - Ashouri recently posted it on LinkedIn, and said, "If you can explain the following piece of code, I want you in my team."
Have a confidential story, tip, or comment you’d like to share? Contact: email@example.com in the first instance. Whatsapp/Signal/Telegram also available (Telegram: @SarahButcher)
Bear with us if you leave a comment at the bottom of this article: all our comments are moderated by human beings. Sometimes these humans might be asleep, or away from their desks, so it may take a while for your comment to appear. Eventually it will – unless it’s offensive or libelous (in which case it won’t.)