ING Bank

I worked at ING Bank in 2016, for about 13 months. Being the bank with the
highest rated mobile banking app in The Netherlands, this has been a very
exciting experience and a very challenging one. As this was my first assignment
as freelancer developer, I could not have found a better way to start my new
career.

Within ING, I worked in an agile feature team made of 6-7 front-end (Android and
iOS) and back-end developers. Considering the complexity of the app and its
very high standard in quality, we were responsible for only few specific parts
of the whole app, namely the list of products and the payments. This somehow
narrow scope, allowed us to be more focused and to deliver with the expected
quality.

Another way of keeping the bar high, was by means of regular meeting between all
iOS developers, where we could share knowledge, discuss issues, identify points
of improvements in our daily job as developers and propose solutions. Thorough
code reviews also kept the code to a very high degree of maintainability.

And maintainability was also one the key points of the project I worked on after
the first few months in ING Bank. A project whose goal was something that no
other bank in the world has done before: bringing the omni-channel experience to
levels beyond country borders. In other words, by leveraging its worldwide
presence, ING decided to provide the same mobile experience to its customers, no
matter to which geographical ING entity they were attached to.

All this might sound easily solvable by just an app to fit them all but when
it comes to banks, this is not so immediate since they are extremely regulated
entities: each country has its own set of laws and security rules; and all of
them must still apply in this new mobile experience.
This led to a modularization of the existing Dutch Bankieren app into several
independent modules, that each country could use to build their own ING mobile
banking solution. The module we were responsible for in my team, was the module
handling the ING products a customer has. So we wrote the products module
completely from scratch and using Swift 2 (which was then migrated lately to
Swift 3).