I’m in the market for a job! I left my old job at Honor in San Francisco at the end of February. I love Honor, loved working there, I’m proud to have been a part of their growth over the last four years, and I know they’ll continue to be a shining light in the home care industry.
So now what do I do?
I’ve been keeping a list of ideas, technologies, and companies that are interesting to me or seem valuable or useful to the world. I’m sharing the list here as a way to organize my thoughts and figure out what to do, and also because I thought other people might be interested. I’d love feedback! Are you working in one of these fields and looking to hire a software engineer? Let me know! Is there something else I should look into? Something I’m overlooking? Any mistakes or oversights in my thought process? Any help is appreciated. Leave a comment or email me at email@example.com.
A vague responsibility: Improve government services
I’m sure there are a ton of city, state, and federal government websites (both internal and external) and software that could be improved and I always get satisfaction out of making things work better. Things that are used by large numbers of people, like HealthCare.gov, DMV online services, online property tax payments, etc.
Let me share an example about paying property tax online… In either Wake County, NC or San Mateo County, CA (sorry, I don’t remember which) the website threatens a >$50 fee for failed bank ACH payments. Like, WTF? That should cost them $0. What are they doing that justifies needing to charge any fee at all? The form might have also prevented pasting into the account number field for some reason and used bad terminology like “e-check.”
An industry: Spaaaaaaaace
My understanding is that SpaceX’s entrance into the satellite launch business has caused launch prices to drop significantly. Also there has also been increased attention on building small satellites. Consequently we’re launching more satellites and getting more clever about how we use them.
There’s so much going on here. There are the old launch companies like United Launch Alliance and Northrop Grumman Innovation Systems, and new launch companies like SpaceX, Blue Origin and Rocket Lab. Companies that build satellites like SSL (now part of Maxar) and SpaceQuest. Companies with for-hire observation satellites like Planet, BlackSky, DigitalGlobe (also now part of Maxar), Radiant Solutions (also also now part of Maxar) and Spire. Companies working on satellite-based internet service: Swarm Technologies, OneWeb and Astranis. There’s the company “Spaceflight,” which helps people get their satellite into space. There’s an increased need for satellite tracking/coordinating, and an increased need for the ability to clean up space debris (see e.Deorbit and read about laser brooms). Also ion thrusters are cool.
A huge undertaking: Wikipedia-like website for collaborative law drafting
This idea requires a long explanation to do it justice, so I wrote a standalone post.
A website: Car comparison tool
Before we bought our car in 2018 I made a spreadsheet that listed every crossover and SUV. I filled in statistics that were important to me and used them to narrow down the list. I thought it was a fantastic tool.
There are websites that let you compare a few vehicles at a time, but that’s not sufficient. I want to be able to filter through all cars and keep refining the list until it’s sufficiently short. My approach is:
- Start with a list of all vehicles in the US, so you can be sure you’re not overlooking any.
- Choose a set of attributes that you care about. Things like mileage, safety ratings, seating capacity, whether there’s adequate space for a rear-facing child car seat, length, price, etc.
- Filter out vehicles with attributes that exceed certain values. For example, if you know there are cars you’d be happy with that get 25 mpg, then you might choose to completely rule out a car that only gets 15 mpg.
- For each attribute, specify desired values and a weighting to indicate importance.
- Use the weighting to compute a score for each car.
- Write notes about each vehicle.
- Give a subjective rating to each vehicle based on the computed score and the notes.
Building the website would be a great project with a little bit of everything: design, frontend, and backend to store all the vehicle stats and allow people to save their progress. Maintaining accurate vehicle specs over time would be an ongoing and tedious effort. But it’s easy enough for one person to create and maintain. It seems plausible that it could earn enough ad revenue to justify the effort.
A technology: Software-defined radio
Software-defined radio (SDR) is a radio communication system where components that have been traditionally implemented in hardware are instead implemented by means of software. —Wikipedia
I don’t have any experience with this. There are certainly malicious uses, such as OpenSesame, a small device that opens non-rolling code garage doors by broadcasting every possible code very quickly and RollJam, which attacks rolling code garage doors and car remotes.
But I think there’s a lot of potential non-malicious uses, too:
- Auditing the security of wireless protocols like garage door remotes, car keyless entry, mobile phone cell radios, bluetooth, and NFC, baby monitors, transit cards, hotel key cards, etc. SDR could be used to check that traffic is sufficiently encrypted and not vulnerable to spoofing or replay attacks. This is essentially what the guy behind OpenSesame and RollJam did (at least, I assume he told the manufacturers about his findings).
- GPS has become pretty important in our lives and in our military. For planes and drones, but also for everyday navigation. It might be valuable to test how resilient GPS receivers are to spoofing and potentially try to figure out how to improve resiliency when faked GPS signals are received.
- A Wi-Fi signal strength detection and mapping tool, to help users find the optimum antenna placement for their home router. Could also review/compare/publish Wi-Fi performance of off the shelf routers.
- Sorta related: Spire, one of the space companies I mentioned above, says on their website, “Spire collects data with sensors that are programmable and re-programmable when in orbit.”
A company: Security audits of anything
I mentioned security audits in the context of software-defined radio above, but there are many more things that would benefit from a security audit. Electronic door locks with keypads might ship with default admin codes and not force the user to change it (that’s bad because people tend not to change them). Same with apartment intercoms/door buzzers. Here’s a related article about an IBM security team who found problems with visitor management systems. There are a ton of Wi-Fi enabled appliances these days that could have problems: refrigerators, doorbells, cameras, TVs, etc.
The economics here are tough. Companies don’t want to spend more money than necessary, and security problems only become a problem when they start being publicized or exploited. Some companies pay rewards (called bug bounties) when problems are shared with them privately, but generally only large players who are already security-conscious, like Google and Facebook. There might be justification for a government agency or non-profit to perform security audits as a public service.
A product material: Carbon fiber reinforced polymers
As a material I think carbon fiber reinforced polymers aka carbon composites are super cool. Also to a lesser extent carbon fibers themselves, carbon nanotubes, and graphene. There are so many products where “light and strong” are important qualities. In the relative scheme of things these materials haven’t been around very long. It’ll be exciting to see the improved products we make. It will be good to see prices decrease over time, too, so more people can get the benefits of things like carbon composite wheelchairs, crutches, and walkers.
We also need to make improvements to carbon composite recycling techniques, infrastructure and cost effectiveness.
Update 2021-05-10: Real Engineering has a video with great info about carbon nanotubes.
An Internet standard: WebAuthn
WebAuthn is a web standard for more secure logins by using a physical device like a fingerprint scanner or USB keychain instead of (or in addition to) a password. Essentially eliminates account hijacking from compromised passwords. Two factor authentication is fantastic and everyone should use it for their important accounts (email and banks), but typing in a six digit code is kind of a pain. With WebAuthn you can touch your finger to your phone or laptop’s fingerprint scanner, instead. Or tap on a tiny piece of metal sticking out of a USB port. It’s roughly the same level of security with a fraction of the effort for the user. I thought this article had decent explanations, if you’re looking for more info.
Websites that want to support these types of logins will need changes to support WebAuthn, so it’ll never become ubiquitous. But I’m hopeful that major websites will adopt it over the next few years.
A big undertaking: Unmanned autonomous solar powered boat or submarine
I don’t know what this would be used for, but it sure does sound cool. Maybe ocean research, surveying, or surveillance (e.g. scouting for pirates off the east cost of Africa).
Update 2020-11-27: IBM and an ocean research organization have built an autonomous boat for marine research.
A slog toward a greener tomorrow: Grid-integrated hot water heaters
I read about this recently and I think it’s pretty smart. Intelligent water heaters (decrease water temperature at known low demand times and increase temperature for peak demand) and intelligent hot water recirculation pumps also have the potential to save water and electricity.
A chemistry experiment: Measure the amount of caffeine in beverages
Some instructions here. Originally I thought this would make a great website, then I discovered that it already exists. But I still think it’d be interesting to make a bunch of mugs of tea and measure how caffeine content differs based on tea type, water temperature, and steep time. And also how much variation there is even when keeping those factors consistent. Could be a good science fair project.
A joke website: Hamazon.com
An online marketplace for great deals on pork products. Emily suggested the logo could be the normal Amazon logo but with a pig nose above the smile arrow. Mostly I just think it sounds funny.
An endless amount of work: Make Linux better
I love Linux. When I was younger I did some work on the Pidgin instant messaging program. I’ve always wished I had more time to smooth out Linux’s rough edges. It’s fair to say my dream job would be for someone to pay me to improve whatever random weaknesses I encounter in Linux software.
- I think there’s a lot to be gained by updating old online docs, wiki pages and Stack Exchange posts to describe the current best practice for X. I feel like pretty much anytime I need to do something (e.g. “how do I add a hostname to the resolver search path on hosts using DHCP on Ubuntu 18.04?”) I find multiple answers and it’s hard to know which answer is correct.
- I’ve always felt like Linux install processes were clunky, fragile, and asked too many questions.
- info-zip apparently needs a maintainer
- I think having more consistent UIs across apps would give users more confidence in the OS.
- I don’t have first hand experience, but I suspect Linux on laptops tends to be an area in need of improvement. See a random blog post about running Linux on a Lenovo laptop for an example of tweaks an average user would not be able to make themselves.
- Standardizing more core software across distributions would cut down on parallel work and make developers available to work on other things. I have mixed feelings about systemd but at least there seems to be a de facto standard init system now.