IoT Platform Design Docs - How our engineering team works

Sergey Lyubka, Jul 14, 2016 10:38 AM

Mongoose IoT Platform is growing, in fact stay tune for some exciting releases soon. We get asked a lot how we make decisions and the background to how Mongoose IoT Platform is built. So, over the coming months we are going to share a series of our Design Docs to give you an unique insight into how our engineering team works.

What is a Design Doc?

Every engineering team makes multiple decisions on a daily basis. Some decisions are more crucial than others. For example, the decision to name a function isn’t very important if it’s a local helper function. However, if it’s a public API function in a popular product, it becomes very important.

The Cesanta team follows this rule: if a decision is important, then it should be outlined in a document which the rest of the team should approve. This ensures everyone is one the same page and all crucial decisions are sense-checked. We call these documents “Design Docs”. They vary in detail and length depending on the decision at hand. What’s important in each design doc is that it explains the problem, suggests an ideal solution, possible alternatives and a rationale for the decision we want to make.

Think of them not as as product documentation, but rather as a written history of the engineering process.

Who writes them?

Cesanta_Eng_Team.jpgAnyone on our engineering team can write a Design Doc. If you follow our blog, you’ve more than likely have read some of their musing already. Most of the Design Docs we will publish are authored by Marko, Dmitry, Deomid or Sergey.

Sergey is our CTO and he co-founded Cesanta. He is also the original author of Mongoose Embedded Web Server.

Marko is the first engineer to have joined the Cesanta team. He worked with Sergey in Google and is your man if you really want to get to the root of a problem.

Dmitry joined us in October 2015 as a key member of the engineering team. His background is in embedded development and he strives for software elegance.  

Deomid, aka Rojer, came to Cesanta in April 2015 as a software engineer. He previously worked in Google and if you follow our code examples on the blog, you will know him already!

While these are the main authors, know that the entire engineering team works on the Design Docs together to make the best decisions for Mongoose IoT Platform.

Why publish them?

Design Docs are not documentation but rather the history of our engineering process. We believe these will give the wider engineering community interested in the Internet of Things a unique insight into how we work. Not because we’ve got this cracked, but to start discussions and be transparent. We want IoT to be accessible to all engineers, so why not open up how we work?

We’ll start with a Design Doc describing the visual design of the “on/off switch” control in an IoT application and how it is different from other switches used to control equipment. The resulting on/off switch controls are implemented by Mongoose IoT Platform.

To make sure not to miss it, sign up to receive blog updates below.