Platform for continuous documentation.
What is Swimm? Why did you build it?
Today, sharing knowledge internally about code in an organization is not effective. It is limiting agility, ramp-up time, and eventually, development velocity. As long as humans write code, some of the knowledge will only live in their brains. Usually, it’s the most important piece of knowledge like data flow, a pattern, use cases that they know of, and the reasons behind their decisions, whereas comments and high-level docs usually explain how and what you did. They rarely talk about the why.
The core of Swimm is to enable you to add live code like snippets, tokens, file paths, etc., to documents within your repository. Coupling docs with code allows us to give you benefits that current documentation tools do not have.
First, we help you discover documents with our IDE plugins. While you write or read code, you will see the Swimm icon, which tells you that you have a rich text document about this piece of code.
Second, we help you sync those documents and keep them up to date. If you integrate Swimm into your CI, we check every PR and see if you’ve broken any documentation. If your change was meaningful, we will stop and say, "Hey, there's documentation about this part. Maybe you should review it." If it's not meaningful, like changing file names, moving code around, and even replacing whole chunks of code (we have a patented algorithm to detect that), we can Auto-sync it for you and say, "We’ve got you covered, your documents are up to date.”
Updating non-meaningful changes is also important because we’ve found that documentation often gets into this ‘ghost document state’ where they are still correct but do not reference the latest part of the code. Developers lose trust in the document even though parts are still relevant. Our Auto-sync capabilities help there.
We're also working on a way to support the methodology of how you write documentation and keep it as part of your development workflow. In general, we invented this concept called Continuous Documentation or code-coupled Continuous Documentation, which helps you add documentation as part of your workflow.
What does a "day in the life" look like for you?
The biggest change transitioning from a developer to a product leader was that, at first, I had an empty calendar and a huge list of tasks. But now I have a full calendar and an empty list of tasks. So, I try to spend the first half a day going over the current version, making sure everything is on schedule, and a bit of product inbound work. In the second part of the day, I usually do some founder-related activities, building the roadmap, watching user tests, reading the analytics - stuff like that.
What is the team structure around Swimm?
In the beginning, we didn't want to structure the teams around a specific technology or feature. But now, as the product has matured, we’ve restructured the company around these features. We have three squads. One is in charge of the editor experience – you can say that the Swimm editor is a product of its own. So we need a squad to keep it bug-free and up to date with the competition.
And the third squad is in charge of our Auto-sync algorithm, the GitHub integration, and what we call the app envelope ( login mechanism, billing stuff, etc.).
How did you first get into software development?
As a kid, I had a ZX Spectrum, 8-bit. I mostly played, but I also wrote some lines in BASIC, which led me to learn how to program in school. But professionally, I started in the army. I was in the IDF Flight School, where I trained to be an officer in charge of a group of developers, writing courseware for flight cadets.
What is the most interesting development challenge you've faced working on Swimm?
What’s the most interesting tool/product you’ve been playing around with recently?
We're playing around with GPT-3 right now. There is a limit to the value GPT-3 can give to documentation because you can never deduce the why. The “why” is not in the code. You can get the smartest AI to write documentation about the code, but it will never know why you did that or why you chose this way.
Understanding the reasoning is very important, and the reasons only live inside the brain of the developer who just wrote the code. Where Swimm can really help is reducing the effort to write new documentation. Like a ghostwriter, we ask you the why, and Swimm takes care of the rest.
Describe your computer hardware setup
I take my laptop everywhere, so weight is very important for me. I use the Lenovo X1 Carbon Nano. It's under one kilo, and you don't really feel it in your backpack.
My phone is a Pixel 6. I always had a Pixel, even before it was called a Pixel. I also have a Pixel watch. I don't really need a smartwatch, but I got it anyway – it's an interesting piece of tech that I am not sure how to use yet.
I always use wireless keyboards, preferably Microsoft. I had to give up my DAS mechanical keyboard (with CHERRY MX keys) when my son was born, as it makes too much noise. And so I moved to something quieter.
Describe your software setup
Chat: Slack and Zoom
IDE: VS Code
Source control: Git and GitHub
Describe your desk setup
I lost my home office for a nursery. So, I work from the office most of the time. The most important part for me is not the chair, but the ability to connect with one cable to the docking station. So, I have a Dell monitor, 27 inch, which gives you a USB-C cable. You connect your laptop to it, and then it is charging. The camera, keyboard, mouse, headphones, network, and everything else connects with just one cable.
Daytime or nighttime? Day.
Tea or coffee? Coffee.
Silence or music? Music.
What non-tech activities do you like to do?
When I have the time, I go diving or skiing. I like these types of activities because you put effort into half a day, and then you can relax the second part of the day, and you don't blame yourself. You can enjoy the relaxation time because you earned it by doing some sport before.