Internationalization & an Internship: My Time at CBRE Build
Hey, reader! My name’s Rachel, and over the summer of 2019, I got the opportunity to see what life is like as a software engineering intern on CBRE Build’s Workplace team. Specifically, I got to work on internationalizing Spacer. I had an incredible time, and I’d like to tell you more about both the process of internationalizing an app and my experience at Build.
Internationalization (or “I18N”)
Internationalization is a long word — so long that it’s usually abbreviated to “i18n”. But what does it mean?
Put simply, internationalization is the process of designing something (like a product or app) such that it can easily be used by more than one region or area. This might sound simple, but in practice, there are a lot of things you might need to do.
A textbook to-do is making sure your app can support multiple languages and conversion. That’s not all, though; you should also think about:
- text size and direction
- cultural norms
- legal requirements
- all sorts of other things.
(For more info, check out this great resource: https://www.w3.org/standards/webdesign/i18n)
In an ideal world, from the moment you start designing your app, you are already thinking of internationalization. In practice, that doesn’t always happen. When I arrived at Build, I was tasked with internationalizing Spacer. As you can imagine, that’s a huge task for a fully-fledged app! So I spent my 10 weeks specifically focused on getting Spacer to support multiple languages.
For the tech nerds out there, this framework is basically how I did that. The general idea is “tokenizing” the app, which is essentially 3 steps:
- Replace all readable text with uniquely named variables
- Make language files that map each variable to a translation
- Set up language detection (and/or selection)
Then, based on the app language, all the variables will be replaced with text from the appropriate language files. Adding languages afterwards is super easy: just make more translation files.
That was my project in a nutshell! There’s so much more to go into, but hopefully this was a nice crash-course. I loved this project because it felt like I was doing meaningful work, and I learned a lot about internationalization standards. I also got a lot of experience with React and Node.js, both of which I had wanted to learn for a while, and gained confidence as I learned.
Working at Build
More generally, my overall experience as an intern was awesome!
One thing I really loved was Build’s culture and small size. The office itself only has about 50 people, and the Workplace team had 6 people when I arrived. This is wonderful, because you truly get to know everyone. Whether it’s ping-pong, going out for donuts with someone in the office, or even just chatting with your coworkers over lunch, I truly felt connected. For the engineering offsite, we all enjoyed a Brooklyn Cyclones game and stopped by Coney Island! It was hard to leave at the end of the summer!
Also, being part of a small team meant that I really got to learn more about what a professional workflow looks like. Our team had weekly meetings where we would all share the latest news on our products. I learned a lot more about what product managers, designers, and tech leads do (but check other blog posts for more on that!). Beyond that, though, I never felt like I was “just an engineer” — instead, I was part of a team that was working together to get things done, quickly and productively.
Finally, as a startup acquired by a large company, Build gets the best of both worlds. In addition to the benefits of a small size and close-knit culture, Build also has the resources and security that come with working for a large company. I learned a lot more about commercial real estate and enjoyed chats with the sales team. I also learned a bit about what it’s like working for a large company: for example, how the interests of stakeholders can shape a product’s direction.
All in all, I felt like I learned so much about everything and truly grew as an engineer. There was never a slow day at the office, and there was always more to learn. I will never forget the friends I made there, the great times assembling puzzles and eating donuts, and the knowledge I gained from my internship project, among so many other things.
Thank you, Build, for a great summer!
Rachel Inman is a rising senior at Princeton University studying Philosophy and Computer Science. When she’s not coding or thinking unnecessarily deeply about things, she loves to play the piano and sing in her school’s Chapel Choir.