<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>Shaquil Blog</title>
        <link>https://shaquilhansford.com/ja-JP/blog</link>
        <description>Shaquil Blog</description>
        <lastBuildDate>Fri, 29 Mar 2024 06:12:42 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>ja-JP</language>
        <item>
            <title><![CDATA[Case studies of my past work]]></title>
            <link>https://shaquilhansford.com/ja-JP/blog/case-studies</link>
            <guid>case-studies</guid>
            <pubDate>Fri, 29 Mar 2024 06:12:42 GMT</pubDate>
            <description><![CDATA[A few examples of my past work]]></description>
            <content:encoded><![CDATA[<p>I've worked on documentation for multiple organizations, including TakeShape, LI.FI, Vercel, Prolific Digita, and Clerk.com. This page details a few standout examples of my work.</p><h2 class="anchor anchorWithStickyNavbar_mojV" id="vercels-streaming-documentation">Vercel's streaming documentation<a class="hash-link" href="#vercels-streaming-documentation" title="Direct link to heading">​</a></h2><ul><li><a href="https://vercel.com/docs/functions/streaming" target="_blank" rel="noopener noreferrer">Link</a></li></ul><h3 class="anchor anchorWithStickyNavbar_mojV" id="in-summary">In summary<a class="hash-link" href="#in-summary" title="Direct link to heading">​</a></h3><p>I built out Vercel's API response streaming documentation section, including its <a href="https://vercel.com/docs/functions/streaming" target="_blank" rel="noopener noreferrer">conceptual overview</a>, <a href="https://vercel.com/docs/functions/streaming/quickstart" target="_blank" rel="noopener noreferrer">quickstart</a>, and <a href="https://vercel.com/docs/functions/streaming/streaming-examples" target="_blank" rel="noopener noreferrer">streaming examples</a> pages. These docs help AI app developers stream LLM API responses for improved UX. I collaboarted with the Edge Compute, Next.jsx, devrel and marketing teams to create technically accurate, customer-targeted content with useful code examples.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="serving-our-customers">Serving our customers<a class="hash-link" href="#serving-our-customers" title="Direct link to heading">​</a></h3><p>Our devrel team identified a need in the market: Customers wanted to deploy AI apps on Vercel, but were frustrated with the slow UX their customers were experiencing. LLMs take a long time to process a full response to user queries, so it's best to stream their responses to users rather than wait for the full payload.</p><p>Our users didn't understand how to take advantage of streaming on Vercel.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="collaborating-across-teams">Collaborating across teams<a class="hash-link" href="#collaborating-across-teams" title="Direct link to heading">​</a></h3><p>To best document streaming data on Vercel, particularly for AI app developers, I worked with:</p><ul><li>The Next.js team to understand the nuances of streaming with Next.</li><li>The Edge Compute team to describe the underlying technical details of streaming on Vercel.</li><li>The pricing and marketing teams to accurately describe the billing implications of streaming on Vercel.</li><li>The devrel team to craft realistic code samples for our target customers.</li><li>My fellow docs engineers to perfect the language, structure, and style of the content.</li></ul><h3 class="anchor anchorWithStickyNavbar_mojV" id="the-result-for-streaming">The result for streaming<a class="hash-link" href="#the-result-for-streaming" title="Direct link to heading">​</a></h3><p>Vercel now has a three-page streaming section, including:</p><ul><li>An overview dedicated to explaining why streaming is useful, who it's useful for, and how it works under the hood.</li><li>A quickstart page so users can get a simple example working in a few minutes.</li><li>A streaming examples page with multiple detailed examples, each explained section by section so that readers understand everything happening in them.</li></ul><p>Our users didn't understand how to take advantage of streaming on Vercel.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="collaborating-across-teams-1">Collaborating across teams<a class="hash-link" href="#collaborating-across-teams-1" title="Direct link to heading">​</a></h3><p>To best document streaming data on Vercel, particularly for AI app developers, I worked with:</p><ul><li>The Next.js team to understand the nuances of streaming with Next.</li><li>The Edge Compute team to describe the underlying technical details of streaming on Vercel.</li><li>The pricing and marketing teams to accurately describe the billing implications of streaming on Vercel.</li><li>The devrel team to craft realistic code samples for our target customers.</li><li>My fellow docs engineers to perfect the language, structure, and style of the content.</li></ul><h3 class="anchor anchorWithStickyNavbar_mojV" id="the-result-for-streaming-1">The result for streaming<a class="hash-link" href="#the-result-for-streaming-1" title="Direct link to heading">​</a></h3><p>Vercel now has a three-page streaming section, including:</p><ul><li>An overview dedicated to explaining why streaming is useful, who it's useful for, and how it works under the hood.</li><li>A quickstart page so users can get a simple example working in a few minutes.</li><li>A streaming examples page with multiple detailed examples, each explained section by section so that readers understand everything happening in them.</li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="vercels-framework-documentation">Vercel's framework documentation<a class="hash-link" href="#vercels-framework-documentation" title="Direct link to heading">​</a></h2><ul><li><a href="https://vercel.com/docs/frameworks" target="_blank" rel="noopener noreferrer">Link</a></li></ul><h3 class="anchor anchorWithStickyNavbar_mojV" id="in-summary-1">In summary<a class="hash-link" href="#in-summary-1" title="Direct link to heading">​</a></h3><p>I built out Vercel's entire framework-specific documentation section, including its <a href="https://vercel.com/docs/frameworks" target="_blank" rel="noopener noreferrer">conceptual overview</a>, and every framework page. These docs help our customers understand the optimal way to deploy their preferred frameworks on Vercel. To produce this content, I collaborated with the internal Next.js team, and external development teams for Nuxt, Sveltekit, Astro, and Remix.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="documenting-framework-nuances">Documenting framework nuances<a class="hash-link" href="#documenting-framework-nuances" title="Direct link to heading">​</a></h3><p>Our success, devrel, and SEO teams identified recurring user issues related to using Vercel products like Edge and Serverless Functions with non-Next.js frameworks.</p><p>I created a list of the most popular frameworks amongst our customers based on usage stats, collected a list of our most popular products, and began working with both internal and external organizations to create technically accurate, comprehensive framework=specific documentation.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="bringing-it-all-together">Bringing it all together<a class="hash-link" href="#bringing-it-all-together" title="Direct link to heading">​</a></h3><p>To best document using different frameworks on Vercel, I worked with:</p><ul><li>The CLI team to describe the best options for deploying locally and in production environments.</li><li>The Next.js team to identify Next-specific features and optimizations.</li><li>External development teams, including Nuxt, Astro, and Svelte.</li><li>Our internal Gatsby engineers, who built Gatsby v5 support.</li><li>Our internal Remix team, who built Remix support.</li></ul><h3 class="anchor anchorWithStickyNavbar_mojV" id="the-result-for-framework-documentation">The result for framework documentation<a class="hash-link" href="#the-result-for-framework-documentation" title="Direct link to heading">​</a></h3><p>Vercel now has a multi-page framework documentation section, and has seen a marked decrease in support tickets related to using core features with our most popular frameworks.</p><h2 class="anchor anchorWithStickyNavbar_mojV" id="other-examples">Other examples<a class="hash-link" href="#other-examples" title="Direct link to heading">​</a></h2><ul><li><a href="https://clerk.com/docs/integrations/databases/supabase" target="_blank" rel="noopener noreferrer">Clerk's Supabase Integration docs</a><ul><li>I collaborated with the internal devrel, customer success and engineering team, as well as the external Supabase team to improve Clerk's documentation on its Supabase integration. The new version better explains using RLS policies to secure Supabase data while authenticating access to it with Clerk's suite of auth tools, and includes detailed SSR and client-side code samples.</li></ul></li><li><a href="https://app.takeshape.io/docs/schema/api-indexing-guide" target="_blank" rel="noopener noreferrer">TakeShape's API Indexing docs</a><ul><li>I worked with the backend engineering team to document TakeShape's API Indexing feature, which helps developers cache API data that changes infrequently, such as product listings, to query that data from TakeShape and avoid rate limiting from service providers like Shopify.</li></ul></li><li><a href="https://vercel.com/docs/functions" target="_blank" rel="noopener noreferrer">Vercel's Edge Function docs</a><ul><li>I held bi-weekly meetings with the Edge Compute PM, and regularly stayed in touch with the Edge development team to maintain and improve the Edge and Serverless documentation.</li></ul></li><li><a href="https://vercel.com/docs/storage" target="_blank" rel="noopener noreferrer">Vercel Storage</a><ul><li>I worked with the teams behind Vercel KV, Vercel Blob, Vercel Postgres, and Vercel Edge Config to build out the entire Vercel storage docs section in 6 weeks leading up to Vercel Ship Week in 2023. I led the conceptualization, outlining, and IA definition for this process while providing user feedback for the products as I documented them.</li></ul></li></ul>]]></content:encoded>
            <author>shaquil@conjuration.net (Shaquil Hansford)</author>
            <category>vercel</category>
            <category>past-work</category>
        </item>
        <item>
            <title><![CDATA[Why we need data engineers]]></title>
            <link>https://shaquilhansford.com/ja-JP/blog/why-we-need-data-engineers</link>
            <guid>why-we-need-data-engineers</guid>
            <pubDate>Sun, 22 May 2022 18:21:37 GMT</pubDate>
            <description><![CDATA[Data Engineers are the bridge between data and the experts who analyze it. Here's why Data Engineers matter.]]></description>
            <content:encoded><![CDATA[<p>In a world increasingly run by algorithms, data is one of the most valuable resources a business can have. But just collecting data isn't good enough—we also need to organize that data so it can be analyzed by specialists and used by algorithms and AI. Data Engineers bridge this gap by creating the infrastructure for ingesting, formatting and writing large data.</p><h2 class="anchor anchorWithStickyNavbar_mojV" id="why-does-data-matter">Why does data matter?<a class="hash-link" href="#why-does-data-matter" title="Direct link to heading">​</a></h2><p>Let's pause on the Data Engineer talk for a second to discuss data in general. Why does it matter?</p><p>The answer is obvious but important—because data informs business decisions. If you start, say, a social network app for cab drivers, data about when, why and how drivers are using your app can help you decide which new features to build, and which old features to drop. But just <em>having</em> this data is meaningless if it's not reliable.</p><p>The first step to having reliable data is optimizing how you collect it. This is not in the purview of data engineers.</p><p>The second step is optimizing how you organize it. For your small cab driver app, this could be as simple as storing it in a SQL database with well-curated tables. You could create a GraphQL API that fetches that data and displays it in a visually-pleasing way, and your team could analyze the data and draw up proposals for new app features.</p><p>But what if your data isn't small? What if your cab driver app is called Uber, and it's the biggest ride-hailing service in the world? Now your dataset covers millions of users, and you're collecting it second by second, every day. </p><p>Uber specifically uses data to track the performance of key features, like ride shortcuts and its rewards program. According to <a href="https://eng.uber.com/how-data-shapes-the-uber-rider-app/" target="_blank" rel="noopener noreferrer">a document published on their engineering site</a>, they ask questions like, "How many users had the rider shortcut section displayed?" and "How many users clicked on one of the shortcuts?"</p><p>These are simple questions, but with extreme amounts of data they can be hard to answer.</p><p>Why? Let's talk about the problems Big Data causes.</p><h2 class="anchor anchorWithStickyNavbar_mojV" id="the-difficulties-of-working-with-data">The difficulties of working with data<a class="hash-link" href="#the-difficulties-of-working-with-data" title="Direct link to heading">​</a></h2><p>Let's run an experiment.</p><p>Most likely, you have a 1TB or larger hard drive in your computer. If not, perhaps you have a service like DropBox or Google Drive, which you've filled with tons of media files.</p><p>I want you to navigate to the root of that drive, whether it's in DropBox or your PC, and search for a file.</p><p>Pretty slow, right?</p><p>The thing is, your media files have logical names and are stored in a structured hierarchy of folders—even if you didn't particularly organize them. Big datasets are multiple orders of magnitudes larger than a terabyte, and sometimes the data isn't even stored in a particularly structured way.</p><p>So imagine you're a data scientist or data analyst, and you want to learn about a relationship between data that has a particular set of characteristics. When you run your search query, it could takes hours to get results. If you need to run another, you'll be waiting hours again.</p><p>Data engineers clean up data by writing software that transforms it into a more organized format, often making it fit the particular needs of the data analysts who will be using it.</p><p>When those analysts run their queries on data cleaned up by a data engineer, the results come in much faster, empowering them to be more efficient and accurate with their studies.</p><p>This isn't to mention countless other big data issues that data engineers resolve, such as correlating information from different sources, often by consolidating the various APIs these sources expose their data with.</p><p>With so many problems to solve, data engineers are paid on average much better than many other types of engineers, though they also tend to work a lot more.</p><p>One of the biggest problems is that data engineering is not the most popular career path, so demand is rapidly outpacing supply.</p><p>You might wonder why we can't automate their work.</p><p>Actually, some companies are trying to help do that.</p><h2 class="anchor anchorWithStickyNavbar_mojV" id="tools-that-help-data-engineers">Tools that help data engineers<a class="hash-link" href="#tools-that-help-data-engineers" title="Direct link to heading">​</a></h2><p>Nothing can replace a data engineer, but automation tools can make their jobs, and their CEO's lives, far easier.</p><p>Here are a few companies in the data engineer automation space:</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="databricks">Databricks<a class="hash-link" href="#databricks" title="Direct link to heading">​</a></h3><p>Started by <a href="https://en.wikipedia.org/wiki/Ali_Ghodsi" target="_blank" rel="noopener noreferrer">the minds behind Apache Spark</a>, Databricks is relied upon by corporations as massive as Amazon and T Mobile to streamline their data engineer and data science problems. Their killer app is the Data Lakehouse which, <a href="https://databricks.com/glossary/data-lakehouse#:~:text=A%20data%20lakehouse%20is%20a,(ML)%20on%20all%20data." target="_blank" rel="noopener noreferrer">according to their official glossary of terms</a>:</p><blockquote><p>"combines the flexibility, cost-efficiency, and scale of data lakes with the data management and ACID transactions of data warehouses, enabling business intelligence (BI) and machine learning (ML) on all data."</p><p>— Databricks</p></blockquote><p>That's a lot of jargon! 😓</p><p>Check out their promotional video for more information:</p><div style="width:640px;height:360px"></div><h3 class="anchor anchorWithStickyNavbar_mojV" id="apache-airflow">Apache Airflow<a class="hash-link" href="#apache-airflow" title="Direct link to heading">​</a></h3><p>This tool helps data engineers in manage and author workflows. For example, if events occur while an engineer's pipeline is ingesting data, Airflow will alert the team via email, slack messages and other media. It also enables automated data integrity testing, and integrates neatly with popular tools like Talend, Azure, Zendesk and Snowflake.</p><p>You can read more in <a href="https://www.astronomer.io/blog/apache-airflow-for-data-engineers/" target="_blank" rel="noopener noreferrer">Astronomer.io's in-depth write-up on Apache Airflow</a>.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="ascendio">Ascend.io<a class="hash-link" href="#ascendio" title="Direct link to heading">​</a></h3><p>This company is the reason I'm writing this article. While doing research on potentially pursuing a Cloud Architect degree, I stumbled upon Ascend.io, a rapidly-growing startup whose mission is to automate <a href="https://www.talend.com/resources/what-is-etl/" target="_blank" rel="noopener noreferrer">the ETL process</a> for data engineers.</p><p>Ascend gives data engineers a visual experience where they can create automated processes to extract data from disparate sources, feed that data into SQL or PySpark code that transforms it, and load that data into destinations in any of the most popular file formats.</p><p>When changes are made along the pipeline, such as a query being edited to add or drop rows or columns from a table, Ascend automatically re-runs the process, skipping the ingest stage to avoid needlessly re-fetching data. You can watch their explainer video below</p><div style="width:640px;height:360px"></div><h2 class="anchor anchorWithStickyNavbar_mojV" id="the-future-of-data-engineering">The future of data engineering<a class="hash-link" href="#the-future-of-data-engineering" title="Direct link to heading">​</a></h2><p>Data engineering is always evolving as the amount of data and needs for that data change. It'll be exciting to see what the future holds.</p>]]></content:encoded>
            <author>shaquil@conjuration.net (Shaquil Hansford)</author>
            <category>hello</category>
            <category>docusaurus-v2</category>
        </item>
    </channel>
</rss>