Drop #479 (2024-06-05): Mid-Week Grab Bag

Hacking ATS; Charm In The Wild; Snow Duck

Weekend GradkidDoS and a frenetic Monday work schedule nuked Monday’s edition, and I’m headed to Boston with .1 and .2 on their very first train ride, today, so we’ll steal Monday’s usual theme-less theme and cover three wildly diverse topics.

Also: Happy 34th @mrshrbrmstr! 🎉


Hacking ATS

It’s been a brutal ~18 months for humans employed in tech and higher ed. Since the national and global geopolitical is likely to remain unstable for the foreseeable future, it may be time for all of us to keep our résumés/CVs up-to-date.

Unfortunately, cuts are being made at the same time as more organizations and institutions are employing “state of the art” candidate screening pipelines that increasingly make it more difficult to get past the initial screening process. These processes can be wrapped up in a single term: Applicant Tracking Systems (ATS). In fact, these processes are so standardized, that — unless you’ve been referred to a position by a colleague — work history artifacts not in an ATS-friendly format may not even get through the initial ingestion step.

The ATS resume format is designed to be easily read and parsed by automated systems, many of which are now using “AI” at various points along the way. ATS software scans resumes for specific keywords, qualifications, and formatting — yes, formatting — to determine if a candidate is a good fit for the job. If a resume is not formatted correctly, it may be discarded before a human ever sees it.

Unless you’re scouting for a new position at a boutique “design” shop, you really must/should consider acquiescing to the demands of the automated résumé meat-grinder, by meeting five basic criteria:

  • Use a simple design: avoid complex layouts, graphics, and images. Stick to a clean, straightforward design.
  • Prefer standard fonts: yes, it’s actually important to rely on common fonts like Arial, Times New Roman, or Helvetica.
  • Prefer clear headings: “traditional” section headers such as “Work Experience,” “Education,” and “Skills” will work better than any fancier terms you may want to employ
  • Embrace keyword optimization: make sure to include relevant keywords from the job description.
    File Format: Preferably use a Word document (.doc or .docx) — yes, a Word document — unless the job posting specifies otherwise.
  • Avoid using clever graphics or tables: these systems likely won’t pick up keywords in complex tables and can’t “see” your fancy visual adornments.
  • Rely on a simple layout: avoid columns and fancy formatting; a single-column layout is usually the safest bet.
  • Proofread: this isn’t just a way to show you have attention to detail; many ATS processes are configured to reject submissions with spelling and grammar mistakes, and you’ll get nowhere by misspelling keywords.

The percentage of organizations who use Applicant Tracking Systems is, sadly, yuge. Which means “giving in” to these bland standards is a much safer bet than hoping you’re dealing with a company like mine, where we read each and every submission with human eyes and empathy. (Aside: for us, this practice applies for when we have over 1,000 submissions for a position, like we did for an IT administrator role last year; or a recent posting for my department where we received just under 200 applicants, one of which was a plain ASCII text — which was so refreshing!).

If you really want to use design elements to help you “stand out”, include a link to a web-accessible resource — which can be a fancy HTML page, beautiful PDF, or intricately crafted text file. Trust me that — depending on the type of organization you’re applying to — the human who has to review what makes it through the ATS process will tap on said links and (hopefully) appreciate the extra level of detail and effort.

I’ve no affiliation with this resource, but they do provide some solid templates that anyone can use to fall in line with the systems put in place by our mundane and soulless overlords.

Charm In The Wild

The Drop is a big fan of Charm, the ecosystem of Golang libraries that make it possible to design delightful terminal user experiences.

We’re not the only ones, too!

Some spiffy members of the Charm community have put together a human-submission-powered “one-stop shop to find incredible community projects built with the Charm stack”.

In just two-ish days, they’ve collected nearly 100 resource links to a wide array of projects that employ element from the Charm universe. We’ve featured quite a few of them over the past two years, but there are many others I’m not familiar with, which provides some great fodder for future Drops!

While you’re waiting for those resources, check out nom, a terminal-based RSS reader powered by Charm-ing elements.

Snow Duck

DuckDB turned 1.0.0 (the release was tagged as “Snow Duck”) this week! This is a yuge milestone that marks nearly six years of development since the project started in 2018. It has grown substantially, now comprising over 300,000 lines of C++ code, 42,000 commits, and nearly 4,000 resolved issues. DuckDB is bonkers popular, and has attracted tens of thousands of stars and followers on GitHub and social media, with millions of monthly downloads and extensive daily download traffic for extensions. The project has even garnered enough recognition to be featured on Wikipedia.

Version numbers can be somewhat arbitrary, but for a data management system, reaching 1.0.0 signifies a level of maturity and reliability. DuckDB developers have always worked to provide a stable and trustworthy platform for folks to build their applications on. One of the major hurdles to releasing 1.0.0 was ensuring a stable storage format. DuckDB’s custom-built data storage format allows for managing large tables in a single file with full transactional semantics and advanced compression. The introduction of backward compatibility and limited forward compatibility in version 0.10.0 has provided the confidence needed to guarantee that files created with DuckDB 1.0.0 will be compatible with future versions.

If there is a “theme” to this big release, then that theme would be “stability”, with a focus on ensuring that the DuckDB system is reliable and robust. This release has limited new features, emphasizing instead the stability of the SQL dialect and the C API. DuckDB has undergone extensive testing, including thousands of test cases and millions of test queries run nightly, along with various benchmarks and fuzzing tests to ensure reliability. The developers plan to be cautious with user-facing changes going forward, providing ample warning and workarounds when necessary.

DuckDB has a healthy long-term funding strategy, with DuckDB Labs providing consulting and support services. The project is fully owned by its core contributors, and the intellectual property is protected by the independent DuckDB Foundation. Their roadmap includes expanding the extension environment, allowing for new SQL-level functions, file formats, and optimizers while keeping the core lean. The goal is to create a high-performance data fabric accessible through a unified SQL interface.

This is one of the most exciting projects I’ve encountered, and brings delight each and every time I use it.

It’s been a minute since I’ve updated the DuckDB cookbook I started back in April (yay, startup life), but it looks like I need to get some tweaks in both for updates in 1.0.0 and some reader contributions (🙏🏽)!

If you still haven’t checked out DuckDB, I highly recommend doing so.

And, there’s a super-nascent extension template to help you get started contributing to this ecosystem.


FIN

Remember, you can follow and interact with the full text of The Daily Drop’s free posts on Mastodon via @dailydrop.hrbrmstr.dev@dailydrop.hrbrmstr.dev ☮️

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.