Principles Team
Software Engineer, Full Stack
Mission
Our mission is to enable individuals and organizations to radically improve their decision-making by sharing the unique tools and principles that our founder, Ray Dalio, used to build Bridgewater Associates out of his two-bedroom apartment into one of the most successful companies in the world.
Everything we do is based on the core belief that the best decision-making system is an idea meritocracy — one that helps identify the best ideas by encouraging and surfacing independent thinking and thoughtful disagreement.
Our principles, tools, and systems help individuals and organizations cultivate their own idea-meritocratic decision-making. They do this by building a deep understanding of people’s strengths and weaknesses to maximize individual and team potential, by enabling a culture of radical truth and radical transparency, and by providing expert algorithms to aid key decisions in work and life.
Team
We are organized into full stack autonomous teams, composed of individuals with expertise in each area. Your responsibilities will include building code in both our backend APIs (Java/Spring) and frontend UI (Typescript/React) as part of our existing product development teams. You will also be responsible for bridging the gap between our frontend and backend engineers, advising frontend engineers on the APIs they consume, and expanding the knowledge of backend engineers on the UIs that consume the APIs. You will accomplish this by working in both the frontend and backend teams, bringing expertise in at least one, and sharing knowledge with the team. Expect to ship code multiple times a day in a collaborative environment with a focus on quality and sustainable development. You will be building a suite of multi-tenant SaaS products to help our customers understand what they and their coworkers are like, and how to leverage that information to make better decisions.
Responsibilities:
- Learn, communicate and improve best practices for developing frontend code that consumes backend APIs.
- Learn, communicate and improve best practices for developing APIs that are consumed by frontend UIs.
- Design and build SaaS software providing exceptional user experience.
- Work with other members of the team and team leadership to relentlessly improve the processes by which the team delivers software.
- Collaborate openly to develop APIs in Java and Spring and consume those APIs in React and Typescript.
Position Requirements:
- 2+ years professional experience developing user interfaces in React, bonus points for Typescript experience.
- 2+ years of professional experience developing APIs and backend applications using Java and Spring
- 1+ years using a modern relational database such as PostgreSQL or MySQL
- 1+ years experience working with AWS or another major cloud infrastructure provider.
- Strong exposure to collaborative engineering methodologies: agile, code reviews, linting, continuous integration, cloud deployments, etc.
- Experience working in a continuous delivery environment.
Nice to haves:
- Stronger than minimum required expertise in either API development or Cloud infrastructure management.
- Experience developing commercial SaaS tools.
Please note that we do not provide immigration sponsorship for this position.
At Principles we are committed to diversity, equity, inclusion and belonging. We know that a diverse team that reflects the world around us will lead to the best possible products, services, and overall experience for our clients and team. And we know that a diverse, equitable and inclusive workplace is where individuals will grow, thrive, and show up as their best authentic selves each day.
We are proud to be an equal opportunity employer, and attest that all employment is decided on the basis of qualifications, merit and business need. We strongly encourage women, people of color, LGBTQ individuals, people with disabilities, members of ethnic minorities, foreign-born residents, and veterans to apply.
To help us realize these commitments, we are asking candidates to voluntarily self-identify through a few demographic questions. The purpose in collecting this information is to help us assess our outreach efforts and diversity representation goals. Your responses will not be linked to your identity or your application, and neither recruiters nor hiring managers can see this information at an individual level. The information we collect will only be stored and looked at in the aggregate, not the individual level. Your answers will not play any role in our hiring decision.