Developing International Software

Enrollment in this course is by invitation only

About this course

When you’re designing and developing new software, it’s easy to get laser-focused on getting it functional and into the market or deployed as soon as possible. Thus, many engineering teams develop software that supports their native language first, postponing support for other languages until “later,” when they think they will have the bandwidth. In other words, they don’t plan ahead. The problem with this approach, which experienced developers have found out the hard way, is that it sacrifices budget, time, and opportunity.

Redesigning and rebuilding a different edition of your software for each and every language or market can be a colossal effort. As this computer science course will demonstrate, planning ahead is far more efficient, and the marginal cost of supporting multiple languages from the get go is less than you may think. Harnessing international functionality in operating systems and programming languages makes writing code that works for multiple languages and markets much simpler than retrofitting existing code.

The instructors for this course include programmers who have worked on globalization and localization of some of the world’s most successful software. They’ve experienced the good, the bad, and the ugly of creating world-ready software, and they’re here to ensure your software’s user experience works consistently, regardless of where users are from or what languages they speak.

This course has three parts: the business case, world-ready design, and world-ready development. While students can complete parts one and two without programming knowledge, part three requires programming experience.

Please Note: Learners who successfully complete this course can earn a CloudSwyft digital certificate and skill badge - these are detailed, secure and blockchain authenticated credentials that profile the knowledge and skills you’ve acquired in this course.

What you'll learn

Foundational concepts for software design: globalization; localization; market needs; regional and language differences; marketing

UX Design:human-centric design, culturalization, designing scenarios, world-ready game design

Software Development:data input, manipulation and display; engineering & localization approach; development environment; globalization APIs and web services


  • This course is for anyone interested in Developing International Software.
  • Basic programming knowledge is required.

Meet the instructors

Björn Rettig

Björn Rettig

VP, Global Content & Technology PayPal

Bjorn Rettig works for PayPal as the VP, Global Content & Technology. Previously he worked at Microsoft where he was the Senior Director of the School of Applied Technology at Microsoft, the instructor of Developing International Software at the Harvard University Extension school. Bjorn is a husband, a father of two young ladies (both excited about STEM), proud geek, and a Master Woodworker. Bjorn loves to travel, to cook, and has the goal to visit all the top 50 restaurants of the world.

Bjorn was born and raised in Germany. He moved to the USA in 1992. His first role at Microsoft was working on the German version of Windows NT. He stayed in the Windows International team for 15 years in different roles, before taking on different engineering roles within Microsoft. He's the inventor of the multilingual user interface, the language interface packs, and holds six other software patents.

Nadine Kano

Nadine Kano

Partner The Arioso Group, LLC

Nadine spent twenty-three years at Microsoft working in a variety of technical and business roles. Straight out of college, she joined the Word for Windows team, eventually signing off on several dozen Western European versions of Word, from Word for Windows 1.0 through Word for Windows 6.0. Although writing code was fun, she found she actually liked teaching better. So she transferred to the Windows team, where she lectured on software internationalization, wrote the landmark book Developing International Software, and a ton of articles for publications like Microsoft Systems Journal, Microsoft Developer Network and Multilingual Computing Magazine.

After graduating from Microsoft in 2012, Nadine co-founded The Arioso Group, LLC, a consulting firm specializing in communications, where she practices the art of helping corporations and startups tell their stories. She’s totally stoked to participate in telling the story of software internationalization, particularly since she gets to tell it in a non-boring way.

A Princeton graduate with a BSE in Computer Science, Nadine served on the university’s Computer Science Department advisory council for 12 years and augmented her computer science background with an MBA from Stanford University Graduate School of Business. She also has a culinary degree from Le Cordon Bleu in Paris, and teaches cooking classes as a hobby. She enjoys making pastries, but tries to avoid eating them.

Kasey Champion

Kasey Champion

Learning Team Microsoft

Kasey Champion is a software engineer turned teacher. She graduated from the University of Washington with a degree in Electrical Engineering, but worked for the Computer Science Department as a Teaching Assistant for 3 years. After graduation she joined Microsoft as a software engineer, but spent her mornings volunteer teaching computer science at local high schools through the TEALS program. Recently she was lucky enough to make her passion her full time job and joined the Microsoft Learning team to develop computer science courseware.

  1. Course Number

  2. Classes Start

  3. Classes End

  4. Estimated Effort

    Total 36 to 60 hours