One day, I realized that my testing workload was too much for me to handle alone. It was time for me to embark on the recruiting train. Hiring new testers is critical to protecting existing team members from burnout and to cover the ever increasing volume of testing needs. Hiring…

Helpful testing methods to get a quality product out faster When you have a product release happening very soon and there are major features going out, you may feel a bit of pressure trying to make sure there are no bugs going out with those features. Testing the product under…

At this year’s Google I/O, it was announced that Kotlin would be a first-class language in the Android ecosystem. By the time of the announcement, I had already transitioned roughly 75% of Lucid’s Android app from Kotlin to Scala (and have since moved to 100% Scala). While I’ve been very…

At Lucid, we have a service-oriented architecture. One of these services is a font service that is responsible for serving font data based on family and unicode range and checking permissions for user-uploaded fonts. We didn’t expect the font service to have particularly high load1 (load is the average number…

WebAssembly was first described to me as “a way to run C++ on the web,” which was technically vague enough to ignore, despite my love of both C++ and the web. I heard about it again later at the 2016 Chrome Dev Tools Summit, and I decided to check it…

When I tell people about my transition from mental health science to quality assurance testing, the response is similar across the board: “Wow, I could never do that!” There’s a false perception that the tech industry is unreachable for people with backgrounds outside of tech. I spent over half a…

Angular has become the de facto front-end MVC framework of the Web. We had been slowly adopting Angular 1 here at Lucidchart, but the vast majority of our crucial components were built in jQuery and vanilla JavaScript. We were one of the early pioneers of Angular 2. We found Angular…

Lucidpress is a large application—hundreds of thousands of lines of handwritten JavaScript. After seeing the success Lucidchart had in modernizing its UI with Angular, we wanted to follow suit, but we didn’t have the resources to do a wholesale rewrite all at once. We wanted to write some new Angular…

The problem Package and managers Packages are collections of software: data files, binaries, executables, source archives, etc. These are published, resolved, downloaded, and installed with package managers. Unfortunately, in 2017, almost every package manager has the the ability, the default, or even the common practice of creating nondeterminism in the…