3. Education
For the last three years I’ve taught a graduate-level computer vision course at the University of North Carolina Charlotte each fall.
In 2020 we did the course fully remote. And it sucked.
Ok, it did’t fully suck. And I need to say right away that we had some fantastic teaching assistants, great students, and the that UNCC administration was incredibly helpful and supportive.
But. It still kinda sucked.
Teaching in-person gives me energy, teaching remotely drains me. Students can feel this too. There’s something magical about being in the same room with other people that I took for granted pre-pandemic.
All of this got me thinking more about education and in general 2020, and especially how the internet has changed and will continue to change education.
On one hand the internet age has been incredible for education - the quality and quantity of online education resources has exploded in the last 10 years - I still remember having my mind blown by MIT OpenCourseWare as an undergraduate student at Georgia Tech, the Linear Algebra lectures were so much better than the ones I was in!
5
On the other hand, when we take the online thing further and run a whole class online, it can really cheapen the experience. Maybe this is just a technology gap - I hope that one day we look back at today’s video communication technology and laugh at how primitive it is - and I hope this happens soon.
In my course this year, we did our best to make lectures interactive - but gosh I struggled with the “bandwidth” of the communication. When you stand in front of a group of other humans, you have so many queues to draw on to make the experience better for everyone - and most of these queues just don’t make it across the internet.
I don’t have any answers right now, just lots of questions - but 2020 definitely got me thinking more about education and where it makes sense to invest time next. Here’s my big list today.
What is the future of education?
What is the future of technical education? This stuff changes so quickly, you can’t just learn it once in college.
Why is so much of what we learn in school not relevant on the job?
What is the future of the business of education?
Is the cost of universities sustainable?
Does it make sense to couple education with research as most technical universities do?
Where do universities fit in? What is the role of universities in the 21st century? Is it different than in the 20th century?
The quality and quantity of online education resources has exploded in the last 10 years - where is this going?
Will virtual instruction replace in-person one day?
Do students need interactive lectures, why not just watch videos? I think we know the answer is that videos/information delivery are just one piece, but what exactly is missing? Interaction with the material? Interaction with the instructor? Interaction with class mates? Some pressure to get students to put in work?
How can instructors like myself best serve our students?
How can we make education less artificial? Or does it need to be on some level?
A quick sidebar on this last question - for myself, over the years I’ve found a few patterns that work really well for myself for learning new things - one of the best patterns for me is something like:
- Go try something hard, fail (hopefully quickly)
- Buy every book on the subject that might help me not fail
- Read the parts of the books that will help me
- Reflect on what I’m doing wrong and make a new plan
- Try again
- Repeat as needed
Step 1 is really important for me - this ensures I have some “skin in the game” - failing at something first makes it real. As soon as I’m in a learning setting where things feel artificial, I’m just not motivated.6
This was a huge struggle for me in school - it mostly felt fake so I didn’t care about it.
4. Algorithms: Unsupervised and Semi-Supervised Learning
One of the biggest friction points in my work today is data labelling. Getting the right people to consistently create the right labels that both benefit the business application and are actually learnable by today’s models is rarely straightforward.
Clearly, other folks have these issues as well - just look at the myriad of labeling tools that have hit the market in the last 5 years to address this need.
I don’t think labeling is fully going away anytime soon, but I do think we can do a lot better. Part of this is certainly software & tools to maximize and streamline human efforts, but another piece has to be better algorithms that need less labeled data to perform well.
There are especially unique challenges in my current domain of manufacturing. In my previous role in autonomous driving, many of the ML challenges were kinda “global”. Everyone in the space needed to have a really good vehicle detection model, for example.
In manufacturing, every customer is a freaking snowflake. Even the same customer making the same product but a little later down the production line can present new challenges. The scale and variability of manufacturing is astounding - it demands tools that are quick and adaptable - we can’t spend a year making a perfect model for a certain type of failure mode.
Another unique challenge in manufacturing relative to some other domains (but not as bad as healthcare!) is the lack of quality open datasets. I know of exactly one today. We need more to push the industry forward, and provide the foundation for developing and proving out the next generation of unsupervised and semi-supervised algorithms.
5. Sales, Commercialization, Startups
In 2020, I participated in 100+ sales calls. These are sometimes really exciting, sometimes boring, sometimes frustrating. I’ve done my fair share of these before, but this year felt more visceral, more tangible, more real.
When I was building my first startup, Intuitive Pickups, one of my advisors recommended I read Steve Blank’s Four Steps to the Epiphany.
At the time I thought it was incredibly dry and mostly irrelevant.
In 2020, listening to potential customer after customer explain their problems, and doing our best to explain how our product would help, I found myself thinking through some of the ideas of Four Steps to the Epiphany again.
How do we know if we’re making the right thing? (product market fit)
How should engineering and sales work together? Should this change with scale?
How much of sales success or failure is about the product itself vs how it’s sold?
Are we talking to the right people in a given organization?
With these questions in mind I revisited Four Steps to the Epiphany, and holy crap was it a different experience. It’s like Steve Blank knew what was going to happen to us before I did. 7
Now don’t get my wrong, the book is still dry as hell - but happily, there’s a cheat sheet out now, that I wish I had the first time I read it!
6. Fundamentals of Computer Science
Relative to previous years, in 2020 I spent bunch more time worrying about and working on the full stack (much of my previous work was more focused on just the ML components). This gave me a much deeper appreciation for some of the more fundamental building blocks that I think can be easy to take for granted when you’re training models all day.
My biggest epiphany of the year went something like: “HOLY SHIT, DATABASES”.
The job of a modern, especially large scale and/or distributed database is pure insanity - and the fact that humans been able to engineer software that is so reliable and performant, even when the underlying hardware and networking components are intrinsically noisy and faulty, is incredible.
A part of the stack my team built and maintains involves shipping images and metadata around the internet. If an operator at a plant in Michigan realizes that one our models isn’t detecting a new type of manufacturing defect, she can correct our model right on the spot in our “In-Factory” app - this image and label then gets shipped to the right database to be pulled into our model retraining pipeline.
As we engineered this part of the system last year, I couldn’t stop thinking about how impressed I was that systems like Instagram and Netflix actually work, and are so freaking reliable. Anyone in the world with a phone can post an image on Instagram, and just assumes that magically all their friends will have the same image ready to view on their phones - almost instantaneously. Witchcraft.
Just thinking hard about the idea of concurrency alone last year was enough for me to have that moment on the learning curve where it’s like “holy crap, I don’t actually understand anything.” This is a fun place to be, and I’m excited to learn more about databases and other, more fundamental parts of computer science: computation, compilers, programming languages, and operating systems.
7. Open Source & Why it Matters
Maybe I’m just way behind on this, but a couple things happened in 2020 that got me thinking more deeply about open source software, why it’s important, where it’s going, and how it fits and doesn’t fit in with today’s commercial and legal systems.
For me, I think as a result of on when I came of age, it feels intuitively obvious to me that open source model had some significant advantages over a closed model. I still remember discovering Wikipedia in high school in 2004, and being just blown away - reading article after article, diving deeper and deeper into the web of human knowledge - it felt so incredible and alive in a way that closed system never could.
I think this and other experiences let me to just assume something along these lines to be true:
The most reliable and maintainable software in the world is created using open source models.
I never really challenged myself on that assumption until 2020.
Is this really true?
If so, why, and what should we do about it?
Should everything be built in the open? If not, when and why should we not build things in the open? How do we balance the very real commercial concerns of the business of software with these facts?
As part of digging into this a bit more I picked up The Cathedral and the Bazaar by Eric S. Raymond - this is a fantastic read, and I don’t think I’ve had the bandwidth to fully unpack it yet. One of the more popular ideas is what Raymond calls “Linus’s Law”, after Linux Torvalds:
“given enough eyeballs, all bugs are shallow”
I think this really captures a key part of why open source works so well.
What I also found really interesting in 2020 is that I believe there’s a type of “inverse corollary” to Linus’s Law.
I wasn’t explicitly aware of it until I watched a great introspective video by the incredible YouTuber CGP Grey. Grey talks about his process research and writing process, how it go wrong, and the anxiety knowing that what he produces will be judged by the internet.
This really resonates with me. I made a video about my process at Welch Labs back in 2017 where I share some of the same struggles.
Where I think this ties into Linus’s Law, is that since the approach to making videos taken by CGP Grey, and lots of other YouTubers including myself on Welch Labs, is to go out into the world, do a bunch of research, and create something as interesting and as accurate as you can - but, since the creation process is intrinsically an individual or small team effort - you can’t leverage the wisdom of the crowds - Linus’s law is working against you!
Here’s my Linus’s law inverse corollary:
”when you make something for enough eyeballs and care about being right, you will screw up eventually.
Now, there’s also so big advantages to crafting content and ideas this way - when something is written mostly by one person it gives the work it such a unique and beautiful personality and perspective that wikipedia articles will never have.
I wasn’t really aware of it at the time, but when I was actively working on Welch Labs content for YouTube, Linus’s Law really worked against me, especially when trying to start a new series - it’s easy to joke about the fear of being wrong on the internet - but it’s real. It’s really really real and if you don’t explicitly do something about it, it can cripple your creative process.
Like most topics here, I have no idea what to do about this, but I think it’s really interesting, and am curious and excited to learn more.
8. Social Justice
I don’t think you can watch what happened to George Floyd in the summer of 2020, and the subsequent global response, and not feel like you should do something about it. That something has to change. That we can’t continue as we have.
And I have to admit here that as painful as it was to watch this summer, did I really do anything? Did I really make any changes?
Aside from becoming more aware of these issues, and donating some small amounts to a couple non-profits in this area, I really haven’t done anything. And that can’t be how systems like this change. I’m part of this system, and I haven’t done anything.
This sucks, and is not something I’m proud of.
And this really hits home for me when I think about how the city I live in, Charlotte North Carolina, and how we were ranked dead last (50/50) for upward mobility amongst American Cities in 2017.
Each Fall I have around 60 students in my computer vision course at UNCC, and in three years, none of them have been a black or brown students from Charlotte. Not one.
Now, the course is very internationally diverse - but how is it that not one black or brown kid from Charlotte ends up in my course over three years? Maybe I’m being self-centered here, maybe this is a poor measure of the real issues out there, maybe students from Charlotte go elsewhere for school, and of course computer science is just one area - maybe I’m way oversimplifying here - but when I think about social mobility it’s hard to ignore the relatively high salaries that can follow a computer science degree - and this doesn’t feel like a coincidence to me.
So what exactly are the barriers between black and brown kids in Charlotte and my computer vision course? What can we do about them?
This is clearly another an area where I have more questions than answers - zooming out a bit I think that fastai founders Jeremey Howard and Rachel Thomas are doing some important work at the intersection of technology and ethics.
Watching the political madness of 2020 and working in technology, I found myself wondering how the work my peers and I do impacts the political landscape.
The internet was supposed to make the world a more transparent place - but it seems to be doing exactly the opposite right now.
How do we know what’s really true?
How much freedom should people, organization, and elected officials have online?
To what extent and how should these systems be regulated?
Are there technical solutions here? Or are these the types of problems that are better solved through other means?
10. Climate Change
In the Fall of 2010 I headed off to graduate school to study environmental engineering at UC Berkeley, fired up to do something about climate change. Barack Obama was fresh in office, appointing Berkeley’s own Steven Chu as secretary of energy - and it seemed clear (to me at least) that climate change was widely recognized as a real and critical issue - and that the country was serious and staring to move forward.
In my first semester, searching for the right research fit, I spent some time learning about the the work happening at Berkeley - I was especially interested in the work of the Renewable & Appropriate Energy Laboratory (RAEL). I remember being surprised to learn how policy focused RAEL was. It seemed to me, at the time anyway, that idea that drove this focus was something like this:
The technology we need to curb climate change is already here - we know what to do - what we need now are the policies to make these things a reality.
This viewpoint well captured by the stabilization wedges paper, which I recall being pretty central in a couple of my courses. Not really seeing myself as the kind of person who could make in impact in politics/policy (I saw my strengths more in engineering), I ultimate decided to focus my research in an area outside of energy, and ended up working on a really interesting project using machine learning and sensor networks to study snowmelt in the Sierra Nevada mountains - a critical water supply for the state of California.
In 2020, listening to Greta Thunberg, I found myself reflecting on the 10 years since that fall, and how it really felt that we had taken one step forward and two steps backward on climate change, and wondering if my cursory take on what I could do to mitigate climate change back in 2010 was too swift.
Is addressing climate change mostly a public policy issue?
Are there new key technologies waiting to be discovered or invented?
Are there things aside from reducing my own carbon footprint I can do to make a difference?