AppForce1 Podcast: news and information for iOS app developers
← All episodes

Nandini Chauhan and Pim Stolk of Finn: Banking of Things

59:32

Send me a text

Nandini and Pim are old colleagues of mine. I learned iOS development on the project the three of us worked on together. It has been years ago.

Finn, banking of things.

Join me in Amsterdam for Do iOS 2025, tickets and details available now.

Lead Software Developer 
Learn best practices for being a great lead software developer.

Support the show

Do iOS: https://do-ios.com


Rate me on Apple Podcasts.

Send feedback on SpeakPipe
Or contact me:

Support my podcast with a monthly subscription, it really helps.

My book: Being a Lead Software Developer

Read the transcript
Jeroen Leenarts: Welcome to another special edition of my podcast. I'm sitting here with Nandini. And Pim, those are two old colleagues of mine that actually were on the first project that I actually learned some decent iOS development, so to speak. And we go way back, it was like over seven years ago, and I'll first let each of them introduce themselves. So Nandini Hi, how are you doing? Nandini Chauhan: I'm doing great. It's nice to see you after such a long time. Jeroen Leenarts: And the other person is Pim, how are you doing? How Pim Stolk: you doing? I'm fine. Thanks. Jeroen Leenarts: So I'm just to get things started. Nandini? Where do you go to work at the moment? Nandini Chauhan: I currently work at fin banking of things, which is the startup initiative at ING. And its IoT payments platform. That's where I work as a technical lead. Jeroen Leenarts: Okay, and what is your role there? And Nandhini technical lead, Nandini Chauhan: as I said, Yeah, responsible for along with Finn was to do his own introduction and a bit, were responsible for setting the direction of the product, and also deciding how to build it technically. So we are, it's, it's a mixed bag of everything you lead the team of IT developers, you're part of the product vision, you're part of the strategic decisions regarding the product as well. stakeholder management, technical sales, marketing, it's all of it. Jeroen Leenarts: Okay. And Pim, what is your role? Pim Stolk: Yeah, Nandhini kind of stole the thunder there. But indeed, I'm also the technical lead. And that might sound odd. But there's a clear split between us, where Nandhini leads, like the mobile team, and everything that's from then facing, I'm leading everything that's well, not really visible to the end customer. So I'm in charge of the core backends, and all the IoT components, which are SDKs that we roll out. And when on the knee is very much busy with all the marketing and all the HR stuff around it, identify focus on the on the bigger picture on the total product. So how does my day look like? I think it's coding every day. And when I'm not coding, I'm just looking around what's going on in the market? Is the product still relevant? And how can we adapt to this ever changing market? Jeroen Leenarts: So how big is the team that you guys are working in? Pim Stolk: The team at the moment is around 14 people, and it's a mixture between ID people and business people. So we try to have one of everyone of course, then you have to think about your iOS engineer, your Android engineer. But also the front end, because we have a large set of web portals written in Angular. So we have a team for that as well. And as we were working together, we already knew this, but now we we noticed it again, that one is none. So therefore, we scale the team to two engineers of every discipline, basically. Jeroen Leenarts: So just to just to start at the beginning, Nandini, how did the two of us actually meet? Because we know each other in in real life? The three of us? Yeah, Nandini Chauhan: I think it's, it's more than seven years, you know, it's almost eight years now. Because I've been eight years in Netherlands and I know you from the very first day, because I remember when I entered that ing office at mobile, you were the one who helped me through all of it. So the whole onboarding I did with you, you were sort of my buddy. I think back then. So I remember you as this super energetic, active, nice, talkative person that I was spending the entire day with when I was completely jet lagged. And I'm like, Oh, my God, this guy can talk. So that was my first reaction of you, which was super helpful. And you sort of took me through the entire code base, what you guys have already built, where we were, in terms of features, what we plan to plan to do ahead the process to all of it. So you sort of my very first contact in, in the Netherlands. Jeroen Leenarts: Okay. And Pim, what about the two of us? Pim Stolk: Yeah, longest three as well. I started at ING I believe in 2011. I was the first iOS engineer there started the project. And I soon realized that there was a little bit more on my plate that I could chew. I don't know if that's the correct phrase. So we we needed help, strong help. And very shortly, you came to help on the iOS development team, and well, I have to say the there was a very nice change. I think we did a lot of crazy stuff, a lot of good coding and we created a lot of cool features together. You always had an eye or you still always have an eye for the for the visual details where I was always looking at commandment it should just work. We should ship it people need this. Well, you all always said no. Let's make it flashy, shiny and better. And I think that together works very well. And yeah, we don't only know each other In business, I also attended your wedding. Not too long ago or a while ago, man, Jeroen Leenarts: I think it was six years or seven years. Pim Stolk: Time flies, especially during the lockdown, of course. Nandini Chauhan: So yeah, if I'm correct. Pim Stolk: Oh, boy. All right. You don't and I had a phone call before and we decided not to go into any details regarding the stag party Jeroen Leenarts: involved cars. Pim Stolk: It was crazy. Yeah. So we also we go back. And unfortunately, our paths moved, separated for a while, but I'm pretty sure that we will see each other soon. business and private again. Jeroen Leenarts: Let's hope so, Nandini Chauhan: about that animation bit about where you don't want to make everything look good. I still remember that vaguely viggle animation on the login screen of the banking. That took a week I remember. Jeroen Leenarts: Yeah. But that was because every digit on the login screen had like, I think it was five animations that were like time together and separately. So if you put in your five digit pin there were at the end of the screen that was like 25 or 30 animations that have happened. Nandini Chauhan: Yeah, I remember when you were quite proud of it. And Jeroen Leenarts: it stayed in the codebase quite long. But I think in the current app, it's finally gone. But thank God for it wasn't bad. Pim Stolk: It wasn't buggy. And I don't think it was a week it was more like two sprints, which is four weeks. But in retrospect, the thing was really worth it because it was actually a moment where we went from some other static application where well, you could check your balance and make transfers to something that was more visually appealing. And it had animation. So there was a turning point, I think also for the entire team. Were we understood that Okay, now we can we can do these things and the feedback from the market. It was appreciated by the customer. So yeah, I think it was a turning point. Nandini Chauhan: Yeah, I think it showed how the team was so determined on making, not just shipping out features, but like really good professional design, everything you are mattered. UX mattered, everything matters. So it was like more than going more than 100%. Pim Stolk: I think there was a big definitely. Jeroen Leenarts: Way to show that. So and Nandhini what does the acronym PCF stand for? Nandini Chauhan: I don't remember that anymore. Don't know. Oh, my God, it's almost like trip through rabbit hole. I just I know the acronym, but I just don't remember that anymore. Best colleagues forever. Jeroen Leenarts: That's the two of us. Right? Yeah. Nandini Chauhan: Oh, my God, I haven't said it in such a long time. Jeroen Leenarts: So um, so let's, let's, let's dive deeper a little bit. Because Nandini, the two of us met. When you were first in the Netherlands? What happened before that? How did you get into software development? Maybe computer science writing code? How did you what what was your path? Nandini Chauhan: It all started when I was born? No. Um, so I did my engineering in electronics and telecommunication. We did a bit of programming, but not a lot during that. So I did a bit of C C, C++, you learn a bit of computer programming concepts, but nothing practical as such. And after I finished my engineering, I was just looking for what to do next, as in start my professional career. And that's how I stumbled upon this position for an iOS developer. And they were really looking for like new talent. And I didn't, as I said, I didn't really have an experience with the practical programming back then. But yeah, the guy was hiring, he really sort of believed in my practical personality. So he said, well, let's just give you a shot. And I still remember I walked in to the office, and he was starting a team for both iOS and Android. And he said, so I have position for both. Which one do you want to do? And I just looked at both sides, because the teams were sitting separately, and I saw the Mac on one side of the windows on the other side, and I said, Whoever uses the Mac, I'll do that. So that's how I started as an iOS developer. I learned everything on the job. So it was just a lot of googling. There were some I think I was development for dummies. They used to be a book back then. So I started from there. A lot of content that was on Internet back then not a lot, but whatever was there, and a lot of the videos. So that's how I started and yeah, I very soon realized it was something that I enjoyed it. It was more than a job. It became sort of a part of who I am. So it just started from then was an agency. So I used to work for cjt. So we are used to have multiple projects. So I also got this experience of working on multiple things in short period of time, and you have to do with external clients, and why isn't the code ready was in the UI perfect and all of that. So I think it was a lot of how do you say, yeah, you learn how to hustle as well. So it was interesting. And then I worked there for two and a half years. And I still remember my manager came to me, and he said, Hey, by the way, these guys from ing in Amsterdam they want, they want to expand the team, and they're looking for new talent. And I suggested you do you want to go and have a chat with them. And I honestly didn't think much of it, because I was quite content in the way my personal professional life was. So it's like, yeah, who's gonna go to Amsterdam, said we might as well have a chat, you know? Jeroen Leenarts: Yeah. But just Just for reference, you were situated, where in the world? Oh, yeah, Nandini Chauhan: that's a very good point to mention. Yeah, I'm, I'm from Mumbai, born and raised. So that's what I was working. And he suggested, this ing team in Amsterdam, is looking for new people. So I had a chat with the actually payment euros. Along with someone else in the room, I don't remember who it was. But there were three people. And we had a video chat. Back in the days when it was not really the technology was not really great. So it took forever to first of all, initiate that call. And then we actually we had a conversation, it was quite nice and casual. There were a lot of questions about just process, and what would you do if you don't agree with something and things like that. And I didn't think much of it, I just had a very casual conversation with these with you two guys. And then went about my day. And then my manager came back to me on a Monday saying, hey, they liked you. And they would like you, for you to come and join the team. And my reaction was no, not happening. Because I'm not uprooting my life and moving to a different country on a different continent altogether. But then he said, No, just think about it, give or take time to think about it and come back to me a couple of days. And I did think about it for a couple of days. And eventually sort of it was my mom, she convinced me she said, You know what? It's a new experience, go and give it a try. If it doesn't work out, you can always come back. So it's not like a do or die sort of situation. So it's like, yeah, actually, that does make sense. So I gave it a try. And that's how we met. Yeah. Jeroen Leenarts: Okay. And Pim, about you, I remember that you were one of those people. That actually told me that PHP was fine. If you use it for certain things, and that it's not like a silly language, and that it's something that you can can use for a lot of useful things as well. Yeah, how did that happen? Pim Stolk: Yeah, definitely. It's, I still stand by that I use PHP almost on a regular basis to still quickly prototype things, because I'm just so used to the language and the syntax. But how did that happen? We have to go, we have to go a long, long, long way back, actually, yep. I roll into it. I remember the moment actually I was eight years old, I was sitting with my father behind, I think it was a IBM ayto 88x t machine. And it was running DOS and my father was showing the cube basic. And he opened the demo program there. I think it was called gorilla or something and that you had like, the Asterix going around the edges of the screen. And then in the middle, saying gorilla, sort of the name of the game or something. And I said to him, it would be so cool, if I can have my name in there. And then if the Asterix is go around and screen, he said, Sure, let's just do that. So he went into the source code modified it, compiled it, and it was there on the screen in like five to 10 minutes. And I was amazed. And that was the moment that I knew I wanted to be like, doing what he just did, and turned out to be a software engineer later on. And for me, the entry level into software engineering was or not one of the one of the first language that they use was PHP, it was PHP three, back then I just started reading books about it. Trying to familiarize, familiarize myself with how does it work? And what are the concepts etc. And that always stick with me. So I've been reading all the language updates from PHP three to I think would be now seven or something. And everything in between. So yeah, although a lot of engineers say, please don't use this language. It doesn't even compile, there's no typesafe, etc. But for me, it's something I've just grown fond of. Jeroen Leenarts: So So because of your dad, you actually got into an interest into software development, and then you did your education. And then you went on to What school did you attend? Pim Stolk: Yeah, I took a little bit of less ordinary route. Because I was programming still in what is called prime Primary School. elementary school when I was very young and well, schools weren't really weren't really ready for that back then yet. So I took an electronics class. But next to that always was programming Internet became a real thing, basically, and internet selling emerging grown big. And I started learning HTML as well, CSS and well, of course, PHP into the mixture. I started building web shops for Dutch fashion brands. And next to that, I also created the warehousing systems for that. So magically, that really took off. And this was late 99 into early 2000s. Jeroen Leenarts: So how old were you back then? Pim Stolk: Yeah, I really have to think I was like 19, or something like that. 18, maybe very young. And I just didn't really know what happened before I knew it. The software that I wrote was life for really big Dutch brands, settling their clothing online. And I had to think of all different aspects. So what do you actually charge for your software? And is there going to be a license and how I'm going to make sure that it's going to be up and running 24/7. And oh, my gosh, I can't do this alone, I need someone else to help me out. So because of that, I started looking for a school. And I found a is something very interesting at half year, which is the horoscope and Amsterdam. And this was called Information Engineering. And there you learn to be the bridge between a developer which I am myself, and an end client, which were Dutch fashion retail stores. So after completing that, it was three years study. I did it in one year. And I graduated in my own company, which was actually pretty cool. I learned to be a developer, but as well as a marketeer and everything in between. So that is basically the foundation that I always brought with me and kind of made me to who I am today. Jeroen Leenarts: But from that, how did you end up at the ing? Because Nandini was working in, in Mumbai. And then she was offered a position at ING. Yeah. How did that happen for you? Yeah. Pim Stolk: So this company that I had back then, which was mainly web development really took off and when Well, I had a partner in crime back then. And all cliche at some moments are true. And also this one, we we broke up business wise, and this was 2007, I believe. And the reason for that was I strongly believed in the future of mobile, and there wasn't an iPhone, there was just Android and Windows Mobile, of course. And I was already developing for dead. We grew apart, I left the company and did nothing for a year. Nothing business wise, I just looked at the market studied Windows development back then. And I looked at it everything else that was going on Android just released the first SDK, and there were rumors that that iPhone was going to do the same. So in 2008, I believe it was March when Steve Jobs said, we're finally going to release a real SDK for the iPhone, I knew that that was what I wanted to do. So after doing nothing for a year self study at home with my wife, and after hearing that that SDK for iOS would come out, I just fully jumped on that. Some guy EVO in The Hague, who has a company called Share wire, he was really a front runner with iOS development, he built but a mobile application for the cinema company. And I saw that and I was like, Oh, my God, this is so cool. I want to work with you. So literally, what I did is I, I drove there with my bike, motorcycle. With a couple of sketches in my back pocket. We had a conversation and I said, Man, I really love your, your pottery application that you build. But if you do like this and make it like that, I think we can do it better. And if we maybe look at the codebase. Together, we can brainstorm on how to do things more efficiently. And it wasn't so severe that I had like a backpack full of experience. But it was more the dialogue that we had, and the very good conversation that he said right there on the spot. Oh my god, can you start on Monday, and this is where my iOS career literally started shareware in The Hague. I did. There are many projects. And after a year or so, I grown tired of driving from my home to to The Hague, which is a long drive. So I moved to is mobile in Amsterdam, where I worked on many different types of obligations. And one of those application was also the ABN AMRO iPad app. And it was because of that application. I was contacted through someone at the ing His name is Johan lemons, and he called me up and he said in the was in November 2010. He said, Hey, Pim, I've seen what you've been doing over the last couple of years, which you now like to do this, but then at ING, and I said, No way, man, I'm never going to work for a bank. Are you ridiculous? In a more polite way? Oh, and well, we just friendly, disconnected. But you're under miss is a pretty persistent guy. So he called me back. And then he said, Hey, pm, I really appreciate what you said, and I respect it. But could you just come over for a cup of coffee? And we just like to learn from the process? And I said, Sure. So I went to the, to the Haarlemmermeer. Very old office of ing. And what I saw there just changed everything. For me, I saw a company I saw bank. So it company that was way behind in the past, but also way ahead in the future, and everything in between. Absolutely no idea what they wanted to do, or how they're going to do it on the mobile phones. But a very strong belief that they could do it and that they have to do it. And it was that opinion of yo lemons that pulled me the lured me in. So I saw the technical depth that they had regarding mobile, or while there wasn't anything there. And together, we could just build the whole team and the infrastructure around it. So well, I think I just pretty much like what Nandini said, I just took the plunge and I said yes, let's do this. And I believe it was on the fourth of February 2011. So I'm almost 10 years in can you imagine? I started my first day at img opened Xcode and hit File, New Project. And that was actually an amazing, amazing experience. Jeroen Leenarts: That was back in the day set. You still had to do like Objective C and was it with Arc already? Or was it still manual? Memory? Manual? Manual? Yeah, retainer? Yes. Pim Stolk: Yeah. Yeah, the good old days, actually, and took a lot of learning to get it right. Of course, I got it in college. But doing it on that level was just a completely different ballgame. And it was seen. way later in London, we were invited for the Apple iOS Dec days, I believe it was called when they introduced Ark. And that was just such a relief that it was there. Jeroen Leenarts: Yes, you can still shoot your foot off. But hey, it was at least not as not as easy to do. Pim Stolk: It was more forgiving, Jeroen Leenarts: I guess. Yeah. So um, Nandini. If you look back at the work at the ing banking app, because you already mentioned that you're both of you are now working at fin, which is, I think, a sub brand of ing to separate it out a little bit from the big, big scary bank, so to speak. So but your work at ING banking app? How big is this code base? What is it about? What does the app actually do? I can imagine that people hear ing and banking that it's like, okay, it's pretty obvious. But there must be some things in there that are of interest to the listeners? Nandini Chauhan: Well, that's a very abstract question. But I'll try to give some information about our also my information is quite outdated. So I haven't worked on the banking app for almost three years. Now, I do keep a tab of what's happening, because it's obviously a part of you. It's almost like a child of yours. But Coinbase is actually quite huge, because you have to understand a banking app involves not just the features that you see upfront, but it involves a lot of additional framework that needs to be in place before, you can actually log in, for example, because that's part of your authentication. And that requires a lot of security modules in place. So the app in itself is quite humongous in terms of the number of lines of code that could that has been written. And also, so many people have worked on that code base starting from File New Project that PIP did 10 years ago, the team has changed quite often and has scaled quite much. So I think now they're quite they're around five or six, more than maybe Scott's working on that code base. And now the same code, code base is used across multiple countries as well. So in Germany, in Belgium, and hopefully soon in other countries as well. So it has mature the law a lot since then. But what we did, I think is five years ago. Now I also have to take in all the timelines, because it's everything is just hazy and blurry. it all mixes together. But I think five years ago, when we wanted to share the same code base with Germany, we did sort of modularization of the entire code base. So we split it into multiple frameworks, dynamic frameworks back then, to make sort of make it easily pluggable. So you could share the same feature with different countries. For example, some features of a banking app like checking your balance, making a payment, having a transaction to view authentication, authorization, these are quite common that can be shared that is common for all the banking applications out there, and is common to all the countries out there but some have some other features like Ideal is very specific, it's specific to Netherlands. So then you want to keep it to Netherlands and have, I don't know in Germany, so foodora Giropay. So you have these different modules that you can share or reuse when needed and not have localized when not needed. And it has been done very nicely, I have to say, I think ing when we did it five years ago, we were sort of the pioneers in this. It wasn't done at that level, in any other application. And it took quite some time effort discussions, you know, you don't you're quite aware of the iOS team. In general, at Mobile, we were quite opinionated bunch of people who everyone needs to put an argument upfront and needs to be heard, and has to be convinced. So making these kinds of decisions take take some time. But that's also the biggest strength, I would say of mobile, that they're just a bunch of really talented people that have strong opinions and would not just passively sit around, but would actively be involved in discussions. So that's what we did. Five years ago, since then, we've had really great features like payment requests, which was actually before ticking, I have to mention that we came up with the concept and the implementation before Tikki, then you have the whole ideal payment with the scanner, Apple pay all of it. But what's interesting, it's because of that modularization that we did, and that also involves untangling of the entire code base. And it helps to remove so much technical depth when you do an exercise like that. A code base that was written 10 years ago, it does tend to build a lot of technical depth, irrespective of all the good intentions with which with which it was written, including your Wiggle Wiggle animation that was written with all the good intentions, yeah, you Jeroen Leenarts: can compare it to repairing a car, that's if you do something at the front bumper that all of a sudden, like the rear tire falls off that that was the effect that you were seeing in the banking app, I still remember that. And that was one of the biggest challenges to deal with. Back then. There was a lot of not intentional, but over the years, some spaghetti got introduced into the code base. Nandini Chauhan: Well, the thing is that it's meant to happen because the technology also changes so rapidly. So you have you went from Objective C to Swift to new version of Swift every six months or so. Yeah. So it's, it's, it's gonna, it's going to happen irrespective of how great developers you hire and what the intention or the prospect you work with. And I think something like that, or modularizing, that code base helps you to see those hidden gems that you might have forgotten for a while, and you no reason about them, or remove them altogether, or just refactor them into something new. And that was a very, very interesting exercise, I would say we did. And that really, really helped us is still helping us to today because that means you can develop faster, you can implement new features faster. You can have a bigger team and have teams across multiple countries, because it's easier to reason about what's happening rather than, you know, going back and forth. Jeroen Leenarts: Is there any specific tooling that's being used to support the modularized code base? Nandini Chauhan: You mean, the dependency management, I will know what it is currently. But back then we had we did a lot of back and forth between CocoaPods and Carthage, Carthage and also get some modules. So it was like we did back and forth just to say, see which one worked best for us. Because sometimes you can have all the arguments on the table. But unless you actually implement that you don't know, the nitty gritty details or the nitty gritty things that can create Jeroen Leenarts: a bottleneck. So you mentioned dynamic frameworks. So that means that you have separate targets within your Xcode project for different sections of code. So that was manually managed, or was it supported with some tooling that that's, that's what I'm going? Nandini Chauhan: I'm trying to think that now? I am, I think it was manually managed back then. Um, I hope it's, it's different now. But back then it was quite, it was manually managed, because at that, when we started out, we also didn't do very granular. So we weren't like, every single small feature needs to be its own target. It was more on a broader level that okay, making a payment should be a separate framework. Transactions needs to be a separate entity. Okay, so it was not that and also, I'm quite a strong believer in Don't, don't fix it unless it's a problem. So don't try to pre optimize anything. And wait until it does. You start to feel the pain and then go about solution for Jeroen Leenarts: I still remember that when you got into the ing project. That was one of the discussions that we actually had on on our when we should fix things and so the whole premature optimization thing that we had, I think we talked about that. At length actually. Yeah, Nandini Chauhan: we had really good discussions back then about everything. I think sessions were, I wish we would have recorded them, because they would have been quite something to watch now. Pim Stolk: Been a hit on YouTube, I'm so sure. You would just call it flog or something. Wow. Jeroen Leenarts: So, um, BIM. If you compare like a big banking app, which has 10 years of history, you're now separate from the code base by few years. But if you compare such a project to, to a smaller project, for instance, you're now working on on fin, which is still relatively new, it's already in existence for I think, a few years now. And also your apps that you developed for ice mobile, what are the biggest differences with like a big code base, like banking app, and other apps that are like smaller? Pim Stolk: Wow, that's a very interesting question. And what the difference is that every app that you work on, you take the lessons learned to the next application. And this is something that, of course, we also did with fin, we really looked at everything that we learned over the last years and took that into account, while architecting, the new fin application. So we, we immediately went for modular approach. And not only a modular approach between features, but we also wanted to reuse the entire code base on the back end as well, because the back end for Finn is written in Swift as well. And therefore we chose IBM Cateura for different reasons. And speed was very important for nonlinear me to develop something very quickly. But it also shouldn't be throwaway code. So all the modules, all the objects that we made should be interchangeable between back end and front end. And this is something that we learned from the ing code base, how to decouple things and detach things and reuse them. So the difference in working with them? Well, I don't think you see a lot of difference. Because when you're working in a very large application and enterprise applications, you're still just focusing on that one specific feature that you're working on. So you kind of zoom into that and forget about the rest. It's not really the right framing there. But you know what I mean, and working in a new application, you just tried to do it the best way you can, and you take into account that things are gonna change in the future as well. And you try to accommodate for them at the beginning. For example, testing, I was always fond of testing. And some of the people listening might say, guessing really unit tests, no, I mean, end to end tests and UI tests, for example, later on. And this is something that we introduced that the banking application as well and I cared very deeply for. And I took all of that as well to Finn. And make sure that that whole testing setup was just rock solid from day one. Jeroen Leenarts: You mentioned testing, and I still remember. You want to know, Samuel, he will he got in? He got caught in as a tester. And he actually made the transition to a software developer at ING Bank. Yep. And he was really good at it. And I think absolutely, to this day, he still does software development. And then then there was the Caleb incident Nandini Chauhan: with a chicken dance. Yeah. Jeroen Leenarts: Now, the thing with Caleb, that's Caleb Repko. scene, he now works at ABN, I think, actually, as some in some form of literal. But the thing with Caleb, when he got on the project, he found pretty much the craziest edge case you could come up with and the way he did the testing, it looked like he was surfing social media, but he had always a phone enhance. And his thumb was like, flickering around on the screen. Because and then you ask him, Hey, what are you doing? And I was like, Yeah, I'm trying to like repeat some steps and see what happens if I did it like 40 times. And I'm like, Are you serious? But he found things that that you couldn't come up with on your own. And I think that's actually part of the focus on quality that was actually ever present in the in the IT banking app. When we when the three of us were there, when which I hope still is there. But do you think Nandini Chauhan: I will be more appreciative of Caleb's efforts if he was a bit humble about it? It was never Pim Stolk: this guy, this guy was way ahead of his time, he had this testing routine, which was just from the future or something and like you don't say it's always found all the possible bugs and when he found them, he did a little chicken dance. Yeah, you developer you messed up and it was just it was awesome. Nandini Chauhan: Always rub it in your face. But I Pim Stolk: think that's also it also describes the dynamics of the team we had back yesterday. A big bunch of crazy people, almost everyone was friends with each other, and we appreciated each other's work. And if you were very proud of the feature that you built, someone else will be even more proud if they could break it. So yeah, I think yeah, very good times. Very good time. Jeroen Leenarts: Yeah. So, um, let's see. So at some point, both of you decided to leave the ing banking app behind, just let it be and be taken care of, by by other people knowing that it's going to be taken well care of. So you mentioned fin. What is fin for? What kind of product? Is it? You mentioned IoT and some other things. But I think it's still a little bit abstract what people or clients or companies can actually do with this product? Nandini Chauhan: Yeah, so Nandhini. Okay. So, red fin is an IoT payments platform. That is, what we Okay, I'll do it again, how we describe fin is a, it enables any connected device, so IoT device to perform autonomous transactions, including financial transactions in a secure manner. So that sort of the description of fin to explain it in a very layman language is, nowadays everything is smart, from your coffee machine, to your smart car, to your home automation to your smart fridge. So what FinTech does is it enables these devices to pay on your behalf. We started with banking in the branches, and then we went to ATMs. And then we went to internet banking, then to mobile banking. This is a new channel for banking, it enables your IoT devices to do banking. Let's take an example of your Smart car. When you travel to a different country before Corona. Long a different era, when we used to travel, for example, from Germany to Austria for skiing holidays, you have to stop at that target and pay for the toll ticket, right? So what Finn would enable Is that your car can pay for that toll ticket on your behalf, you don't have to stop, the moment you approaching the toll gate, your car would detect that it's about to go through a toll gate, it would connect to the light, the company boom slug was called to target company and then it would pay for your license plate and you can just drive through. So it it creates a seamless user experience for the end user. On the other hand, it provides these OEM manufacturers like BMW or Toyota, or Tesla or whatever car that you're driving fancy car that you're driving, it enables these companies to provide additional products and services to their end users. So now as a car company owner, I can also charge my consumers with oh, now you can pay with PayPal toll ticket, you can also enable heating in your car seats, you can also have additional mileage, whatnot. So it's a new, how do you say a business model for these companies. So it works on both the sides. From a consumer side, it makes my life easy. I don't have to think about these things. I don't have to think about my coffee machine. I have an espresso coffee machine, I don't have to think about my Nespresso coffee machine ordering new Nespresso pods. The coffee machine knows when it's about to run out of these bots and would order them online and pay for them. And I would just have to pick them up when they get delivered. That's it. That is more of on a very high level what the platform does, if you want to add something to it, Pim Stolk: oh, there's pretty descriptive fitness platform to monetize any IoT solution. And it can indeed be from a large enterprise. But it can also be for someone like us IoT enthusiasts to have small IoT project, which I want to monetize somehow. And if you can just find that billable event in your project, what you want to monetize, then Finn can handle everything for you. And when I say everything, I literally mean that. So we take all the security hassle away, the payment has gone away the syncing with your IoT device, all of it. So we are not an IoT Cloud. Now we are an IoT payments. While service provider, you can almost say there's a little bit of a new ones there. But black and white, I think, I think that's correct. And we went through great lengths to create a rich set of different type of SDKs for different programming language. So we have them in C Buyten. For Android Things, we've created something in Swift Of course, as well. And in OJS, so you can kick start. Every IoT project that you're working on whether SDK is very, very rapidly, and this means that you have now Well, we'd like to call it fin enabled your device and the sky is basically the limit and this is also It makes the project so difficult to explain. It can be applied to everything. And therefore, it's also very hard to explain to certain people. But if we can zoom into a case, then we can always make sure that we can fit into it. And that is also immediately the flip side of thing because it is such a broad product. That's that's also our pitfall. So we're really trying to scope it and zoom into specific verticals. So yeah, less sexy things. car washing plants, for example, we have fin enabled them as well. And I would have never thought about that when I started thin. But it works brilliantly, because we've came up with a concept called pay by plate and you can drive with your car through a carwash and you don't have to stop. Of course, if they're secure, you have to stop. But you don't have to pay you don't have to talk to the operator the machine already identifies you knows what you prefer. Program is and it will just start. And while you're in the carwash, the payment is settled for you straightaway. And settling the payment is something that that is very powerful, because you don't you might go to the to the car wash, which you car. After that you might stop at some drive thru fast food restaurant to get your burger. And maybe later on your stuff for gas as well. On all of those three things can be fin enabled, so we do the payment autonomously for you. And because those are three different transactions moment, we will cue the transactions for the day. And we will batch them, add them together and and settle them as one transaction. And we do that to lower the transaction costs and the payment speed as well. And when we have the entire transaction done, we can also pay it out in a split way. So in the case of the carwash, just assume that the plant owner needs a slice of the money. Maybe we need to pay the supplier for the soap and the supplier for the for the water. And Finn handles all of that for you as well. So it's a very, very broad system that can be applied to many different things. Jeroen Leenarts: First thing I think of of the examples that you point out there is that Yeah, normally a license plates should pretty much be either depending on the country unique to a car or unique to a person. But we all know these things get copied. How does a product like fin deal with that? Because you don't want to be paying for some criminals, car washing and burgers, who's at the other side of the country? Pim Stolk: No, definitely indeed. And fraud detection is something that is very important, of course. But if you just leave that aside for now and just focus on the practicality of it, the back plate is one of them. And indeed, if you copy a license plate, if you do it, well, it might work. But then there's also the case of the color of the car and the brand of the car, which we can identify, of course to make sure that the doll match. And we have something that we would like to call, you have to factor authentication or multi factor authentication. If we're just not quite sure, we'll send a push message to your phone saying, Hey, you don't know you're really in front of the college right now. And you want to make this payment go through. Yes, no. So we tackle that that way. But paper plate is just one of the ways you can use fin but we also have created a dongle that you can put in your car. And it's a hardware dongle. So basically a hardware key. And it has the same effect, it's basically turns into a beacon. And then you can pay through that as well. Jeroen Leenarts: Okay, interesting. So but it's by the sounds of it, it's of course, mobile is a part of the main product, because it's the the the primary user interface for the end user through the SDK. But it's also a lot more. So I already mentioned SDKs for all kinds of programming languages. And probably if you want to do OEM integrations with a car or a coffee machine, then it's already way different than just your regular mobile development. So what have been the biggest challenges in adopting this new technology because as from the banking context, you of course, had all the internal transaction systems within the bank, which was taken care of behind an API, we would attach an app to that. But in this case, there's a lot of, I'd say, greenfield development that needs to be done to actually be able to enable these processes. Pim Stolk: Yeah, that's completely correct. It was again, File New Project. And that was amazing to do, not only for for Xcode for the mobile apps or the back end, but for all of those different SDKs as well. From the beginning, we knew we cannot do this thing alone. So nonlinear. He is a strong believer in open source as well and therefore we have decided to open source all our IoT SDKs because we can come up with the concepts of how something should work and we can follow all the guidelines that are out there to make something great. But I really know and really believe that there are people work talent are more talented than us in some development languages and can help us or contribute back through pull requests or merchant quests, and make the SDKs better. And this is something that we invested in heavily. And that paid off actually was amazing to see that when we open sourced the IoT SDKs, people started using them and started to make them well, better. And this didn't really happen overnight, we had to do a lot of promoting for that. So we gave talks about it. We organized meetups, where we just really went hands on with these SDKs and really listened to the feedback. How can we make it even more user friendly, etc. And being open for feedback. You mentioned Caleb earlier, and it was Caleb, who said to me that feedback is the breakfast for champions. And I really think that's true. Feedback is so important. So we always listen to everything that people say and try to bring them back into the into the SDK. So very high learning curve, to make sure that all the SDKs are programmatically and syntactically on par. But amazingly fun to do. Nandini Chauhan: If I may add something to that to that one. We will also because we are startup so we we don't have the same privilege as other departments who find it to have like a team of 5060 developers, we had a limited budget, and we had to go back to the Innovation Fund every six months to ask for budget. So we also had to be very smart with where we are putting our resources and where we are putting the money. So that's one of the reasons that Tim and I, we decided to have the core interest as well, because that's our speciality. And we could both of us could easily start with that and build something quickly. But also everyone within the team that we hired, and we were quite lucky with to hire really smart, passionate people that they were quite broad skilled. So everyone could help out in different things as well. It's a startup culture, where all hands on the table when it comes down to it. So you can't just say, hey, but I'm just an iOS developer, when it comes down to it, everyone needs to be able to help out in whatever the issue. So we really had we really need picked the kind of people that would sort of help us broadly and not just be have a very specific skill set. Jeroen Leenarts: So the the project before the Cloner thing happened, was it like a team that was working at a at an office or wasn't remote. Nandini Chauhan: It's we worked every single day at the office. So it was 100%. offline, in that sense, Jeroen Leenarts: and I was House been the the online workflow for your teams. Nandini Chauhan: Obviously, I think it was, it was a mixture of everything. It's also the corona and the news that was floating around, and just the sheer panic of it all. That doesn't help specially with your mental state in general. But we I have to say we adapted pretty smoothly when I recreated a plan of action right away when we knew this was happening. So we created sort of the whole workflow to get people on board to it. And then we had like, Geek bots, so something for stand up every single day, we used to have calls. We decided to have video calls. And every single time we had a question, so sort of create that culture of reaching out to each other rather than becoming your own silos. So we really pushed for people B, B over the script descriptive of what you're doing, rather than leaving things for understanding because that creates Miss miscommunication. So we really ask people to be like overcommunicate, what you're doing. And if this helped, and also be, you know, obvious about it, and don't wait until way too long to raise a flag. So these were some of the things that we came up with upfront. But eventually, it actually worked pretty smoothly. Because we are developers, we work in technology. So if it comes down to it, yeah, most of our work is online. So it's not like you have to Faasil if you have to go to somebody and sort of sit next to them or across from across from them on the table. But you do miss the collaboration, I have to say I'm a big believer of collaboration and there is something that doesn't get fulfilled over just a video call. You sometimes have to just walk up to the person and have that conversation face to face and say, or sit next to somebody and do pair programming, which I do kind of miss a lot. But overall, we were quite productive pretty quickly. Jeroen Leenarts: So but do you reckon that after the whole Corona thing settles a bit that remote will be part of the tool sets at femininely? Nandini Chauhan: Definitely. I think there are also lots of pros along with cons because it saves you a lot of travel time saves A lot of people frustration of being stuck in traffic, like them. So I think it's, you have nicer colleagues in the morning who haven't been in traffic for an hour to get to work. People have had their time time to have the coffees and they get to spend time more were with the families, which is also nicer for their mental well being, well being. So definitely I but I think we still have to figure out sort of a sweet spot where you can have that, and also have the collaboration and also have the flexibility of walking up to somebody when needed or have those, you know, Team session or just team drinks, where you sort of had that human interaction. So I think they would it would be sort of a mixture of both. Jeroen Leenarts: So um, one topic that I wanted to touch on one topic that I wanted to touch upon, was swift being used at the backend. And specifically, I think Pam mentioned Cateura. So how has how has swift on the backend works out for the product? Pim Stolk: Yeah, it's a great question. And it's been asked more than once to me, and the answer will still be the same. And it's it worked out great actually exceeded all expectations. It was a little bit of a bold move, I have to say the beginning. But we were true believers that it will work when we started searching for the right framework, because back then there were not so many, you had favor from Danner, Nelson, I believe, perfect was there. And of course, also can do wrong. And we went with Cateura, because it was built within IBM. And we learned that actually, the the Cateura team was pretty much like ourselves, it was a small team and a large enterprise fighting for their own existence, and building software that while there was just great. And on top of that, I think it was Ian Pedrycz that was also in the Swift steering committee with Apple. So they just gave us a really good feeling. And we just went all in No, no way back, actually. And the reason for that I already said that earlier is that we modularized everything. And we wanted to reuse as much of the business logic there was, as we could possibly do between front end iOS and the back end. And there was a little bit of investment in the beginning, but it paid off so quickly. With finding bugs and development speed. So yeah, it went very well. Of course, there were some, some some hurdles along the way. At the beginning, we deployed everything to the IBM Cloud, I believe. We didn't containerize it, we just deployed it, and we run it there and it went great. But as we developed ourselves, the red team also developed Cateura itself and stuff just worked out, they added Docker support, for example. And this mean meant that we could move away from the IBM Cloud to a ing compliant cloud, which is now Azure. And everything just works out of the box. The support that we got from from the guys, that was there was amazing. They really helped us with everything that we needed the even flew over to Amsterdam, and we took them just to talk about the next steps with Cateura, and how to implement things. So that that really worked out. Unfortunately, Ian and Nandini what was mainly, of course, Ian and Chris stopped working on Cateura last year, I believe, which is a little bit of a pity, but it's the any song I believe, who is now the community project manager or maintainer who picked up the project again, and just make sure that it lives. And that's the beauty of an open source project. And we were also inspired by that to open source the IoT SDKs if you can't do it yourself anymore, or don't want to or found another ambition there, then there is potentially a huge community, you can pick it up and continue where you left off. And this doesn't only have to be in feature development, but also in maintenance, of course with with the Swift update. So looking back now, I'm still very much pleased with the decision that we made back then. Jeroen Leenarts: Okay, um, before we, before we wrap up, and Nandhini Are there any thoughts or tips or advice that you would like to impart on all my listeners? Oh, wow. Nandini Chauhan: tips or advice? Well, the thing is, and I've noticed that I can talk, I can be very nerdy and talk about hey, always watched the videos and always read the latest blog from Matt Thompson and stuff, but I would have noticed and from the very beginning of my career until fin Now, the thing that always stands out in terms of any product and if you look at the bigger picture is the team and the people. So if one thing you should Get right from the very beginning, is to hire the right people. And when I say right, it doesn't necessarily mean just the smartest tool in the shed, obviously, you want that everyone wants that. That's the prerequisite. But what I do mean is people who are passionate and have the same vision as you regarding the product, because that takes you a long way when things get tough. When things are really difficult people who believe in the product and are willing to sort of be with you and do the struggle that's important. And people who are, you know, people that you want to work with every single day, you want to wake up in the morning, and you don't you feel happy that I'm going to work with these bunch of people. I think that's the most important thing. And that's what, that's what worked at Mobile. And that's what worked at fin but with fin when we already had that knowledge, and we already had that experience. So we actually took a lot of time to build the team that we have today. And eventually, that's that's what matters is to have the right people in the team. That's one knowledge that I would impart. Okay. Jeroen Leenarts: And same question to you, Pim. Pim Stolk: Yeah, that's a good question. And I think what worked for me at least is, besides developing software, also develop yourself and keep doing that. Pick up a book occasionally. And it doesn't really matter if it's a new book, or a very old book, read it, because some of the principles might still apply. And if it doesn't apply, at least you get to learn about stuff and understand why things work the way they work right now. And one other thing is to step out of your comfort zone from time to time. And that can mean different things to different people. But for me, it meant stepping, stepping on that stage and give presentations and talk about what you have done so far. And that is so not something that comes natural to me but it learned to appreciate everything that we've done so far. And I get energy from from Dellinger to others and hearing that it would help them forward. So step out of your comfort zone and pick up a book. Jeroen Leenarts: Okay. Nandini if people want to find out more information about Finn, where can they look online. Nandini Chauhan: So we have our website, make things when the calm. That's where you can start out, we also have a Twitter handle, we have a page on LinkedIn, we have a YouTube channel, or you can just reach out to me or pay. And then we can also provide you with a lot of information. So we're quite a bit. How do you say available and present online? Okay, just for fun, and we'll be one of the first entries will come across, Jeroen Leenarts: I will make sure to put some links in the show notes. Beeman, Nandhini, very much. Thank you for your time, and I enjoyed talking to the two of you. And I hope to see you too soon. In the future in 2021. Yeah, and, you know, hopefully, Pim Stolk: yeah, likewise, you don't thanks. Thank you very much for your time.

Keep listening

More from the show

Image
Title