For AI agents: a documentation index is available at /llms.txt — markdown versions of all pages are available by appending index.md to any URL path.
202 Posts

Microblog

Short posts that don't need a full article. Most of these started life on LinkedIn (each one links to the original); from here on they get written here first and syndicated there. Subscribe to the microblog RSS feed if you'd rather not follow along on LinkedIn. The main feed still only carries full articles.

DocumentationCodingBusiness

Was reminded today that it is my two-year anniversary at MongoDB! How do I feel after two years in Developer Education?

I love my job. I love going to work every day, having the opportunity to learn new things constantly, and hopefully make life better for the developers who use Realm Database and MongoDB App Services. I have loved using these things myself in personal projects to better understand the folks we write code examples and documentation for - and I also just genuinely think they're great tools and like using them.

I love working with smart people who are generous with their time and knowledge. I love feeling supported and challenged by my team and my work. This is such a happy role for me that unites my interest in app development and my background in writing.

I am very grateful to be where I am and looking forward to year three!

CodingPersonal

My #ios app’s info page had a link to the Twitter account I set up for it. Given everything that is going on over there these days, I wanted to switch that to a Mastodon instance that hubby set up for our side projects.

Haven’t touched the code in 8 months. Went to archive and there were missing symbols. “Aha! I remember the #realm #swift team had a version whose release notes mentioned addressing this.” Update the version to most recent, and everything just works again.

Bonus: I wrote a zillion tests for the app back when I was actively developing it, and after updating the version, the tests all still passed!

I’ve been getting into some small semi-abandoned packages lately for some niche stuff in the new apps I’m working on, and it’s such a night-and-day difference using a project that’s actually maintained by thoughtful devs. ❤️

Hubby had an idea for an app that he shared with me on Friday night. I knew we could achieve it with a minimal amount of work using MongoDB’s Atlas Functions, Device Sync, and Twilio. We started working on it on Saturday morning, and by Sunday night we had a working app that could receive text messages via Twilio, insert them into Atlas, and sync them with a SwiftUI #iOS client using Device Sync. I put up the app on TestFlight under 48 hours after we started working on it.

This right here is why #MongoDB is an amazing platform for #developers to build on. It gives us fantastic tools to build fast and takes care of so much hard stuff so we can just build cool things. Psyched to take this from TestFlight beta to published app.

Will I get it done in 2022? Let’s find out!

CodingBusiness

Really enjoying learning C++ to help document the Realm C++ SDK our engineers are rolling out. I dabbled in C a little bit when I was going through some Computer Science fundamental courses and it’s fun to dip my toes in #cpp. And of course, it’s great to have a lead like @cbush who knows the language well and is happy to explain things and help me over some newb debugging hurdles.

I’m so happy to have a job I enjoy this much; one that lets me learn new things all the time and work with smart and supportive teammates who strive to help one another be successful. #MongoDB talks about how it wants to be an inflection point for people’s careers, and it has certainly been one for me. So grateful to the recruiter who reached out to me in late 2020 about joining the Developer Education team, and to the lead who advocated for having me on the team even though I didn’t have a traditional development background. This place is great and my job is awesome 😁

In my role on the developer education team at MongoDB, I wrote and maintain a SwiftUI #iOS app - a basic task tracker - that serves as a template app to build on to get started with Realm Database and Device Sync.

I regularly want a local SwiftUI Realm app to test new features and functionality, as well as PoC small app ideas, so I've made a non-Sync version of this app template. It's intentionally minimal in styling, model, and functionality to make it easy for you to adapt and build with it.

If you might find something like this useful, check out my little summary on DEV Community with some screenshots & info: https://dev.to/dacharyc/realm-swiftui-template-app-5hg8

Or if you want to take a look at the GitHub repo directly, it's here: https://github.com/dacharyc/realm-swiftui-local-client

For now, I can easily branch from here to spin up new versions of the app to test out different features and PoCs. But maybe someday soon I'll spend the extra time to make this a template in Xcode.

This was a rough week for people in tech. One of my best friends lost his job this morning. My husband lost his job earlier this week. Thousands of other people are in the same position right now. The timing going into the holiday season is pretty awful.

My thoughts are with everyone who finds themselves suddenly unemployed right now. I hope you all land somewhere that values you more than the places you just departed.

I just realized it's been 5 years ago this month since we moved out of Boston to a small town in Vermont.

Boston was home to a lot of great places to work. We were definitely concerned about the difficulty of changing jobs once we went fully remote, as there were a lot fewer places that were completely remote or hybrid at the time. But we basically spent every nice weekend leaving the city to go camping or hiking, and decided that taking the risk to improve our quality of life was worth it.

Fast forward to today where things are quite different. I have changed jobs twice since then; once to a fully-remote company, and then to a hybrid company. Both times were for roles that I thought would be a better fit for me, and I am so happy where I am today.

When I finish work for the day, I can step out my door and see our small pond or the adjacent wetlands, and the Green Mountains that surround us. We walk the dogs several miles daily on our property in wide, meandering circles where we regularly encounter bunnies, all kinds of birds, deer, and the occasional beaver or bear. If I have a stressful meeting or a sleepy afternoon, I can step out onto our back deck and listen to the wind rustling the trees and birds singing for a few moments of relaxation.

No traffic noises, city smells, neighbors right on top of you arguing loudly over dinner, or obnoxious weekend parties across the street.

When I see people debating remote work, I think about all the people like me who have moved out of cities to improve their quality of life. I think about the fact that what we spent on real estate here would buy us a fixer-upper studio apartment in our old neighborhood.

The ability to work remotely has afforded me such a quality of life improvement. And when I am in my office working, I am relaxed, refreshed, and giving it 100%. I'm not distracted by an open floor plan or people dropping by my desk to ask me a question.

I sincerely hope we don't lose the gains in remote work that we've made during the pandemic. I think it's only good for businesses and employees alike.

DocumentationCoding

We just finished a week-long hackathon at MongoDB where employees are encouraged to cancel meetings and put aside regular work to focus on hackathon projects. For this hackathon, I led a team that implemented a GitHub Workflow to rate the readability of files we touch in documentation PRs, and report those scores as comments on the GitHub PRs.

As the hackathon closes, we have a working demo! This is very close to being able to use it in our documentation repositories as-is to give writers info about how readable our docs pages are. I need to do a little more tweaking of the script that traverses rST nodes and outputs plain text, in order to improve the accuracy of the scores, but it is an awesome tool to have for our documentation teams.

In the future, I'm hoping to add more info, like a delta in the score between main and the PR branch - i.e. does this PR improve or decrease the readability score - and apply additional heuristics so we can get a more well-rounded view of a page's readability.

I love being a part of an organization that takes time out of regular work to encourage employees to work on interesting or helpful projects, and being part of a team that can build tools like this that can potentially make a positive impact across our entire docs organization.

Documentation

What is it like to be part of an awesome team at work?

My teammate @bpmutter gave a talk at the Write the Docs conference today about the value of unit testing code examples in docs, and how to do it.

Ahead of this talk, our team collaborated on a bunch of improvements to our tooling around this to prepare it for a v1 release.

Last Friday, we cut a v1.0 release of Bluehawk, our markup tool for extracting code examples and creating checkpointed tutorials. It was a team effort, and I’m super proud of how we came together to prep this release in support of Ben’s talk.

(And of course, awesome work on the talk, Ben!)

If you’re someone who needs to provide code examples in documentation, this tool might be useful to you:

https://github.com/mongodb-university/Bluehawk

DocumentationCoding

Ah, yes, the new app developer pitfall: I have reached peak "Everything is better as an app!"

Every quarter, I have a service crawl our docs site and generate a readability report. Unfortunately, due to limitations with the service, this report is a CSV that contains ~35k rows and ~77 columns. If I try opening this in Excel or Numbers, it majorly lags my computer and I can't do anything like sorting or bulk operations - it just freezes. So I need to do some pre-processing to make this CSV easier to work with.

I started looking at some command-line tools to work with CSVs, but the documentation was poor around the filtering options and I couldn't get the result I wanted. So new-app-developer me decides to grab a Swift CSV library and create an app to deal with this. Now I've got a macOS app that reads the CSV, ignores the columns I don't want, applies some filtering to the rows, and spits out a new CSV with just the data I want. The UI is a single button "Get report."

Eventually I'll beef it up so other teams at work can use it, but for now, I'll stick with my silly button in an app that doesn't even need to be an app - but I made it one anyway because I can and it makes my work more fun.