Scaling FinTech with TypeScript
FinTech is one of the most competitive landscapes in the world of startups I have ever seen.
There are mobile-first banking, predictive insurance services, blockchain-based crowd-investment platforms, etc. All of them have one thing in common. We are re-inventing the oldest industry in the human history: The Circulation of Money.
Building a modern financial service like a mobile bank makes you become vigilant and aggressive. We are in a fierce competition on every corner. Traditional banks, regulators, other FinTech players fight with you for every single user.
With a heavily regulated business environment and aging legacy banking, technology is something we use as an unfair advantage to win the battle.
I recently took VP Engineering job at Kontist following a vision to combine accounting automation and tax claiming on top of the business account. Which would make the life of freelancers much easier?
The very first mission I have got from the management was speed. Or velocity as we call it among developers.
How to increase number of features without hiring more developers?
There are two common tactics to solve this issue.
- Build functional teams.
- Introduce Micro-service software architecture.
Kontist has done this very well and the engineering department is split into business-related squads. And all 3rd party integrations and services: Invoice Management, Bookkeeping, Tax Declaration application are served via APIs which is built by the Data Squad.
So we needed to dig for speed deeper in the Engineering structure and Back and Front End code writing was at stake.
Kontist is one of the few FinTech companies to have a single language application which means one programming language for everything.
Front End: JavaScript/Reactjs
Server Side: Node.js
Mobile Devices: React Native.
JavaScript vs TypeScript
I hear often: "Back end front technology doesn’t affect your feature velocity". Well it does if you suddenly deal with 50 Engineers working in different teams on different repos which constantly depend on each other. You start gaining speed by having higher quality code and less bugs. And here TypeScripts comes into play as a very good example.
I am not going to evangelize any advantages or brag about how cool this language is. Let me be crystal clear. From the user’s point of view, there is absolutely no difference because TypeScript code is not understandable by the browsers! That's why if the code is written in TypeScript then it is compiled and converted i.e. translate the code into JavaScript.The above process is known as Transpilation. With the help of JavaScript code, browsers are able to read the code and display. So users see the plain JavaScript.
So... where is the trick with velocity?
TypeScript always point out the compilation errors at the time of development. It’s better for the compiler to catch errors than to have things fail at runtime.
Types have a proven ability to enhance code quality and understandability. Large teams (Google, Microsoft, Facebook) have continually arrived at this conclusion.
Types increase your agility when doing refactoring. Which we are doing continuously.
Types are one of the best forms of documentation you can have. With a lack of time to produce documentation. Types could prevent you from guessing what type of data you are dealing with.
There are more developer-related differences between JavaScript and TypeScript but I would highlight the most important one for team and engineering scaling: Static typing is a feature that detects bugs as developers write code. This allows developers to write more robust code and maintain it, resulting in better, cleaner, less buggy code.
If you are interested in finding out more. We are hosting regular meetups where we talk about best practices on using TypeScript, GraphQl or other interesting stacks for FinTech Technologies.
Hit the like button or simply join our meetup group. https://www.meetup.com/TypeScript-Berlin/
And of course post perks. Kontist Premium account (without credit card) 12 months free + 50 Euro sign up bonus. https://bit.ly/freekontist