Jin Young Choi is a Software Engineer at Babbel on our Revenue and Growth team. He has been with us since 2021 and lives in Brooklyn.
In the autumn of 2023, Jin Young was selected for the NYC <> Berlin Exchange, a month-long, all-expenses paid, inter-office transfer to Babbel’s Berlin office, where he collaborated with one of our platform engineering teams to architect an innovative feature in user authentication.
Today, we’re excited to talk to Jin Young and hear more about what drove him to apply to the Exchange.
We’ll also be hearing about the project he worked on and, if you read on till the end, we’ll find out why he believes that Turkish baklava is the most underrated delicacy in Berlin.
Why did you apply for the NYC <> Berlin Exchange?
JYC: Hm, I think I have three main reasons why.
Firstly, I’ve been really curious about Berlin as a cultural phenomenon. One of the things you come across when you live in a big city like New York is that, a lot of the time, people like to draw comparisons between other big cities around the world, and often remark on the similarities that they share.
Relatedly, some people I’ve met here would often refer to Berlin as the Bushwick of Europe (Bushwick being a neighborhood in Brooklyn with, dare I say, an incredibly osmotic local culture).
As a self-proclaimed Evening Enthusiast (thanks, ChatGPT) who has had many fond experiences in Bushwick, I thought it would be neat to try out life as a European Bushwickian for a month: courtesy of Babbel.
On a more serious note, I think I got really excited about the idea of meeting more software engineers in the company.
Now going onto almost three years at Babbel, the bulk of my tenure has involved working in NYC, where the team I’m on is the only engineering team in this office.
In fact, most of the company’s engineering work takes place in Berlin, and I’ve always felt a bit of FOMO when it comes to our engineering culture: in large part because I’m one of a literal handful of Babbel engineers who are based in New York (there are only five of us here), with the majority of our 200-person engineering department being Berlin-based.
Last but not least, I felt really excited to try something different.
The premise of the Exchange is that it’s an opportunity for you to engage in a different type of work than that you do on a more day-to-day basis; you are encouraged to find and apply yourself to work that may involve a different set of business stakeholders, domain, or even end-users.
On that note, as someone who has primarily devoted his working hours to the realms of monetisation and user conversion (I work on bringing in new users to our subscription-based platform and set up data-driven experiments so that our analysts and marketers can better target our go-to-market efforts), I felt inspired to leverage the Exchange as a means to switch gears and try out working more on the core-product and platform side of things.
You worked with TNT, a platform engineering team.
Tell us more about your project.
JYC: So let me just preface by saying that TNT, which stands for Tech ‘N Tools, is a team I’ve admired from afar for quite some time.
As one of the oldest engineering teams at the company, TNT has contributed quite significantly to our engineering culture. It’s a team that’s held the responsibility of building out a handful of our key platform services– such as our code deployment and tracking events monitoring platforms– just to name a few that I’ve really enjoyed using as an engineer here at Babbel.
That said, an additional domain within TNT’s technical purview is user authentication– this technical term refers to the way in which users are verified and granted access to our services.
In basic terms, you can think of authentication as the standard login process when you visit any online platform. This process often warrants the user to submit an email and password combination, or ‘sign in using third-party credentials’– through Google and the likes.
When my line manager and I approached TNT as my prospective sponsor for the Exchange, the team not only welcomed me with open arms (thanks Armen 🥰), but also invited me to take a stab at architecting an exciting feature that recently caught its attention.
That feature was passkey authentication (or passkeys), a recently popularised technology which allows users to log in to online services using their device-registered credentials. You can easily see passkeys in the wild; it’s the underlying technology that lets your mobile banking app sign you into your account simply by asking for your registered fingerprint or FaceID.
You see, TNT was looking into this feature because incorporating it in our system meant that we could reduce our reliance on passwords which, despite their long-standing ubiquity, have shown to incur undue conversion friction and pose security risks.
Gleaning some promising success stories from the industry and receiving some interest from our internal product and engineering stakeholders, TNT ultimately decided that architecting this feature would benefit both our users, who would be able to access their learning content more quickly, securely, and seamlessly, as well as our engineers, who would get a chance to work with cutting-edge technology and move the needle on our age-old authentication platform.
What was most challenging about this project?
JYC: I’m really glad you asked that! I think there were two main challenges with this work.
First challenge came with understanding the ins and outs of our existing authentication codebase.
Besides the fact that platform engineering was uncharted territory for me, all of our server-side logic pertaining to authentication was written in Ruby on Rails.
Admittedly, Ruby on Rails code felt naturally unfamiliar at first sight.
Typically when I work on things server-side in my New York team, my workflow consists of writing out our programmatic logic in TypeScript, encapsulating it into a serverless Lambda function as part of our microservices architecture.
Evidently there are other components at play (like Kinesis, DynamoDB, etc.), but over the years I feel like I’ve gotten quite comfortable with this particular way of doing things through sheer exposure and repetition.
On the other hand, working with a Ruby on Rails application with its MVC architectural pattern, coupled with what– at times– felt like obscure, authentication-specific mumbo-jumbo (of course I say this respectfully 😁), altogether made things challenging for me since there were simply a lot of new concepts I had to wrestle with, and embrace the unavoidable discomfort of feeling like a noob in a new domain.
Speaking of “authentication-specific mumbo-jumbo” (again, excuse my playful verbiage here), I’d have to say that the second most challenging aspect of this work has to do with familiarising myself with the technology of passkey authentication itself.
Since passkeys are a relatively new concept, available literature on the technology was relatively scarce.
Of course, the nature of our job as programmers is to seek and leverage external resources, of which there’s typically plenty, though in the case of this novel technology, it did feel like I had to delve into the depths of the internet to find resources and implementation guides that “clicked” for me, or spend a few hours trudging through jargon-heavy documentation in order to gain a semblance of understanding of the underlying concepts at play.
How about the most exciting aspects?
JYC: Having said all this, I can’t express enough gratitude for two things in particular: the opportunity to learn from my Berlin-based engineering mentor, Jean, and the swell fellas of TNT– Armen, Alex, and Vipin, in particular (ie. the Mount Rushmore of Babbel Engineering 🗿🗿🗿) and, by extension, the chance to fully immerse myself in a time-blocked, intentional learning environment.
My favourite aspect of writing software has always been the investigative nature of our profession– the opportunity to find technical solutions in ways that leverage critical thinking and empathy towards not just our end-users but also fellow programmers.
Through probing code written by our platform colleagues, as well as through collaborating on the delivery of the design document for passkey authentication, I feel like I’ve gotten to learn a whole lot about the inner thought processes and conscious choices that went into our existing authentication architecture.
On top of this, it was particularly exciting for me to use the opportunity to explore the various trade-offs between implementations and also remind myself of the subjective and creative nature of our craft.
With that said, I’d like to thank my line manager, Pooja, and product manager, Daniel, for allowing me the time to exclusively work on this project for the duration of the Exchange.
If the opposite of happiness is boredom, I was an abundantly joyful human bean 🫘 during my time in Berlin, and I have much to thank these two for letting me engage my curiosity and not let expectations stateside get in the way of this singular learning experience.
Any top memories from your trip?
I’m really grateful that I got to make a lot of new connections at Babbel during my time at Andreasstraße 72. However, without a doubt, many of my top memories came from deepening my pre-existing relationships in the company.
One such relationship that I feel like my time in Berlin helped me nourish was with my aforementioned engineering mentor Jean Duthon.
I’ve known and worked with Jean for over two years now, and he’s someone I greatly admire as a selfless and emotionally intelligent leader in our field.
As a colleague and dear friend, I feel so fortunate to have gotten to spend a lot of time with Jean, meet his delightful wife Inga for the first time, and even explore various parts of Berlin and Köpenick together:
Another delightful experience during my Berlin stay was a bike trip from Kreuzberg to Potsdam with Brandon and Viktor; we couldn’t have picked a more glorious day for our ride:
Lastly, it was wonderful to visit one of the world’s first hackerspaces, c-base, thanks to my TNT colleague Alex. Not only that, it was also stellar to see Alex bring us home the trophy for the historic Berlin Hack & Tell:
To wrap up, some rapid fire questions:
Favourite neighbourhood in Berlin?
JYC: I’d say a close tie between Prenzlauer Berg and Kreuzberg. That said, Charlottenberg and Schöneberg are a delight as well. Hard to choose… Am I doing this right?
Favourite döner in Berlin?
JYC: K’Ups on Kastanienallee, right by Mauerpark.
Their gemüse kebap was my religion for the month. The church of Rahim (he’s the owner, IIRC) 🙏🏼. I still dream about it every now and then, so it’s safe to say that K’Ups has left a permanent imprint on my sub-conscience.
Also, get the mango Ayran while you’re there.
Favourite thing about Berlin?
JYC: Probably how bikeable the city is.
I was pleasantly surprised as a dogmatic Citi Biker™ here in New York. By the way, a huge shout-out to Tahani and Andrea from the Exchange Planning Committee for hooking me up with one of our Babbel Bikes!
Finally, why is Turkish baklava the most underrated delicacy in Berlin? 🧐
JYC: Believe me when I say that I didn’t even know what a baklava was, let alone a Turkish baklava, prior to arriving in Berlin. Most New Yorkers who’ve visited Berlin (of which there are plenty; way too many yankees in Berlin, now present company included) would default to recommending their favourite döner or schnitzel joint in the city.
What people don’t know is that Berlin actually hosts the largest Turkish population outside of Turkey, so if you don’t expand your Turkish culinary experience to beyond just the popular döner, you’re really missing out.
That said, Pasam Baklava is the reigning champion of Berlin’s Türkische Konditoreien; it’s in Kreuzberg, just steps away from the venerable Mustafa’s.
Lastly, Berlin in one word?
JYC: “Interesting”. Just kidding, “Raw”.
Thank you for reading the Babbel Magazine!
If you’d like to learn more about our engineering culture, please check out Babbel Bytes.
Click below if you’d like to become an engineer at Babbel!