scale.bythebay.io: Jacek Kunicki Interview
Recording: scale.bythebay.io: Jacek Kunicki Interview
[Music] okay so my name is Jia Tec I work at software mill which is a software consultancy from Poland and I'm mainly a Scala engineer but also to some other languages around JVM so in Java our groovy but mainly Scala these days well recently we've been we've run into some some issues around concurrent execution and around a synchronous programming this was concerned like it connected with like choosing the right basically choosing the right thread for your operations I mean when when you do Scala you have a lot of you have those execution contexts and those thread pools and you need to really really think about it which which that threat who you are using for which kind of operations so to separate the long-running i/o operations from from the other the other stuff in order not to block yourself and your application actually we've we've run into issues when it turned out that we were blocking ourselves and we needed to like really think about it what we are doing and then we managed to fix it okay so actually in one of our project we had like a lot of data to process so that that wouldn't fit on a on a single machine we were actually using Cassandra for for storing that data and cassandra has its own recommendations for how how big the database should be helping to drive should be so so we really needed to think about how to how to design our Cassandra cluster and how to how to like distribute the data among the clusters so this was really I really enjoyed that project because it's really made you think about about how how you're using Cassandra what are the limitations and are always limitations so you just need to think about them so I really learned a lot in the during this project with with like actually designing the architecture of the distributed data and of the Cassandra cluster well I think there's one general issue with scaling I mean when you when you're sharing data between between the multiple instances sort of or between multiple nodes that you have because this is always going to be an issue and you will need to be thinking about about how to synchronize the data how not to lose data of course it's always about eventual consistency so how consistent we want the data to be and when when when should we be consistent but this is like this is always an issue so so when when you have multiple nodes we need to synchronize between them and this is like that old thing that we will need to take care about well I think for me like the the biggest change to when I when I started to learn and what I got convinced by some some concepts or functional programming was was like a complete change of the mindset so changing the way you think about problems and it was it was really refreshing because when when you are used to use the object-oriented programming and then at first I did my first like Scala course on Coursera I think and it was by martino turski who was talking about this this functional programming core concept and I was like why should I do that well object-oriented programming works for me but then after using it for for for some time it really convinced me and it like it makes it it helps you better formulate some of the problems you are trying to solve and basically it's always refreshing to have like another to approach the problem from a different perspective so this was the main benefit I think [Music] well actually I was when I was looking at the agenda before I came here I was really like impressed by the by the detail of like technical details because sometimes when you go to the conference the talks are like they just touch the surface and don't really dig into details and from from this year's agenda I'm expecting a lot of like really technical content so that you can almost get your hands dirty with with with all those stuff so this is really promising for me [Music]