Joshua, veteran developer who can fix your vintage synthesizer
Fans of our blog already know the Meet MewsDevs interview series where we bring you the extraordinary lives of the people behind our technology. But why stop there? Thanks to our open API the Mews ecosystem is full of interesting companies and tech people behind them. That’s why you’re reading the first Meet Mews Partner Devs. The name may not be as catchy, but the story of Joshua, senior developer from Oaky, definitely is. And he knows about a lot more than just the connection between our two systems. We talked about the early days of programming, his love for music and musical software, gaming, and a magical place in Japan.
Oh, and a legendary Prague music club may be waiting for you in this one...
A long way from implementing premium SMS as a payment method
Tell us, how long have you been with Oaky?
I joined three years ago and I was the third developer. And, at least by age, I was the most senior one. However, by experience with the hotel industry, I was very junior. I joined to lead the integrations team which consisted of... myself. Luckily, shortly after I joined, we grew to two people, so we had an actual team. Currently, I’m in the guest experience team. We neglected customers a little bit in the past, being so focused on connecting hotels, so now it’s time to focus on the guest.
I guess that’s the classic model... You say you were inexperienced with hotels. What’s your professional background?
I graduated from the Royal Academy of Music in DSP and Electronic Composition. It’s basically writing music software and audio algorithms in C++. That brought me into the programming world and I chose to become a developer and not a professional musician. I joined a small multimedia company called Lost Boys and the company boomed enormously—one of their projects grew into Guerrilla Games, a studio later bought by Sony. I joined in 1996, so you must bear in mind that the internet wasn’t that big yet. We programmed everything in C++ because we did everything on CR-ROM. We didn’t use any third-party libraries, we wrote it all by ourselves. It was also cross-platform development. I worked partly on the PC software and then I ported everything to MacOS.
How did you choose such a specific field of study?
When I was a small boy, my stepdad had a piano and he wouldn’t allow me to touch it unless I took lessons. So that “forced” me to do music. During the week, I would practice piano and on weekends I would go to my uncle’s because he had a computer. And, again, those are old times, so having a computer was still something unique. And he taught me BASIC. So, with the major at the university, I combined two of my passions. Music and computers.
So, have you ever used those skills you gained at university in your job?
Well, I used to work for a distributor of sample CDs. Meaning, there are electronic musical instruments that run on software and you have to distribute those discs. And in those days, as a musician, you had to sort of blindly choose and order these expensive libraries based on reviews by other people. I built a standalone iMac-based kiosk that was put in musical instrument stores and customers could browse, play, and choose the sound library they wanted to purchase. This was the early 2000s.
But even if we talk about the more recent online era, I used to freelance and help retailers in the music business create their online strategies and build their solutions.
I love being involved in the music business, but only as a side project. For the last six months, I’ve been building a music mastering studio and I’m very proud that my first clients are happy and have put the results on Spotify.
Looking at your LinkedIn, it looks like you’re a full stack developer. Is that true?
It’s a bit of a curse I have. I can easily get bored, so the projects I work on have to be either very deep or very broad. I always want to be involved and know about everything. And, in my current team, I’m the scrum master. When I joined, scrum was sort of applied, but was something new here, and it felt a bit silly asking to do daily standups with such a small team. But it was a great start and, I believe, thanks to the fact that we started early, we do it pretty well these days.
And if we stay on the LinkedIn I see that your most upvoted skill is PHP and the second is C#. Is that accurate? Where do you feel the most comfortable?
First of all, I have to say I was really impressed by the tech stack of Mews. When I saw the performance, I was really curious what you guys use.
In the old days, I used C# a lot, but it was just porting C# applications to PHP. In those days it was quite hard to find C# developers, so I would suggest PHP because finding developers is crucial for startups. But, then again, I’ve also built a medical desktop application in C#. I do believe there is technology for every challenge.
What is the tech stack of Oaky?
It’s Linux, Apache, MySQL, and PHP. It’s a classic LAMP stack, but we’re slowly moving towards TypeScript. Frontend is currently built in Vue JS with some old parts still in Backbone. Even though I like React better, Vue is much easier and prettier.
What cloud provider do you use?
We’re on AWS. Also, we now have a data warehouse. So, our data scientists are looking forward to using Redshift, the machine learning stuff, and everything that Amazon offers.
Do you have a dev ops person or do developers manage it themselves?
We just hired one. So, he’ll be starting soon. We noticed it takes up a lot of time from the development team, so it was time to have a specialist.
Is Oaky a mobile app, web app, or both?
The Oaky founders really wanted to have a native app at the beginning, but with time we realized it’s not the right way to go. So, Oaky is now a responsive web app. People get excited about the apps and I remember when I had a client who first had an app built and then turned to me to help them build the necessary web-based backend and admin frontend. The world upside down.
Oaky is a commission-free upselling platform which helps hotels maximize profit and enhance the guest experience. Browsing from best-selling upsell offers, hoteliers can add personalised guest-facing deals in a matter of minutes, and promote them through perfectly timed guest communication. This puts guests in control of designing their stay with upgrades, special deals and ancillary services. In short, Oaky offers upsells in a way today's travellers enjoy and appreciate. Oaky is a trusted partner by ho(s)tels across 60 countries
Most of the APIs you work with are SOAP, I imagine, which is not the case with Mews. How are you handling it?
So, the first APIs I used to consume were in the old days when we were building an online store with phone games where you paid with premium SMS. Basically, we were building an app store long before Apple did. 😁 And I had to talk to all these APIs of the phone companies and they were all SOAP. Some of them had some crazy PERL/CGI solutions, but the majority were SOAP and it worked pretty well.
What types of APIs you work with in Oaky?
Well, since many PMSs are big and older companies, we have to work with SOAP a lot. And, I don’t know if you know, but SOAP and PHP are not the biggest friends. But I’ve done it so many times that I built a layer between them so that the team doesn’t really need to care whether it’s SOAP or REST.
And how would you rate usability of our API?
Actually, I was positively amazed by the number of models that your API exposed and how well everything worked. Your API is more like a book, and that worked great. Model structure was very well thought out. I believe that your solution really enables you to offer value to a lot of different stakeholders. The flexibility worked very well for us.
Mews was the first two-way integration of Oaky, right?
Yes, and the easiest I must say.
It’s funny looking through our email conversation from 2017 where I announce to you that we’ve added some simple API call like changing the room category which you use on a daily basis now.
Yes, and that’s another thing. The fact that you always took into consideration our proposals or needs, as well as suggesting better solutions, was really beneficial for our cooperation.
Well, very often I had to fight for your API suggestion to move up on the priority level...
I remember very clearly our calls and your closet.
Yep, the famous calling closet / storage room. It was in the previous office and it was the only place where someone could have a call away from the others. And, since I was spending all day on calls with integration partners, I was the resident caller there.
But really, looking back, it was a very productive and successful time. And I can say that many clients who were sort of doubting switching to another PMS were convinced by the functionality and stability of our integration.
The more people around, the better the chance to learn new things
I recall that we always enjoyed talking to API partners about their needs and wishes because it made us think more deeply about functionality and, very often thanks to the suggestions, our API grew stronger and better, so it’s nice to hear that it was beneficial for you, too.
What are the biggest challenges you’re facing in Oaky these days?
The biggest challenge is that we now have several development teams, but only one develop branch. So, nobody wants to release anything because nobody knows what they’re pulling with them into production. Currently, Gitflow and CI are something we’re working on and improving to enable growth.
What is the record in Oaky for implementing a fully operational integration with a PMS?
We aim to have something usable in two months (four sprints). But the PMS world is a very diverse one, so there are different levels of “full functionality.” For example, currently we have three two-way integrations out of our sixteen integrations. And we don’t only integrate with PMSs, but also with channels like Booking.com, etc. And lately we started looking into chatbot integrations. That’s really interesting as it involves machine learning and it’s something I enjoy.
How big is the development team these days and how are you structured?
At the moment, we are twelve developers. We doubled recently and we will have to find a new office in the post-corona time. Now, it’s good for us as we work from home a lot but in the office we are rouletting. So, first come, first served. And we have three teams: integrations, hotel/chain-facing, and guest-facing. And, of course, even though we write our own tests, we have QA engineers who automate testing with Postman a lot.
In Mews, we’re trying to be very active in the Prague tech community. How is the community in Amsterdam? Are you active yourself?
There are two meetups I always go to. One is Bitcoin Wednesday. I’m really fascinated by blockchain technology, so it’s very close to my heart.
And the second one is the Golang meetup. I’m a big fan of Go and I am really happy to see companies using Go in production. Five years ago, the API I built in Go, for a big survey company with a staggering amount of data, was one of the few. For a long time it was taken as an experimental hobby language, so it’s changing. However, for my home projects, I use Python as Go is probably too complex for such small things.
(Example of Joshua's side project built with Golang API here).
We had our Head of Backend talking in Amsterdam recently about Functional Programming. Are there developers in Oaky who are active in the community via blog posts or public technical talks?
I think this will be more relevant when we have our recommendation system out there and live. It’s all about machine learning, and it’s data driven, so this would be something interesting we could tell the world about. But, to be honest, in Oaky, we are still in a phase where we need to get things done and get features ready ASAP. So, there is, unfortunately, not much R&D involved. We have to take the best practices and go with them. One day I’d like to talk about technology. You always need to have a strategy that involves this and I think, with more developers and more experience, you get a bit more relaxed and creative as you have space for discussion, etc. The bottom line is, we need to get better in knowledge-sharing between each other.
It sounds like you are in the same position Mews and its development team were a couple of years ago...
Yeah, it would be nice to get some recommendations and best practices from you guys.
One thing I have right now: try to involve developers in showing what their daily jobs are to others in the company. It’s great for sales or customer care people to get the perspective of what’s behind the product they work with. And, at the same time, it forces developers to think about what they do and how to explain it to non-tech people. Most importantly, it’s great connector of people within the company. I’ll share this on our blog soon.
That sounds like something that could really help understanding between teams.
Do you participate in any open source project or community?
No, not at the moment. The things I do are secret for now. But I’ve used things from open source and I am thinking about it. You know why? Because I feel weird about putting something out there and abandoning it. I would feel like I have to maintain it in some way, which is not completely true, but I’d feel responsible for it.
Music and gaming is the best combo
You’re a gamer, right? What’s your go to game?
It’s definitely Call of Duty: Warzone. I played Modern Warfare extensively and it’s really fun playing with 150 people at the same time.
Also (picking up a VR headset) Beat Saber is amazing and I play it a lot. It’s definitely THE killer VR game.
(Here is a video of one of Joshua's favorite Beat Saber players).
Actually, the creators of Beat Saber sit just one street away from us.
Oh, please go to them and shake their hands because this is such an amazing concept. It’s really fun to be immersed in this audio-visual space and, as we talked about earlier, that’s something I can appreciate.
And, even though it was a long time ago, I cannot forget about Guitar Hero... I even merged the gaming guitar and a real electric guitar by implanting the buttons and electronics into a Fender Stratocaster. So, then you look... well, you probably look even more silly, but now it’s easier to fool yourself into thinking you’re a proper musician. And the process of building it was very educational and a lot of fun. 🎸
So are you a fan of IoT?
Yes, I have big hopes for IoT. It’s more grown up than when I was into it couple of years ago. Mainly security wise.
Do you have a chip in your hand to open your door like our colleague Adam (who you know from the integration times)?
Really? He has it? Wow...😅 And I would be lying if I said I didn’t think about it. But I am afraid of power outages. If that happens, I’m screwed and I can’t get home. Adam is not a developer, is he? Then it’s good, he trusts the technology, but I’m a developer, so I don’t. 😆
You said you don’t participate in open source at the moment, but do you put your music out there? Or do you perform live?
For the online stuff, you just google my name and I’m sure something will pop up (Joshua Krosenbrink). I used to perform live a lot when I was younger, luckily before the internet. And after being an active musician I would do a lot of sound engineering both in studio and concerts. It’s fun and rewarding supporting young bands.
Lately, my big hobby is restoring vintage synthesizers and also building a music studio. I am planning to do mastering for labels and artists. It’s basically doing the quality assurance and final touches to the sound that producers put together with the musicians. It’s really like a codebase. The more people see it/hear it, the more the final result improves. And you not only need good ears, but you also need to build a proper acoustically-treated room and have high-end audio tools. Really looking forward to have it finished.
What are the plans for you when the world is back to more normal times?
One is that I’d like to go to Japan again, where my wife is from. I love the country and one of the best parts is Ōkunoshima Island which is inhabited by thousands of rabbits. 🐇 (Watch Joshua's 360 video of the rabbits at the island here).
But, more feasibly, visiting a lot of concerts. I miss that so much. And, actually, the last concert I did sound engineering for was in Prague last year.
Wait, wait, wait. Prague? Where we’re based?
Yes, it was for a band called Miracle who cover Queen. It was in some famous small club where all the rock bands started.
Was it Vagon?
Alright, we have to end right here because we won’t get anything better than this to end the interview. I’ve spent countless nights at that club and I am happy that its fame is known in Amsterdam, too.
Thank you for your time and go play some Beat Saber!
Thanks, this was really cool!