i wish my company was using Go for it's SOA instead of node.js. so much less overhead to run that neatly compiled binary than the dependency hell which is node.js. probably because node.js is hardly a language and almost every basic function needs to be imported from some third party, which also feels not so safe, as a sys admin. go is also easy to use.
> almost every basic function needs to be imported from some third party, which also feels not so safe, as a sys admin
Go (and most languages) also supports importing a lot of packages from third-parties. Just pin your dependencies to specific known versions and do hash verifications.
I suspect the technological baggage in finance to be one of the main deterrents for young developers, the people who want to engineer modern, elegant systems and not go into the business of maintaining legacy spaghetti. I imagine you guys are attracting some really high end talent.
My questions are a little more about Monzo as a workplace in general as I will be applying for an internship with you guys.
Is there any Scala in your infrastructure? If not, was it a language that was given much consideration earlier on?
I see Kafka as part of your stack. Are stream processing frameworks like Samza, Spark and Flink found in your infrastructure?
How many developers? What would you estimate the backend/frontend split to be at?
Hi there, I scrolled through the video and also read the blog post describing your stack and couldn't find anything about your data modeling and persistence layer. To me that is the most interesting part since you are a bank but at the same time you are using a micro service based architecture. Is there any information available about what database you use and how you manage your data?
Thanks for the talk Matt. Lots of really good detail there. Working with both Go/Java and Microservices.
One question I have is how critical is linkerd to having a dependable microservice mesh? Another question is what did you use for async services?
For some reason https://monzo.com/ crashes in both Chrome and Firefox before the pages loads on my linux desktop machine. Never seen anything like that before...
I play AV Geek sometimes; I think I first saw Defcon do this, only within the video. I've been trying this out, partially for laziness; it's much quicker to edit the video if you don't have to transition from the speaker to the slides.
I always dream of something that would make easier for foreigners to open an US bank account, I now people that went to the US as tourist and could open an account there, but there's no way to do that via internet without actually visiting a branch in person. Don't seems to be so difficult is it? Seems very much its just a internal political thing.
Not that I'm against learning new languages, but your question piqued my interest.
Are you thinking about transitioning from C# to Go? If so, is it because you think the language is cool or is it because in your region there are more/better paying Go jobs?
I ask this because I can't really imagine someone transitioning from C# to Go, especially these days that dotnet core is available. Hell, I'd first try to transition to F# :)
(Yes, I know that these are loaded questions and that I'm biased against Go..., but I think the questions are valid even in these conditions)
I'd say tour.golang.org is quite good. But the most important thing I feel for C# devs is to know that there is no Visual Studio like fancy IDE for Go.
People may be debate merits/demerits of this situation with valid arguments. However if you are in everything IDE camp Go might just not suit you.
tour.golang.org is a good start to get familiar with the language's features. After that it is just worth picking a mini-project and getting cracking. The website https://gobyexample.com/ is a great place to see some simple, real-world examples once you start to actually try and do something.
There will be a lot that is familiar to a C#/Java dev, but also a lot of the stuff you might have got familiar with in C# is missing (famously generics are not there, but also other things like Linq etc has no native equivalent in go, although there are libraries that offer similar functionality).
Golang is really, really easy to learn. And as always the key is practicing. Just pick up some medium size project and start building it. Stack overflow will help with the learning curve. This is how I learned to love Golang having 10+ years c# background​.
He didn't talk much about this, but I find it very hard to believe that they were able to make their own deposit application and get it certified for use (unless the UK has vastly different banking regulations than the US). 32-bit/64-bit systems have small rounding errors that are show-stoppers for banking from what I've heard. There is a reason why COBOL and Big Iron rain supreme in Finance.
I don't really understand why you pick on 32-bit/64-bit. I assume you wouldn't touch floating point with banking. What is it you think Cobol and big iron can do that Go and AWS can't?
I'm the Head of Engineering at Monzo. We don't use floating point at all in our core banking systems, which are all written in Go by our own engineering team :)
micah_chatt|9 years ago
lprd|9 years ago
danesparza|9 years ago
johnmarcus|9 years ago
masom|9 years ago
Go (and most languages) also supports importing a lot of packages from third-parties. Just pin your dependencies to specific known versions and do hash verifications.
LunaSea|9 years ago
Bombthecat|9 years ago
Or at least it is so basic, that it is useless (at leat I couldn't find any)
If you are a bank (or any old firm) . You need soap.
A lot.
mattheath|9 years ago
HighlandSpring|9 years ago
I suspect the technological baggage in finance to be one of the main deterrents for young developers, the people who want to engineer modern, elegant systems and not go into the business of maintaining legacy spaghetti. I imagine you guys are attracting some really high end talent.
My questions are a little more about Monzo as a workplace in general as I will be applying for an internship with you guys.
Is there any Scala in your infrastructure? If not, was it a language that was given much consideration earlier on?
I see Kafka as part of your stack. Are stream processing frameworks like Samza, Spark and Flink found in your infrastructure?
How many developers? What would you estimate the backend/frontend split to be at?
lifty|9 years ago
jucoo|9 years ago
dmix|9 years ago
rubatuga|9 years ago
pronoiac|9 years ago
walterbell|9 years ago
londev|9 years ago
alisson|9 years ago
unknown|9 years ago
[deleted]
kzisme|9 years ago
oblio|9 years ago
Are you thinking about transitioning from C# to Go? If so, is it because you think the language is cool or is it because in your region there are more/better paying Go jobs?
I ask this because I can't really imagine someone transitioning from C# to Go, especially these days that dotnet core is available. Hell, I'd first try to transition to F# :)
(Yes, I know that these are loaded questions and that I'm biased against Go..., but I think the questions are valid even in these conditions)
geodel|9 years ago
People may be debate merits/demerits of this situation with valid arguments. However if you are in everything IDE camp Go might just not suit you.
mattlondon|9 years ago
There will be a lot that is familiar to a C#/Java dev, but also a lot of the stuff you might have got familiar with in C# is missing (famously generics are not there, but also other things like Linq etc has no native equivalent in go, although there are libraries that offer similar functionality).
Good luck! :-)
sAbakumoff|9 years ago
literallycancer|9 years ago
shiv86|9 years ago
lykron|9 years ago
amouat|9 years ago
I don't really understand why you pick on 32-bit/64-bit. I assume you wouldn't touch floating point with banking. What is it you think Cobol and big iron can do that Go and AWS can't?
obeattie|9 years ago
chefandy|9 years ago