Best Practices for Flow Typing React Components
01 June 2017
| By David Winegar
At Coursera, we use Flow to type our Javascript and catch mistakes at compile time. Flow has been enormously useful as a documentation tool and has increased the productivity of our frontend engineers. However, this tool can be tricky to...
Coursera Engineering Podcast Episode 1: Javascript Technologies with Jon Wong
11 May 2017
| By Lewis Chung
Today I’m excited to release the first episode of our engineering podcast! These podcasts will supplement our blog posts as another medium through which we can share the work we do at Coursera. Expect to get topics along the lines...
Learning Multiple Platforms @ Coursera
08 May 2017
| By Deepkanwal Plaha
I joined Coursera just over a year and a half ago as a new graduate software engineer. During this time, I’ve had the opportunity to work on three different platforms. I was hired as an iOS engineer, transitioned to Android...
Technology migrations: unglamorous obligation or an impactful opportunity?
03 March 2017
| By Nikhil Garg
This is a blog post about how we leveraged a technology migration opportunity to increase impact while staying excited, and emerging feeling proud of what we accomplished. It also gives a look into how Coursera’s core values a) Betterment b) Boldness c) Solidarity and d) Deep honesty guided us throughout.
How to run the perfect standup
21 February 2017
| By eleith
Running the perfect stand up has eluded me for many years. At Coursera, we find that being intentional and transparent into what our stand up is optimizing for, leads to better results.
Building Smarter Search
31 January 2017
| By Airong Cai, Yan Huang
Check out the TechCrunch article about this topic! How we’re using crowdsourcing and data science to improve course discovery on Coursera Here at Coursera, we care deeply about connecting learners with the right educational content to reach their goals. The...
Breaking Up Our JavaScript Monolith with Rapidos
15 December 2016
| By Evan Yeung
The frontend infrastructure team at Coursera works hard to make developers as productive as possible. This includes keeping up with the latest and greatest tools and libraries, but also means making builds and deploys as fast and painless as possible....
Should engineering managers write code? Wrong question.
01 December 2016
| By eleith
Engineering managers tend to ask "how much could should I write?". However, that question distracts from the intent of why managers want to write code to begin with. Instead, engineering managers should ask "Where should I write code?".
Why UI Developers Love GraphQL
23 November 2016
| By Jon Wong
A tech talk given at Coursera about why UI developers love GraphQL.
On Sponsoring ACM-ICPC's Pacific Northwest Regional Contest
11 November 2016
| By Andy Nguyen
This past weekend, the ACM-ICPC Pacific Northwest region (among others) held a 5-hour-long team programming contest to decide which universities will compete at the World Finals in Rapid City, South Dakota, this May. Coursera has been a proud sponsor of...
GraphQL Summit
28 October 2016
| By Brennan Saeta
This past week, Coursera attended the first annual GraphQL Summit. We learned a lot from other cutting edge organizations adopting GraphQL, and are excited by Facebook’s open stewardship of the protocol. As part of the conference, we presented our journey...
My Summer Internship at Coursera
24 October 2016
| By Meiri Anto
Hi I’m Meiri, and I’m a rising senior majoring in economics and computer science at Swarthmore College. This summer, I had the amazing opportunity to intern as a back-end software engineer on the Learning Experience Team (internally called FLEX) at...
Three Technologies That Power Code Executable Blocks
29 September 2016
| By eleith, Ankit Ahuja, Brennan Saeta
We recently released an exciting project on Coursera: Code Executable Blocks. This project allow course instructors to extend the Coursera platform with a development environment exposed as an embeddable code editor. Code Executable Blocks is powered by three technologies, both internal and external to Coursera: Coursera Markup Language (CML), Docker and AWS.
Call for Papers: NIPS 2016 Workshop on Machine Learning for Education
22 August 2016
| By Jiquan Ngiam
Machine Learning for Education We are excited to co-organize a workshop at NIPS 2016 on applications of machine learning towards education. We are looking for contributions to the workshop and welcome you to join us at NIPS! Workshop Summary The...
Cassandra Meetup - Batch loading for Data Products & Building API layer for C*
19 July 2016
| By Daniel Chia
Cassandra, a scalable NoSQL database, powers the majority of Coursera’s online request processing. Cassandra affords us horizontal scalability, stable and fast latencies, and no downtime maintenance. These aspects allow us to provide our learners that are distributed globally a feature-rich...
Rust & Docker in production @ Coursera
07 July 2016
| By Brennan Saeta
Building a platform for quality education at scale is much more challenging than it initially appears. One of the most sophisticated components of Coursera’s learning platform is our programming assignments infrastructure. We efficiently, reliably, and securely grade assignment submissions inside...
Building a new platform for innovation: A technical perspective
21 June 2016
| By Jiquan Ngiam
What’s up with this old-to-new platform switch? What’s different about Coursera’s new platform? In this blog post, Director of Engineering Jiquan Ngiam shares and reflects on how our technical platform has evolved over the last few years. When Coursera launched,...
Migrating from EC2 Classic to VPC: Part I
22 April 2016
| By Frank Chen
This is a two part blog series about how Coursera migrated from EC2 Classic to VPC. This post highlights general strategies and service migration, while the next post will deal with migrating our storage subsystems. Why VPC? As Coursera grows,...
Becoming Bilingual @ Coursera
16 March 2016
| By Brice Pollock
Halfway through my HCI degree I "saw the light" and moved from a flip phone to an Apple iPhone in 2010 despite being notoriously cheap. The following year I wrote my first iOS app for the device. Since then I’ve worked at Apple in the iOS division for two and a half years, watched every Apple keynote, been developing in Swift pre-1.0 and worked on Coursera’s iOS app while releasing another iOS app on the side... So why have I been working on Android in Java for the last nine months?
“Yes You Can” - Empowering Women Through Education
11 March 2016
| By Priya Gupta
Priya Gupta, Software Engineer, Learning Experience — #WomenInTech Week at Coursera I was lucky to grow up in a family in India in which a girl’s education and success was as important as a boy’s. We were a middle class...
Finding My Community: From Math Olympiads to Coursera
11 March 2016
| By Colleen Lee
Colleen Lee, Software Engineer, Content Experience & Teaching — #WomenInTech Week at Coursera Growing up, I didn’t feel much of my identity was rooted in being female or pursuing particularly feminine pastimes. I was a child who loved math, played...
Overcoming Stereotypes in Tech
11 March 2016
| By Richa Khandelwal
Richa Khandelwal, Software Engineer, Growth — #WomenInTech Week at Coursera In school, I was lucky to have access to computer classes, and I really enjoyed programming. So when the time came for me to think about my career path, it...
4 Things I Learned While Building a Slackbot With AWS Lambda
17 February 2016
| By eleith
Lambda promises to simplify how we build services in the future. While building a slackbot internally for Coursera, I learned a few lessons about Lambda worth sharing.
6 Steps to i18n Success for Your Web App
20 January 2016
| By eleith
tl;dr: I recently spoke at html5devconf about how Coursera internationalizes (i18n) and localizes (i10n) our web app. This blog recaps the talk. Coursera’s has the mission to make online education as accessible and affordable as possible. Over half of our...
Scaling Content Production
10 January 2016
| By Geoffrey Yu, Colleen Lee
One of the challenges we face at Coursera is scaling our content production to help us onboard hundreds of great new courses and specializations. In fact, just a few months ago, we launched over 30 new specializations on our platform,...
Re-engineering the past for the future
11 November 2015
| By Alex Wang
Coursera’s take on bringing online education to the Apple TV When someone asks what I do, I tell them I develop for mobile. Generally, this is met with interest and curiosity — after all, we are tasked with the interesting...
How Coursera uses Swift
07 November 2015
| By Mustafa Furniturewala
Coursera provides universal access to the best education. The Coursera iOS app lets our learners all over the world take courses on the go. They can watch lectures, take quizzes, post questions on forums and use other features to learn....
Emerging Leaders in Engineering
05 November 2015
| By Archana Sankaranarayanan
Everyone who attended last month’s emerging leaders event at Coursera felt inspired to dream more, learn more, do more and become more. Coursera initiated this event because we wanted to create a space for engineers to connect with female engineering...
How to Migrate React to Isomorphic Rendering
01 October 2015
| By Turadg Aleahmad
Coursera adopted isomorphic rendering in React and saw a 4x improvement in page load times. In our last post we discussed how to develop web apps with isomorphic rendering (aka universal Javascript, but how do you get from an existing...
A Summer of Work and Fun at Coursera
25 August 2015
| By Sidwyn Koh
Hello, fellow Coursera learners! I’m Sidwyn, a rising Computer Science junior at the University of California, Berkeley. This summer, I had the chance to embark on an exciting journey as an intern on the Content Experience and Teaching Product Team...
Why and How Coursera Does Isomorphic Javascript: A Fast and Snappy Quiz
18 August 2015
| By Turadg Aleahmad
Pop quiz! Have no fear; this will be the easiest Coursera quiz you ever take. Coursera’s home page is rendered by… your browser a server. a server and also your browser by the same code. microscopic monkeys squeezing the liquid...
The Life Of A Corgi At Coursera
11 August 2015
| By Stanley Fung
A typical day in the Dog House Hello world. My name is Stanley Fung and I am a student from the University of Waterloo. August 2015 marks the end of my second internship at Coursera and I felt compelled to...
Mobilizing at Coursera
10 August 2015
| By Mike Luo
Hello world. My name is Mike Luo and this is my story as an intern at Coursera. I first heard about Coursera from my good friend Jason, who was also a past intern. I was immediately sold on the Coursera...
Improving Coursera Global Site Performance: A Head to Head CDN Battle with Production Traffic
09 July 2015
| By Brennan Saeta, Frank Chen
In order to fulfill our mission of universal access to the world’s best education, our learning platform must be fast and reliable throughout the globe. Because more than 60% of our learners come from outside North America, we use a...
Flexbox @ Work
23 June 2015
| By Archana Sankaranarayanan
tl;dr Flexbox Examples from Coursera: I compiled a list of flexbox CSS rule sets vendor-prefixed and with examples to help you get started As front end developers, we encounter problems everyday with laying things out: horizontal alignment, vertical...
Why we’re open sourcing a project before we write the code
18 May 2015
| By Joe Betz
Today I’m proud to announce that we’ve open sourced Courier! A Scala library for– Wait, hold on, let me back up a bit. The thing is, we’re just starting development on Courier now. There’s nothing for you to download. Nothing...
Rapidash: Faster frontend development
12 May 2015
| By Brennan Saeta
Coursera engineering believes developer productivity is second only to site availability, and therefore we consistently invest in tools to accelerate the pace of innovation. The faster our engineers can launch and iterate, the better we can make the Coursera learning...
Stepping UP to the Challenge
01 May 2015
| By Geoffrey Yu
The UP team, with family and friends, on a hike in Muir Woods This winter I had the opportunity to be a software engineering intern on the University Product team, UP for short, here at Coursera. And if I could...
Coursera @ HackDuke: Code For Good
02 April 2015
| By Dennis Li, Betty Tsan
This past November, Coursera sponsored HackDuke: Code for Good, a two-day event at Duke University that focuses on using technology for social good. Coursera was involved in the education track, which encompasses hacks impacting K-12, higher education, and accessibility to...
Make editing courses on Coursera fun!
31 March 2015
| By Ankit Ahuja
We recently launched the next generation of authoring tools for instructors, instructional designers and teaching staff at our Partners Conference. To accomplish this, we made use of several open-source projects including React.js as the UI library, Flux as the application...
Source Maps are Great ... When You Get It Right
30 March 2015
| By eleith
we recently updated our asset bundling and naming scheme to improve our site speed and cache-ability. we achieved our goals, but the more we mangle and bundle our code, the more we introduce ways in which bugs show up only...
How to be a Great Engineer Coursera!
03 February 2015
| By Nick Dellamaggiore
As an engineering manager, I’m often asked by colleagues and interview candidates “What does my career progression look like as an engineer at Coursera?” Though developing as a people manager is appealing for some, I find that most are interested...
Redshift SSD Benchmark
19 December 2014
| By Jason Shao
Our warehouse runs completely on Redshift, and query performance is extremely important to us. Earlier this year, the AWS team announced the release of SSD instances for Amazon Redshift. Is the extra CPU truly worth it? We do a lot...
Bringing Data To Teaching
19 November 2014
| By Joshua Horowitz
When an instructor teaches a class on Coursera, they get to make a direct impact on hundreds of thousands of learners all around the world. This broad reach is a huge attraction for teachers. But we think the benefits of...
Long-running jobs at Coursera
17 November 2014
| By Colleen Lee
Out with the old… In the early days of Coursera, we had a variety of long-running jobs needed to support our platform, such as batch email sending, class-wide quiz regrades, gradebook exports for our instructors, and more. This resulted in...
Coursera Engineering Open House: Update
15 November 2014
We’d like to thank everyone who made it to Coursera last Thursday for our open house. We had a great time answering questions, introducing everyone to Coursera’s culture, and sharing the mission behind our company. If you weren’t able to...
Efficient Front-end Development at Coursera
07 November 2014
| By Jon Wong
As a front-end developer, you find yourself mucking around in the browser. A lot. Whether its ironing out interaction flows, figuring out transition durations, or making sure your API calls are valid, the browser is your battleground; anything that takes...
Coursera Engineering Open House
04 November 2014
If you’ve been following our engineering blog (or just happened to stop by), and are interested in learning more about engineering at Coursera, please join us on Thursday November 6th for Coursera’s engineering open house. Throughout the night, you’ll have...
Writing a Custom Control for iOS 8 using Swift and Auto Layout
29 October 2014
| By Brice Pollock
Here at Coursera, every new line of code we write for iOS is in Swift. As a result, I’ve written a few custom controls lately in Swift using Auto Layout and iOS 8’s new IBDesignable/IBInspectable attributes which are supposed to...
Talks @ Coursera – Counting at Scale with Scalding and Algebird
23 October 2014
| By Daniel Chia
Data plays an important role at Coursera. We use data to improve our learner experience, gather insights in MOOC pedagogy, and provide instructors insight into their courses via our instructor dashboards. The data infrastructure team at Coursera seeks to provide...
Coursera's Adoption of Cassandra
23 September 2014
| By Daniel Chia
Like many startups, Coursera began its data storage journey with MySQL, a familiar and industry-proven database. As Coursera’s user base grew from several thousand to many millions, we found that MySQL provided limited availability and restricted our ability to scale...
Talks @ Coursera - A/B Testing @ Internet Scale
11 September 2014
| By Roshan Sumbaly
Being a data driven company, we at Coursera appreciate the importance of being able to A/B test various hypotheses. At any given time, we’ll be running various tests on the site and analyzing results to pick the winning variants. These...
Using and Contributing to Open Source at Coursera
08 September 2014
| By eleith
At Coursera, we stand on the shoulders of many great open source projects like Scala, Django, Nginx, Ubuntu and countless other libraries and tools. This allows us to focus on what we want to do best: build the best online...
A Coursera Experience: From Learner to Intern
28 August 2014
| By Jonathan Zong
Jonathan is a student from Texas who loves to learn. He joins the Coursera infrastructure team as a software engineering intern this summer between graduating from high school and starting freshman year at Princeton. In his spare time, he loves...
My internship at Coursera
14 August 2014
| By Shadaj Laddad
Editor’s Note: Meet Shadaj Laddad, one of Coursera’s summer interns. In this expository blog post, Shadaj shares the day-to-day adventures of working at Coursera this summer. Thank you for all your hard work, Shadaj. We will miss you!! This summer,...
HTTP Live Streaming at Coursera: Education at your Fingertips
26 June 2014
| By Jon Wong
Learners on Coursera spend the majority of their time on the site watching videos, a format that allows Coursera’s partner universities to educate at scale. These videos range from thirty-second snippets to hour-long debates and presented interesting challenges in preparing...
Defining Culture
27 May 2014
| By Jiquan Ngiam
Engineering values at Coursera We have been having discussions on the engineering team on code quality, which turned into higher level discussions on our culture and values. As we are maturing as an organization, these discussions are important to help...
Leading With Why
24 May 2014
| By Jiquan Ngiam
Up-leveling conversations and breaking down problems The last two years have been a whirlwind. We grew the Coursera team from the ground up to just over a hundred now, and it was a tremendous learning experience going from a small...
PyCon 2014: Coursera Edition
15 April 2014
| By Jon Wong
My love for PyCon (and Python!) started with a free ticket two years ago from the kind souls at dotCloud (now Docker). Now at Coursera, I owe a large part of my success as a developer to the wonder that...
What about the women?
09 March 2014
| By Emma Pierson, Chuong (Tom) Do
“Education is one of the most important means of empowering women with the knowledge, skills and self-confidence necessary to participate fully in the development process.” (from International Conference on Population and Development) Today, in celebration of International Women’s Day, we...
Why we love Scala at Coursera
18 February 2014
| By Brennan Saeta
Why Scala is Coursera’s primary serving language Coursera is a rapidly evolving platform for education at scale. Our Massive Open Online Courses, or MOOCs, enable millions of students to take quality academic courses from top universities around the globe. In...