Our mission is to replace the need for physical paper.
GoodNotes was created from our founder's frustration of taking readable and reusable handwritten notes on his first iPad. However, people use paper in many different ways, not just for taking notes. As we build the best product to serve our customers, one of the biggest challenges we face is providing solutions for all of our customers’ varying use cases for ‘paper.’
Our particular insights:
- There is something magical working with a pen on digital content.
- Digital pens will be a commodity. All productivity machines are going to be touch screen, keyboard and a pen. We already see it happening with Surface and Pixel Slate.
- A lot of software basically mimic what people do on paper.
All members on our engineering team are makers. Everyone has built things outside of work and we think that’s one of the most important traits of product-minded engineers. Since the beginning, building a high quality product has been our first priority.
High Quality Code Base
We believe the inside of our product needs to look just as great (‘quoting Steve Jobs’).
We strongly believe that having a quality code base is the foundation for fast iteration in a safe environment. Our commitment to quality code is not just lip service either. We have CI tests, follow a style guide, and do all of our code reviews at the design stage. Any non-trivial changes require a design engineering doc to outline and discuss how you’d approach the problem and what tradeoff you may have to make. For those who refer to the Joel Test, we are 12 out of 12 on his list. Of course, we are not 100% perfect and cut corners at times, but we always fully understand the consequences before committing to it.
Traditional wisdom would advise against a full rewrite of our code base, but GoodNotes 5 which we launched in January was actually a full rewrite. We did this because we needed to lay down a new foundation for conflict-free collaboration and cross platform development.
Creative + Innovative
We aren’t interested in hiring a team of Android or Windows developers to copy everything on our iOS app.
Everyone at GoodNotes has a say on the product and we only hire product-minded engineers. Going cross-platform is one of our biggest challenges, and creating a seamless experience for our users requires great ideas at the smallest scale.
We’ve built something that people love, and it’s not necessarily that we’re innovating at a macro level, but we’re devote creative efforts in all of the little things. Our focus on the details is really what makes our users love and enjoy our product. Our next goal is to make GoodNotes smarter and more accessible. We’ve done most of the digital features, but as the quality of devices improves and the number of devices an individual owns, there is so much room for innovation.
Now that we’ve built a strong foundation (see how we value High Quality Code Base above), we are perfectly positioned to accelerate growth. For example, syncing used to be an issue of ours, but it is no longer a problem with the way we now structure data. There are a lot of interesting things in the pipeline, and we can’t wait to execute and deliver them.
We use Reactive programming, event sourcing, and MVVM.
As a team, we’re very open to adopting new technologies. In fact, we’re constantly looking for the best tools for the job and if we can’t find it, we’ll develop our own (we developed our own ink engine and also built the foundation for collaboration). While we are very deliberate about the technologies we use, we don’t require engineers to have experience with any of them beforehand. We believe that anyone can learn a new language on the job. If anything, one of the most important attributes we look for in candidates is having a growth mindset.
We have no middle management. Everyone (on paper) reports to our founder, Steven.
As a small team, we don’t have a need for managers. That said, some of us do own particular functions: Gabriel owns all social media and marketing, we have one designer who owns all of GoodNotes’ designs, and each engineer owns one component of our product (i.e. import/export or tools).
We adopted Basecamp’s structure and work in 6-week cycles which are comprised of three 2-week sprints. Anyone on the team, regardless of role or tenure, can lead an initiative.
We look at the results and not the hours you stay in the office.
Steven, our founder, comes in early and is always the first person to leave. He doesn’t stay around the office ot make sure people are doing their work, and as a result, GoodNotes has developed a culture where no one is competing to “stay the longest.” You should also know that GoodNotes is a bootstrapped and self-funded company (we have never taken any outside funding).
Since we don’t have a board or the external pressures people often associate with working at a startup, we don’t need to work overtime or come in on weekends. We care more about being perfect than we do fast and always plan our sprints and initiatives in line with reasonable and achievable goals. Balancing work and life is really important to us, which is why we have also made Thursdays and Fridays optional work-from-home days.
Committed to Personal Growth
We have a monthly budget (300 HKD/month) which you could use to learn anything you want, even if it’s not work related.
Take classes on videography, or even music lessons! We actually kind of have a band at GoodNotes, and since we didn’t have a drummer, Gabriel is taking drumming lessons!
Our research team members are not traditionally software engineers, but they’re using their stipend to learn how to code through online classes (advanced Python and iOS). You can also use your budget to purchase books. Whatever you want to do to learn and stretch yourself, we support it.
We use RAPID decision making framework and do most of our communications on Quip. We never hold a meeting without a clear agenda. The only mandatory meetings you’re expected to attend are:
- Daily stand up (10-15 minutes)
- Retrospective meetings at the end of each 2-week sprint (for engineers)
- Demo / retrospective meetings at the end of each initiative