Devreal

scale.bythebay.io: Ryan Delucchi Interview

scale.bythebay.io: Ryan Delucchi Interview

Recording: scale.bythebay.io: Ryan Delucchi Interview

my name is Ryan Dellucci I work at rising labs as a principal engineer what well one of the issues that we ran into is we're Verizon labs as we make a lot of heavy use of pure functional programming is we have mix live use of free monad implementations and there are parts of the code bases where when they're when you're in the hot path of execution we're free monads can actually be a bit expensive particularly with a trampolining that goes on so we have to while we like to use these abstractions as much as we can as a they do really help with code maintainability they're there times where optimizations are needed and need to use for alternative abstractions for example finally tagless would be a good one that that that can be used in place of a free monads [Music] things that we've rent we've found that to be very very effective for for for doing background processes and and whenever we have a lot of concurrent activity going on like in the Nelson project there's there's a heavy heavy use of scalzi streams some some scalability problem that you can run into there is if if you run it you have it's it's real easy for some people to forget some details on on how they how they're managing your thread pulls in touch and I've even seen some interesting problems where where you have where you have a thread pulls being managed in a certain way where you actually maybe have like a batch job that sort of hangs at the end and that was kind of an interesting interesting one to tackle and this this I see this continuing to come up because I mean concurrency it's it's a hard problem and I I've definitely seen that the tools of functional programming help with that significantly but at the same time you run into some intrinsically hard problems relating to that is still even though that even though you try to abstract abstract as much as you can those problems are they're always there and it's just sort of the name of the game I mean I pretty much came in to Scala an FP after doing roughly a decade of enterprise level Java development and I I found myself starting to do starting to adopt FB principles without realizing it and later on once I realized that okay there's something much deeper here there's there's a whole body of knowledge around FP really starting in mathematics and under category theory you want to get more fundamental that you get down to information theory looking at so so realizing that as you know researching it more I've it it's I would say it's really it's really changed my perception of how how we write software how he how we approach to solving these complex problems and it's it's been a continued it to this day as I as you know as we could to need to learn more in in a you know with about instruments of functional programming it's it it's definitely it's definitely proven to to allow assess solve much more complex problems a lot more effectively and and convey ideas to new members of the teams as well it's I've seen instances where you have people that may be relatively new to Fe and then they're there they have to you know work in to work in this code base where it's using a number really complex you know parts at Kleiss least eight monad and free monads and I've actually been surprised to see that well once you explain the concepts to them and they could pick up the actual code what's going on very quickly and I've seen that play out in in myself and others [Music] really I think it really comes down to meeting with all the the various people at you know different points in the curve as their as their learning and working with Scala and functional programming so meeting the people is one with with of course it talks being being next and yeah I mean it's just scale by the bay has it's been great in recent years as well and this definitely this year is no exception