Full Stack Engineer
Gravitate Energy
Job description
Description
Why Gravitate?
At Gravitate, we’re on a mission to put everyday supply and logistics decisions in motion, powered by innovative problem-solving from industry experts.
A lot of companies say it. We mean it: Gravitate is different. Rooted in the spirit of collaboration, we thrive on the smarts of our people and the dynamic we’ve cultivated.
Tell Me About My Job:
If you are considering this role, you are someone who has moved past needing a fully specified ticket. Hand you a feature of moderate complexity and you break it into tasks, deliver it on time, and raise the risks you spot along the way instead of surfacing them late.
You’ll own features and components within your product area in Gravitate’s fuel logistics platform, and you’ll be responsible for the quality and ongoing maintenance of what you build — not just the first version that shipped.
This is a genuinely full-stack role. You’ll write Python on the service and API side, model data in MongoDB, and build the React and TypeScript interfaces on top — following a feature from the data model through the API to the screen a dispatcher actually uses. We expect you to be strong on one side of that and genuinely willing to contribute on the other.
You’ll also be a reliable member of the on-call rotation for your product area — debugging incoming bugs and incidents independently, and contributing to the monitoring, observability, and performance improvements that make your area healthier over time.
This is a role with room to grow, and we’ll be explicit with you about what the next level looks like. Engineers who do well here start by delivering medium-sized work accurately and reliably, then take on larger and more ambiguous projects, carry more weight in design discussions, and begin mentoring the engineers behind them.
We’re strongly against artificial separations of responsibility and throwing work “over the wall.” As an engineer here, you’re part of the product team — in the room for the product conversation, not downstream of it.
You’re an Ideal Candidate If:
-
You deliver reliably. You can take a medium or large-sized feature with real unknowns, break it into tasks, estimate it honestly, and land it. When something threatens the date, you say so early.
-
You work end-to-end. You’re not precious about which layer a problem lives in. You’ll follow an issue from the UI through the API to the query and fix it where it actually belongs.
-
You write code other people can live with. Well-tested, readable, and consistent with the codebase around it. You debug your own problems before escalating them.
-
You’re building your design judgment. You bring viable alternatives to design discussions rather than waiting to be told, and you can write a clear design doc for a feature in your area.
-
You give and take feedback well. Your code review comments are specific and constructive. You’re receptive to feedback on your own work and you act on it.
-
You’re curious about the business. You want to understand what fuel supply and logistics teams actually do with this software, because knowing that makes every decision you make a better one.
-
You want to work in an AI-enabled workflow. You see the impact of AI on code generation and are willing and able to see how it can make you more productive. You want to help in building the harness around it so that the team can get more done.
Duties/Responsibilities:
-
Independently deliver features of moderate complexity on time — breaking work into manageable tasks, estimating accurately with some unknowns, and raising risks early
-
Build features end-to-end across the stack: Python services and APIs, MongoDB data models, and React/TypeScript interfaces
-
Own features and components within your product area — accountable for their quality and ongoing maintenance
-
Contribute to design discussions with viable alternatives; produce clear technical designs for features within your area
-
Write well-tested, readable code and help improve our automated testing practices and coverage
-
Be a reliable member of the on-call rotation — debug and resolve small-to-medium bugs, incidents, and issues in your product area independently
-
Contribute to monitoring, observability, and performance improvements within your product area
-
Provide constructive, specific code review feedback; informally mentor engineers newer than you
-
Write clear technical documents; communicate status, risks, and blockers clearly to your team
Required Qualifications:
-
3+ years of professional software engineering experience building and shipping production software
-
Proficiency in both a server-side language (Python preferred) and TypeScript/React — or real depth in one, plus a demonstrated track record of picking up the other
-
Demonstrated ability to independently deliver medium-sized features with some unknowns, on time
-
Able to debug and resolve small-to-medium issues independently, across both the frontend and the backend
-
Experience writing well-tested code, plus working knowledge of CI/CD and deployment practices
-
Comfortable participating in an on-call rotation for the product area you own
-
Clear written and verbal communication — able to produce small-to-medium technical documents and give constructive code review feedback
-
Receptive to feedback and actively acts on it
-
Openness to utilizing and becoming an expert in AI-assisted development to supercharge your ability to get stuff done.
Nice to Have Experience:
-
Hands-on experience with our stack: Python, React and TypeScript, MongoDB, Kubernetes, GCP or Azure
-
Experience in a B2B SaaS or enterprise software environment
-
Background in a logistics, supply chain, or energy/fuel domain
-
Experience with data-dense enterprise interfaces — large tables and grids, scheduling views, or real-time updates
-
AI engineering experience – working with production agentic systems and ML / operations models.
About the Gravitate Team:
To understand who our people are, you should first understand what they’re not: replaceable. Each member of the team is chosen carefully and with intention. We believe that finding the right fit is more important than a laundry list of credentials – and that people are people first, and titles second.
Because we hire the Gravitate way, our team is certainly one of a kind. We’ve brought together incredible talent that regularly collaborates to create clean, fresh solutions. That effort has led to remarkable opportunities, including work with many Fortune 500 clients. We’ve found that the winning combination of exciting achievements, trust in one another and open communication lays the groundwork for long-lasting, successful careers. That, and the fact that we clap for each other at every opportunity.
Problem solvers, go-getters and charge-takers — we (really) want to hear from you.