Palantir - Software Engineer Intern
đź“… 2024 Summer
đź”— Website
🌿 I interned as a software engineer at Palantir on the Cross Platform Object View team, diving deep into both backend and frontend development and learning so much along the way.
Java, React, JavaScript, TypeScript, GraphQL, HTML, CSS
- This was my first software engineering internship, and it was also my first experience working on the frontend side of things.
- During my internship at Palantir, I worked on three main projects that aimed to improve data visibility, automation, and user experience.
- I hadn’t done any real frontend work with React and Javascript before so my first project was sort of a warmup almost to this. I worked on enabling data archiving for ingestion pipelines on the frontend, which allowed users to just pause their data pipelines. Previously, there were only two states for this which was just enabled or cleared. Archiving basically saves a lot of additional overhead and in the end, money for keeping live pipelines constantly running when no data is being written or streamed.
- For my second project, I built a graph visualization dashboard that helped users quickly understand relationships and dependencies between the same objects that are mapped from one platform to another. I’m not going to lie, on the backend side, I had originally thought the work would be super backend heavy but in reality, there was technically a very scattered but working system. So basically, the system to fetch and aggregate all this data from the current state of the objects was set up. The only thing was none of this data was being used. It ended up being on the backend side, I just mapped various pipeline statuses, which involved implementing logic to track each object’s journey through different stages and getting a ton of context with other engineers who know pipeline statuses better than I do. Then, I needed to just enable these endpoints so that on the frontend side, they can get fetched through GraphQL queries.
- Lastly, I developed a configuration panel to automate object metadata mapping, reducing manual tasks and ensuring consistency across systems. Previously, if you wanted to add metadata on an object and have that piece of metadata mapped to another platform, you need to add it yourself by typing it in. Obviously, if users are typing what property they want mapped every time, it’s not only tedious but also very error prone. There’s slack threads for P1s that ended up being “hey I typed it wrong” and not my data is totally missing. So this project was about building out a configuration panel that automatically sets properties as metadata on our objects so when they get mapped, the data is stored correctly.