How may we expand a diverse CS talent pipeline? What could be the next generation of computing system development?
“If equality of educational opportunity can be established, democracy will be real and justified.” — Will Durant, The Lessons of History
I believe diversity is not only the right thing to do but also a key to innovation. For example, a 2018 research found that 55%, or 50 of 91, of $1+B startups in the US had at least one immigrant founder. However, diversity recruiting is still way too hard in tech. Even we’ve been trying hard to recruit diversely better, we are still limited by the talent pipeline. This can not be solved by better recruiting because it’s a consequence of CS education. Besides promoting CS education, there has to have better equality of CS educational opportunities for students. So, that the talent funnel may be diversified & expanded upstream. The question is what are we going to do about it.
The 1st big barrier today is: most students don’t have a powerful enough computer to develop Android App, and the HW requirement to build the Android system is even higher. This stops us from teaching high schoolers. About 64% of K-12 students in the US use Chromebooks. Some of the Chromebooks may be powerful enough to install Android Studio for app development. But, not every student can afford that. Furthermore, I’ve given up to build Android systems on $2K MacBookPro many years ago. I won’t bother to try any Chromebook at least for now. So, how can we remove this barrier?
Democratizing Android Development by the cloud
As I started the journey to build smarter cars in 2020 and then COVID locked us down. Which forces us to explore better ways for us & the industry to work from home. We asked what-if: anyone can do Android Development via a browser. With the proliferation of public cloud services & a marvelous Android Emulator, this might be easier than you think now.
Early this year, we created a course of Android System Development on the could for Code Next. Since that, we’ve been thinking about how to scale it up to enable more communities. This week, a non-profit, Computer Science for Equity & Beyond (CSEB) & VC.in.Taiwan just completed the first lighthouse project to coach 20+ Taiwanese high schoolers to “onboard” as Android system developers on Google Cloud Platform(GCP). They used GCP “Get started for free” to set up their own Android development virtual machines, created & customized their own Android Virtual Devices (AVDs). They can complete all these tasks from their homes in Taiwan via a browser through Chrome Remote Desktop.
More importantly, thanks to all inspirational guest speakers sharing their CS stories & experiences as software engineers in Google to be a role model for the students 👏.
The 1st day in the life of Android system developers
So, what can students do after completing the code labs? tl;dr to learn more or prototype ideas to solve their problems by building Android Virtual Devices or using virtual machines on the cloud. We call it: the “Hello, World!” of Android system development on the cloud.
Just like in the first week as a new Android device developer, one needs to complete the same tasks. Even today, most companies provide expensive dedicated personal computers for that. Tomorrow, many companies may switch to a cloud service to enable remote employees & scale easier. By doing the code labs, students learn & experience a few key onboarding tasks as a new developer, such as:
- Code lab 1: Set up the development environment.
- Code lab 2: Build an Android device.
- Code lab 3: Create your own Android device.
Leapfrogging bonus for smarter cars
Car OEMs have to pivot to build smarter cars one way or the other. For example, Volkswagen CEO expects 90% of car industry innovation will be SW driven. And, Toyota expects 50% of its technical staff intake will be SW engineers. Now is a great time to jump ahead by adopting the new way to build software on the cloud. Not only it provides the cost advantage of a big developer team. But also, it can significantly improve the speed of development.
This demonstrates even high schoolers can complete the end-to-end system development workflow on the cloud. Sure, it’s still much better to have a dedicated computer for development if you’ve $2K to spend. Nevertheless, there are more advantages for new or big developer teams, e.g.
- Working from anywhere to attract the global talent & better adapt to “the new normal”.
- Reduce the initial cost, lead time, maintenance & even power efficiency for the personal computers by using virtual machines on the cloud.
- Reduce the burden & time of development environment set up, syncing the huge code base & a long time to build the system from scratch by providing a “pre-cooked” Docker image.
The dawn of the next generation
The code labs are still very basic & many paper cuts in the whole developer journey on the cloud. But, we see a bigger potential. For example, this is much easier for more high schoolers to get started. As they get a taste of a day of the life of computer system development, some of them may be interested to pursue a CS major, minor, or even just a course next. Hopefully, this can become a tool on their belt to solve a problem they care about.
So, if high schoolers can do this, what could professional teams take the inspiration to the next level? During the course, we see many opportunities to build “cloud-native” services, e.g.
- Better usability to lower the barrier for new developers & reduce burdens for developers to focus the problems to be solved instead of trivial tasks.
- Huge development productivity jumps with the cloud workspace & cloud build. Just imagine how much time & compute power saved for a few line code changed.
- Working better from anywhere without source code control worries.
As the US needs 1+ M talents on STEM jobs by 2030 & CS will be a great multiplier for anyone including non-STEM to scale their impacts, you can help to enable high schoolers to explore a path forward. If you like to introduce ASD on the cloud to the student groups you care about, feel free to reach out to Alwin Lin, email@example.com.
The opinions stated here are my own, not those of my company. They are mostly extrapolations from public information. I don’t have insider knowledge of those companies, nor a whatever expert.