mascots in one line.png

SubCom is a seed-stage startup. We are working on automating defense and compliance for devices and data that are spread out. This post is for people who are interested in joining us. It will give you an idea of what engineering at SubCom looks like, around early 2022.

Intelligent Systems

We build intelligent systems capable of making “crude but fast” decisions on their own. We deal with applications where the speed of decisions is so crucial that some accuracy can be sacrificed, such as IoT devices where the silicon budget is limited. Our motto is intelligence proportional to the silicon budget. We do not sell or license libraries to do these computations but are leveraging them to build products that solve a few big problems.

Our statistical and Tiny ML solutions are inspired by the nervous system, where the decision computations are distributed and fast. This was my pitch to my co-founder when we met at Entrepreneur First. Our pitch has changed a lot since then, but the fundamental “algorithms” that are driving the core computing at SubCom are very much driven by the desire to bring as much simple biological computation to silicon as possible. We are also exploring a few ideas from statistical learning theory (PAC learning) and signal processing (compressed sensing). Do give us a shout if you work in these areas.

Security starts with observability

You can’t defend against what you can’t see👀!

We read the time series of events from the kernel (using eBPF wherever we can) and pass them through our sparse Habituation and Novelty Detection net. The nets produce output when a novel event occurs in a time series. In cyber-defense, novel events are the most interesting events to look for.

Habituation is the most primitive form of intelligence. It makes our cognition non-Newtonian: we don’t react to every stimulus. Imagine if every small stimulus steals your attention! It's because of inbuilt habituation that we learn quickly that most events are not worthy of our attention. For example, we don’t feel our clothes or heartbeat the whole day or notice the smell of our office after a while. We habituate to them. Yet if an insect crawls on our clothes, someone walks in with coffee, or our heart skips a beat, we immediately notice something novel has occurred (contextual novelty). In our neural nets, habituation and novelty detection go hand in hand. These two computations are two sides of the same coin in our architecture!

Once we figure out the contextually novel events, the next job is to classify them as safe, OK, and unsafe. We solve it using statistical methods. We also use Dense Associative Memories to recognize patterns at the edge. We love modern Hopfield networks.

We are investing our efforts in building the most lightweight observability layer on IoT devices. We observe using eBPF whenever possible. It's lightweight and allows us to do a lot in the userspace that was only possible in the kernel space. Fortunately, the Windows kernel has started supporting eBPF. Our love affair with eBPF doesn’t stop at only observability, though.

Tech stack

We don’t define ourselves by the tech stack. We use anything that seems best at the moment. Our developers use the tools they are most familiar with.

SubCom likes people who are experts in hard-to-learn languages but are not deeply madly in love with them or constrained by them. If you are an expert in Haskell or similar languages, you are encouraged to apply. If you can drive comfortably in Shimla, you can drive in Chandigarh and Bengaluru, but not the other way around!

We primarily use Rust and C++. We love Rust over C++ any day, but we can’t shake off C++ from our stack just yet. Also, Rust developers are hard to find and retain (looking at your blockchain). We would’ve chosen Rust simply because of DX with tooling and documentation. Memory safety is another huge plus. I certainly don’t want my children to deal with C++ on more than one platform (modern or otherwise).

Python remains our primary scripting language. A bit of Nim is also in our codebase.

Location and work culture

Our office is in Sahakaranagar, Bengaluru North. We have rented a house with 3 bedrooms and use it as our office. We like it here. We also have coworking spaces in Bengaluru South for those who can't come to the North. The technical team works in the Sahakaranagar office.

OpenStreetMap

SubCom does not usually allow people to work from home, except for a few days each month if someone has a minor illness or there is an emergency. We found out that our team mainly depends on meetings, not paperwork. Without enough paperwork, working from home could cause problems like lower productivity and confusion. We don't know how to fix this yet, so we won't do any more work-from-home trials for now.

We strive to be a documentation-first company, despite the challenges posed by our culture, which prefers speaking over writing.