353 karma · joined March 22, 2017
Hiring for ~10 eng roles listed at astronomer.io/careers, but the focus is specifically on distributed systems, observability, and applied AI.
Astronomer is a primary contributor to Apache Airflow and offers our customers a managed Airflow service with a similar business model as Databricks with Spark or Confluent with Kafka. Our tech stack is primarily Go, Python, and TypeScript. The problems we work on generally center around (1) building out our commercial managed Airflow offering, (2) building a data + infra observability stack on top of Airflow, and (3) building AI products and experiences that are genuinely load-bearing and additive to our customers experience on the platform.
We're also starting to write more about the work we're doing, this is pretty representative: https://www.astronomer.io/blog/astro-airflow-re-engineered-f...
Apply using our website or email me - my email is [firstname]@astronomer.io. Include HN in the subject to make sure I don't miss it! If you're emailing me, please include your resume, GitHub and a short note on what you deem to be the most interesting thing you've worked on.
We see these patterns do much so that we packaged it up for Airflow (one of the most popular workflow tools)!
Airflow actually uses decorators to indicate something is an explicit task in a data pipeline vs just a utility function, so this follows that pattern!
It also uses an "operator" under the hood (Airflow's term for a pre-built, parameterized task) which can be subclassed and customized if you want to do any customization.
It is _potentially_ more restrictive than writing pure Python functions, but the plus side is that we can interject certain Airflow-specific features into how the agent runs. And this isn't mean for someone who knows agents inside & out / wants the low-level customizability.
The best example of this today is log groups: Airflow lets you log things out as part of a "group" which has some UI abstractions to make it easier. This SDK takes the raw agent tool calls and turns them each into a log group, so you can see a) at a high level what the agent is doing, and b) drill down into a specific tool call to understand what's happening within the tool call.
To your point about the `@task.llm_branch`, the SDK & Pydantic AI (which the SDK uses under the hood) will re-prompt the LLM up to a certain number of attempts if it receives output that isn't the name of a downstream task. So there shouldn't be much finickiness.
I've started taking a very data engineering-centric approach to the problem where you treat an LLM as an API call as you would any other tool in a pipeline, and it's crazy (or maybe not so crazy) what LLM workflows are capable of doing, all with increased reliability. So much so that I've tried to package my thoughts / opinions up into an AI SDK for Apache Airflow [1] (one of the more popular orchestration tools that data engineers use). This feels like the right approach and in our customer base / community, it also maps perfectly to the organizations that have been most successful. The number of times I've seen companies stand up an AI team without really understanding _what problem they want to solve_...
We've built an SDK for building DAGs / data pipelines with LLMs in Apache Airflow [1] using Pydantic AI [2] under the hood. I've seen success across the board with Airflow users building simple LLM workflows before moving on to "AI agents". In my experience, the noise around building agents means that people forget that there are other ways to get more immediate value out of LLMs.
Coupling Airflow for orchestration and Pydantic AI for LLM interactions has turned out to be a very pragmatic approach to building these workflows (and agents). Neither tool "gets in the way" of what you're trying to do. Airflow's been around for 10+ years and has a very well-built orchestration engine rich with everything you need to write production grade data pipelines, and Pydantic AI's been a refreshing take on working with LLMs.
Would love some feedback from this community!
[1] https://github.com/apache/airflow [2] https://ai.pydantic.dev
Astronomer is a Series C data infra startup building a data ops platform for our customers on top of Apache Airflow. Airflow is one of the largest open-source data projects, allowing users to write, run, and scale data pipelines in Python. It's downloaded over 30m times a month!
The core of this role is to experiment with new ideas and build prototypes. As a Software Engineer in the Office of the CTO, you will act as a “hacker in residence” - someone with the freedom to experiment, explore big ideas, and validate concepts. You’ll be a generalist, working with whatever technology, tools, and programming languages are required to validate an idea. For the ideas that do work out, we work hand-in-hand with the broader product and engineering teams to turn the idea into a customer-facing feature or new product.
There’s a particular focus on how Generative AI will change the lives of data professionals over the next 3-5 years. We want to lead the market with both a perspective and set of products on how AI will evolve from a human-driven copilot to a set of fully autonomous agents.
Role: https://jobs.ashbyhq.com/astronomer/77867d45-1141-4ba6-8772-...
My email is [my first name]@astronomer.io if you want to reach out directly. Please include HN in the subject line so I don't miss it!
Talk about a slow feedback loop! And I get frustrated when I need to push code to a repo to test things in CI...
We've had lots of success using quantized LLMs for inference speed and cost because you can fit them on smaller GPUs (Nvidia T4, Nvidia K80, RTX 4070, etc). There's no need for everyone to quantize - we quantized Llama 3 8b Instruct to 8 bits using GPTQ and figured we'd share it with the community. Excited to see what everyone does with it!
[1]: https://pgt.dev/
All roles are listed at https://jobs.lever.co/astronomer?lever-via=pXKhCU4CVs and the three below are specific to improving data engineer's developer experience. Feel free to reach out via email at julian [at] astronomer.io.
- Senior Software Engineer, Infrastructure: https://jobs.lever.co/astronomer/eb8cf141-a6f2-4207-b299-ee6...
- Senior Software Engineer, Product Development: https://jobs.lever.co/astronomer/62250bee-2727-4941-8e2d-806...
- Software Engineer, UI/UX: https://jobs.lever.co/astronomer/cefedf9a-91fa-490b-87df-9e0...